.elementor-kit-8{--e-global-color-primary:#277B69;--e-global-color-secondary:#9A9850;--e-global-color-text:#52422C;--e-global-color-accent:#FFEFDD;--e-global-color-pdoblanc:#FFFFFF;--e-global-color-pdovertfonce:#1F6A5A;--e-global-color-pdooliveteste:#72713B;--e-global-color-pdooliveaplat:#72713B;--e-global-color-pdofiligrane:rgba(255,239,221,0.12);--e-global-color-pdobrun20:rgba(82,66,44,0.2);--e-global-color-pdocreme80:rgba(255,239,221,0.8);--e-global-color-pdoerreur:#B3261E;--e-global-color-pdovoile30:rgba(0,0,0,0.3);--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.2em;--e-global-typography-pdofiligrane-font-family:"Ms Madi";--e-global-typography-pdofiligrane-font-size:80px;--e-global-typography-pdofiligrane-font-weight:400;--e-global-typography-pdofiligrane-line-height:1.1em;--e-global-typography-pdoherost-font-family:"Poppins";--e-global-typography-pdoherost-font-size:24px;--e-global-typography-pdoherost-font-weight:400;--e-global-typography-pdoherost-line-height:1.4em;--e-global-typography-pdosurtitre-font-family:"Poppins";--e-global-typography-pdosurtitre-font-size:28px;--e-global-typography-pdosurtitre-font-weight:700;--e-global-typography-pdosurtitre-line-height:1.3em;--e-global-typography-pdonav-font-family:"Poppins";--e-global-typography-pdonav-font-size:17px;--e-global-typography-pdonav-font-weight:700;--e-global-typography-pdonav-line-height:1.2em;--e-global-typography-pdopetit-font-family:"Poppins";--e-global-typography-pdopetit-font-size:14px;--e-global-typography-pdopetit-font-weight:400;--e-global-typography-pdopetit-line-height:1.5em;--e-global-typography-pdopiedlien-font-family:"Poppins";--e-global-typography-pdopiedlien-font-size:18px;--e-global-typography-pdopiedlien-font-weight:400;--e-global-typography-pdopiedlien-line-height:1.8em;--e-global-typography-pdomenumobile-font-family:"Poppins";--e-global-typography-pdomenumobile-font-size:24px;--e-global-typography-pdomenumobile-font-weight:600;--e-global-typography-pdomenumobile-line-height:1.3em;--e-global-typography-pdoh1-font-family:"Caveat PDO";--e-global-typography-pdoh1-font-size:96px;--e-global-typography-pdoh1-font-weight:600;--e-global-typography-pdoh1-line-height:1.1em;--e-global-typography-pdoh2-font-family:"Caveat PDO";--e-global-typography-pdoh2-font-size:60px;--e-global-typography-pdoh2-font-weight:600;--e-global-typography-pdoh2-line-height:1.2em;background-color:var( --e-global-color-accent );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:12px 28px 12px 28px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:var( --e-global-color-pdovertfonce );color:var( --e-global-color-accent );}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:var( --e-global-color-primary );}.elementor-kit-8 a:hover{color:var( --e-global-color-pdovertfonce );}.elementor-kit-8 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-pdoh1-font-family ), Sans-serif;font-size:var( --e-global-typography-pdoh1-font-size );font-weight:var( --e-global-typography-pdoh1-font-weight );line-height:var( --e-global-typography-pdoh1-line-height );letter-spacing:var( --e-global-typography-pdoh1-letter-spacing );word-spacing:var( --e-global-typography-pdoh1-word-spacing );}.elementor-kit-8 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-pdoh2-font-family ), Sans-serif;font-size:var( --e-global-typography-pdoh2-font-size );font-weight:var( --e-global-typography-pdoh2-font-weight );line-height:var( --e-global-typography-pdoh2-line-height );letter-spacing:var( --e-global-typography-pdoh2-letter-spacing );word-spacing:var( --e-global-typography-pdoh2-word-spacing );}.elementor-kit-8 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-pdosurtitre-font-family ), Sans-serif;font-size:var( --e-global-typography-pdosurtitre-font-size );font-weight:var( --e-global-typography-pdosurtitre-font-weight );line-height:var( --e-global-typography-pdosurtitre-line-height );letter-spacing:var( --e-global-typography-pdosurtitre-letter-spacing );word-spacing:var( --e-global-typography-pdosurtitre-word-spacing );}.elementor-kit-8 h4{color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:22px;font-weight:700;line-height:1.35em;}.elementor-kit-8 h5{color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:600;line-height:1.4em;}.elementor-kit-8 h6{color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;line-height:1.4em;}.elementor-kit-8 label{color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.4em;}.elementor-kit-8 input:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea,.elementor-kit-8 .elementor-field-textual{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-text );accent-color:var( --e-global-color-primary );background-color:rgba(0,0,0,0);border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;transition:300ms;padding:8px 0px 8px 0px;}.elementor-kit-8 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea:focus,.elementor-kit-8 .elementor-field-textual:focus{border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-8{--e-global-typography-pdofiligrane-font-size:64px;--e-global-typography-pdoherost-font-size:20px;--e-global-typography-pdosurtitre-font-size:24px;--e-global-typography-pdonav-font-size:16px;--e-global-typography-pdoh1-font-size:64px;--e-global-typography-pdoh2-font-size:44px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-8 h1{font-size:var( --e-global-typography-pdoh1-font-size );line-height:var( --e-global-typography-pdoh1-line-height );letter-spacing:var( --e-global-typography-pdoh1-letter-spacing );word-spacing:var( --e-global-typography-pdoh1-word-spacing );}.elementor-kit-8 h2{font-size:var( --e-global-typography-pdoh2-font-size );line-height:var( --e-global-typography-pdoh2-line-height );letter-spacing:var( --e-global-typography-pdoh2-letter-spacing );word-spacing:var( --e-global-typography-pdoh2-word-spacing );}.elementor-kit-8 h3{font-size:var( --e-global-typography-pdosurtitre-font-size );line-height:var( --e-global-typography-pdosurtitre-line-height );letter-spacing:var( --e-global-typography-pdosurtitre-letter-spacing );word-spacing:var( --e-global-typography-pdosurtitre-word-spacing );}.elementor-kit-8 h4{font-size:20px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-pdofiligrane-font-size:44px;--e-global-typography-pdoherost-font-size:18px;--e-global-typography-pdosurtitre-font-size:22px;--e-global-typography-pdonav-font-size:18px;--e-global-typography-pdoh1-font-size:36px;--e-global-typography-pdoh2-font-size:30px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-8 h1{font-size:var( --e-global-typography-pdoh1-font-size );line-height:var( --e-global-typography-pdoh1-line-height );letter-spacing:var( --e-global-typography-pdoh1-letter-spacing );word-spacing:var( --e-global-typography-pdoh1-word-spacing );}.elementor-kit-8 h2{font-size:var( --e-global-typography-pdoh2-font-size );line-height:var( --e-global-typography-pdoh2-line-height );letter-spacing:var( --e-global-typography-pdoh2-letter-spacing );word-spacing:var( --e-global-typography-pdoh2-word-spacing );}.elementor-kit-8 h3{font-size:var( --e-global-typography-pdosurtitre-font-size );line-height:var( --e-global-typography-pdosurtitre-line-height );letter-spacing:var( --e-global-typography-pdosurtitre-letter-spacing );word-spacing:var( --e-global-typography-pdosurtitre-word-spacing );}.elementor-kit-8 h4{font-size:18px;}.elementor-kit-8 h5{font-size:17px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}:root { --pdo-vert:#277B69; --pdo-olive:#9A9850; --pdo-brun:#52422C; --pdo-creme:#FFEFDD; --pdo-blanc:#FFFFFF; --pdo-vert-fonce:#1F6A5A; --pdo-brun-20:rgba(82,66,44,0.2); --pdo-creme-80:rgba(255,239,221,0.8); --pdo-erreur:#B3261E; --pdo-font-script:Caveat PDO, cursive; --pdo-font-texte:Poppins; --pdo-space-xs:8px; --pdo-space-s:16px; --pdo-space-m:24px; --pdo-space-l:40px; --pdo-space-xl:80px; --pdo-space-xxl:120px; --pdo-contenu:1240px; --pdo-olive-texte:#72713B; --pdo-olive-aplat:#72713B; --pdo-filigrane:rgba(255,239,221,0.12); --pdo-gouttiere:40px; --pdo-gouttiere-mobile:20px; --pdo-motif-olive-fond:#9A9850; --pdo-motif-olive-traits:rgba(255,239,221,0.55); --pdo-motif-vert-fond:#277B69; --pdo-motif-vert-traits:rgba(82,66,44,0.6); --pdo-motif-brun-fond:#52422C; --pdo-motif-brun-traits:rgba(255,239,221,0.45); --pdo-brun-50:rgba(82,66,44,0.5); --pdo-voile-30:rgba(0,0,0,0.3); --pdo-ombre-entete:rgba(82,66,44,0.08); --pdo-voile-entete:rgba(0,0,0,0.5); --pdo-voile-popup:rgba(0,0,0,0.65); --pdo-brun-30:rgba(82,66,44,0.3); --pdo-voile-hero:rgba(0,0,0,0.25); --pdo-voile-hero-accueil:rgba(0,0,0,0.55); --pdo-voile-hero-centre:rgba(0,0,0,0.6); --pdo-voile-hero-bord:rgba(0,0,0,0.15); --pdo-voile-logo:rgba(0,0,0,0.55); --pdo-voile-logo-mobile:rgba(0,0,0,0.6); --pdo-filigrane-brun:rgba(82,66,44,0.35); --pdo-voile-hero-int-centre:rgba(0,0,0,0.6); --pdo-voile-hero-int-milieu:rgba(0,0,0,0.6); --pdo-voile-hero-int-bord:rgba(0,0,0,0.1); }
/* Start custom CSS *//* La Patte d'Oie : complements des reglages globaux V3 (boutons, formulaires, accessibilite)
   et CSS commun des deux en-tetes (creme 210 et transparent 320).
   Le pied de page (211) et le menu mobile (291) ont leur CSS dans leur modele. */

/* Boutons V3 : transitions et leger soulevement au survol. */
.elementor-kit-8 .elementor-button,
.elementor-kit-8 button,
.elementor-kit-8 input[type="submit"] { transition: background-color .3s, color .3s, transform .3s; }
.elementor-kit-8 .elementor-button:hover { transform: translateY(-2px); }

/* Focus clavier visible sur tout le site. */
.elementor-kit-8 :is(a, button, input, select, textarea, .elementor-button):focus-visible { outline: 2px solid var(--pdo-vert-fonce); outline-offset: 3px; }

/* Messages d'erreur des formulaires V3. */
.elementor-kit-8 .elementor-message-danger,
.elementor-kit-8 .elementor-error,
.elementor-kit-8 .elementor-field-group .elementor-message { color: var(--pdo-erreur); }
/* Formulaires V3 : etats d'erreur (le widget n'a pas de reglage pour l'etat d'erreur).
   - bordure pdo-erreur : champ refuse par le serveur, ou juge invalide par le navigateur apres saisie ;
   - message sous la liste deroulante (Elementor le place dans le cadre de la liste, en ligne) ;
   - icone des messages masquee (police d'icones non chargee : un carre vide s'affichait) ;
   - texte d'exemple (placeholder) en brun attenue, contraste superieur a 4,5:1 sur le creme. */
.elementor-kit-8 .elementor-field-group.elementor-error .elementor-field,
.elementor-kit-8 .elementor-select-wrapper.elementor-error select,
.elementor-kit-8 .elementor-field-group .elementor-field-textual:user-invalid { border-color: var(--pdo-erreur); }
.elementor-kit-8 .elementor-select-wrapper.elementor-error { flex-wrap: wrap; }
.elementor-kit-8 .elementor-select-wrapper.elementor-error .elementor-message { flex-basis: 100%; }
.elementor-kit-8 .elementor-message::before { content: none; }
.elementor-kit-8 .elementor-field-group .elementor-field::placeholder { color: var(--pdo-brun); opacity: .8; }

/* Mouvement reduit : aucune animation ni transition.
   Les interactions natives d'Elementor (apparition au defilement) gardent un fondu meme dans ce cas :
   les elements qui en portent une recoivent la classe pdo-apparition et s'affichent d'emblee. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
  .elementor-kit-8 .pdo-apparition { opacity: 1 !important; transform: none !important; }
}

/* ==========================================================================
   EN-TETE (modeles 210 creme et 320 transparent) - CSS commun, ecrit une seule fois.
   Seule difference entre les deux modeles : la classe pdo-entete--transparent sur
   l'element "En-tete" du modele 320. Prefixe "body .elementor-location-header" :
   ce fichier se charge avant ceux des modeles et des classes, le prefixe garde
   la priorite sur les reglages natifs du widget Menu.
   L'effet natif "Collant" du conteneur parent (decalage des effets 80 px) ajoute
   la classe .elementor-sticky--effects au-dela de 80 px de defilement.
   Polices, couleurs et trait du menu : reglages natifs du widget Menu (onglet Style).
   Hauteur du logo : style du widget Image (64 px desktop, 44 px tablette et mobile).
   ========================================================================== */

/* 1. Au defilement : en-tete ramene a 64 px, ombre legere, logo a 48 px (desktop). */
body .elementor-location-header .elementor-sticky--effects .pdo-entete { height: 64px; box-shadow: 0 2px 12px var(--pdo-ombre-entete); }
@media (min-width: 1025px) { body .elementor-location-header .elementor-sticky--effects .pdo-entete__logo-img { height: 48px; } }

/* 2. Variante transparente (classe pdo-entete--transparent, modele des pages avec hero) :
      logo clair, liens, trait et contour de focus blancs au-dessus du hero,
      puis fond creme, textes bruns et logo sombre au defilement.
      Les etats (survol, focus, actif) sont repris pour passer devant les couleurs natives du widget. */
body .elementor-location-header .pdo-entete--transparent .pdo-logo-clair { display: block; }
body .elementor-location-header .pdo-entete--transparent .pdo-logo-sombre { display: none; }
body .elementor-location-header .pdo-entete--transparent .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:is(*, :hover, :focus, .elementor-item-active) { color: var(--pdo-blanc); }
body .elementor-location-header .pdo-entete--transparent .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item::after { background-color: currentColor; }
/* Page active (recette du 21/10/2026, contraste) : le widget du modele 320 met le trait de la page active en brun, presque
   invisible sur la photo du hero ; il suit ici la couleur du lien (blanc sur l'en-tete transparent, brun une fois defile). */
body .elementor-location-header .pdo-entete--transparent .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active::after { background-color: currentColor; }
body .elementor-location-header .pdo-entete--transparent :is(a, button):focus-visible { outline-color: var(--pdo-blanc); }
body .elementor-location-header .pdo-entete--transparent .pdo-icone:is(:hover, :focus-visible) { background-color: var(--pdo-creme); }
/* Voile en haut du hero, sous l'en-tete transparent (variable pdo-voile-entete, noir 50 %) :
   garantit au moins 4,5:1 pour les liens blancs, quelle que soit la photo. Il s'efface au defilement. */
body .elementor-location-header .pdo-entete--transparent { position: relative; isolation: isolate; }
body .elementor-location-header .pdo-entete--transparent::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 200%; background: linear-gradient(var(--pdo-voile-entete) 0%, var(--pdo-voile-entete) 40%, transparent 100%); pointer-events: none; z-index: -1; transition: opacity .3s; }
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent::before { opacity: 0; }
/* Logo clair au-dessus du hero (decision de Can du 20/10/2026, solution 2) : trait fin peu visible sur les photos.
   Logo agrandi (76 px en desktop, 52 px en tablette et mobile : champs natifs Hauteur de l'image du logo clair dans le
   modele 320, depuis le 26/10/2026) et voile sombre localise derriere lui
   (variables pdo-voile-logo et pdo-voile-logo-mobile). Au defilement : voile efface, logo sombre de 48 px inchange. */
