.header{position:fixed;top:0;left:0;right:0;z-index:1002;width:100vw;background:#f4c799;border-radius:0 0 48px 48px;box-shadow:0 8px 32px #0001;height:110px;display:flex;align-items:center;transition:transform .38s cubic-bezier(.54,.01,.48,1.07)}.header.header--hidden{transform:translateY(-120%)}.container-header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;height:110px;max-width:1200px;margin:0 auto;padding:0 28px;box-sizing:border-box}.logo img{height:62px;max-width:150px;width:auto;display:block;object-fit:contain}.nav-desktop{grid-column:2;display:flex;align-items:center;justify-content:center;height:100%;min-width:0}.nav-desktop ul{display:flex;gap:32px;margin:0;padding:0;flex-wrap:nowrap;white-space:nowrap}.nav-desktop ul li{flex:0 0 auto}.nav-desktop ul li a{color:#467a59;font-weight:600;font-size:1.15rem;height:62px;display:flex;align-items:center;background:none;position:relative;padding:0 4px;transition:color .22s}.nav-desktop ul li a:hover,.nav-desktop ul li a.active{color:#ea7c2d}.nav-desktop ul li a::after{content:"";position:absolute;left:0;bottom:0;height:2.5px;width:0;background:#ea7c2d;border-radius:2px;transition:width .32s,background .18s}.nav-desktop ul li a:hover::after,.nav-desktop ul li a.active::after{width:100%;background:#ea7c2d}@media (max-width:1200px){.nav-desktop ul{gap:24px}}.cta-menu{grid-column:3;display:inline-flex;align-items:center;margin-left:auto;padding:12px 28px;border-radius:22px;font-weight:700;font-size:1.13rem;background:linear-gradient(90deg,#467a59 50%,#ff9947 100%);color:#fff;box-shadow:0 2px 8px rgba(70,122,89,.13);white-space:nowrap;border:none;cursor:pointer;transition:background .23s,color .2s,opacity .2s}.cta-menu:hover,.cta-menu:focus{opacity:.95;background:linear-gradient(90deg,#ff9947 10%,#467a59 90%);color:#fff}.cta-menu.cta-menu-mobile{display:none!important}.menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;margin-left:20px;z-index:12}.menu-toggle .bar{width:28px;height:4px;border-radius:2px;background:linear-gradient(90deg,#467a59,#ff9947)}@media (max-width:900px){.header{border-radius:0 0 32px 32px;height:98px}.container-header{grid-template-columns:1fr auto 1fr;height:98px;padding:0 10px;width:100vw;max-width:100vw}.logo img{height:42px;max-width:110px}.nav-desktop{display:none!important}.cta-menu.cta-menu-mobile{grid-column:2;display:inline-block!important;margin:0 auto;max-width:170px;font-size:1.13em;padding:12px 20px;border-radius:22px;background:linear-gradient(90deg,#467a59 0%,#ea7c2d 100%);color:#fff}.cta-menu:not(.cta-menu-mobile){display:none!important}.menu-toggle{grid-column:3;display:flex}.mobile-menu{display:block;position:fixed;top:0;right:-100vw;width:85vw;max-width:330px;background:#ffe5c0;box-shadow:-18px 0 28px 4px #ffdeae88,-8px 0 22px rgba(255,153,71,.11);z-index:1003;transition:right .5s cubic-bezier(.56,1.68,.48,.74);border-radius:24px 0 0 24px;max-height:100vh;overflow-y:auto}.mobile-menu.open{right:0}.mobile-logo img{height:38px;margin-bottom:16px}.mobile-menu-content{display:flex;flex-direction:column;align-items:stretch;padding:32px 24px 40px 24px;gap:10px}.mobile-logo{text-align:left;margin-bottom:20px}.cta-menu-burger{display:block;margin:0 0 24px 0;width:100%;background:linear-gradient(90deg,#467a59 0%,#ff9947 100%);color:#fff;font-weight:700;border-radius:20px;font-size:1.11em;padding:14px 0;box-shadow:0 2px 8px #467a5922;text-align:center}.cta-menu-burger:hover{background:linear-gradient(90deg,#ff9947 10%,#467a59 90%);color:#fff}.mobile-menu ul li a{font-size:1.22rem;color:#467a59;font-weight:600;border-bottom:2px solid transparent;padding:6px 0;border-radius:6px;transition:color .2s,border-bottom .2s;text-align:left}.mobile-menu ul li a:hover{color:#ff9947;border-bottom:2px solid #ff9947;background:#f5ebdd}}.menu-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(44,44,44,.13);z-index:1999}.menu-overlay.show{display:block}body.no-scroll{overflow:hidden}@media (min-width:901px){.nav-desktop{display:flex!important}.cta-menu{display:inline-flex!important}.menu-toggle,.mobile-menu{display:none!important}}@media (max-width:900px){.nav-desktop{display:none!important}.cta-menu:not(.cta-menu-mobile){display:none!important}.cta-menu.cta-menu-mobile{display:inline-block!important}.menu-toggle{display:flex!important}.mobile-menu{display:block!important}}.footer{width:100vw;margin-left:calc(50% - 50vw);background:#f4c799;border-radius:48px 48px 0 0;box-shadow:0 -4px 32px #0001;padding:18px 0 12px 0;display:flex;align-items:center;justify-content:center;position:relative;bottom:0;left:0;right:0;z-index:99;font-size:1.07em}.footer-content{width:100%;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-logo img{height:40px}.footer-links{display:flex;gap:30px}.footer-links a{color:#467a59;font-weight:700;text-decoration:none;transition:color .2s;font-family:'Montserrat',Arial,sans-serif}.footer-links a:hover{color:#ea7c2d}.footer-copy{color:#7a5a34;font-size:1rem;margin-left:20px;white-space:nowrap}@media (max-width:900px){.footer-content{flex-direction:column;gap:10px;align-items:center;text-align:center}.footer-links{flex-direction:column;gap:10px;margin:10px 0}.footer-copy{margin-left:0;font-size:.92rem}.footer{border-radius:32px 32px 0 0}}.nav-dropdown{position:relative}.nav-dropbtn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}.nav-dropdown-panel{position:absolute;left:0;top:100%;padding-top:.5rem;pointer-events:none;transform:translateY(6px);opacity:0;transition:all .16s ease;z-index:1205;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.08);padding:.5rem 0}.nav-dropdown-panel>*{pointer-events:auto}.nav-dropdown:hover .nav-dropdown-panel,.nav-dropdown:focus-within .nav-dropdown-panel{pointer-events:auto;transform:translateY(0);opacity:1}.nav-dropdown-panel a{display:block;min-width:14rem;padding:.7rem 1rem;color:#111827;text-decoration:none}.nav-dropdown-panel a:hover{background:#fff7ed;color:#ea580c}

/* Fix alignement du bouton "À découvrir" */
.nav-desktop .nav-dropdown .nav-dropbtn {
  height: 62px;               /* même hauteur que les autres liens */
  display: flex;
  align-items: center;
  padding: 0 6px;
}

/* Pulse animation douce */
@keyframes pulseOrange {
  0% { color: #467a59; }
  50% { color: #ea7c2d; }
  100% { color: #467a59; }
}

.nav-desktop .nav-dropdown .nav-dropbtn {
  animation: pulseOrange 2.8s ease-in-out infinite;
}
/* Uniformiser le style du bouton "À découvrir" */
.nav-desktop .nav-dropdown .nav-dropbtn {
  height: 62px;                /* même hauteur que les autres */
  display: flex;
  align-items: center;
  padding: 0 4px;
  font-family: 'Segoe UI', 'Montserrat', Arial, sans-serif;
  font-size: 1.15rem;          /* identique aux autres liens */
  font-weight: 600;
  color: #467a59;
  background: none;
  border: none;
  cursor: pointer;
  transition: color .22s;
}

/* Animation pulse douce */
@keyframes pulseOrange {
  0%   { color: #467a59; }
  50%  { color: #ea7c2d; }
  100% { color: #467a59; }
}

.nav-desktop .nav-dropdown .nav-dropbtn {
  animation: pulseOrange 2.8s ease-in-out infinite;
}

.nav-desktop .nav-dropdown .nav-dropbtn:hover {
  color: #ea7c2d;
}

/* Style renforcé pour "À découvrir" */
.nav-desktop .nav-dropdown .nav-dropbtn {
  height: 62px;
  display: flex;
  align-items: center;
  padding: 0 6px;
  font-family: 'Segoe UI', 'Montserrat', Arial, sans-serif;
  font-size: 1.25rem;     /* un cran plus grand */
  font-weight: 700;       /* plus bold */
  color: #467a59;
  background: none;
  border: none;
  cursor: pointer;
  transition: color .22s;
}

/* Pulse accentué */
@keyframes pulseOrange {
  0%   { color: #467a59; }
  50%  { color: #ea7c2d; }
  100% { color: #467a59; }
}

.nav-desktop .nav-dropdown .nav-dropbtn {
  animation: pulseOrange 2.8s ease-in-out infinite;
}

.nav-desktop .nav-dropdown .nav-dropbtn:hover {
  color: #ea7c2d;
}
/* Sous-menu mobile */
.mobile-sub { border-top: 1px solid #00000010; }
.mobile-sub-toggle{
  width:100%; text-align:left; background:#fff; border:1px solid #00000010;
  padding:.75rem 1rem; border-radius:12px; font-weight:700; color:#467a59;
  display:flex; align-items:center; justify-content:space-between;
}
.mobile-sub-toggle .chev{ transition: transform .2s ease; }
.mobile-sub.open .mobile-sub-toggle .chev{ transform: rotate(180deg); }

.mobile-sub-list{
  max-height:0; overflow:hidden; transition:max-height .25s ease;
  margin:.25rem 0 0 0; padding:0 0 0 .25rem;
}
.mobile-sub.open .mobile-sub-list{ max-height:400px; }

.mobile-sub-list a{
  display:block; padding:.6rem 0 .6rem .6rem; border-radius:8px;
}
.mobile-sub-list a:hover{ background:#f5ebdd; }

/* Bouton burger (mobile) — conserve ton style précédent si tu veux */
.menu-toggle { display:none; cursor:pointer; grid-column:3; z-index:3001; }
.menu-toggle .bar { width:28px; height:4px; border-radius:2px; background:linear-gradient(90deg,#467a59,#ff9947); display:block; margin:4px 0; }

/* Drawer mobile CSS-only */
.drawer {
  position: fixed; top: 0; right: 0;
  width: 85vw; max-width: 340px; height: 100dvh;
  background: #ffe5c0; box-shadow: -18px 0 28px 4px #ffdeae88, -8px 0 22px rgba(255,153,71,0.11);
  border-radius: 24px 0 0 24px; transform: translateX(100%);
  transition: transform .45s cubic-bezier(.56,1.68,.48,.74);
  z-index: 3000; overflow-y: auto;
}
.nav-toggle:checked ~ .drawer { transform: translateX(0); }

.menu-overlay {
  position: fixed; inset: 0; background: rgba(44,44,44,.13);
  opacity: 0; pointer-events: none; z-index: 2999; transition: opacity .25s ease;
}
.nav-toggle:checked ~ .menu-overlay { opacity: 1; pointer-events: auto; }

/* Contenu du tiroir */
.mobile-menu-content { padding: 32px 24px 40px; display:flex; flex-direction:column; gap:10px; }
.mobile-logo img { height: 38px; margin-bottom: 16px; }
.mobile-list { list-style: none; padding: 0; margin: 0; display:flex; flex-direction:column; gap:10px; }
.mobile-list a { font-size: 1.22rem; color: #467a59; font-weight: 600; text-decoration:none; padding: 6px 0; }
.mobile-list a:hover { color: #ff9947; background: #f5ebdd; }
.cta-menu-burger { display:block; margin-bottom: 18px; text-align:center; padding: 14px 0;
  border-radius:20px; font-weight:700; color:#fff; background:linear-gradient(90deg,#467a59 0%,#ff9947 100%); }

/* Sous-menu natif */
.mobile-details-wrap details { background:#fff7ed; border:1px solid #f6d2b2; border-radius:12px; padding:8px 12px; }
.mobile-details-wrap summary { list-style:none; cursor:pointer; font-weight:700; color:#467a59; }
.mobile-details-wrap summary::-webkit-details-marker { display:none; }
.mobile-details-wrap details[open] summary { color:#ea7c2d; }
.mobile-details-wrap ul { list-style:none; margin:8px 0 0; padding:0 4px 4px 0; display:flex; flex-direction:column; gap:6px; }
.mobile-details-wrap li a { font-size:1.1rem; }

/* Afficher la version mobile uniquement sous 900px */
@media (max-width:900px){
  .nav-desktop { display:none !important; }
  .cta-menu:not(.cta-menu-mobile) { display:none !important; }
  .menu-toggle { display:flex; }
}
@media (min-width:901px){
  .menu-toggle, .drawer, .menu-overlay { display:none; }
}
/* ==== FIX DESKTOP DROPDOWN ==== */
.nav-dropdown { position: relative; }
.nav-dropbtn{
  display: inline-flex; align-items: center; gap: .35rem;
  background: transparent; border: 0; padding: 0; cursor: pointer;
  font: inherit; color: inherit; line-height: 1;
}
.nav-dropdown-panel{
  position: absolute; left: 0; top: calc(100% + 10px);
  display: none;
  background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  padding: .5rem 0; min-width: 14rem; z-index: 3000;
}
.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown.is-open .nav-dropdown-panel { display: block; }
.nav-dropdown-panel a{ display:block; padding:.65rem 1rem; color:#111827; white-space:nowrap; }
.nav-dropdown-panel a:hover{ background:#fff7ed; color:#ea580c; }

/* ==== MOBILE DRAWER (fiable iOS/Android) ==== */
.mobile-menu{
  position: fixed; top: 0; right: -100vw;
  width: 85vw; max-width: 340px; height: 100vh;
  background: #ffe5c0; border-radius: 24px 0 0 24px;
  transition: right .35s cubic-bezier(.56,1.68,.48,.74);
  overflow-y: auto; z-index: 2000;
}
.mobile-menu.open{ right: 0; }
.menu-overlay{
  position: fixed; inset: 0; background: rgba(0,0,0,.25);
  display: none; z-index: 1500;
}
.menu-overlay.show{ display: block; }
body.no-scroll{ overflow: hidden; }

/* Sous-menu mobile avec <details> */
.mobile-group details { margin: .25rem 0; }
.mobile-group summary{
  list-style: none; cursor: pointer; padding: .6rem 0;
  font-weight: 700; color: #467a59;
}
.mobile-group summary::-webkit-details-marker{ display: none; }
.mobile-group details[open] summary{ color: #ea7c2d; }
.mobile-group details ul{ margin: 0; padding-left: 0; }
.mobile-group details li{ margin: 0; }
.mobile-group details a{ display:block; padding:.4rem 0; }

/* Sécurité: desktop masque bien le mobile */
@media (min-width: 901px){
  .mobile-menu, .menu-overlay { display: none !important; }
}
/* ----- Drawer mobile : 100% caché quand fermé, plus de bande visible ----- */
.mobile-menu{
  position: fixed;
  top: 0; right: 0;              /* on ancre à droite */
  width: 85vw; max-width: 340px;
  height: 100vh;
  background: #ffe5c0;
  border-radius: 24px 0 0 24px;
  overflow-y: auto;
  z-index: 2000;

  /* OFF-CANVAS propre */
  transform: translateX(110%);   /* >100% pour être sûr de sortir l’ombre */
  transition: transform .35s cubic-bezier(.56,1.68,.48,.74);
  will-change: transform;
  backface-visibility: hidden;

  /* pas de clics quand fermé */
  pointer-events: none;
  visibility: hidden;
}

/* Ouvert : visible et cliquable */
.mobile-menu.open{
  transform: translateX(0);
  pointer-events: auto;
  visibility: visible;
}

/* Overlay inchangé mais on s’assure de l’état */
.menu-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.25);
  display: none;
  z-index: 1500;
}
.menu-overlay.show{ display: block; }

/* Sécurité desktop */
@media (min-width: 901px){
  .mobile-menu, .menu-overlay { display: none !important; }
}
/* =========================
   HEADER — Finitions mobile
   ========================= */
@media (max-width: 900px){

  /* Bandeau : grille 1 / auto (btn) / 1  → bouton centré */
  .container-header{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    height: 98px; /* comme chez toi */
    padding: 0 12px;
  }

  /* Logo aligné à gauche, rien à faire, il est en col 1 */

  /* Bouton "Prendre RDV" centré dans la colonne 2 */
  .cta-menu.cta-menu-mobile{
    grid-column: 2;
    justify-self: center;
    margin: 0;                 /* supprime tout décalage */
    transform: translateZ(0);  /* évite le flou pendant le scroll */
  }

  /* Burger dans la colonne 3, à droite */
  .menu-toggle{
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    flex-direction: column;
    gap: 6px;                 /* espacement entre les traits */
    padding: 8px 10px;        /* zone tactile */
    border-radius: 12px;
    background: transparent;  /* fond neutre */
    transition: background .2s ease;
  }
  .menu-toggle:active{ background: #00000008; }

  /* Traits "premium" : arrondis, épais, léger relief, dégradé Flowya */
  .menu-toggle .bar{
    width: 28px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #467a59 0%, #ff9947 100%);
    box-shadow: 0 1px 2px rgba(0,0,0,.12);
    transition: transform .28s ease, opacity .2s ease, background .25s ease;
  }

  /* Animation en X quand le menu est ouvert (on lit aria-expanded du bouton) */
  #menuToggle[aria-expanded="true"] .bar:nth-child(1){
    transform: translateY(10px) rotate(45deg);
  }
  #menuToggle[aria-expanded="true"] .bar:nth-child(2){
    opacity: 0;
  }
  #menuToggle[aria-expanded="true"] .bar:nth-child(3){
    transform: translateY(-10px) rotate(-45deg);
  }
}

/* (Rappel drawer propre – au cas où il n’est pas encore en place) */
.mobile-menu{
  position: fixed; top:0; right:0; width:85vw; max-width:340px; height:100vh;
  background:#ffe5c0; border-radius:24px 0 0 24px; overflow-y:auto; z-index:2000;
  transform: translateX(110%); transition: transform .35s cubic-bezier(.56,1.68,.48,.74);
  will-change: transform; backface-visibility: hidden; pointer-events:none; visibility:hidden;
}
.mobile-menu.open{ transform:translateX(0); pointer-events:auto; visibility:visible; }

.menu-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.25); display:none; z-index:1500; }
.menu-overlay.show{ display:block; }
/* Mobile : décale légèrement le bouton vers la droite */
@media (max-width: 900px){
  .cta-menu.cta-menu-mobile{
    /* il était centré — on le pousse discrètement à droite */
    transform: translateX(12px); /* ajuste 6–14px si tu veux */
  }
}
/* Uniformise la nav desktop sur TOUTES les pages (spécificité + !) */
.header .nav-desktop ul,
.nav-desktop ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.header .nav-desktop li,
.nav-desktop li{
  list-style: none !important;
  margin: 0 !important;
}
.header .nav-desktop a,
.nav-desktop a{
  text-decoration: none !important;
}

/* Dropdown : reste ouvert (hover OU clic via .is-open) + au-dessus de tout */
.nav-dropdown{ position: relative; }
.nav-dropdown-panel{
  position: absolute; left: 0; top: 100%;
  margin-top: .5rem;               /* pas de “trou” entre bouton et panel */
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  padding: .5rem 0;
  min-width: 14rem;
  z-index: 9999;                    /* si recouvert par le contenu */
  opacity: 0; transform: translateY(6px);
  pointer-events: none;
  transition: all .16s ease;
}
.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown.is-open .nav-dropdown-panel{
  opacity: 1; transform: translateY(0);
  pointer-events: auto;
}

.nav-dropdown-panel a{
  display:block; padding:.6rem 1rem; color:#111827;
}
.nav-dropdown-panel a:hover{
  background:#fff7ed; color:#ea580c;
}
/* === Bouton RDV – style premium global === */
a.btn-rdv,
a[href*="booking.flowya.fr"],
a.cta-menu-burger--rdv {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border-radius: 22px;
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1;
  background: linear-gradient(90deg, #467a59 0%, #ff9947 100%);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(70,122,89,.18);
  transition: transform .06s ease, box-shadow .2s ease, filter .2s ease;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

a.btn-rdv:hover,
a[href*="booking.flowya.fr"]:hover,
a.cta-menu-burger--rdv:hover {
  filter: brightness(1.03);
  box-shadow: 0 10px 24px rgba(70,122,89,.22);
}

a.btn-rdv:active,
a[href*="booking.flowya.fr"]:active,
a.cta-menu-burger--rdv:active {
  transform: translateY(1px);
}

/* Option: centrage harmonieux sur mobile */
@media (max-width: 900px){
  a[href*="booking.flowya.fr"],
  a.btn-rdv {
    margin: 0 auto;
  }
}
/* Police Montserrat pour toute la navigation */
.header nav ul li a,
.header .nav-dropbtn,
.header .cta-menu,
.header .cta-menu-burger,
.header .cta-menu-burger--rdv {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600; /* tu peux adapter (400, 700, 900) */
  letter-spacing: 0.2px;
}
/* Lien Synthem propre */
.link-synthem,
a[href*="synthem.fr"]{
  color:#D97E3D;
  text-decoration:none;
  font-weight:500;
  border-bottom:1px dotted rgba(217,126,61,.35);
}
.link-synthem:hover,
a[href*="synthem.fr"]:hover{
  text-decoration:none;
  border-bottom-color:rgba(217,126,61,.6);
  opacity:.96;
}

/* --- Logo FlowYa header : taille harmonisée --- */
.header .logo img {
  height: 40px;
  width: auto;
  display: block;
}

/* Hotfix mobile top links (home visual completeness) */
.mobile-top-links{display:none}
@media (max-width: 900px){
  .mobile-top-links{
    display:flex;
    gap:8px;
    padding:8px 16px 10px;
    border-top:1px solid #f1e4d8;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    background:#fffbf5;
  }
  .mobile-top-links a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    height:30px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid #fed7aa;
    background:#fff3e8;
    color:#467a59;
    font-weight:700;
    font-size:13px;
    text-decoration:none;
  }
}
