/* site.css — compléments au CSS de la mise en page : effets au défilement natifs, menu, formulaire */
:root { --mlid-ads-height: 0px !important; }

/* Effets au défilement (animation-timeline: view()) — valeurs injectées par build.py via variables CSS */
@keyframes site-fade-scroll { from { opacity: 1; } to { opacity: var(--site-fade-to, 0); } }
@keyframes site-grow-scroll { from { transform: scale(var(--site-grow-from, 0.5)); } to { transform: scale(1); } }
@keyframes site-move-scroll { from { transform: translate(var(--site-move-x, 0px), var(--site-move-y, 0px)); } to { transform: translate(0, 0); } }
@media (prefers-reduced-motion: reduce) { #site-scroll-css ~ * [id^="comp-"] { animation: none !important; } }

/* Sans JS : afficher les éléments dont l'animation d'entrée est en pause */
@media (scripting: none) { [id^="comp-"]:not([data-motion-enter="done"]) { animation: none !important; } }

/* Menu : calque "HamburgerOverlay" (visibilité gérée par la classe --isMenuOpen, ajoutée par site.js) */
html.site-menu-locked, html.site-menu-locked body { overflow: hidden; }
[data-hook="hamburger-overlay-root"].site-menu-open { visibility: visible; }

/* Menu horizontal (écrans ≥ 1024 px) — demande client. En dessous, le bouton « Menu » (hamburger) reste seul. */
.site-nav { display: none; }
@media (min-width: 1024px) {
  .site-hamburger { display: none !important; }
  .site-nav { display: block; grid-area: 1 / 1 / 2 / 2; justify-self: end; align-self: center; margin-right: 40px; position: relative; z-index: 3; pointer-events: auto; }
  .site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 36px; }
  .site-nav a { display: inline-block; font: 400 16px/1.2 madefor-text-mediumbold, helveticaneuew01-45ligh, helveticaneuew02-45ligh, helveticaneuew10-45ligh, sans-serif; color: #000; text-decoration: none; padding: 6px 0 4px; border-bottom: 2px solid transparent; white-space: nowrap; transition: color .2s ease, border-color .2s ease; }
  .site-nav a:hover, .site-nav a:focus-visible, .site-nav a[aria-current="page"] { color: rgb(87, 118, 80); border-bottom-color: rgb(87, 118, 80); }
  .site-nav a:focus-visible { outline: 2px solid rgb(87, 118, 80); outline-offset: 4px; }
}
@media (min-width: 1024px) and (max-width: 1365px) { .site-nav ul { gap: 24px; } .site-nav { margin-right: 24px; } }

/* Adresses e-mail : écrites en deux morceaux dans le HTML, assemblées par site.js */
.site-at::before { content: "@"; }

/* Vidéos de fond : opacité gérée par site.js (0 → 1 à la lecture) */
video[data-site-video] { transition: opacity .6s ease; }

/* Formulaire : message de retour */
.site-form-msg { margin-top: 12px; font-size: 15px; line-height: 1.4; }
.site-form-msg:empty { display: none; }
.site-form-msg.is-ok { color: #2f6b2f; }
.site-form-msg.is-error { color: #b3261e; }
form[action$="contact.php"] input[aria-invalid="true"] { outline: 2px solid #b3261e; outline-offset: -2px; }

/* Pages légales / 404 (gabarit de l'ancienne page Cookies) : la grille Wix réservait ~2,8 écrans de hauteur sous les blocs ; inutile ici */
#comp-lzmnwmvb .comp-lzmnwmvb-container { grid-template-rows: auto auto !important; }
.comp-lzmnwn0e a { text-decoration: underline; text-underline-offset: 3px; }

/* Formulaire : mention RGPD sous le bouton ; numéro de téléphone cliquable (même rendu que le texte) */
.site-form-rgpd { margin: 14px 0 0; font-size: 12px; line-height: 1.45; color: #555; max-width: 520px; }
.site-form-rgpd a { color: inherit; text-decoration: underline; }
a.site-tel { color: inherit; text-decoration: inherit; }