body .elementor-location-header .pdo-entete--transparent::after { content: ""; position: absolute; inset: 0 auto auto 0; width: 360px; height: 200%; pointer-events: none; z-index: -1; transition: opacity .3s; background: radial-gradient(ellipse 60% 55% at 20% 30%, var(--pdo-voile-logo), transparent 100%); }
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent::after { opacity: 0; }
@media (max-width: 1024px) {
  body .elementor-location-header .pdo-entete--transparent::after { width: 240px; background: radial-gradient(ellipse 70% 60% at 22% 35%, var(--pdo-voile-logo-mobile), transparent 100%); }
}
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent { background-color: var(--pdo-creme); color: var(--pdo-brun); }
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent .pdo-logo-clair { display: none; }
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent .pdo-logo-sombre { display: block; }
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:is(*, :hover, :focus, .elementor-item-active) { color: var(--pdo-brun); }
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent :is(a, button):focus-visible { outline-color: var(--pdo-vert-fonce); }
body .elementor-location-header .elementor-sticky--effects .pdo-entete--transparent .pdo-icone:is(:hover, :focus-visible) { background-color: var(--pdo-vert-fonce); }

/* 3. Le trait natif "Souligner" se dessine de gauche a droite (survol, focus clavier, page active).
      Le widget ne propose qu'un glissement depuis la droite ou une croissance depuis le centre. */
