/* ============ TOKENS ============ */
:root{
  /* Couleurs ANAIA : #264653 #2a9d8f #e9c46a #f4a261 #e76f51 */
  --ink:#264653;        /* bleu pétrole : texte et boutons */
  --ink-soft:#4D6670;
  --paper:#FFFFFF;
  --mist:#FBF6EC;       /* fond des sections alternées */
  --line:#E6DCC8;
  --sign:#2A9D8F;       /* vert d'eau : validé */
  --sign-bg:#E4F3F1;
  --sun:#E9C46A;        /* jaune : date, surlignage */
  --peach:#F4A261;
  --coral:#E76F51;
  --cta:#264653;
  --cta-text:#FFFFFF;
  --radius-s:6px; --radius-l:16px;
  --wrap:680px;
  --display:"Bricolage Grotesque", "Arial Narrow", Arial, sans-serif;
  --body:"Figtree", "Segoe UI", Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
[hidden]{display:none!important}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
section{padding:72px 0}
section.alt{background:var(--mist)}
h1,h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(32px,6vw,48px);font-weight:800}
h2{font-size:clamp(26px,4.4vw,34px);font-weight:800;margin-bottom:24px}
h3{font-size:20px;font-weight:600}
p+p{margin-top:12px}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}

/* ============ BOUTON ============ */
.btn{display:inline-block;font:600 18px/1 var(--body);background:var(--cta);color:var(--cta-text);border:0;border-radius:var(--radius-s);padding:20px 30px;cursor:pointer;text-decoration:none;box-shadow:0 4px 0 #142A33;transition:transform .08s, box-shadow .08s}
.btn:hover{background:#2F5664}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #142A33}
.btn.full{width:100%;text-align:center}
.btn[disabled]{opacity:.7;cursor:wait}

/* ============ HERO ============ */
.hero{padding-top:48px;padding-bottom:72px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.02em;margin-bottom:40px;text-decoration:none}
.brand img{width:40px;height:40px}
.date{display:inline-block;font-weight:600;font-size:16px;background:var(--sun);padding:6px 12px;border-radius:var(--radius-s);margin-bottom:20px}
.hero h1{margin-bottom:20px}
.hero h1 .acc{color:var(--coral)}
.hero h1 .h1-sub{display:block;margin-top:14px;font-size:clamp(20px,3.2vw,26px);font-weight:600;color:var(--sign)}
.hero .lead{color:var(--ink-soft);font-size:19px;margin-bottom:32px}
.hero .visual{margin-top:48px;width:100%}
.browser{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(38,70,83,.12),0 24px 60px -20px rgba(38,70,83,.45)}
.browser-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:var(--ink)}
.browser-bar i{width:11px;height:11px;border-radius:50%;background:#ffffff40}
.browser-bar i:nth-child(1){background:var(--coral)}.browser-bar i:nth-child(2){background:var(--sun)}.browser-bar i:nth-child(3){background:var(--sign)}
.browser-bar span{margin-left:10px;font-size:13px;color:#C4D6DA}
.screens{position:relative;aspect-ratio:16/9;background:#F7F8FA}
.screens img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left top;opacity:0;transition:opacity .5s}
.screens img.on{opacity:1}
.shot-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.shot-cap{font-size:16px;font-weight:600;color:var(--ink)}
.dots{display:flex;gap:6px;flex:none}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:var(--line);cursor:pointer;padding:0}
.dots button.on{background:var(--coral);width:26px;border-radius:5px}
@media (max-width:600px){.screens{aspect-ratio:4/3}.screens img{width:auto;max-width:none;height:100%}}
@media (prefers-reduced-motion:reduce){.screens img{transition:none}}

/* ============ VOUS VOUS RECONNAISSEZ ============ */
.checks{list-style:none}
.checks li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.checks li:first-child{border-top:1px solid var(--line)}
.box{flex:none;width:26px;height:26px;border:2px solid var(--ink);border-radius:4px;margin-top:2px;position:relative}
.box::after{content:"";position:absolute;left:7px;top:2px;width:7px;height:13px;border:solid var(--sign);border-width:0 3px 3px 0;transform:rotate(45deg)}
.verdict{margin-top:28px;font-family:var(--display);font-weight:800;font-size:24px}

/* ============ PROGRAMME ============ */
.path{list-style:none;position:relative;margin-top:8px}
.path::before{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:2px;background:var(--ink)}
.path li{position:relative;padding-left:56px;padding-bottom:36px}
.path li:last-child{padding-bottom:0}
.path .dot{position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);display:grid;place-items:center;font:800 14px var(--display)}
.path li.year .dot{background:var(--sign);border-color:var(--sign);color:#fff}
.path h3{margin-bottom:6px}
.path p{color:var(--ink-soft)}
.intro{margin-bottom:36px;color:var(--ink-soft)}

/* ============ ÉQUIPE ============ */
.team{display:grid;gap:16px;margin-top:14px}
.team-title{margin-top:40px}
.person{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);padding:20px}
.avatar{flex:none;width:72px;height:72px;border-radius:50%;background-size:120%;background-position:center}
.avatar.initials{display:grid;place-items:center;background:var(--sign);color:#fff;font:800 24px var(--display)}
.person strong{display:block;font-size:18px}
.person span{color:var(--ink-soft);font-size:16px}

/* ============ FAQ ============ */
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:600;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:14px;font:400 28px var(--display)}
details[open] summary::after{content:"–"}
details p{padding:0 0 20px;color:var(--ink-soft)}

/* ============ DERNIER APPEL ============ */
.final{background:var(--ink);color:#fff;text-align:center;border-top:6px solid var(--coral)}
.final h2{margin-bottom:16px}
.final .meta{color:#C4D6DA;margin-bottom:32px}
.final .btn{background:var(--peach);color:var(--ink);box-shadow:0 4px 0 #C06F2E}
.final .btn:hover{background:#F6B47F}

footer{background:var(--ink);color:#A7BCC2;font-size:14px;text-align:center;padding:24px 22px calc(24px + env(safe-area-inset-bottom,0px));border-top:1px solid #335967}
footer a{color:#C4D6DA}

/* ============ POPUP FORMULAIRE ============ */
.modal{position:fixed;inset:0;background:rgba(38,70,83,.65);display:none;align-items:flex-end;justify-content:center;z-index:50;padding:0}
.modal.open{display:flex}
.sheet{background:var(--paper);width:100%;max-width:480px;max-height:92vh;overflow:auto;border-radius:var(--radius-l) var(--radius-l) 0 0;padding:28px 24px calc(28px + env(safe-area-inset-bottom,0px));position:relative;animation:up .22s ease-out}
@media (min-width:560px){.modal{align-items:center;padding:20px}.sheet{border-radius:var(--radius-l)}}
@keyframes up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.sheet{animation:none}html{scroll-behavior:auto}}
.close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--ink-soft);padding:6px}
.sheet h3{font-size:22px;margin-bottom:4px;padding-right:30px}
.sheet .when{color:var(--ink-soft);font-size:15px;margin-bottom:20px}
.field{margin-bottom:14px}
.field label{display:block;font-size:15px;font-weight:600;margin-bottom:6px}
.field .opt{font-weight:400;color:var(--ink-soft)}
.field input{width:100%;font:16px var(--body);padding:14px;border:1.5px solid var(--line);border-radius:var(--radius-s);color:var(--ink);background:#fff}
.field input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px var(--sun)}
.field input[aria-invalid="true"]{border-color:var(--coral)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:380px){.row{grid-template-columns:1fr;gap:0}}
.consent{display:flex;gap:10px;font-size:14px;line-height:1.45;margin:18px 0;color:var(--ink-soft)}
.consent input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--ink)}
.privacy{font-size:13px;color:var(--ink-soft);margin-top:14px;text-align:center}
.field input::placeholder{color:#8A9AA0}
.input-icon{position:relative}
.input-icon svg{position:absolute;left:14px;top:50%;width:22px;height:22px;transform:translateY(-50%);fill:none;stroke:#6B7F86;stroke-width:1.6;pointer-events:none}
.input-icon input{padding-left:46px}
.phone{display:flex;border:1.5px solid var(--line);border-radius:var(--radius-s);background:#fff}
.phone:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px var(--sun)}
.phone select{flex:none;border:0;background:transparent;font:16px var(--body);color:var(--ink);padding:0 4px 0 12px;cursor:pointer;border-radius:var(--radius-s) 0 0 var(--radius-s)}
.phone select:focus{outline:none}
.phone input{border:0;padding-left:8px}
.phone input:focus{box-shadow:none}
.phone:has(input[aria-invalid="true"]){border-color:var(--coral)}
.btn.pill{border-radius:999px;background:#C66B4B;box-shadow:none;font-size:20px;font-weight:700;padding:24px 30px;margin-top:10px}
.btn.pill:hover{background:#B45E40}
.btn.pill:active{transform:translateY(1px)}
.form-error{display:none;background:#FCE9E4;color:#9A3B23;border-radius:var(--radius-s);padding:12px 14px;font-size:15px;margin-bottom:14px}
.form-error.show{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ============ WEBINAIRE TERMINÉ ============ */
.ended{display:none;background:var(--sign-bg);border-radius:var(--radius-l);padding:20px 22px;margin-bottom:28px}
.is-ended .ended{display:block}
.is-ended .js-open{display:none}

/* ============ PAGE MERCI ============ */
/* La page merci occupe tout l'écran : le pied de page reste en bas */
body.page-merci{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--mist)}
body.page-merci main{flex:1;display:flex;align-items:center}
body.page-merci main>.wrap{width:100%}
body.page-merci .ticket{background:var(--paper)}
body.page-merci .tip{background:var(--paper);border:1px solid var(--line)}
.merci{padding:48px 0 72px}
.merci .check{width:64px;height:64px;border-radius:50%;background:var(--sign);display:grid;place-items:center;margin:8px 0 24px}
.merci .check::after{content:"";width:16px;height:30px;border:solid #fff;border-width:0 5px 5px 0;transform:rotate(45deg) translate(-2px,-4px)}
.merci h1{margin-bottom:16px}
.merci .lead{color:var(--ink-soft);font-size:19px}
.ticket{margin-top:32px;border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}
.ticket-head{background:var(--ink);color:#fff;padding:18px 22px}
.ticket-head .t{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.2}
.ticket-head .d{color:var(--sun);font-weight:600;margin-top:6px}
.ticket-body{padding:22px;display:grid;gap:12px}
.btn.alt{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1.5px var(--ink) inset}
.btn.alt:hover{background:var(--mist)}
.cal{display:flex;gap:10px;flex-wrap:wrap}
.cal .btn{flex:1 1 180px;text-align:center;font-size:16px;padding:16px 18px}
.tip{margin-top:28px;background:var(--mist);border-radius:var(--radius-l);padding:18px 22px;font-size:16px}
.tip strong{display:block;margin-bottom:4px}

/* ============ PAGE D'ACCUEIL ============ */
.page-accueil .wrap{max-width:820px}
.accueil-hero{padding-bottom:48px}
.webis{list-style:none;display:grid;gap:18px}
.webi{display:flex;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}
.webi-date{flex:none;width:150px;background:var(--ink);color:#fff;padding:20px 16px;display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center}
.webi-date .js-jour{font:800 18px/1.2 var(--display)}
.webi-date .js-heure{color:var(--sun);font-weight:600}
.webi-body{flex:1;padding:20px 22px}
.webi-theme{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sign);margin-bottom:6px}
.webi h3{font-size:22px;margin-bottom:8px}
.webi h3 a{text-decoration:none}
.webi h3 .acc{color:var(--coral)}
.webi p{color:var(--ink-soft);font-size:16px}
.webi-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}
.faces{display:flex;align-items:center}
.face{width:38px;height:38px;border-radius:50%;background-size:120%;background-position:center;border:2px solid var(--paper);margin-left:-8px}
.face:first-child{margin-left:0}
.face.initials{display:grid;place-items:center;background:var(--sign);color:#fff;font:800 13px var(--display)}
.faces-names{margin-left:10px;font-size:14px;color:var(--ink-soft)}
.webi .btn{padding:14px 22px;font-size:16px}
.webi.next{border:2px solid var(--coral);box-shadow:0 18px 40px -24px rgba(38,70,83,.5)}
.webi.next .webi-date{background:var(--coral)}
.webi.next .webi-date .js-heure{color:#fff}
.webi.next .webi-theme::after{content:" · Prochain live";color:var(--coral)}
@media (max-width:620px){.webi{flex-direction:column}.webi-date{width:auto;flex-direction:row;justify-content:space-between;padding:12px 18px}}
.vide{background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius-l);padding:22px}
.themes{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.themes{grid-template-columns:1fr}}
.theme{border:1px solid var(--line);border-radius:var(--radius-l);padding:20px}
.theme h3{margin-bottom:8px}
.theme p{color:var(--ink-soft);font-size:16px}
.theme-next{margin-top:12px;font-size:15px;font-weight:600;color:var(--ink-soft)}
.theme-next.on{color:var(--sign)}
.theme-next a{color:var(--sign)}
