/* Page publique « Votre Guide » — jetons repris de visitvosges.com (_astro/index.CTO_U-Px.css).
   1) page (en-tête, fiche, propositions, pied)  2) parcours plein écran (.wizard), une étape par écran. */
:root{--sapin:#1e5a45;--sapin-dark:#143f30;--sapin-soft:#2f7a5e;--lac:#2c8aa6;--lac-dark:#1d6680;--gres:#c0694f;--ink:#182420;--muted:#5c6b64;--line:#e4e6e0;--paper:#f6f5f0;--card:#fff;--ete:#e0a32e;--crit:#b6452c;--shadow:0 6px 24px rgba(20,40,32,.08);--shadow-lg:0 18px 48px rgba(20,40,32,.14);--r-sm:8px;--r:14px;--r-lg:22px;--r-pill:999px;--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:"Fraunces","Georgia","Times New Roman",serif;--top:64px;--bottom:76px}
*,*:before,*:after{box-sizing:border-box}*{margin:0}
html{color-scheme:light}
body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased;min-height:100vh}
body.wizard-open{overflow:hidden}
button,input,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
h1{font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.01em;font-size:clamp(1.7rem,3.6vw,2.6rem);text-wrap:balance}
h1 .alt{display:block;font-size:.55em;color:var(--muted);font-weight:500;margin-top:.5em}
:focus-visible{outline:3px solid var(--lac);outline-offset:2px}