body .elementor-location-header .elementor-nav-menu--main .elementor-item::after { transform: scaleX(0); transform-origin: left; transition: transform .3s; }
body .elementor-location-header .elementor-nav-menu--main .elementor-item:hover::after,
body .elementor-location-header .elementor-nav-menu--main .elementor-item:focus-visible::after,
body .elementor-location-header .elementor-nav-menu--main .elementor-item-active::after { transform: scaleX(1); opacity: 1; }

/* 4. (Icone telephone devant le numero retiree le 21/10/2026, demande de Can : le numero seul reste cliquable.) */

/* ==========================================================================
   GALERIE A PANNEAUX (composant 358) - interactions que les classes globales
   ne savent pas exprimer : survol d'un panneau qui agit sur son image, effet
   reserve aux appareils avec souris (pas sur ecran tactile), variante olive.
   Structure, tailles et carrousel mobile : classes pdo-galerie*.
   Variante A retenue par Can le 20/10/2026 : 0,8 s, courbe standard cubic-bezier(.4, 0, .2, 1),
   panneau survole en flex-grow 1,8 (240 -> 372 px a 1440 px), zoom de l'image 1,04.
   Mouvement reduit : neutralise par la regle generale plus haut.
   ========================================================================== */
@media (hover: hover) and (min-width: 768px) {
  .elementor-kit-8 .pdo-galerie__panneau { transition: flex-grow .8s cubic-bezier(.4, 0, .2, 1); }
  .elementor-kit-8 .pdo-galerie__image { transition: transform .8s cubic-bezier(.4, 0, .2, 1); }
  .elementor-kit-8 .pdo-galerie__panneau:hover { flex-grow: 1.8; }
  .elementor-kit-8 .pdo-galerie__panneau:hover .pdo-galerie__image { transform: scale(1.04); }
}
/* Variante Contact (classe pdo-galerie--olive sur le conteneur de l'instance) : bloc texte sur
   olive aplat, paragraphe en creme plein (le creme 80 % serait illisible sur l'olive). */
