/* CynoFlo 0.6.5 | Ajustements ciblés après captures + vidéo 14/11/2026
   Couches précédentes intactes. Aucune règle ne modifie la base Gutenberg.
   Palette officielle héritée de patch-v062.css. Mobile first, pas de JavaScript.
*/
:root {
  --cf-v065-tilt: 1.65deg;
  --cf-v065-photo-x: 12px;
  --cf-v065-photo-y: -42px;
  --cf-v065-shadow: 9px 17px 23px rgba(58,30,63,.16);
}

/* 1. Header : lisibilité et CTA réel, en dehors du panneau mobile */
.cyno-header { position:relative; z-index:30; background:var(--cf-beige); }
.cyno-header-inner { max-width:1280px !important; min-width:0; }
.cyno-header .cyno-header-cta .wp-block-button__link {
  background:var(--cf-turquoise) !important; color:white !important;
  border:2px solid var(--cf-turquoise) !important;
  min-height:46px; padding:.72rem 1.4rem !important;
  font-size:clamp(.88rem,1vw,.98rem); font-weight:700;
  border-radius:999px; letter-spacing:.005em;
  transition:background-color .18s ease,box-shadow .18s ease,translate .18s ease;
}
.cyno-header .cyno-header-cta .wp-block-button__link:hover {
  background:var(--cf-violet-fonce) !important; border-color:var(--cf-violet-fonce) !important;
  box-shadow:0 6px 20px rgba(58,30,63,.16); translate:0 -1px;
}
.cyno-header a:focus-visible,.cyno-header button:focus-visible {
  outline:3px solid var(--cf-turquoise) !important; outline-offset:3px;
}