/* ================= 1) PAGE ================= */
.wrap{width:min(100% - 2*clamp(16px,3vw,28px),1180px);margin-inline:auto}
.section{padding-block:clamp(40px,6vw,72px)}
.skip{position:absolute;left:-9999px;top:0;background:var(--sapin);color:#fff;padding:8px 14px;z-index:200}.skip:focus{left:12px;top:12px}
.site-header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.site-header__inner{display:flex;align-items:center;gap:22px;padding-block:12px;min-height:64px}
.site-header .brand{font-size:1.25rem}
.nav{display:flex;gap:22px;font-weight:600;font-size:.92rem;color:var(--muted);margin-left:auto;align-items:center}
.nav a:hover{color:var(--ink)}
.nav__guide{background:var(--gres);color:#fff!important;padding:.45em 1em;border-radius:var(--r-pill)}
.langs{display:flex;gap:4px;font-size:.8rem;font-weight:700}
.langs a{padding:4px 8px;border-radius:6px;color:var(--muted)}.langs a[aria-current]{background:var(--sapin);color:#fff}
.hero-guide{background:linear-gradient(160deg,#bfe0e8 0%,#eaf3f0 45%,var(--paper) 100%);padding-block:clamp(40px,7vw,80px);position:relative;overflow:hidden}
.hero-guide:before{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,transparent,rgba(30,90,69,.12))}
.hero-guide .wrap{position:relative;max-width:820px;margin-inline:auto;display:grid;gap:16px}
.hero-guide h1{font-size:clamp(2rem,4.6vw,3.3rem)}
.hero-guide__sub{color:var(--muted);font-size:1.08rem;max-width:62ch}
.hero-guide__cta{display:flex;gap:10px;flex-wrap:wrap}
.btn--accent{background:var(--gres);color:#fff}.btn--accent:hover{background:#a8543c;box-shadow:var(--shadow)}
.btn--light{background:#fff;color:var(--ink);border-color:var(--line)}.btn--light:hover{border-color:var(--sapin)}
.btn--lg{padding:.95em 1.8em;font-size:1.05rem}
.gintro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(16px,3vw,28px);align-items:stretch}
.gprofile{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);display:grid;grid-template-columns:200px minmax(0,1fr);overflow:hidden}
.gprofile__photo{background:linear-gradient(160deg,#2f7a5e,#143f30) center/cover;display:grid;place-items:center;color:#fff;position:relative;min-height:220px}
.gprofile__photo .avatar{width:96px;height:96px;border-radius:50%;border:3px solid #fff;display:grid;place-items:center;font-family:var(--font-display);font-size:2rem;background:var(--sapin-dark);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.langs-badge{position:absolute;top:12px;left:12px;display:flex;gap:4px}
.langs-badge span{background:rgba(255,255,255,.92);color:var(--ink);font-size:.72rem;font-weight:700;padding:3px 7px;border-radius:6px}
.gprofile__body{padding:20px 22px;display:grid;gap:10px;align-content:start}
.gprofile__body h2{font-family:var(--font-display);font-size:1.5rem;font-weight:600}
.gprofile__meta{font-size:.9rem;color:var(--muted)}
.gprofile__body p{font-size:.95rem}
.gprofile__facts{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
.gprofile__facts b{color:var(--ink);display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:500;line-height:1.1}
.gstart{background:var(--sapin);color:#fff;border-radius:var(--r-lg);padding:26px;display:grid;gap:14px;align-content:center;position:relative;overflow:hidden}
.gstart:before{content:"";position:absolute;right:-60px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07)}
.gstart h2{font-family:var(--font-display);color:#fff;font-size:1.5rem;font-weight:600}
.gstart p{color:rgba(255,255,255,.85);font-size:.95rem}
.gstart .stepsline{display:flex;flex-wrap:wrap;gap:6px;font-size:.78rem}
.gstart .stepsline span{background:rgba(255,255,255,.14);padding:3px 9px;border-radius:var(--r-pill)}
.gstart .btn{justify-self:start;position:relative}
.section--props{background:#eef1ea}
.props-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.props-head h2{font-family:var(--font-display);font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600}
.props-head span{color:var(--muted);font-size:.92rem}
.gcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,28px)}
.gcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .2s}
.gcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.gcard__photo{aspect-ratio:16/9;position:relative;display:flex;align-items:flex-end;padding:14px;color:#fff;background-size:cover;background-position:center}
.gcard__photo--0{background-image:linear-gradient(160deg,#2f7a5e,#143f30)}.gcard__photo--1{background-image:linear-gradient(160deg,#2c8aa6,#1d6680)}.gcard__photo--2{background-image:linear-gradient(160deg,#5aa0c0,#1d6680)}
.gcard__photo[style],.gcard__photo.is-img{box-shadow:inset 0 -90px 60px -40px rgba(0,0,0,.55)}
.gcard__photo .gcard__img{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity .6s ease}
.gcard__photo.is-img .gcard__img{opacity:1}
.gcard__photo .season,.gcard__photo h3{position:relative;z-index:1}.gcard__photo .season{position:absolute}
.gcard__credit{position:absolute;right:10px;bottom:8px;z-index:1;font-size:.62rem;color:rgba(255,255,255,.7);text-decoration:none;opacity:0;transition:opacity .3s}
.gcard__photo.is-img .gcard__credit{opacity:1}.gcard__credit:hover{color:#fff;text-decoration:underline}
@media (prefers-reduced-motion:reduce){.gcard__photo .gcard__img{transition:none}}
.gcard__photo .season{position:absolute;top:12px;left:12px;background:rgba(24,36,32,.7);font-size:.72rem;font-weight:600;padding:4px 9px;border-radius:var(--r-pill)}
.gcard__photo h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.gcard__body{padding:16px 18px 18px;display:grid;gap:10px;flex:1}
.gcard__meta{font-size:.88rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;padding:.25em .7em;border-radius:var(--r-pill);font-size:.78rem;font-weight:600;background:#efe9dc;color:var(--sapin-dark)}
.chip--lac{background:#e1f0f4;color:var(--lac-dark)}
.gcard__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}
.price{font-size:.8rem;color:var(--muted)}.price--r{text-align:right}
.price b{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--ink)}
.price small{display:block;font-family:var(--font-sans);font-size:.75rem;font-weight:400}
.gcard .btn{justify-content:center}
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,28px)}
.how > div{display:flex;gap:14px;align-items:flex-start}
.how .n{width:38px;height:38px;flex:none;border-radius:50%;background:var(--sapin);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:1.1rem}
.how h3{font-family:var(--font-sans);font-size:1rem;font-weight:700}
.how p{font-size:.9rem;color:var(--muted)}
.site-footer{background:var(--sapin-dark);color:#cfe0d7;padding-block:32px;font-size:.9rem}
.site-footer__inner{display:grid;gap:16px}
.site-footer .brand{color:#fff}.site-footer .brand__mark{color:#9cc3b4}
.site-footer__links{display:flex;flex-wrap:wrap;gap:8px 18px}
.site-footer__links a:hover{color:#fff;text-decoration:underline}
.site-footer .langs a{color:#cfe0d7;border:1px solid rgba(255,255,255,.2)}
.site-footer__note{color:#9cc3b4;font-size:.8rem}
@media (max-width:1000px){.gintro,.gprofile{grid-template-columns:1fr}.gprofile__photo{min-height:160px}.gcards,.how{grid-template-columns:1fr}.nav{display:none}}

/* ================= 2) PARCOURS PLEIN ÉCRAN ================= */
.wizard{position:fixed;inset:0;z-index:100;background:var(--paper)}
.wizard[hidden]{display:none}
.top{position:absolute;inset:0 0 auto 0;height:var(--top);background:rgba(246,245,240,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 clamp(16px,3vw,32px);z-index:10}
.brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.2rem;flex:none}
.brand__mark{color:var(--sapin);font-size:.95rem}
.progress{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.progress__bar{height:100%;width:12.5%;background:linear-gradient(90deg,var(--sapin),var(--sapin-soft));border-radius:3px;transition:width .35s ease}
.top__right{display:flex;align-items:center;gap:14px;flex:none}
.top__step{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}
.link{background:none;border:0;color:var(--lac-dark);font-size:.85rem;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:6px}
.link:hover{background:#e1f0f4}

/* ---- scène : un écran à la fois ---- */
.stage{position:absolute;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--top) + 24px) clamp(16px,3vw,32px) calc(var(--bottom) + 24px);display:grid}
.link--close{font-size:1.1rem;color:var(--ink)}
.screen{display:none}
.screen.is-on{display:grid;align-content:center;animation:in .35s ease both}
@keyframes in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.screen__inner{width:min(100%,720px);margin-inline:auto;display:grid;gap:22px}
.screen__inner--wide{width:min(100%,960px)}
.kick{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gres)}
.hint{color:var(--muted);font-size:1rem;margin-top:-10px;max-width:62ch}

/* ---- choix ---- */
.choices{display:grid;gap:14px}
.choices--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice{background:var(--card);border:2px solid var(--line);border-radius:var(--r-lg);padding:24px;text-align:left;cursor:pointer;display:grid;gap:8px;transition:border-color .15s,transform .15s,box-shadow .2s;position:relative}
.choice:hover{border-color:var(--sapin-soft);transform:translateY(-2px);box-shadow:var(--shadow)}
.choice.is-sel{border-color:var(--sapin);background:#e6f0eb}
.choice.is-sel:after{content:"✓";position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;background:var(--sapin);color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700}
.choice__flag{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sapin-dark);color:#fff;font-weight:700;font-size:1.05rem;letter-spacing:.06em;line-height:1}
.choice.is-sel .choice__flag{background:var(--gres)}
.choice b{font-size:1.2rem}
.choice small{color:var(--muted);font-size:.9rem}
.choice__price{font-family:var(--font-display);font-size:1.9rem;font-weight:500;color:var(--sapin-dark);margin-top:6px}
.choice__price small{font-family:var(--font-sans);font-size:.8rem;color:var(--muted)}

/* guide */
.guidecard{display:grid;grid-template-columns:96px minmax(0,1fr) 34px;gap:20px;align-items:start;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:var(--r-lg);padding:24px;cursor:pointer;width:100%}
.guidecard.is-sel{border-color:var(--sapin);background:#e6f0eb}
.guidecard__avatar{width:96px;height:96px;border-radius:50%;background:linear-gradient(160deg,var(--sapin-soft),var(--sapin-dark));color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:2rem;border:3px solid #fff;box-shadow:var(--shadow)}
.guidecard__body{display:grid;gap:6px}
.guidecard__body b{font-family:var(--font-display);font-size:1.5rem;font-weight:600}
.guidecard__body > span{color:var(--muted);font-size:.92rem}
.guidecard__body p{font-size:.95rem;margin-top:4px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{background:var(--sapin);color:#fff;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px}
.tag--soft{background:#e1f0f4;color:var(--lac-dark)}
.check{width:34px;height:34px;border-radius:50%;background:var(--sapin);color:#fff;display:grid;place-items:center;font-weight:700;opacity:0;transition:opacity .15s}
.is-sel .check{opacity:1}

/* compteur */
.counter{display:flex;align-items:center;justify-content:center;gap:28px;padding:10px 0}
.counter__btn{width:64px;height:64px;border-radius:50%;border:2px solid var(--line);background:var(--card);font-size:1.8rem;cursor:pointer;transition:border-color .15s,background .15s}
.counter__btn:hover{border-color:var(--sapin);background:#e6f0eb}
.counter__val{text-align:center;min-width:140px}
.counter__val b{display:block;font-family:var(--font-display);font-size:4rem;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}
.counter__val span{color:var(--muted);font-size:.95rem}
.quick{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.pill{border:1.5px solid var(--line);background:var(--card);border-radius:var(--r-pill);padding:.5em 1.1em;font-weight:600;font-size:.92rem;cursor:pointer;transition:border-color .15s,background .15s}
.pill:hover{border-color:var(--sapin-soft)}
.pill.is-sel{border-color:var(--sapin);background:#e6f0eb;color:var(--sapin-dark)}
.pill[disabled]{opacity:.4;cursor:not-allowed}

/* listes groupées (activités, lieux) */
.search{width:100%;border:2px solid var(--line);border-radius:var(--r-pill);padding:.8em 1.3em;background:var(--card);font-size:1rem}
.search:focus{border-color:var(--sapin);outline:none}
.groups{display:grid;gap:12px}
.group{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden}
.group summary{padding:14px 18px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none}
.group summary::-webkit-details-marker{display:none}
.group summary small{color:var(--muted);font-weight:500;font-size:.85rem}
.group summary:after{content:"›";transform:rotate(90deg);color:var(--muted);font-size:1.2rem;transition:transform .15s}
.group[open] summary:after{transform:rotate(-90deg)}
.group .pills{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 16px}
.group.has-sel summary{color:var(--sapin-dark)}
.reco{display:grid;grid-template-columns:52px minmax(0,1fr) 34px;gap:16px;align-items:center;text-align:left;width:100%;background:var(--card);border:2px dashed var(--gres);border-radius:var(--r);padding:18px 20px;cursor:pointer}
.reco.is-sel{background:#fbefe9;border-style:solid}
.reco__ic{width:52px;height:52px;border-radius:50%;background:var(--gres);color:#fff;display:grid;place-items:center;font-size:1.5rem}
.reco b{display:block;font-size:1.05rem}.reco small{color:var(--muted);font-size:.9rem}
.reco .check{background:var(--gres)}
.reco--act{background:linear-gradient(135deg,#fbefe9,#fff);border-style:solid;border-color:#e8c9bc;margin-bottom:4px}
.reco--act.is-sel{border-color:var(--gres);background:#fbefe9;box-shadow:0 0 0 4px rgba(192,105,79,.15)}
.reco.is-lock{cursor:default}
.reco.is-lock .check{opacity:1}
.guidecard:hover{border-color:var(--sapin-soft)}
.or{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.groups.is-off{opacity:.4;pointer-events:none}

/* total */
.total{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:18px 22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}
.total small{display:block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.total b{display:block;font-family:var(--font-display);font-size:2.2rem;font-weight:500;line-height:1.1;margin:4px 0}
.total span{color:var(--muted);font-size:.9rem}
.total p{color:var(--muted);font-size:.85rem}

/* calendrier */
.cal{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:18px;width:min(100%,560px)}
.cal--mini{width:100%}
.cal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cal__head b{font-family:var(--font-display);font-size:1.25rem;font-weight:600}
.cal__nav{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);cursor:pointer;font-size:1.2rem}
.cal__nav:hover{border-color:var(--sapin)}
.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dow{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:center;padding:4px}
.d{aspect-ratio:1;border-radius:10px;border:1.5px solid var(--line);background:var(--card);font-size:1rem;cursor:pointer;display:grid;place-items:center;font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s}
.d:hover:not([disabled]){border-color:var(--sapin);background:#e6f0eb}
.d.off{visibility:hidden}
.d.past,.d.busy{background:#f0f1ed;color:#b0b7b2;cursor:not-allowed;text-decoration:line-through;border-color:transparent}
.d.opt{background:#fbf1d6;color:#7a5a12;cursor:not-allowed;border-color:transparent}
.d.sel{background:var(--sapin);color:#fff;border-color:var(--sapin);font-weight:700}
.cal__legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-top:12px}
.cal__legend i{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--line);vertical-align:-2px;margin-right:6px}
.l-free{background:#fff}.l-busy{background:#f0f1ed}.l-opt{background:#fbf1d6}.l-sel{background:var(--sapin);border-color:var(--sapin)}
.picked{font-weight:600;color:var(--sapin-dark);min-height:1.5em}
.cal--mini .d{font-size:.8rem;cursor:default;border-radius:6px}
.cal--mini .d.ok{background:var(--sapin);color:#fff;border-color:var(--sapin)}
.cal--mini .d.opt{background:repeating-linear-gradient(45deg,#f3d99a,#f3d99a 4px,#e8c46f 4px,#e8c46f 8px);color:#3c2d05}
.cal--mini .d.busy{text-decoration:none}
.cal--mini .d.mine{outline:3px solid var(--gres);outline-offset:-3px;font-weight:700}

/* récap + formulaire */
.recap{display:grid;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:6px 22px}
.recap div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.recap div:last-child{border-bottom:0}
.recap dt{color:var(--muted)}.recap dd{font-weight:600;text-align:right}
.recap dd small{font:400 .75rem var(--font-sans);color:var(--muted)}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.recap dd.big{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--sapin-dark)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:6px;min-width:0}
.field--full{grid-column:1/-1}
.field label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.field input,.field textarea{width:100%;border:2px solid var(--line);border-radius:var(--r-sm);padding:.75em .9em;background:var(--card);font-size:1rem}
.field input:focus,.field textarea:focus{border-color:var(--sapin);outline:none}
.field input.is-bad{border-color:var(--crit)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--muted)}
.consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--sapin)}

/* fin */
.done{text-align:center;display:grid;gap:18px;justify-items:center}
.done__ok{width:84px;height:84px;border-radius:50%;background:var(--sapin);color:#fff;display:grid;place-items:center;font-size:2.4rem;box-shadow:var(--shadow-lg)}
.done p{max-width:56ch;color:var(--muted)}
.done p b{color:var(--ink)}
.done__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* barre basse */
.bottom{position:absolute;inset:auto 0 0 0;height:var(--bottom);background:rgba(246,245,240,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 clamp(16px,3vw,32px);z-index:10}
.bottom__note{font-size:.82rem;color:var(--muted);text-align:center;flex:1}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.5em;border-radius:var(--r-pill);font-weight:600;font-size:1rem;cursor:pointer;border:1.5px solid transparent;transition:background .2s,box-shadow .2s,opacity .2s,visibility 0s}
.btn--primary{background:var(--sapin);color:#fff}.btn--primary:hover:not([disabled]){background:var(--sapin-dark);box-shadow:var(--shadow)}
.btn--ghost{border-color:var(--line);background:var(--card)}.btn--ghost:hover{border-color:var(--sapin)}
.btn--sm{padding:.5em 1em;font-size:.85rem}
.btn--danger{color:var(--crit)}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.btn.is-hidden{visibility:hidden}
#toast{position:absolute;left:50%;bottom:calc(var(--bottom) + 14px);transform:translate(-50%,16px);background:var(--ink);color:#fff;padding:10px 18px;border-radius:var(--r-pill);font-size:.9rem;opacity:0;transition:.25s;z-index:20;pointer-events:none;max-width:90vw;text-align:center}
#toast.is-on{opacity:1;transform:translate(-50%,0)}

@media (max-width:700px){
  :root{--top:58px;--bottom:70px}
  .top__step{display:none}
  .choices--2,.form,.total,.admin{grid-template-columns:1fr}
  .guidecard{grid-template-columns:64px minmax(0,1fr)}
  .guidecard__avatar{width:64px;height:64px;font-size:1.4rem}
  .guidecard .check{display:none}
  .counter{gap:16px}.counter__val b{font-size:3rem}.counter__btn{width:54px;height:54px}
  .bottom__note{display:none}
  .btn{padding:.75em 1.2em;font-size:.95rem}
  .kv{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Captcha (étape 8) */
.captcha__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.captcha__img{width:200px;height:64px;border-radius:10px;border:1px solid var(--line);background:#f6f5f0;flex:none}
.captcha__txt{font-family:var(--font-display);font-size:1.5rem;font-weight:600;padding:.4em .9em;border-radius:10px;border:1px solid var(--line);background:#f6f5f0}
.captcha__row input{flex:1 1 140px;min-width:120px;text-transform:uppercase;letter-spacing:.2em;font-weight:600}
.captcha__new{background:none;border:1.5px solid var(--line);border-radius:999px;padding:.55em 1em;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;color:var(--sapin-dark)}
.captcha__new:hover{border-color:var(--sapin)}
.captcha__help{display:block;margin-top:6px;color:var(--muted);font-size:.82rem}
.captcha.is-bad input{border-color:var(--gres);box-shadow:0 0 0 3px rgba(192,105,79,.15)}