.elementor-kit-8 .pdo-galerie--olive .pdo-galerie__texte { background-color: var(--pdo-olive-aplat); }
.elementor-kit-8 .pdo-galerie--olive .pdo-galerie__para { color: var(--pdo-creme); }
/* Lien dans le texte de la galerie du Contact (textes SEO V1, 26/10/2026) : sur l'olive aplat, le vert des liens
   tomberait a 1,0:1. Lien en creme comme le texte (4,5:1), souligne par la regle « LIENS DANS LES TEXTES COURANTS » ;
   survol et focus clavier : soulignement de 2 px (contour de focus creme). */
.elementor-kit-8 .pdo-galerie--olive .pdo-galerie__para a { color: inherit; }
.elementor-kit-8 .pdo-galerie--olive .pdo-galerie__para a:is(:hover, :focus-visible) { color: inherit; text-decoration-thickness: 2px; }
.elementor-kit-8 .pdo-galerie--olive .pdo-galerie__para a:focus-visible { outline-color: var(--pdo-creme); }
/* Fleche « Photo suivante » de la galerie de l'Accueil en mobile (annexe 1 B ; D15 puis accord de Can du 26/10/2026 :
   un toucher = photo suivante, retour a la premiere apres la derniere). Vrai bouton (aria-label « Photo suivante »)
   dans le widget Code HTML 7a1e0492 du bloc pdo-galerie-indice, avec son script (exception unique a la regle
   « zero JavaScript ») ; widget masque sur ordinateur et tablette. A cheval sur le bas de la galerie, a droite : il ne
   couvre aucun texte. Zone de 44 px ; couleurs fixees pour tous les etats (sinon Reglages du site > Boutons
   s'applique a tout <button>) ; focus clavier : contour global. Brun sur creme 8,57:1, vert fonce sur creme 5,71:1. */
