/* Styles du gabarit : navigation, menu mobile, accordéon, états au survol.
   Généré depuis le projet de design — un seul fichier pour tout le site. */
.nav-wide{display:flex;align-items:center}
.nav-narrow{display:none;align-items:center;gap:10px}
.nav-menu{display:none;border-top:1px solid var(--border-subtle);background:var(--surface-raised);padding:10px 20px 22px;flex-direction:column}
.nav-menu.open{display:flex}
.nav-drop-panel{display:none;position:absolute;top:100%;left:-20px;width:340px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-3);padding:8px;margin-top:-6px;flex-direction:column}
.nav-drop:hover .nav-drop-panel,.nav-drop:focus-within .nav-drop-panel{display:flex}
[style*="aspect-ratio"]{min-width:0;min-height:0}
.theme-toggle{line-height:0}
.theme-toggle svg{display:block}
.theme-toggle .i-sun,.theme-toggle .i-moon{display:flex;align-items:center;justify-content:center}
.theme-toggle .i-moon{display:none}
:root[data-theme="clair"] .theme-toggle .i-sun{display:none}
:root[data-theme="clair"] .theme-toggle .i-moon{display:flex}
.acc-panel{display:none}
.acc-panel.open{display:block}
.site-logo{height:34px;width:auto;display:block;overflow:visible}
.hero-bg-video{display:none}
@media(max-width:920px){.nav-wide{display:none}.nav-narrow{display:flex}.theme-toggle{bottom:74px!important}}
@media(min-width:769px){.hero-video-ready .hero-bg-video{display:block}.hero-video-ready .hero-bg-fallback{display:none}}
@media(max-width:480px){.site-logo{height:22px}}
.nv1:hover{color:var(--text-primary) !important}
.nv2:hover{background:var(--surface-hover) !important}
.nv3:hover{background:var(--surface-hover) !important}
.nv4:hover{background:var(--surface-hover) !important}
.nv5:hover{background:var(--action-primary-bg-hover) !important;box-shadow:var(--shadow-accent) !important}
.nv6:hover{color:var(--text-primary) !important}
.nv7:hover{color:var(--text-primary) !important;border-color:var(--border-strong) !important}
.nv8:hover{color:var(--text-primary) !important}
.ft1:hover{color:var(--hiviz-500) !important}
.ft2:hover{color:var(--hiviz-500) !important}
.ft3:hover{color:var(--hiviz-500) !important}
.ft4:hover{color:var(--hiviz-500) !important}
.ft5:hover{color:var(--hiviz-500) !important}
.ft6:hover{color:var(--hiviz-500) !important}
.ft7:hover{color:var(--hiviz-500) !important}
.ft8:hover{color:var(--hiviz-500) !important}
.ft9:hover{color:var(--hiviz-500) !important}
.ct1:hover{background:var(--action-primary-bg-hover) !important;box-shadow:var(--shadow-accent) !important}
.p1s1:hover{background:var(--alpha-050) !important;border-color:var(--border-strong) !important}
.hf1:hover{background:rgba(255,255,255,0.12) !important;border-color:rgba(255,255,255,0.6) !important}
.p1s2:hover{background:var(--action-primary-bg-hover) !important;box-shadow:var(--shadow-accent) !important}
.p1s3:hover{color:var(--hiviz-500) !important;border-bottom-color:var(--hiviz-500) !important}
.p1s4:hover{color:var(--hiviz-500) !important;border-bottom-color:var(--hiviz-500) !important}
.p1s5:hover{color:var(--hiviz-500) !important;border-bottom-color:var(--hiviz-500) !important}
.p1s6:hover{background:var(--alpha-050) !important;border-color:var(--border-strong) !important}
.p1s7:hover{color:var(--hiviz-500) !important;border-bottom-color:var(--hiviz-500) !important}
.p2s1:hover{color:var(--hiviz-500) !important}
.p2s2:hover{background:var(--action-primary-bg-hover) !important;box-shadow:var(--shadow-accent) !important}
.p2s3:hover{background:var(--alpha-050) !important;border-color:var(--border-strong) !important}
.p2s4:hover{border-color:var(--ink) !important}
.p2s5:hover{border-color:var(--ink) !important}
.p3s1:hover{color:var(--hiviz-500) !important}
.p3s2:hover{background:var(--action-primary-bg-hover) !important;box-shadow:var(--shadow-accent) !important}
.p3s3:hover{background:var(--alpha-050) !important;border-color:var(--border-strong) !important}
.p3s4:hover{border-color:var(--ink) !important}
.p3s5:hover{border-color:var(--ink) !important}
.p4s1:hover{color:var(--hiviz-500) !important}
.p4s2:hover{background:var(--action-primary-bg-hover) !important;box-shadow:var(--shadow-accent) !important}
.p4s3:hover{background:var(--alpha-050) !important;border-color:var(--border-strong) !important}
.p4s4:hover{border-color:var(--ink) !important}
.p4s5:hover{border-color:var(--ink) !important}
.p5s1:hover{background:var(--alpha-050) !important;border-color:var(--border-strong) !important}
/* contact.php */
@keyframes dcRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
input::placeholder,textarea::placeholder{color:var(--text-muted)}
.p7s1:focus{border-color:var(--hiviz-500) !important;box-shadow:0 0 0 3px rgba(255,195,0,0.16) !important;outline:none !important}
.p7s2:focus{border-color:var(--hiviz-500) !important;box-shadow:0 0 0 3px rgba(255,195,0,0.16) !important;outline:none !important}
.p7s3:focus{border-color:var(--hiviz-500) !important;box-shadow:0 0 0 3px rgba(255,195,0,0.16) !important;outline:none !important}
.p7s4:focus{border-color:var(--hiviz-500) !important;box-shadow:0 0 0 3px rgba(255,195,0,0.16) !important;outline:none !important}
.p7s5:focus{border-color:var(--hiviz-500) !important;box-shadow:0 0 0 3px rgba(255,195,0,0.16) !important;outline:none !important}
.p7s6:focus{border-color:var(--hiviz-500) !important;box-shadow:0 0 0 3px rgba(255,195,0,0.16) !important;outline:none !important}
.p7s7:hover{background:var(--action-primary-bg-hover) !important}
.p7s8:hover{background:var(--surface-hover) !important;border-color:var(--border-accent) !important}
.p7s9:hover{color:var(--ink) !important;border-color:var(--border-strong) !important}
#devis-submit:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}
.lbj-swal-popup{background:var(--surface-card) !important;color:var(--text-primary) !important;border:1px solid var(--border-subtle) !important;border-radius:var(--radius-card) !important;font-family:var(--font-sans) !important;box-shadow:var(--shadow-3) !important}
.lbj-swal-title{font-family:var(--font-display) !important;font-variation-settings:'wdth' 112;font-weight:800 !important;text-transform:uppercase;letter-spacing:-0.03em;color:var(--text-primary) !important}
.lbj-swal-text{color:var(--text-secondary) !important;font-size:15.5px;line-height:1.6}
.lbj-swal-confirm{height:52px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;background:var(--action-primary-bg);color:var(--action-primary-fg);border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-sans);font-weight:700;font-size:15.5px;letter-spacing:-0.01em;box-shadow:var(--shadow-accent);transition:var(--transition-control)}
.lbj-swal-confirm:hover{background:var(--action-primary-bg-hover)}
.swal2-icon.swal2-success{border-color:var(--ok-500) !important;color:var(--ok-500) !important}
.swal2-icon.swal2-success .swal2-success-ring{border-color:var(--ok-500) !important}
.swal2-icon.swal2-success [class^="swal2-success-line"]{background-color:var(--ok-500) !important}
.swal2-icon.swal2-error{border-color:var(--danger-500) !important;color:var(--danger-500) !important}
.swal2-icon.swal2-error [class^="swal2-x-mark-line"]{background-color:var(--danger-500) !important}
.swal2-backdrop-show{background:var(--scrim) !important}
/* 404.html */
.e404-link:hover{background:var(--surface-hover) !important}
.e404-btn-primary:hover{background:var(--action-primary-bg-hover) !important;box-shadow:var(--shadow-accent) !important}
.e404-btn-secondary:hover{background:var(--alpha-050) !important;border-color:var(--border-strong) !important}