/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.46
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
.swiper{
	overflow: visible !important;
}
/* Boutons organiques */
.organic-button .elementor-button,
.organic-button .bdd > .bdd__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 55px;
  transition: transform .25s ease, filter .25s ease;
}

.organic-button .elementor-button::before,
.organic-button .bdd > .bdd__button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: center / 100% 100% no-repeat;
  transform: scaleY(-1);
}

.organic-button .elementor-button-content-wrapper {
  align-items: center;
  position: relative;
  z-index: 1;
}

.organic-button-primary .elementor-button::before,
.organic-button-primary .bdd > .bdd__button::before {
  background-image: url("/wp-content/uploads/2026/09/0f62d.svg");
}

.organic-button-secondary .elementor-button::before,
.organic-button-secondary .bdd > .bdd__button::before {
  background-image: url("/wp-content/uploads/2026/09/cc1ea.svg");
}

.organic-button .elementor-button:hover,
.organic-button .elementor-button:focus-visible,
.organic-button .bdd > .bdd__button:hover,
.organic-button .bdd > .bdd__button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.06);
}


/* Le fond organique reste sous le texte et la fleche du declencheur. */
.organic-button .bdd > .bdd__button > span {
  position: relative;
  z-index: 1;
}

/* Sur un desktop un peu étroit, les deux boutons du hero ne rentrent plus
   côte à côte : on les laisse passer à la ligne, à leur largeur de texte,
   au lieu de les comprimer l'un sur l'autre. */