@media (max-width: 767px) {
  .elementor-kit-8 .pdo-galerie-suivant { position: absolute; inset-block-end: -24px; inset-inline-end: 16px; z-index: 2; width: 44px; height: 44px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background-color: var(--pdo-creme); color: var(--pdo-brun); font: 500 20px/44px var(--pdo-font-texte); text-align: center; box-shadow: 0 2px 8px var(--pdo-ombre-entete); cursor: pointer; transition: none; }
  .elementor-kit-8 .pdo-galerie-suivant:is(:hover, :focus, :focus-visible, :active) { background-color: var(--pdo-creme); color: var(--pdo-vert-fonce); }
}
@media (min-width: 768px) { .elementor-kit-8 .pdo-galerie-suivant { display: none; } }

/* TRIO (composant 454) : colonne Reception cliquable sur l'Accueil (propriete exposee « Lien de la colonne Reception »).
   Survol et focus clavier : le titre « Reception » se souligne (decision de Can du 26/10/2026, ecart D3). Ecrit ici : une
   classe V4 n'a pas d'etat « survol du parent », et un etat sur la colonne soulignerait aussi les horaires. Ne vise que la
   colonne quand elle est un lien (a.pdo-trio__colonne) : rien sur la page Reception. Brun sur creme 8,57:1. */
.elementor-kit-8 a.pdo-trio__colonne:is(:hover, :focus-visible) .pdo-trio__titre { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }

