/* Socle commun des pages V3 : regenere depuis les styles de l'export Claude Design (Snazzy Digital Agency).
   Regles globales scopees a body.snc-page / .snc-site pour cohabiter avec n'importe quel theme.
   Les regles mobile sont TOUTES dans @media (max-width:920px) : le decoupage du theme V3 les avait laissees
   hors media query, d'ou une mise en page mobile appliquee sur desktop. */
html{scroll-behavior:smooth}
body.snc-page{margin:0;background:#F7F4F1;color:#1F1F1F;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-family:'Manrope',sans-serif}
.snc-site a{color:#1F1F1F;text-decoration:none;transition:color .35s ease}
.snc-site a:hover{color:#B4A79E}
.snc-site ::selection{background:#D8B7B1;color:#1F1F1F}
/* Keyframes (union des 6 pages : le voile, le marquee, le hero accueil en font partie) */
@keyframes vcVeilUp{0%,52%{transform:translateY(0)}100%{transform:translateY(-101%)}}
@keyframes vcWord{from{opacity:0;transform:translateY(108%)}to{opacity:1;transform:translateY(0)}}
@keyframes vcFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes vcLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes vcSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes vcMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes vcClipIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0% 0)}}
@keyframes vcZoomIn{from{transform:scale(1.14)}to{transform:scale(1)}}
/* Regles simples communes */
[data-burger-hidden]{display:none !important}
[data-burger]{display:none}
[data-slider]::-webkit-scrollbar{display:none}
/* Mobile : regles communes a toutes les pages (chrome, footer, sections) */
@media (max-width:920px){
[data-burger]{display:flex !important}
[data-mq="reserve"]{display:none !important}
[data-mq-hide]{display:none !important}
[data-mq="cols"]{grid-template-columns:minmax(0,1fr) !important}
[data-mq="wordmark"]{font-size:9.4vw !important}
[data-mq="secpad"]{padding-top:72px !important;padding-bottom:72px !important}
[data-mq="h2big"]{font-size:clamp(30px,9.6vw,46px) !important}
[data-mq="ctaBig"]{width:150px !important;height:150px !important}
[data-mq="ctaBig"] svg[viewBox="0 0 180 180"]{width:150px;height:150px}
[data-mq="footRow"]{flex-direction:column !important;align-items:flex-start !important;gap:16px !important}
}

/* Survols - repris des attributs style-hover de la maquette */
.vch1:hover{background:#B4A79E !important;color:#1F1F1F !important}
.vch2:hover{transform:scale(1.07) !important}
.vch3:hover{color:#1F1F1F !important}
[data-menu] .vch3:hover{color:#D8B7B1 !important} /* v4.0.0 : sur le menu brun, survol rosé (pas noir) */
[data-menu] .vch3:hover span{color:#D8B7B1 !important}
.vch4:hover{color:#B4A79E !important;border-bottom:1px solid #B4A79E !important}
.vch5:hover{color:#D8B7B1 !important}
.vch6:hover{background:#D8B7B1 !important;color:#5E3B2B !important}
.vch7:hover{transform:scale(1.06) !important;color:#1F1F1F !important}
.vch8:hover{padding-left:16px !important}
.vch9:hover{color:#D8B7B1 !important;border-bottom:1px solid #D8B7B1 !important}
.vch10:hover{color:#F7F4F1 !important}
.vch11:hover{background:#5E3B2B !important;color:#F7F4F1 !important;border-color:#5E3B2B !important}
.vch12:hover{transform:scale(1.06) !important;color:#D8B7B1 !important}
.vch13:hover{padding-left:18px !important;background:rgba(247,244,241,0.55) !important}

/* Navigation (bureau) : survol = texte encre + soulignement taupe qui glisse de gauche a droite */
.snc-nav-link{position:relative;transition:color .35s ease}
.snc-nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:#B4A79E;transform:scaleX(0);transform-origin:right center;transition:transform .55s cubic-bezier(0.16,1,0.3,1)}
.snc-nav-link:hover{color:#1F1F1F !important}
.snc-nav-link:hover::after{transform:scaleX(1);transform-origin:left center}
.snc-nav-link.is-current::after{display:none}

/* Barre d'administration WordPress : WP decale html de 32px (46px mobile) mais pas les elements fixes.
   On descend l'en-tete, la barre de progression, le menu plein ecran et le voile d'autant. */
body.admin-bar [data-ref="navRef"],body.admin-bar [data-ref="progressRef"],body.admin-bar [data-ref="menuRef"],body.admin-bar [data-intro-veil]{top:32px !important}
@media screen and (max-width:782px){body.admin-bar [data-ref="navRef"],body.admin-bar [data-ref="progressRef"],body.admin-bar [data-ref="menuRef"],body.admin-bar [data-intro-veil]{top:46px !important}}

/* Accessibilite & confort */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.snc-skip:focus{position:fixed!important;top:12px;left:12px;width:auto;height:auto;clip:auto;z-index:10000;background:#5E3B2B;color:#F7F4F1;padding:12px 18px;font:600 11px/1 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase}
.snc-site a:focus-visible,.snc-site button:focus-visible{outline:2px solid #D8B7B1;outline-offset:3px}
.snc-site img{max-width:100%}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Plugin : neutralise les marges que le theme hote ou Elementor pourrait ajouter autour du contenu */
.snc-site{position:relative;width:100%;max-width:none;margin:0;padding:0}
body.snc-page .elementor-widget-shortcode,body.snc-page .elementor-widget-container{margin:0;padding:0}
body.snc-page.snc-theme{padding:0}