@media (min-width: 1025px) {
  .hero-actions.e-con {
    flex-wrap: wrap;
  }
  .hero-actions.e-con > .elementor-element {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .hero-actions .bdd,
  .hero-actions .bdd__button,
  .hero-actions .elementor-button {
    width: auto;
    white-space: nowrap;
  }
}

/* Sous 1440px la carte offre (47%) devient trop étroite : le bouton long
   passe sous le personnage. On empile carte et étapes, comme sur tablette,
   pour que le fond garde toute la largeur du bloc. */
@media (min-width: 1025px) and (max-width: 1439px) {
  .elementor-88 .elementor-element.elementor-element-1f4ec3b,
  .elementor-88 .elementor-element.elementor-element-84c45b1,
  .elementor-88 .elementor-element.elementor-element-268ded0,
  .elementor-598 .elementor-element.elementor-element-f322893,
  .elementor-599 .elementor-element.elementor-element-2b5f87a,
  .elementor-600 .elementor-element.elementor-element-a1170cc {
    --flex-direction: column-reverse;
    flex-direction: column-reverse;
    --align-items: stretch;
    align-items: stretch;
  }
  .elementor-88 .elementor-element.elementor-element-c227d41,
  .elementor-88 .elementor-element.elementor-element-e72ed4a,
  .elementor-88 .elementor-element.elementor-element-314c221,
  .elementor-88 .elementor-element.elementor-element-d0ce0e4,
  .elementor-88 .elementor-element.elementor-element-cfb0c24,
  .elementor-88 .elementor-element.elementor-element-4a5bc52,
  .elementor-598 .elementor-element.elementor-element-eccd824,
  .elementor-598 .elementor-element.elementor-element-5427230,
  .elementor-599 .elementor-element.elementor-element-c78716d,
  .elementor-599 .elementor-element.elementor-element-0d59c4b,
  .elementor-600 .elementor-element.elementor-element-4dd3580,
  .elementor-600 .elementor-element.elementor-element-5fd0ebc {
    --width: 100%;
    width: 100%;
  }
}

/* Coordonnées du footer : écart entre l'icône et le texte des variables Logia.
   Le widget ne l'applique qu'aux SVG, pas aux icônes Font Awesome. */
.elementor-location-footer .footer-logia-contact .elementor-icon-list-icon {
  margin-inline-end: 12px;
}
.elementor-location-footer .footer-logia-contact .elementor-icon-list-item > a {
  align-items: center;
  text-decoration: none;
}

/* Plan du site : la pastille « Bientôt » reste sur la même ligne que le lien.
   Les colonnes gardent leur largeur Elementor, donc l'écart entre les deux ne change pas. */
@media (min-width: 1280px) {
  .elementor-404 .elementor-element-bf33381 .elementor-icon-list-item > a {
    flex-wrap: nowrap;
    align-items: center;
  }
  .elementor-404 .elementor-element-bf33381 .elementor-icon-list-text { white-space: nowrap; }
  .elementor-404 .elementor-element-bf33381 .dlc-soon__badge { flex: 0 0 auto; }
}

/* Navigation réutilisable : header fixe, transparent sur les pages à visuel, papier crème dès qu'on défile. */
:root {
  --dlc-header-h: 100px;
  --dlc-header-h-scrolled: 76px;
  --dlc-header-logo: 76px;
  --dlc-header-logo-scrolled: 58px;
}
@media (max-width: 1024px) {
  :root { --dlc-header-h: 88px; --dlc-header-h-scrolled: 70px; --dlc-header-logo-scrolled: 54px; }
}
@media (max-width: 767px) {
  :root { --dlc-header-h: 72px; --dlc-header-h-scrolled: 62px; --dlc-header-logo: 58px; --dlc-header-logo-scrolled: 46px; }
}
html { scroll-padding-top: calc(var(--dlc-header-h-scrolled) + 16px); }

.elementor-location-header .header-shell.e-con {
  --dlc-header-ink: #fff;
  --dlc-header-accent: #E97F84;
  --dlc-header-logo-filter: none;
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0px);
  right: 0;
  left: 0;
  z-index: 1000;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: var(--dlc-header-h);
  --min-height: var(--dlc-header-h);
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: max(65px, calc((100% - 1340px) / 2));
  --padding-right: max(65px, calc((100% - 1340px) / 2));
  transition: height .3s ease;
}
.elementor-location-header .header-shell.e-con::before {
  content: "";
  position: absolute;
  inset: 0 0 -10px;
  width: auto;
  height: auto;
  z-index: -1;
  background: url("header-papier.svg") center bottom / 100% 100% no-repeat;
  filter: drop-shadow(0 8px 14px rgba(7, 34, 47, .14));
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
body .elementor-location-header .header-shell.e-con.is-scrolled,
body:not(.has-hero-header) .elementor-location-header .header-shell.e-con {
  --dlc-header-ink: #07222F;
  --dlc-header-accent: #A1383D;
  --dlc-header-logo-filter: brightness(0) invert(11%) sepia(28%) saturate(2100%) hue-rotate(163deg) brightness(92%);
}
body .elementor-location-header .header-shell.e-con.is-scrolled::before,
body:not(.has-hero-header) .elementor-location-header .header-shell.e-con::before { opacity: 1; }
body .elementor-location-header .header-shell.e-con.is-scrolled {
  height: var(--dlc-header-h-scrolled);
  --min-height: var(--dlc-header-h-scrolled);
}
body:not(.has-hero-header) { padding-top: var(--dlc-header-h); }

.elementor-location-header .header-shell.e-con > .elementor-widget-image { justify-self: start; }
.elementor-location-header .header-shell.e-con > .e-con { --width: auto; width: auto; }
.elementor-location-header .header-shell.e-con > .elementor-widget-image + .e-con { justify-self: center; }
.elementor-location-header .header-shell.e-con > .e-con + .e-con { justify-self: end; flex-wrap: nowrap; }
.elementor-location-header .header-shell .elementor-widget-image img {
  display: block;
  width: var(--dlc-header-logo);
  filter: var(--dlc-header-logo-filter);
  transition: width .3s ease, filter .3s ease;
}
.elementor-location-header .header-shell.is-scrolled .elementor-widget-image img { width: var(--dlc-header-logo-scrolled); }
.elementor-location-header .header-shell .elementor-button { white-space: nowrap; }
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
  color: var(--dlc-header-ink);
  transition: color .3s ease;
}
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--dlc-header-accent);
}
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item::after {
  background-color: var(--dlc-header-accent);
}
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-menu-toggle,
.elementor-location-header .header-shell .dlc-hc .dlc-hc__trigger {
  color: var(--dlc-header-ink);
  fill: var(--dlc-header-ink);
}
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-menu-toggle svg { fill: currentColor; }
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-menu-toggle:hover,
.elementor-location-header .header-shell .dlc-hc .dlc-hc__trigger:hover,
.elementor-location-header .header-shell .dlc-hc.is-open .dlc-hc__trigger {
  color: var(--dlc-header-accent);
  fill: var(--dlc-header-accent);
}
/* Icône téléphone : lien = variable Logia « Téléphone URL », couleur comme le burger. */
.elementor-location-header .header-shell .logia-icone-nue .elementor-icon-wrapper { line-height: 0; }
.elementor-location-header .header-shell .logia-icone-nue .elementor-icon {
  color: var(--dlc-header-ink);
  font-size: 24px;
  transition: color .3s ease;
}
.elementor-location-header .header-shell .logia-icone-nue .elementor-icon svg {
  fill: currentColor;
  width: 24px;
  height: 24px;
}
.elementor-location-header .header-shell .logia-icone-nue .elementor-icon:hover,
.elementor-location-header .header-shell .logia-icone-nue .elementor-icon:focus-visible {
  color: var(--dlc-header-accent);
}
.elementor-location-header .header-shell .dlc-hc.is-logged .dlc-hc__trigger::after { border-color: #F7F4F2; }
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--dropdown {
  background-color: #F7F4F2;
  box-shadow: 0 18px 30px rgba(7, 34, 47, .16);
}
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--dropdown a {
  color: #07222F;
  background-color: transparent;
}
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--dropdown a:hover,
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--dropdown a.elementor-item-active,
.elementor-location-header .header-shell.e-con .elementor-widget-nav-menu .elementor-nav-menu--dropdown a.highlighted {
  color: #fff;
  background-color: #A1383D;
}
@media (max-width: 1280px) and (min-width: 1025px) {
  .elementor-location-header .header-shell.e-con { --padding-left: 32px; --padding-right: 32px; column-gap: 16px; }
  .elementor-location-header .header-shell .elementor-button { padding: 14px 22px; font-size: 14px; }
}
@media (max-width: 1024px) {
  .elementor-location-header .header-shell.e-con {
    grid-template-columns: auto 1fr;
    --padding-left: 30px;
    --padding-right: 30px;
  }
  .elementor-location-header .header-shell.e-con > .elementor-widget-image + .e-con { justify-self: end; }
  .header-shell .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
    max-height: calc(100dvh - var(--dlc-header-h-scrolled) - var(--wp-admin--admin-bar--height, 0px));
    overflow-y: auto;
  }
}
/* Tablette : logo, bouton Nous contacter, compte, burger. Le téléphone reste réservé au mobile. */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-location-header .header-shell.e-con {
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 12px;
  }
  .elementor-location-header .header-shell.e-con > .e-con + .e-con {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    width: auto;
    --width: auto;
    gap: 12px;
  }
  .elementor-location-header .header-shell.e-con > .elementor-widget-image + .e-con {
    grid-column: 3;
    grid-row: 1;
    width: auto;
    --width: auto;
  }
  .elementor-location-header .header-shell .elementor-element-dlc0hc1 { order: 2; }
  .elementor-location-header .header-shell .elementor-button {
    padding: 12px 22px;
    font-size: 14px;
  }
}
/* Mobile : logo, téléphone, compte, burger. Le bouton Nous contacter reste dans le menu. */
@media (max-width: 767px) {
  .elementor-location-header .header-shell.e-con {
    grid-template-columns: auto minmax(0, 1fr) auto auto auto;
    column-gap: 8px;
    --padding-left: 18px;
    --padding-right: 18px;
  }
  .elementor-location-header .header-shell.e-con > .e-con { display: contents; }
  .elementor-location-header .header-shell .elementor-element-dlc0tel,
  .elementor-location-header .header-shell .elementor-element-dlc0hc1,
  .elementor-location-header .header-shell .elementor-element-91bebdd {
    grid-row: 1;
    align-self: center;
    width: auto;
    max-width: max-content;
  }
  .elementor-location-header .header-shell .elementor-element-dlc0tel { grid-column: 3; }
  .elementor-location-header .header-shell .elementor-element-dlc0hc1 { grid-column: 4; }
  .elementor-location-header .header-shell .elementor-element-91bebdd { grid-column: 5; justify-self: end; }
}
@media (max-width: 600px) {
  .admin-bar .elementor-location-header .header-shell.e-con { top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-location-header .header-shell.e-con,
  .elementor-location-header .header-shell.e-con::before,
  .elementor-location-header .header-shell .elementor-widget-image img { transition: none; }
}
@media (min-width: 1025px) {
  .header-shell .elementor-nav-menu .menu-contact { display: none; }
}
/* En burger, la commande passe dans la barre du bas (delices-core). */
@media (max-width: 1024px) {
  .header-shell .elementor-nav-menu .menu-commander { display: none; }
}
.header-shell .elementor-nav-menu--dropdown a {
  font-family: Montserrat, sans-serif;
}

/* Hello pose 0.9rem sous chaque paragraphe. On retire seulement le dernier
   d'un widget Texte : l'écart entre deux paragraphes reste. */
.elementor-widget-text-editor > :last-child,
.elementor-widget-text-editor .elementor-widget-container > :last-child {
  margin-block-end: 0;
}

/* Proportions du collage, cadrage et rotations réglés dans Elementor */
@media (min-width: 1025px) {
  .histoire-collage { aspect-ratio: 572 / 672; }
  .histoire-collage.e-con .histoire-photo.elementor-widget-image img { aspect-ratio: 240 / 279; height: auto; }
}

@media (max-width: 767px) {
  .histoire-collage { aspect-ratio: 340 / 430; max-width: 100%; }
  .histoire-collage.e-con .histoire-photo.elementor-widget-image img { aspect-ratio: 240 / 279; height: auto; }
}

/* Les cercles Figma suivent les mots, y compris après retour à la ligne */
.elementor-heading-title:has(.text-circle) {
  isolation: isolate;
}
.text-circle {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  isolation: auto;
}
.text-circle::before {
  content: "";
  position: absolute;
  inset: var(--circle-inset, -45% -12%);
  z-index: -1;
  background: var(--circle-image, url("/wp-content/uploads/2026/09/surlignage-texte-transparent.svg")) center / 100% 100% no-repeat;
  pointer-events: none;
}

/* Contre-mouvement partagé des illustrations, au survol de leur composition. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .illustration-scene { --dish-counter-rotation: 6deg; }
  .illustration-scene-reverse { --dish-counter-rotation: -6deg; }
  .illustration-scene .dish-illustration img {
    transition: transform 300ms ease;
    transform-origin: center;
  }
  .illustration-scene:not(:has(.illustration-trigger)):hover .dish-illustration img,
  .illustration-scene:has(.illustration-trigger img:hover) .dish-illustration img {
    transform: translateY(14px) rotate(var(--dish-counter-rotation));
  }
}

/* Finitions des contrôles événementiels non exposées par les widgets natifs. */
.page-id-596 .step-arrows {
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
.page-id-596 .step-arrows button {
  width: 41px;
  height: 41px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent center / 100% 100% no-repeat;
  pointer-events: auto;
  transition: transform .2s ease, opacity .2s ease;
}
.page-id-596 .step-arrows button:first-child {
  background-image: url("/wp-content/uploads/2026/10/avis-fleche-precedente-maquette.svg");
}
.page-id-596 .step-arrows button:last-child {
  background-image: url("/wp-content/uploads/2026/10/avis-fleche-droite-maquette.svg");
}
.page-id-596 .step-arrows svg { display: block; width: 100%; height: 100%; }
.page-id-596 .step-arrows button:first-child svg { transform: rotate(180deg); }
.page-id-596 .step-arrows button:hover:not(:disabled) { transform: translateY(-2px); }
.page-id-596 .step-arrows button:focus-visible { outline: 2px solid var(--e-global-color-primary); outline-offset: 4px; }
.page-id-596 .step-arrows button:disabled { opacity: .35; cursor: default; }

/* Tablette et mobile : la carte crème se pose sur la photo, les étapes gardent toute la largeur. */
@media (max-width: 1024px) {
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-heading {
    width: 100%;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tab-title {
    flex: 1 1 0;
    min-width: 0;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs,
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content {
    width: 100%;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con:not(.e-active) {
    display: none;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con.e-active {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    flex: 0 0 100%;
    gap: 0;
    padding-left: 50px !important;
    padding-right: 50px !important;
    box-sizing: border-box;
  }
  .page-id-596 .elementor-element-07c8345 {
    top: 0 !important;
    bottom: 76px !important;
    height: auto !important;
    display: flex !important;
    align-items: center;
  }
  .page-id-596 .elementor-element-07c8345 .step-arrows {
    width: 100%;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:nth-child(2) {
    grid-area: 1 / 1;
    width: 100%;
    max-width: none;
    margin: 0;
    z-index: 1;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:first-child {
    grid-area: 1 / 1;
    z-index: 2;
    align-self: start;
    justify-self: center;
    position: relative;
    width: calc(100% - 48px);
    max-width: calc(100% - 48px);
    margin: 16px 0 0;
    background-image: none;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:first-child::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/wp-content/uploads/2026/10/traiteur-fond-etapes.svg") center / 100% 100% no-repeat;
    opacity: .86;
    pointer-events: none;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:first-child > .elementor-element {
    position: relative;
    z-index: 1;
  }
}
@media (max-width: 767px) {
  .page-id-596 .elementor-element-07c8345 {
    display: none !important;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con.e-active {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:first-child {
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    margin: 16px 0;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:nth-child(2) {
    align-self: stretch;
    height: auto;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:nth-child(2) > .elementor-widget-image:not(.elementor-absolute) {
    height: 100%;
  }
  .page-id-596 .elementor-element-0471c2d .e-n-tabs-content > .e-con > .e-con:nth-child(2) > .elementor-widget-image:not(.elementor-absolute) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
/* Présentation réutilisable du formulaire événementiel. */
/* Labels flottants partages par les formulaires evenement et contact. */
:is(.event-form, .contact-form).elementor-widget-form .elementor-form .elementor-field-group:is(.elementor-field-type-text, .elementor-field-type-email, .elementor-field-type-tel, .elementor-field-type-number, .elementor-field-type-date, .elementor-field-type-select, .elementor-field-type-textarea) > .elementor-field-label {
  position: absolute; width: auto; height: auto; margin: 0;
  overflow: visible; clip-path: none; white-space: nowrap; border: 0;
  opacity: 0; pointer-events: none; transition: opacity 300ms ease;
  top: 0; left: 30px; z-index: 3; transform: translateY(-50%);
  font-size: .7rem; line-height: 1.2; color: #fff;
  background-color: var(--e-global-color-primary);
  padding: 5px; border-radius: 5px; max-width: calc(100% - 45px);
}
:is(.event-form, .contact-form).elementor-widget-form .elementor-form .elementor-field-group:focus-within > .elementor-field-label,
:is(.event-form, .contact-form).elementor-widget-form .elementor-form .elementor-field-group:has(input.elementor-field:not([type="hidden"]):not(:placeholder-shown)) > .elementor-field-label,
:is(.event-form, .contact-form).elementor-widget-form .elementor-form .elementor-field-group:has(textarea.elementor-field:not(:placeholder-shown)) > .elementor-field-label,
:is(.event-form, .contact-form).elementor-widget-form .elementor-form .elementor-field-group:has(select option[value=""]:not(:checked)) > .elementor-field-label { opacity: 1; }
:is(.event-form, .contact-form).elementor-widget-form .elementor-form textarea.elementor-field {
  border-radius: 22px; padding: 12px 15px;
}
@media (prefers-reduced-motion: reduce) {
  :is(.event-form, .contact-form) .elementor-field-group > .elementor-field-label { transition: none; }
}

.event-form input.elementor-field:not([type="radio"]) { min-height: 47px; padding: 10px 20px; }
.event-form select.elementor-field { min-height: 47px; padding: 14px 24px; }
.event-form input.elementor-field:not([type="radio"]), .event-form select.elementor-field { height: 47px; }
.event-form.elementor-widget-form .elementor-form textarea.elementor-field { min-height: 179px; resize: vertical; }
.event-form .elementor-field::placeholder { opacity: 1; color: #2c2c2c; }
.event-form .elementor-field-type-radio > .elementor-field-label { margin-bottom: 12px; }
.event-form .elementor-subgroup-inline { display: flex; gap: 10px; width: 100%; }
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option { position: relative; flex: 1; min-width: 0; }
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option input {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option label {
  display: flex; align-items: center; gap: 6px; min-height: 47px; width: 100%;
  padding: 10px 14px; border: 1px solid var(--e-global-color-accent);
  border-radius: 24px; font-size: 12px; line-height: 1.25; text-transform: uppercase;
  color: var(--e-global-color-primary); cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option label::before {
  content: ""; flex: 0 0 16px; height: 16px; background: center / contain no-repeat;
}
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option:nth-child(1) label::before { background-image: url("/wp-content/uploads/2026/10/formulaire-prive.svg"); }
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option:nth-child(2) label::before { background-image: url("/wp-content/uploads/2026/10/formulaire-pro.svg"); }
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option:nth-child(3) label::before { background-image: url("/wp-content/uploads/2026/10/formulaire-show.svg"); }
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option label::after {
  content: ""; flex: 0 0 16px; height: 16px; margin-left: auto;
  border: 1px solid var(--e-global-color-primary); border-radius: 50%;
}
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option input:checked + label { color: #fff; background-color: var(--e-global-color-primary); }
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option input:checked + label::after {
  content: "✓"; display: grid; place-items: center; font-size: 12px;
  color: #fff; background-color: var(--e-global-color-accent); border-color: var(--e-global-color-accent);
}
.event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option input:focus-visible + label { outline: 2px solid var(--e-global-color-primary); outline-offset: 3px; }
.event-form .elementor-field-group-date, .event-form .elementor-field-group-convives { position: relative; }
.event-form .elementor-field-group-date::before, .event-form .elementor-field-group-convives::before {
  content: ""; position: absolute; left: 24px; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; z-index: 1; pointer-events: none; background: center / contain no-repeat;
}
.event-form .elementor-field-group-date::before { background-image: url("/wp-content/uploads/2026/10/formulaire-date.svg"); }
.event-form .elementor-field-group-convives::before { background-image: url("/wp-content/uploads/2026/10/formulaire-convives.svg"); }
.event-form.elementor-widget-form .elementor-form .elementor-field-group-date input.elementor-field, .event-form.elementor-widget-form .elementor-form .elementor-field-group-convives input.elementor-field { padding-left: 60px; }
/* Mobile : flatpickr bascule sur le champ date natif, qui ignore le placeholder et impose son rendu sous iOS. */
.elementor-field-group-date input.flatpickr-mobile {
  -webkit-appearance: none; appearance: none;
  position: relative; display: block; width: 100%; min-height: 47px; text-align: left; color: inherit;
}
.elementor-field-group-date input.flatpickr-mobile::-webkit-date-and-time-value { margin: 0; text-align: left; }
.elementor-field-group-date.is-empty input.flatpickr-mobile::-webkit-datetime-edit { color: transparent; }
.elementor-field-group-date input.flatpickr-mobile::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: auto; height: auto; opacity: 0; cursor: pointer; }
.elementor-field-group-date.is-empty::after {
  content: attr(data-placeholder); position: absolute; left: var(--date-placeholder-left, 60px); right: 24px; top: 50%; transform: translateY(-50%);
  font-family: Montserrat, sans-serif; font-size: 15px; line-height: 21px; color: #2c2c2c;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none;
}
@media (max-width: 767px) {
  .event-form .elementor-subgroup-inline { flex-direction: column; }
  .event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .event-form.elementor-widget-form .elementor-form .elementor-field-subgroup .elementor-field-option label { transition: none; }
}

.event-form .elementor-select-wrapper select { appearance: none; padding-right: 42px; }
.event-form.elementor-widget-form .elementor-form .select-caret-down-wrapper { color: var(--e-global-color-accent); }

/* Finitions réutilisables. À ajouter au thème enfant uniquement après accord. */
.contact-tabs {
  --n-tabs-title-background-color: transparent;
  --n-tabs-title-background-color-active: transparent;
  --n-tabs-title-background-color-hover: transparent;
}
.contact-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title {
  position: relative;
  isolation: isolate;
  min-height: 56px;
}
.contact-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url('/wp-content/uploads/2026/10/contact-onglet-question.svg') center / 100% 100% no-repeat;
}
.contact-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"]::before {
  background-image: url('/wp-content/uploads/2026/10/contact-onglet-evenement.svg');
}

.contact-form input.elementor-field:not([type="radio"]) { padding: 10px 20px; min-height: 50px; }
.contact-form select.elementor-field { padding: 16px 22px; min-height: 50px; }
.contact-form .elementor-field-option { display: flex; align-items: center; }
.contact-form .elementor-field-option label {
  border: 1px solid var(--e-global-color-accent); border-radius: 24px;
  padding: 9px 11px; font-size: 12px; text-transform: uppercase;
  color: var(--e-global-color-primary); transition: background-color .2s ease, color .2s ease;
}
.contact-form .elementor-field-group .elementor-field-option input:checked + label { background: var(--e-global-color-primary); color: #fff; }
.contact-form .elementor-field-option input { margin-right: 6px; accent-color: var(--e-global-color-primary); }
.contact-form input:focus-visible, .contact-form textarea:focus-visible, .contact-form select:focus-visible,
.contact-tabs .e-n-tab-title:focus-visible, .header-shell a:focus-visible,
.header-shell .elementor-menu-toggle:focus-visible, footer a:focus-visible {
  outline: 2px solid var(--e-global-color-accent); outline-offset: 4px;
}
.contact-form .elementor-field-option input:focus-visible + label { outline: 2px solid var(--e-global-color-primary); outline-offset: 3px; }
.contact-form .elementor-button:disabled { cursor: not-allowed; opacity: .6; transform: none; }
.form-status p { margin: 0; }
@media (max-width: 767px) {
  .contact-form .elementor-subgroup-inline { gap: 10px; }
  .contact-form .elementor-field-option { width: 100%; }
  .contact-form .elementor-field-option label { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .organic-button .elementor-button, .contact-form .elementor-field-option label { transition: none; }
  .organic-button .elementor-button:hover, .organic-button .elementor-button:focus-visible { transform: none; }
}


/* Deux decors editables alternent selon le rang des cartes, hors balises style. */
.e-loop-item .review-decoration-sweet { display: none; }
.e-loop-item:nth-child(even of .e-loop-item) .review-decoration-savory { display: none; }
.e-loop-item:nth-child(even of .e-loop-item) .review-decoration-sweet { display: block; }


/* Inclinaison inverse des cadres et photos sur un avis sur deux. */
.e-loop-item:nth-child(even of .e-loop-item) :is(.review-card, .elementor-element-f8fd340):not(.elementor-motion-effects-element-type-background) {
  background-image: url("cadre-avis-alterne.svg");
}
.e-loop-item:nth-child(even of .e-loop-item) :is(.review-photo, .elementor-element-3975795) { rotate: 4deg; }
.e-loop-item:nth-child(even of .e-loop-item) :is(.review-quote, .elementor-element-8c7eaf8) { translate: 0 -12px; }

/* Fleches des avis : dessin central reduit, cercle et cible de clic conserves. */
.rca[data-target="avis-traiteur-carousel"] svg [id="Home"] {
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(.85);
}

/* Voile commun des sept hero sections. */
.elementor-88 .elementor-element.elementor-element-54dc3ab.e-con::before,
.elementor-594 .elementor-element.elementor-element-e2a483b.e-con::before,
.elementor-596 .elementor-element.elementor-element-a5b8bb5.e-con::before,
.elementor-597 .elementor-element.elementor-element-801b2ed.e-con::before,
.elementor-598 .elementor-element.elementor-element-4e36af6.e-con::before,
.elementor-599 .elementor-element.elementor-element-1b1da21.e-con::before,
.elementor-600 .elementor-element.elementor-element-6cc659a.e-con::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 4.84%, rgba(0, 0, 0, 0.40) 90.35%), linear-gradient(180deg, rgba(122, 40, 46, 0) 5.92%, rgba(122, 40, 46, 0.10) 90.35%), linear-gradient(0deg, rgba(143, 78, 0, 0.50) 0%, rgba(143, 78, 0, 0.50) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 53.03%, rgba(0, 0, 0, 0.40) 79.49%), linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), linear-gradient(0deg, rgba(122, 40, 46, 0.10) 0%, rgba(122, 40, 46, 0.10) 100%);
  opacity: 1;
  mix-blend-mode: normal;
}

/* Avis et CTA du footer, masqués page par page depuis les champs ACF « Bas de page ». */
.dlc-cacher-avis .dlc-bdp-avis,
.dlc-cacher-cta .dlc-bdp-cta {
  display: none !important;
}