/* ==========================================================================
   HERO INTERIEUR (composant 486, pages Menu, Reception, Historique, Contact) :
   voile radial, sombre en bande derriere le H1 et l'accroche, leger ailleurs.
   Revu le 26/10/2026 (textes SEO V1 : H1 plus longs, sur 2 lignes ; annexe 1 de Tom : photos trop sombres en mobile).
   Variables propres aux heros interieurs (pdo-voile-hero-int-centre / -milieu / -bord : 60 / 60 / 10 % de noir) ;
   le hero de l'Accueil garde pdo-voile-hero-*. Ellipse plus large et plus basse que l'ancienne (62 % x 36 %, en mobile
   110 % x 30 %), plateau sombre jusqu'a 70 % (62 % en mobile). Mesure au pire pixel (H1, accroche, liens de l'en-tete),
   4 photos, 768 a 1440 px : au moins 4,92:1 (avant : 3,59:1 avec les nouveaux H1) ; 360 a 430 px : au moins 5,86:1.
   Luminance moyenne de la photo : + 10 % (ordinateur), + 31 % (mobile).
   Ecrit ici : une classe globale figerait les variables d'un degrade.
   ========================================================================== */
.elementor-kit-8 .pdo-hero-interieur__voile { background: radial-gradient(ellipse 70% 30% at 50% 55%, var(--pdo-voile-hero-int-centre) 0%, var(--pdo-voile-hero-int-milieu) 70%, var(--pdo-voile-hero-int-bord) 100%); }
@media (max-width: 767px) { .elementor-kit-8 .pdo-hero-interieur__voile { background: radial-gradient(ellipse 110% 22% at 50% 54%, var(--pdo-voile-hero-int-centre) 0%, var(--pdo-voile-hero-int-milieu) 62%, var(--pdo-voile-hero-int-bord) 100%); } }

/* ==========================================================================
   MENU (page 528)
   1. Parallaxe des illustrations de rubrique coupee en mobile : l'interaction native exclut
      le point de rupture mobile, mais le deplacement reste applique (constate le 20/10/2026).
      Sans cette ligne, l'illustration serait rognee dans son cadre 16/10.
   2. Phrase d'introduction vide (champ ACF menu_intro_* facultatif) : pas d'espace laisse.
   3. Supplement vide (champ facultatif du plat) : ne passe pas a la ligne sous un nom long.
   ========================================================================== */
@media (max-width: 767px) { .elementor-kit-8 .pdo-menu-rubrique__image { transform: none !important; } }
.elementor-kit-8 :is(.pdo-menu-rubrique__intro, .pdo-plat__supplement):empty { display: none; }

/* ==========================================================================
   CARTE DE SAISON, variante verte (composant 439, page Reception, maquette 33:257) :
   instance placee dans un conteneur de classe pdo-carte-saison--vert ; l'aplat passe en pdo-vert
   (#28806D de la maquette, assombri en #277B69 pour le contraste). Olive par defaut (Accueil).
   Creme sur vert 4,52:1 (titre, paragraphe en creme plein, contour de focus) ; bouton creme 4,52:1.
   ========================================================================== */
.elementor-kit-8 .pdo-carte-saison--vert .pdo-carte-saison__aplat { background-color: var(--pdo-vert); }

/* ==========================================================================
   HERO INTERIEUR, bandeau brun (page Historique, maquette 33:35 : #52422C) :
   instance du composant 486 placee dans un conteneur de classe pdo-motif-hero--brun ;
   le bandeau reprend les variables de la classe pdo-motif--brun. Vert par defaut.
   ========================================================================== */
.elementor-kit-8 .pdo-motif-hero--brun .pdo-motif { --pdo-motif-fond: var(--pdo-motif-brun-fond); --pdo-motif-traits: var(--pdo-motif-brun-traits); }

/* ==========================================================================
   VARIANTES DE LA MAQUETTE (inventaire 8.0 ter, accord de Can du 20/10/2026)
   1. Bandeau olive sous le hero interieur (Reception, maquette #9A9850, decor sans texte) :
      instance du composant 486 dans un conteneur de classe pdo-motif-hero--olive.
   2. Script du titre de contact en vert (Reception, maquette « Reception sur-mesure » en #28806D) :
      section de classe pdo-titre-contact--vert ; vert sur creme 4,52:1.
   3. Menu, desktop : illustration de rubrique estompee derriere la liste (maquette : creme a 20 %).
      Sur l'olive et le vert, des traits creme ramenaient le texte creme sous 4,5:1 (3,1 a 3,2:1) :
      traits sombres a 15 % a la place (texte au moins 5,8:1). Ecart impose par le contraste, signale a Can.
   ========================================================================== */
