/* flow.css — parcours « Tester mon sourire » (même système que site.css, colonne étroite) */

.app{max-width:600px;margin:0 auto;padding:clamp(28px,5vw,56px) var(--gutter) clamp(48px,7vw,88px)}
.hidden{display:none !important}

.kicker{font-size:.8125rem;color:var(--accent);margin:0 0 14px}
.flow-h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;font-size:clamp(2rem,6vw,3rem);line-height:1.04;margin:0 0 14px;overflow-wrap:break-word}
.flow-h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-size:1.625rem;line-height:1.15;margin:0 0 10px}
.flow-h3{font-family:var(--font-body);font-weight:500;font-size:.8125rem;color:var(--muted);margin:26px 0 10px}
.lead{font-size:1.0625rem;color:var(--ink-soft);margin:0 0 20px;max-width:46ch}
.muted{color:var(--muted);font-size:.9375rem}
.fine{color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:14px}
.center{text-align:center}

.facts-row{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.facts-row li{border-top:1px solid var(--line);padding-top:10px;font-size:.75rem;color:var(--muted)}
.facts-row b{display:block;font-family:var(--font-display);font-size:1.25rem;color:var(--ink);letter-spacing:-.02em}

.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.btn-block{width:100%;margin-top:0}
.back{background:none;border:0;font-size:1.25rem;color:var(--muted);padding:0 0 14px;cursor:pointer}

.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.card p:last-child{margin-bottom:0}
.note-card{background:var(--accent-soft);border-color:#C6DAD2}
.note-card b{color:#0B4A3C}

/* capture */
.cap-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.step{font-size:.8125rem;color:var(--muted)}
.pill{background:var(--accent-soft);color:#0B4A3C;font-size:.8125rem;padding:5px 11px;font-weight:500}
.viewer{position:relative;overflow:hidden;background:#0B1210;aspect-ratio:3/4;border-radius:var(--radius)}
.viewer video{width:100%;height:100%;object-fit:cover;display:block}
.mirror{transform:scaleX(-1);-webkit-transform:scaleX(-1)}
.mirror-btn{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.35);color:#fff;font-size:1.0625rem;line-height:1;cursor:pointer}
.oval{position:absolute;inset:12% 14%;border:1.5px dashed rgba(255,255,255,.6);border-radius:50%;pointer-events:none}
.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .18s}
.hint{font-size:.875rem;color:var(--ink-soft);margin:12px 0 14px;text-align:center}

/* contrôle photo */
.shot-wrap{background:#0B1210;margin-bottom:14px;border-radius:var(--radius);overflow:hidden}
.shot-wrap img{width:100%;display:block}
.checks{list-style:none;padding:0;margin:0 0 16px;border-top:1px solid var(--line)}
.checks li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.checks li b{font-weight:500}
.ok{color:var(--accent)}
.bad{color:#9B2C2C}

/* comparateur */
.compare{position:relative;overflow:hidden;margin-bottom:8px;background:#0B1210;user-select:none;touch-action:pan-y;border-radius:var(--radius)}
.compare img{width:100%;display:block}
.compare .before{position:absolute;inset:0;overflow:hidden;width:50%}
.compare .before img{height:100%;width:auto;max-width:none}
.slider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;pointer-events:none}
.slider::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.tag{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:.625rem;padding:5px 9px}

/* mesures */
.measures{display:grid;gap:0;margin:18px 0;border-top:1px solid var(--line)}
.m{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.m .k{font-size:.9375rem;color:var(--ink-soft)}
.m .v{font-family:var(--font-display);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.m .v small{font-family:var(--font-body);font-size:.75rem;font-weight:400;color:var(--muted);margin-left:2px}
.m.unmeasured .v{font-family:var(--font-body);font-size:.875rem;color:var(--muted);font-weight:400}
.m .hintline{display:block;font-size:.75rem;color:var(--muted);margin-top:3px;max-width:34ch}

/* options */
.options{display:grid;gap:10px;margin-bottom:6px}
.opt{border:1px solid var(--line);background:var(--white);padding:14px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;border-radius:var(--radius)}
.opt.sel{border-color:var(--accent);background:var(--accent-soft)}
.opt .n{font-size:.9375rem;font-weight:500}
.opt .d{font-size:.8125rem;color:var(--muted);margin-top:2px}
.opt .p{font-size:.9375rem;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}

.tick{width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.375rem;margin:20px 0 16px}
.spinner{width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:sp 1s linear infinite;margin:64px auto 22px}
@keyframes sp{to{transform:rotate(360deg)}}
