/* Quiz anniversaire ACOBAL — styles de la fenêtre intégrée. */
.acobal-quiz-dialog{width:min(720px,calc(100% - 32px));max-width:720px;padding:0;border:0;border-radius:24px;background:transparent;color:#fff;overflow:visible}
.acobal-quiz-dialog::backdrop{background:rgba(2,10,16,.82);backdrop-filter:blur(7px)}
.acobal-quiz{--quiz-bg:#0a1d2b;--quiz-line:rgba(255,255,255,.14);--quiz-muted:#b9c9d2;--quiz-yellow:#ffd200;position:relative;max-height:min(860px,calc(100vh - 32px));overflow-x:hidden;overflow-y:auto;scrollbar-width:none;padding:clamp(24px,5vw,46px);border:1px solid rgba(255,255,255,.16);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(255,210,0,.13),transparent 32%),var(--quiz-bg);box-shadow:0 30px 100px rgba(0,0,0,.45)}
.acobal-quiz-close{position:absolute;top:15px;right:16px;width:38px;height:38px;border:1px solid var(--quiz-line);border-radius:50%;background:transparent;color:#fff;cursor:pointer;font-size:1.35rem;line-height:1}
.acobal-quiz-close:hover,.acobal-quiz-close:focus-visible{border-color:var(--quiz-yellow);color:var(--quiz-yellow)}
.acobal-quiz-eyebrow{margin-bottom:10px;color:var(--quiz-yellow);font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.acobal-quiz h2,.acobal-quiz h3{margin:0 0 14px;color:#fff;line-height:1.08}
.acobal-quiz h2{max-width:580px;font-size:clamp(2rem,5vw,3.45rem);letter-spacing:-.045em;text-transform:uppercase}
.acobal-quiz p{margin:0 0 22px;color:var(--quiz-muted)}
.acobal-quiz .quiz-btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px solid transparent;border-radius:10px;background:var(--quiz-yellow);color:#121a20;cursor:pointer;font:inherit;font-weight:900;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.acobal-quiz .quiz-btn:hover,.acobal-quiz .quiz-btn:focus-visible{background:#ffe156;transform:translateY(-2px)}
.acobal-quiz .quiz-btn:disabled{cursor:not-allowed;opacity:.48;transform:none}
.acobal-quiz-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.acobal-quiz-progress{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;color:var(--quiz-muted);font-size:.86rem;font-weight:800}
.acobal-quiz-progress-bar{height:8px;margin-top:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}
.acobal-quiz-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--quiz-yellow);transition:width .25s ease}
.acobal-quiz-question{margin:0;padding:0;border:0}
.acobal-quiz-question legend{width:100%;margin-bottom:20px;color:#fff;font-size:clamp(1.35rem,3.6vw,2rem);font-weight:850;line-height:1.18}
.acobal-quiz-options{display:grid;gap:12px}
.acobal-quiz-option{position:relative;display:block;cursor:pointer}
.acobal-quiz-option input{position:absolute;width:1px;height:1px;opacity:0}
.acobal-quiz-option span{display:flex;min-height:58px;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--quiz-line);border-radius:14px;background:rgba(255,255,255,.045);color:#f5f8fa;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.acobal-quiz-option span::before{display:inline-grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#121a20;content:'';font-size:.82rem;font-weight:900}
.acobal-quiz-option:hover span{border-color:rgba(255,210,0,.7);transform:translateY(-1px)}
.acobal-quiz-option input:checked+span{border-color:var(--quiz-yellow);background:rgba(255,210,0,.12)}
.acobal-quiz-option input:checked+span::before{border-color:var(--quiz-yellow);background:var(--quiz-yellow);content:'✓'}
.acobal-quiz-option input:focus-visible+span{outline:3px solid rgba(255,210,0,.45);outline-offset:3px}
.acobal-quiz-form{display:grid;gap:14px;margin-top:22px}
.acobal-quiz-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.acobal-quiz-field{display:grid;gap:6px}
.acobal-quiz-field.full{grid-column:1/-1}
.acobal-quiz-field label{color:#e9f0f4;font-size:.86rem;font-weight:800}
.acobal-quiz-field input{width:100%;min-height:47px;padding:11px 13px;border:1px solid var(--quiz-line);border-radius:10px;outline:none;background:rgba(255,255,255,.07);color:#fff;font:inherit}
.acobal-quiz-field input:focus{border-color:var(--quiz-yellow);box-shadow:0 0 0 3px rgba(255,210,0,.14)}
.acobal-quiz-consent{display:flex;align-items:flex-start;gap:10px;color:var(--quiz-muted);font-size:.84rem}
.acobal-quiz-consent input{width:17px;height:17px;flex:0 0 17px;margin-top:2px;accent-color:var(--quiz-yellow)}
.acobal-quiz-message{min-height:1.4em;margin-top:12px;color:var(--quiz-muted);font-size:.9rem}
.acobal-quiz-message.error{color:#ffb3b3}
.acobal-quiz-message a{color:var(--quiz-yellow);text-decoration:underline}
.acobal-quiz-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.acobal-quiz-score{display:grid;width:112px;height:112px;margin:0 0 22px;place-items:center;border:8px solid var(--quiz-yellow);border-radius:50%;color:#fff;font-size:1.45rem;font-weight:950}
@media(max-width:560px){.acobal-quiz{max-height:calc(100vh - 18px);padding:26px 19px 22px;border-radius:18px}.acobal-quiz-fields{grid-template-columns:1fr}.acobal-quiz-field.full{grid-column:auto}.acobal-quiz-actions,.acobal-quiz-actions .quiz-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.acobal-quiz *,.acobal-quiz *::before,.acobal-quiz *::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

.acobal-quiz::-webkit-scrollbar{display:none}
.acobal-quiz-content{overflow-x:clip}
.acobal-quiz-result-heading{display:flex;align-items:center;gap:24px;margin-bottom:22px}
.acobal-quiz-result-heading .acobal-quiz-score{--score-size:calc(clamp(1.5rem,3.5vw,2.6rem) * 2.16);flex:0 0 var(--score-size);width:var(--score-size);height:var(--score-size);margin:0;border-width:6px}
.acobal-quiz-result-heading h2{min-width:0;margin:0;font-size:clamp(1.5rem,3.5vw,2.6rem)}
@media(max-width:560px){.acobal-quiz-result-heading{gap:14px}.acobal-quiz-result-heading .acobal-quiz-score{flex-basis:76px;width:76px;height:76px;border-width:6px;font-size:1.2rem}.acobal-quiz-result-heading h2{font-size:clamp(1.15rem,5vw,1.7rem)}}

/* Freeze the page behind the dialog, including button waves. */
body.quiz-open{overflow:hidden}
body.quiz-open :is(header,main,footer),body.quiz-open :is(header,main,footer) *,body.quiz-open :is(header,main,footer)::before,body.quiz-open :is(header,main,footer)::after,body.quiz-open :is(header,main,footer) *::before,body.quiz-open :is(header,main,footer) *::after{animation-play-state:paused!important}
body.quiz-open main canvas{visibility:hidden}

/* Keep question panels steady and leave a clear gap below progress. */
.acobal-quiz-progress{padding-right:42px;margin-top:5px;margin-bottom:16px}
.acobal-quiz-progress-bar{flex-shrink:0;margin-bottom:24px}
.acobal-quiz.is-question{height:min(580px,calc(100dvh - 32px));padding-top:32px;padding-bottom:32px}
.acobal-quiz.is-question .acobal-quiz-content{display:flex;flex-direction:column;min-height:100%}
.acobal-quiz.is-question .acobal-quiz-question{flex-shrink:0}
.acobal-quiz.is-question .acobal-quiz-actions{padding-top:26px;margin-top:auto;flex-shrink:0}
.acobal-quiz-message:empty{display:none}
@media(max-width:560px){.acobal-quiz.is-question{height:min(760px,calc(100dvh - 18px));padding-top:28px;padding-bottom:22px}.acobal-quiz-progress{padding-right:38px}}

/* Yellow version of the page's continuous button waves. */
@keyframes quizYellowWaves{0%{box-shadow:0 0 0 0 rgba(255,210,0,.42);opacity:0}15%{opacity:1}45%{box-shadow:0 0 0 7px rgba(255,210,0,.3);opacity:1}100%{box-shadow:0 0 0 8px rgba(255,210,0,0);opacity:0}}
.acobal-quiz-content{overflow-x:visible}
.acobal-quiz .quiz-btn{position:relative;overflow:visible}
.acobal-quiz .quiz-btn:not(:disabled)::before,.acobal-quiz .quiz-btn:not(:disabled)::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;animation:quizYellowWaves 4.4s ease-out infinite}
.acobal-quiz .quiz-btn:not(:disabled)::after{animation-delay:2.2s}
.acobal-quiz .quiz-btn:focus-visible,.acobal-quiz-close:focus-visible,.acobal-quiz-consent a:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.acobal-quiz .quiz-btn::before,.acobal-quiz .quiz-btn::after{animation:none!important}}

.acobal-quiz h2.acobal-quiz-intro-title{font-size:clamp(.95rem,4.5vw,2.35rem)}
.acobal-quiz-intro-title span{display:block;white-space:nowrap}

.acobal-quiz-intro-title ~ .acobal-quiz-actions{margin-top:42px}

.acobal-quiz-legal-link{display:inline;padding:0;border:0;background:none;color:var(--quiz-yellow);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.acobal-quiz-legal-link:focus-visible,.acobal-quiz-legal a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.acobal-quiz-legal-dialog>.acobal-quiz-close{z-index:1;background:#0a1d2b}
.acobal-quiz-legal h2{padding-right:38px;font-size:clamp(1.35rem,3.5vw,2rem);letter-spacing:-.025em}
.acobal-quiz-legal h3{margin-top:28px;font-size:1.2rem;color:var(--quiz-yellow)}
.acobal-quiz-legal ul{list-style:disc;margin:20px 0;padding-left:1.25em;color:var(--quiz-muted)}
.acobal-quiz-legal li{margin-bottom:14px;line-height:1.6}
.acobal-quiz-legal strong{color:#fff}
.acobal-quiz-legal a{color:var(--quiz-yellow);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.acobal-quiz-legal-dialog .acobal-quiz-actions{padding-bottom:8px}
.acobal-quiz-dialog.legal-open .quiz-btn::before,.acobal-quiz-dialog.legal-open .quiz-btn::after{animation-play-state:paused!important}

/* Confirmation screen: make the result feel like a clear, finished step. */
.acobal-quiz.is-success{display:flex;min-height:min(520px,calc(100vh - 120px));align-items:stretch;justify-content:center}
.acobal-quiz-success{display:grid;align-content:center;gap:34px;width:100%}
.acobal-quiz-success-head{display:flex;align-items:center;justify-content:flex-start;gap:18px;padding-right:0}
.acobal-quiz-success-head .acobal-quiz-eyebrow{margin:0;font-size:clamp(.9rem,1.6vw,1.1rem);letter-spacing:.16em}
.acobal-quiz-success-check{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid rgba(255,210,0,.62);border-radius:50%;background:rgba(255,210,0,.12);color:var(--quiz-yellow);font-size:1.55rem;font-weight:900}
.acobal-quiz-success-main{display:grid;grid-template-columns:clamp(142px,22vw,190px) minmax(0,1fr);align-items:center;gap:clamp(26px,5vw,54px)}
.acobal-quiz-success-main .acobal-quiz-score{display:flex;width:clamp(142px,22vw,190px);height:clamp(142px,22vw,190px);margin:0;align-items:center;justify-content:center;gap:.04em;border-width:8px;font-size:clamp(2.45rem,5vw,3.8rem);line-height:1}
.acobal-quiz-success-main .acobal-quiz-score span{font-size:.5em;font-weight:800}
.acobal-quiz-success-copy h2{margin:0 0 18px;font-size:clamp(3.2rem,7vw,5.6rem);letter-spacing:-.06em;line-height:.9}
.acobal-quiz-success-copy p{max-width:620px;margin:0;color:#d2dee5;font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.45}
.acobal-quiz-success-copy .acobal-quiz-success-note{margin-top:12px;color:var(--quiz-muted);font-size:clamp(1rem,1.6vw,1.12rem)}
.acobal-quiz-success .acobal-quiz-actions{justify-content:center;margin-top:0}
.acobal-quiz-success .quiz-btn{min-height:56px;padding:15px 28px;font-size:1.08rem}
@media(max-width:560px){.acobal-quiz.is-success{min-height:0}.acobal-quiz-success{gap:26px}.acobal-quiz-success-head{padding-right:0}.acobal-quiz-success-main{grid-template-columns:1fr;gap:24px}.acobal-quiz-success-main .acobal-quiz-score{width:124px;height:124px}.acobal-quiz-success-copy h2{font-size:clamp(3rem,16vw,4.6rem)}.acobal-quiz-success .acobal-quiz-actions,.acobal-quiz-success .quiz-btn{width:100%}}