.elementor-kit-8 .pdo-motif-hero--olive .pdo-motif { --pdo-motif-fond: var(--pdo-motif-olive-fond); --pdo-motif-traits: var(--pdo-motif-olive-traits); }
.elementor-kit-8 .pdo-titre-contact--vert .pdo-titre-contact__script { color: var(--pdo-vert); }
@media (min-width: 1025px) { .elementor-kit-8 :is(.pdo-rubrique--olive, .pdo-rubrique--vert) .pdo-menu-rubrique__image { filter: brightness(0); opacity: 0.15; } }
/* En mouvement reduit, la regle pdo-apparition (opacite 1 forcee) rendrait les illustrations opaques
   derriere le texte : leur opacite d'estompage est retablie (desktop). */
@media (prefers-reduced-motion: reduce) and (min-width: 1025px) {
  .elementor-kit-8 .pdo-menu-rubrique__image.pdo-apparition { opacity: 0.2 !important; }
  .elementor-kit-8 :is(.pdo-rubrique--olive, .pdo-rubrique--vert) .pdo-menu-rubrique__image.pdo-apparition { opacity: 0.15 !important; }
}

/* ==========================================================================
   MOTS EN COULEUR (accord de Can du 20/10/2026) : titres en widget Titre V3, paragraphes en
   Editeur de texte V3, mot dans un span a la couleur globale. Les titres V4 equilibrent leurs lignes
   (text-wrap: balance) ; meme regle pour les titres V3, sinon un mot reste seul en fin de ligne en mobile.
   ========================================================================== */
.elementor-kit-8 .elementor-widget-heading .elementor-heading-title { text-wrap: balance; }

/* ==========================================================================
   HERO INTERIEUR, cadrage bas (page Contact, demande de Can du 20/10/2026) : l'enseigne de la photo passait
   derriere le H1. Instance du composant 486 dans un conteneur de classe pdo-hero-cadrage--bas : photo a 130 %
   de la hauteur du hero, calee en bas ; l'enseigne remonte au-dessus du titre de 360 a 1920 px
   (blanc du titre au pire pixel : au moins 5,89:1).
   ========================================================================== */
.elementor-kit-8 .pdo-hero-cadrage--bas .pdo-hero-interieur__image { height: 130%; inset-block-start: auto; inset-block-end: 0; }
/* Mobile (annexe 1 B, 26/10/2026) : enseigne « La Patte d'Oie » entiere a l'ecran. Photo a 112 % de la hauteur du hero
   (echelle 0,8 sur 646 px), calee en bas et cadree a 42 % a l'horizontale : le nom tient de 360 a 430 px, au-dessus du H1. */
@media (max-width: 767px) { .elementor-kit-8 .pdo-hero-cadrage--bas .pdo-hero-interieur__image { height: 112%; object-position: 42% 50%; } }
/* Mobile, photo portrait (27/10/2026, accord de Can) : quand le champ contact_hero_mobile est rempli, le snippet 817
   (mu-plugin pdo-heros-interieurs-mobile.php) sert un portrait 615 x 1093 sous 768 px et pose la classe pdo-hero-portrait.
   Photo a 118 % de la hauteur du hero (762 px sur 646), calee en bas, centree : enseigne « La Patte d'Oie » entiere
   de 360 a 430 px, entre 201 et 267 px du haut, au-dessus du H1 (295 px). Champ vide : regle precedente (112 %, 42 %). */
@media (max-width: 767px) { .elementor-kit-8 .pdo-hero-cadrage--bas .pdo-hero-interieur__image.pdo-hero-portrait { height: 118%; object-position: 50% 50%; } }

/* ==========================================================================
   LIENS DANS LES TEXTES COURANTS (accord de Can du 20/10/2026, accessibilite) : un lien ne doit pas etre
   distingue par sa seule couleur (vert contre brun : environ 1,9:1). Soulignement fin et decale sur les liens
   des Editeurs de texte V3, de la case RGPD du formulaire et, depuis le 26/10/2026 (textes SEO V1), des paragraphes V4
   (liens poses dans le texte : Menu, Historique, galerie du Contact). Boutons, menus et pied de page inchanges.
   ========================================================================== */
.elementor-kit-8 :is(.elementor-widget-text-editor, .elementor-field-type-acceptance, .e-paragraph-base) a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* ==========================================================================
   RESEAUX SOCIAUX VIDES (demande de Can du 21/10/2026) : sans URL dans Infos pratiques, Elementor rend
   l'icone en <button> sans lien ; on la masque. Elle reapparait seule des que le champ est rempli.
   Pied de page 211 (colonne « Nos reseaux », la derniere) et menu mobile 291 (classe pdo-reseau).
   ========================================================================== */
