/* CynoFlo 0.6.4 : patch additif ; charte exacte conservee dans patch-v062.css
 * Portee : accueil .cyno-v06, header .cyno-header. Aucune modification des textes.
 * Vagues : 3 bandes de largeur VARIABLE, rapprochement, convergence, separation.
 * Mobile first ; navigation Gutenberg native ; aucun JavaScript externe.
 */
:root { --cf-v064-hero-rotation: 1.9deg; --cf-v064-wave-height: clamp(94px, 10.5vw, 174px); }
/* Formes ondulantes : la courbure est produite par les SVG, sans masquer les sections */
.cyno-v06 .cf-hero {position:relative; isolation:isolate; overflow:hidden; padding-bottom:clamp(6.3rem, 10vw, 10.5rem) !important;}
.cyno-v06 .cf-hero::after {
  content:""; display:block; position:absolute; inset:auto 0 -1px; width:100%;
  height:var(--cf-v064-wave-height); z-index:1; opacity:1;
  transform:none !important; pointer-events:none;
  background: url('../svg/vagues-hero-v064.svg') bottom center / 100% 100% no-repeat !important;
}
.cyno-v06 .cf-reviews {position:relative; isolation:isolate; overflow:hidden; padding-bottom:clamp(8.5rem,13vw,13rem) !important;}
.cyno-v06 .cf-reviews::after {
  content:""; display:block; position:absolute; inset:auto 0 -1px; width:100%;
  height:var(--cf-v064-wave-height); z-index:0; opacity:1;
  transform:none !important; pointer-events:none;
  background:url('../svg/vagues-avis-v064.svg') bottom center / 100% 100% no-repeat !important;
}
.cyno-v06 .cf-reviews > .cf-container {position:relative;z-index:1;}
.cyno-v06 .cf-bottom-cta {position:relative;z-index:2;}
/* Photo : cadre excentre et fond beige, sans decalage tardif pendant le zoom. */
.cyno-v06 .cf-hero-visual {
  margin: 1rem 0 .7rem auto !important;
  position:relative; z-index:3; isolation:isolate; overflow:hidden;
  background:var(--cf-beige);
  border: clamp(12px, 1.9vw, 28px) solid var(--cf-beige);
  border-radius: 17% 10% 23% 13% / 12% 25% 20% 21%;
  box-shadow: 7px 14px 19px rgba(58,30,63,.15);
  transform: rotate(var(--cf-v064-hero-rotation));
  transform-origin:50% 50%;
  animation:cf-v064-photo-frame .95s cubic-bezier(.2,.7,.25,1) both !important;
}
@keyframes cf-v064-photo-frame {
  from {opacity:0; transform: translate3d(0,15px,0) rotate(var(--cf-v064-hero-rotation));}
  to {opacity:1; transform: translate3d(0,0,0) rotate(var(--cf-v064-hero-rotation));}
}
.cyno-v06 .cf-hero-img {width:100%; margin:0 !important; max-width:none !important;overflow:hidden;border-radius:inherit;}
.cyno-v06 .cf-hero-img img {
  display:block;width:100% !important;height:clamp(300px,31vw,565px) !important;
  object-fit:cover; object-position:51% 48%;border-radius:0 !important;
  transform:translateZ(0) scale(1); transform-origin:53% 45%;
  animation:cf-v064-photo-zoom 1.5s cubic-bezier(.17,.67,.34,1) both !important;
}
@keyframes cf-v064-photo-zoom {
  from { transform:translateZ(0) scale(1.065); filter:saturate(.93); }
  to { transform:translateZ(0) scale(1); filter:saturate(1); }
}
/* Emploi des couleurs officielles, sans nouveau degade violet, et contraste lisible */
.cyno-v06 .cf-hero {background-color:var(--cf-beige-rose);}
.cyno-v06 .cf-reviews {background-color:var(--cf-coquille);}
.cyno-v06 .cf-booking {background-color:var(--cf-beige);}
/* Mini-photos : la bordure organique des images globales ne doit pas s'appliquer ici */
.cyno-v06 .cf-review-card .cf-review-avatar,
.cyno-v06 .cf-review-card figure.wp-block-image.cf-review-avatar {width:76px!important;height:76px!important;max-width:76px!important;max-height:76px!important;aspect-ratio:1;overflow:hidden!important;clip-path:circle(50%);border-radius:50%!important;margin-inline:auto!important;}
.cyno-v06 .cf-review-card .cf-review-avatar img {width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;aspect-ratio:1!important;object-fit:cover!important;border-radius:50%!important;box-shadow:none!important;}
/* Pattes discretes ; seulement dans le menu principal, sans nuire aux textes */
.cyno-header .wp-block-navigation__responsive-container-open,
.cyno-header .wp-block-navigation__responsive-container-close {
  cursor:pointer;position:relative; width:50px; min-width:50px; height:50px;min-height:50px;
  border:1px solid rgba(58,30,63,.18); border-radius:14px;
  background:var(--cf-coquille);color:var(--cf-prune);transition:background-color .2s ease, transform .2s ease;
}
.cyno-header .wp-block-navigation__responsive-container-open::after {
  content:"";position:absolute;right:3px;bottom:3px;width:18px;height:18px;
  background:url('../svg/patte-menu-v064.svg') center / contain no-repeat;pointer-events:none;
  opacity:.9; transform:rotate(-12deg);transition:transform .2s ease;
}
.cyno-header .wp-block-navigation__responsive-container-open:hover::after {transform:rotate(0deg) scale(1.06);}
.cyno-header .wp-block-navigation__responsive-container-open:hover {background:var(--cf-beige);}
.cyno-header .wp-block-navigation__responsive-container.is-menu-open {
  background:var(--cf-coquille); color:var(--cf-prune);padding:clamp(1.25rem,6vw,2.25rem);
  overflow-y:auto;overscroll-behavior:contain;
}
.cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {gap:1.1rem;align-items:stretch;}
.cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family:var(--cf-police-titres);font-size:clamp(1.14rem,3.4vw,1.55rem);
  display:flex;align-items:center;gap:.72rem;padding:.65rem 0;line-height:1.4;white-space:normal;
}
.cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::before {
  content:"";width:17px;height:17px;flex:none;
  background:url('../svg/patte-menu-v064.svg') center/contain no-repeat;opacity:.38;
}
.cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {gap:.3rem!important;}
.cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {animation:cf-v064-menu-in .24s ease-out both;}
@keyframes cf-v064-menu-in {from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.cyno-header .cyno-mobile-booking {display:none!important;}
.cyno-header .wp-block-navigation a:focus-visible, .cyno-header button:focus-visible {outline:3px solid var(--cf-turquoise);outline-offset:3px;}
/* Native Gutenberg burger on smartphones and small tablets */
@media (max-width:900px){
 .cyno-header-inner {min-height:80px!important;justify-content:space-between!important;gap:.45rem!important;}
 .cyno-header .wp-block-navigation {margin-left:auto!important;}
 .cyno-header .wp-block-navigation__responsive-container:not(.is-menu-open) {display:none!important;}
 .cyno-header .wp-block-navigation__responsive-container-open {display:flex!important;align-items:center;justify-content:center;}
 .cyno-header .cyno-header-cta {display:none!important;}
 .cyno-header .wp-block-navigation__responsive-container.is-menu-open {display:flex!important;}
 .cyno-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {width:100%;}
 .cyno-header .wp-block-navigation__responsive-container.is-menu-open .cyno-mobile-booking {display:flex!important;margin-top:.7rem;}
 .cyno-header .wp-block-navigation__responsive-container.is-menu-open .cyno-mobile-booking .wp-block-navigation-item__content {background:var(--cf-turquoise);color:#fff!important;padding:.75rem 1rem;border-radius:999px;}
 .cyno-header .wp-block-navigation__responsive-container.is-menu-open .cyno-mobile-booking .wp-block-navigation-item__content::before {filter:brightness(0) invert(1);opacity:.9;}
}
@media (min-width:901px){
 .cyno-header .wp-block-navigation__responsive-container-open {display:none!important;}
 .cyno-header .wp-block-navigation__responsive-container {display:block!important;position:static!important;}
}
/* Mobile-first adjustments */
@media (max-width:700px){
 :root{--cf-v064-hero-rotation:.95deg;--cf-v064-wave-height:clamp(94px,20vw,124px);}
 .cyno-v06 .cf-hero {padding-bottom:7.4rem!important;}
 .cyno-v06 .cf-hero-inner {grid-template-columns:minmax(0,1fr)!important;gap:1.6rem!important;}
 .cyno-v06 .cf-hero-visual {width:min(96%,600px);margin:0 auto 1rem!important;border-width:12px;}
 .cyno-v06 .cf-hero-img img {height:auto!important;aspect-ratio:1.42!important;object-position:54% 50%;}
 .cyno-v06 .cf-reviews {padding-bottom:8rem!important;}
 .cyno-v06 .cf-review-grid {grid-template-columns:minmax(0,1fr)!important;}
 .cyno-header .wp-block-site-logo img {width:clamp(105px,34vw,150px)!important;}
}
@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 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {animation:none!important;transition:none!important;}
 .cyno-v06 .cf-hero-visual {opacity:1;transform:rotate(var(--cf-v064-hero-rotation));}
 .cyno-v06 .cf-hero-img img {transform:none!important;filter:none!important;}
}
/* Micro-mouvement doux des 3 rubans : peint sur un pseudo-element, sans modifier les contenus */
.cyno-v06 .cf-hero::after,.cyno-v06 .cf-reviews::after {
  left:-2%; width:104%; transform-origin:center bottom;
  animation:cf-v064-wave-breathe 11s ease-in-out infinite alternate;
}
@keyframes cf-v064-wave-breathe {
  from {transform:translateX(-.4%) scaleY(1);}
  to {transform:translateX(.4%) scaleY(1.018);}
}
@media (prefers-reduced-motion:reduce){
 .cyno-v06 .cf-hero::after,.cyno-v06 .cf-reviews::after {animation:none!important;transform:none!important;}
}
