/* Air Spore – consentement aux témoins */
.as-consent{
	--asc-green:#007A3D; --asc-green-dark:#005E2F; --asc-cream:#faf0e6; --asc-ink:#2f3a34;
	font-family:"Open Sans",system-ui,sans-serif; color:var(--asc-ink);
}
.as-consent [hidden]{ display:none !important; }
.as-consent .screen-reader-text, .as-switch .screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.as-consent-banner{
	position:fixed; z-index:99999; left:16px; right:16px; bottom:16px; margin:0 auto; max-width:1100px; box-sizing:border-box;
	background:var(--asc-cream); border:1px solid rgba(0,122,61,.25); border-radius:14px; box-shadow:0 12px 40px rgba(0,40,20,.22);
	padding:22px 26px; display:flex; gap:24px; align-items:center;
}
.as-consent-banner__text{ flex:1 1 auto; min-width:0; }
.as-consent-title{ font-family:"Noto Sans",system-ui,sans-serif !important; font-size:18px !important; font-weight:700 !important; color:var(--asc-green) !important; margin:0 0 6px !important; line-height:1.3 !important; text-align:left !important; }
.as-consent p{ font-size:14px; line-height:1.55; margin:0 0 6px; color:var(--asc-ink); text-align:left; }
.as-consent a{ color:var(--asc-green); font-weight:600; text-decoration:underline; }
.as-consent-gpc{ font-size:13px !important; font-style:italic; }

.as-consent-actions{ display:flex; gap:10px; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }
.as-btn{
	font-family:"Noto Sans",system-ui,sans-serif !important; font-size:15px !important; font-weight:700 !important; line-height:1.2 !important;
	min-width:150px; padding:12px 18px !important; border-radius:8px !important; cursor:pointer; text-transform:none !important; letter-spacing:0 !important;
	border:2px solid var(--asc-green) !important; transition:background .15s, color .15s;
}
/* Les trois choix ont le même poids visuel (Loi 25) : mêmes dimensions, même contraste. */
.as-btn-primary, .as-btn-secondary{ background:var(--asc-green) !important; color:var(--asc-cream) !important; }
.as-btn-primary:hover, .as-btn-secondary:hover, .as-btn-primary:focus-visible, .as-btn-secondary:focus-visible{ background:var(--asc-green-dark) !important; border-color:var(--asc-green-dark) !important; color:var(--asc-cream) !important; }
.as-btn:focus-visible, .as-link:focus-visible, .as-consent-close:focus-visible, .as-switch input:focus-visible + .as-switch__track{ outline:3px solid #f2b705 !important; outline-offset:2px; }
.as-link{ background:none !important; border:0 !important; padding:0 !important; color:inherit !important; font:inherit !important; text-decoration:underline !important; cursor:pointer; }

/* Boîte de préférences */
.as-consent-dialog{ width:min(640px, calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:0; border:0; border-radius:14px; background:var(--asc-cream); color:var(--asc-ink); box-shadow:0 20px 60px rgba(0,40,20,.35); }
.as-consent-dialog::backdrop{ background:rgba(0,30,15,.55); }
.as-consent-dialog__inner{ padding:24px 26px; margin:0; }
.as-consent-dialog__head{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.as-consent-close{ background:none !important; border:0 !important; font-size:30px !important; line-height:1 !important; color:var(--asc-green) !important; cursor:pointer; padding:0 6px !important; }
.as-consent-cat{ display:flex; gap:18px; align-items:center; justify-content:space-between; padding:14px 0; border-top:1px solid rgba(0,122,61,.18); }
.as-consent-cat h3{ font-family:"Noto Sans",system-ui,sans-serif !important; font-size:16px !important; font-weight:700 !important; color:var(--asc-green) !important; margin:0 0 4px !important; text-align:left !important; }
.as-consent-cat p{ margin:0; font-size:13.5px; }
.as-consent-always{ font-size:13px; font-weight:700; color:var(--asc-green); white-space:nowrap; }
.as-consent-policy{ border-top:1px solid rgba(0,122,61,.18); padding-top:12px; margin-bottom:16px !important; }
.as-consent-dialog .as-consent-actions{ justify-content:flex-end; }

.as-switch{ position:relative; display:inline-block; flex:0 0 auto; width:50px; height:28px; cursor:pointer; }
.as-switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; z-index:1; }
.as-switch__track{ position:absolute; inset:0; border-radius:28px; background:#9aa59f; transition:background .15s; }
.as-switch__track::after{ content:""; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; transition:transform .15s; }
.as-switch input:checked + .as-switch__track{ background:var(--asc-green); }
.as-switch input:checked + .as-switch__track::after{ transform:translateX(22px); }

/* Vidéo verrouillée */
.as-video-gate{ position:relative; width:100%; aspect-ratio:16/9; background:var(--as-green, #007A3D); color:#faf0e6; border-radius:10px; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.as-video-placeholder{ max-width:460px; padding:20px; }
.as-video-placeholder svg{ color:#faf0e6; margin-bottom:8px; }
.as-video-placeholder p{ color:#faf0e6 !important; font-size:15px !important; line-height:1.5 !important; margin:0 0 12px !important; text-align:center !important; }
.as-video-placeholder .as-btn{ background:#faf0e6 !important; color:#007A3D !important; border-color:#faf0e6 !important; }
.as-video-placeholder .as-link{ color:#faf0e6 !important; margin-left:10px; font-size:14px !important; }
.elementor-widget-video .as-video-gate{ margin:0; }

/* Formulaire sans consentement */
.as-form-consent{ background:var(--as-cream, #faf0e6); border:1px solid rgba(0,122,61,.3); border-radius:8px; padding:14px 16px; margin:0 0 14px; }
.as-form-consent p{ font-family:"Open Sans",sans-serif !important; font-weight:400 !important; font-size:14px !important; color:#2f3a34 !important; margin:0 0 10px !important; }
.as-form-consent .as-btn{ background:#007A3D !important; color:#faf0e6 !important; border:2px solid #007A3D !important; border-radius:8px !important; width:auto !important; }
form.wpcf7-form [type="submit"][disabled]{ opacity:.5 !important; cursor:not-allowed !important; }

/* Lien du pied de page */
.as-consent-prefs-link{ font-size:inherit !important; }

@media (max-width:820px){
	.as-consent-banner{ flex-direction:column; align-items:stretch; padding:18px; left:10px; right:10px; bottom:10px; gap:14px; max-height:calc(100vh - 20px); overflow:auto; }
	.as-consent-actions{ flex-direction:column; }
	.as-btn{ width:100%; min-width:0; }
	.as-consent-dialog__inner{ padding:18px; }
}
@media (prefers-reduced-motion:reduce){ .as-switch__track, .as-switch__track::after, .as-btn{ transition:none; } }