.elementor-kit-8 :is(.pdo-reseau, .pdo-pied__colonne:last-child > .pdo-pied__lien):not([href]) { display: none; }

/* ===== FILIGRANE DES CARTES DE SAISON (21/10/2026, maquette 5:34, 33:258, mobile 86:21) =====
   Texte « La Patte d’Oie » généré ici, derrière le titre et le paragraphe, caché aux lecteurs d’écran
   (texte alternatif vide après « / » ; la première ligne sert de repli aux anciens navigateurs).
   Police : Réglages du site > Polices globales > « Filigrane » (seule la famille est lue ici).
   Couleur : variable pdo-filigrane-brun (brun 35 %, écart de contraste n° 26 de l’inventaire).
   Taille proportionnelle au bloc (unité cqi, le bloc pdo-carte-saison__filigrane est le conteneur) :
   566 px pour un aplat de 720 px comme la maquette ; 74,5 % de la largeur en mobile (maquette 86:21).
   Si la police change, recalculer : taille (cqi) = 100 × proportion voulue / (largeur du texte à 100 px / 100)
   (Ms Madi : 525 px à 100 px ; desktop 0,786, mobile 0,745).
   Les conteneurs Elementor utilisent déjà ::before pour leur voile : positions et tailles neutralisées. */
.elementor-kit-8 .pdo-carte-saison__filigrane::before {
	content: "La Patte d’Oie";
	content: "La Patte d’Oie" / "";
	position: absolute;
	inset: auto;
	inset-inline-start: 50%;
	inset-block-start: 44%;
	width: max-content;
	height: auto;
	transform: translate(-50%, -50%);
	font-family: var(--e-global-typography-pdofiligrane-font-family), cursive;
	font-size: 14.98cqi;
	font-weight: 400;
	line-height: 1;
	color: var(--pdo-filigrane-brun);
	white-space: nowrap;
	background: none;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	pointer-events: none;
}
@media (max-width: 767px) {
	.elementor-kit-8 .pdo-carte-saison__filigrane::before {
		inset-block-start: 42.5%;
		font-size: 14.19cqi;
	}
}

/* ===== ZONES A TOUCHER, AIDE DE LA DATE, PIED DE PAGE MOBILE (21/10/2026, demande de Can) =====
   1. Zones a toucher d'au moins 44 px de haut, partout, apparence inchangee : padding vertical compense par une marge
      negative egale (la mise en page ne bouge pas, seule la zone cliquable grandit). Hauteurs avant : liens du pied
      32 px, lignes du bas 21 px, telephone du bloc formulaire (classe pdo-lien, aussi page 404) 26 px.
      Le trait du menu du pied de page est remonte d'autant pour rester sous le mot.
      Depuis le 26/10/2026, ces valeurs sont dans les champs natifs des classes pdo-pied__lien (6 px), pdo-pied__petit
      (12 px) et pdo-lien (9 px) : Marge interieure haut / bas et Marge externe haut / bas (negative). Reste ici le menu du pied. */
/* Menu du pied de page : les liens sont dans des <li> en flux normal, ou deux marges negatives voisines fusionnent ;
   on compense donc par une marge basse de -12 px et un decalage visuel de -6 px (le texte et le trait restent en place). */
body .elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu .elementor-item.elementor-item { padding-block: 6px; margin-block: 0 -12px; top: -6px; }
body .elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu .elementor-item.elementor-item::after { bottom: 6px; }
@media (max-width: 767px) {
	/* 2. Case de consentement agrandie (13 -> 20 px) ; avec son texte (libelle cliquable), la zone fait plus de 44 px. */
	.elementor-kit-8 .elementor-field-type-acceptance input[type="checkbox"] { width: 20px; height: 20px; vertical-align: -4px; }
	/* 3. (Texte d'aide de la date aligne a gauche : regle retiree le 26/10/2026, doublon du CSS du modele 327.) */
	/* 4. Pied de page plus aere en mobile : depuis le 26/10/2026 dans les valeurs Mobile des classes pdo-pied__colonnes
	   (Ecart = pdo-space-xl), pdo-pied__contenu (Marge interieure bas = pdo-space-l) et pdo-pied__bas (Marge interieure haut = pdo-space-m). */
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Caveat PDO';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://www.restaurantlapattedoie.fr/wp-content/uploads/2026/10/caveat-pdo-600-latin-fr.woff2') format('woff2');
}
/* End Custom Fonts CSS */