/* Le bouton de fermeture est reserve au panneau effectivement ouvert. */
.cyno-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close {
  display:none !important;
}
/* 2. Burger : vrai bouton, libellé visible et patte discrète */
.cyno-header .wp-block-navigation__responsive-container-open {
  display:none; position:relative;
  width:auto; min-width:99px; height:48px; min-height:48px;
  box-sizing:border-box; border-radius:999px; border:1px solid rgba(58,30,63,.19);
  background:var(--cf-coquille); color:var(--cf-prune);
  padding:.5rem 1rem .5rem .7rem;
  align-items:center; justify-content:center; gap:.5rem;
  box-shadow:0 3px 9px rgba(58,30,63,.07);
  transition:background .2s ease,box-shadow .2s ease,translate .2s ease;
}
.cyno-header .wp-block-navigation__responsive-container-open svg {width:22px;height:22px;flex:none;stroke-width:1.9;}
.cyno-header .wp-block-navigation__responsive-container-open::before {
  content:"Menu"; order:2; position:static;
  display:block; font:700 .91rem Arial,Helvetica,sans-serif;
  letter-spacing:.01em; color:var(--cf-prune);
}
.cyno-header .wp-block-navigation__responsive-container-open::after {
  content:""; order:3; position:static; width:16px;height:16px;flex:none;
  background:url('../svg/patte-menu-v064.svg') center/contain no-repeat;
  transform:rotate(-13deg);opacity:.78; pointer-events:none;
  transition:transform .2s ease;
}
.cyno-header .wp-block-navigation__responsive-container-open:hover {background:#fff;box-shadow:0 5px 13px rgba(58,30,63,.11);translate:0 -1px;}
.cyno-header .wp-block-navigation__responsive-container-open:hover::after{transform:rotate(3deg);}

/* 3. Hero desktop : photo avec chevauchement maîtrisé, pas de rognage horizontal */
.cyno-main:has(.cyno-v06){min-width:0;}
.cyno-main:has(.cyno-v06) > .wp-block-post-content{min-width:0;}
.cyno-v06 { overflow:visible !important; max-width:100% !important; }
.cyno-v06 .cf-hero {
  overflow:visible !important; padding-top:clamp(2.2rem,4.2vw,4.9rem) !important;
  position:relative; isolation:isolate;
}
.cyno-v06 .cf-hero-inner {
  box-sizing:border-box; max-width:1440px!important;
  width:min(1440px,calc(100% - 2.5rem))!important;
  padding:0 clamp(.25rem,1vw,1rem)!important;
  margin-inline:auto!important;
  grid-template-columns:minmax(0,.98fr) minmax(0,1.03fr)!important;
  gap:clamp(1.2rem,3vw,3.5rem)!important;
  align-items:center;
}
.cyno-v06 .cf-hero-copy {min-width:0; max-width:680px;padding:0 0 clamp(2rem,3vw,4rem)!important;}
.cyno-v06 .cf-hero-visual {
  width:100% !important; max-width:830px!important; min-width:0!important;
  box-sizing:border-box; justify-self:end;
  margin:0!important; background:var(--cf-beige);
  border:clamp(13px,1.65vw,25px) solid var(--cf-beige) !important;
  border-radius:18% 9% 22% 12% / 13% 26% 21% 22% !important;
  box-shadow:var(--cf-v065-shadow) !important;
  overflow:hidden!important;
  transform-origin:50% 52%;
  transform:translate3d(var(--cf-v065-photo-x),var(--cf-v065-photo-y),0) rotate(var(--cf-v065-tilt));
  animation:cf-v065-frame-appear 1.05s cubic-bezier(.18,.65,.25,1) both!important;
  will-change:opacity,transform;
}
@keyframes cf-v065-frame-appear {
  0% {opacity:0;transform:translate3d(calc(var(--cf-v065-photo-x) + 15px),calc(var(--cf-v065-photo-y) + 25px),0) rotate(calc(var(--cf-v065-tilt) + 1deg)) scale(.975);}
  100% {opacity:1;transform:translate3d(var(--cf-v065-photo-x),var(--cf-v065-photo-y),0) rotate(var(--cf-v065-tilt)) scale(1);}
}
.cyno-v06 .cf-hero-img {width:100%!important;min-width:0;max-width:100%!important;}
.cyno-v06 .cf-hero-img img {
  width:100%!important;height:clamp(330px,32vw,560px)!important;max-width:100%;
  object-fit:cover;object-position:52% 46%;
  animation:cf-v065-image-arrive 1.4s cubic-bezier(.17,.63,.3,1) both!important;
  transform-origin:52% 47%;
}
@keyframes cf-v065-image-arrive {
  from {transform:scale(1.085);filter:saturate(.93);}
  to {transform:scale(1);filter:saturate(1);}
}
/* Le ruban reste sous les contenus ; les 3 courbes de 0.6.4 ne changent pas. */
.cyno-v06 .cf-hero::after{z-index:1;}
.cyno-v06 .cf-hero-inner{position:relative;z-index:2;}

/* 4. Tablet / mobile : deux rangées pour ne pas entasser logo + CTA + menu. */
@media (max-width:900px) {
  :root{--cf-v065-photo-x:7px;--cf-v065-photo-y:0px;--cf-v065-tilt:1.1deg;}
  .cyno-header-inner {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand nav" "contact contact";
    align-items:center!important;
    gap:.35rem .8rem!important;
    min-height:0!important;
    padding:.55rem clamp(.75rem,3.2vw,1.25rem) .75rem!important;
  }
  .cyno-header-inner>.wp-block-site-logo{grid-area:brand;min-width:0;max-width:176px;}
  .cyno-header-inner>.wp-block-navigation{grid-area:nav;margin:0!important;justify-self:end;}
  .cyno-header-inner>.cyno-header-cta{
    grid-area:contact;display:flex!important;width:100%;
    margin:.1rem 0 0!important;justify-content:stretch!important;
  }
  .cyno-header .cyno-header-cta .wp-block-button{width:100%;}
  .cyno-header .cyno-header-cta .wp-block-button__link{
    display:flex!important;width:100%;box-sizing:border-box;
    min-height:45px;justify-content:center;
    padding:.63rem 1.2rem!important;
  }
  .cyno-header .wp-block-navigation__responsive-container-open{display:flex!important;}
  /* La navigation native est inchangée ; seul son panneau est réorganisé */
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open {
    position:fixed!important;inset:0!important;display:flex!important;
    background:var(--cf-coquille)!important;
    padding:clamp(1rem,4vw,2rem)!important;
    overflow-y:auto;overscroll-behavior:contain;
  }
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    width:min(100%,490px)!important;max-width:490px;
    margin-inline:auto!important;
    padding:clamp(4.25rem,10vh,5.5rem) .25rem 2rem!important;
    box-sizing:border-box;
    animation:cf-v065-menu-arrive .26s ease-out both!important;
  }
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    width:100%!important;max-width:none!important;gap:.7rem!important;
  }
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {width:100%!important;max-width:none!important;align-self:stretch!important;}
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width:100%!important;box-sizing:border-box;
    background:#fff;border:1px solid rgba(58,30,63,.13);border-radius:16px;
    padding:.85rem 1.05rem!important;
    min-height:52px;display:flex;align-items:center;
    font-family:'Playfair Display',Georgia,serif;
    font-size:clamp(1.12rem,3.6vw,1.35rem)!important;
    text-align:left!important;justify-content:flex-start!important;
    box-shadow:0 3px 12px rgba(58,30,63,.045);
    color:var(--cf-prune)!important;
  }
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {background:var(--cf-beige)!important;}
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .cyno-mobile-booking{display:block!important;margin-top:1rem!important;}
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .cyno-mobile-booking .wp-block-navigation-item__content {
    background:var(--cf-turquoise)!important;border-color:var(--cf-turquoise)!important;
    color:#fff!important;border-radius:999px!important;justify-content:center!important;
    padding:.95rem 1.15rem!important;text-align:center!important;
  }
  .cyno-header .wp-block-navigation__responsive-container-close {
    position:fixed!important;top:clamp(1rem,3vw,1.5rem);right:clamp(1rem,4vw,2rem);
    width:48px;height:48px;border-radius:50%;background:white;
    border:1px solid rgba(58,30,63,.15);box-shadow:0 4px 12px rgba(58,30,63,.08);
    color:var(--cf-prune);z-index:5;
  }
  @keyframes cf-v065-menu-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
  .cyno-v06 .cf-hero {padding:clamp(1.75rem,4vw,2.7rem) 0 7.2rem!important;overflow:hidden!important;}
  .cyno-v06 .cf-hero-inner{width:calc(100% - 2rem)!important;grid-template-columns:minmax(0,1fr)!important;gap:1.25rem!important;}
  .cyno-v06 .cf-hero-copy{max-width:100%;padding:0!important;}
  .cyno-v06 .cf-hero-visual {max-width:620px!important;width:calc(100% - 16px)!important;justify-self:center;margin:1rem auto 0!important;}
  .cyno-v06 .cf-hero-img img{height:auto!important;aspect-ratio:1.44!important;object-position:53% 46%;}
}
@media (min-width:701px) and (max-width:900px){
  .cyno-v06 .cf-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
  .cyno-v06 .cf-hero-visual{width:100%!important;}
}
@media (max-width:390px) {
  .cyno-header .wp-block-site-logo img {width:clamp(115px,36vw,145px)!important;}
  .cyno-v06 .cf-title {overflow-wrap:normal;font-size:clamp(2rem,9.7vw,2.65rem)!important;line-height:1.14;}
  .cyno-header .wp-block-navigation__responsive-container-open{min-width:95px;padding-inline:.65rem;}
}
@media (prefers-reduced-motion: reduce) {
  .cyno-v06 .cf-hero-visual,.cyno-v06 .cf-hero-img img,
  .cyno-header .wp-block-navigation__responsive-container-open,
  .cyno-header .wp-block-navigation__responsive-container-open::after,
  .cyno-header .cyno-header-cta .wp-block-button__link,
  .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    animation:none!important;transition:none!important;filter:none!important;
  }
  .cyno-v06 .cf-hero-visual {opacity:1!important;transform:translate3d(var(--cf-v065-photo-x),var(--cf-v065-photo-y),0) rotate(var(--cf-v065-tilt))!important;}
  .cyno-v06 .cf-hero-img img {transform:none!important;}
}
