/* ════════ QUALiBOX v2 — Maquette navigateur + player interactif ════════ */

/* Hero allégé : fond clair + halos doux (plus de particules) */
.v2 .hero{ background:
  radial-gradient(56% 46% at 76% 30%, rgba(92,141,255,.10), transparent 62%),
  radial-gradient(44% 38% at 14% 86%, rgba(255,159,67,.08), transparent 60%),
  linear-gradient(180deg,#F7FAFF,#EFF4FE); }

/* ── Cadre navigateur (maquette) — thème CLAIR ── */
.mq-frame{ border-radius:16px; overflow:hidden; border:1px solid var(--border); background:#fff; box-shadow:0 32px 80px rgba(18,34,84,.18); }
.mq-bar{ display:flex; align-items:center; gap:8px; padding:11px 16px; background:#F4F7FD; border-bottom:1px solid var(--border); }
.mq-bar .d{ width:11px; height:11px; border-radius:50%; flex-shrink:0; }
.mq-bar .d.r{ background:#FF5F57; } .mq-bar .d.y{ background:#FEBC2E; } .mq-bar .d.g{ background:#28C840; }
.mq-url{ margin-left:10px; font-size:12px; color:#6b779b; background:#fff; border:1px solid var(--border); padding:5px 14px; border-radius:8px; display:flex; align-items:center; gap:7px; min-width:0; overflow:hidden; white-space:nowrap; }
.mq-url svg{ width:12px; height:12px; color:var(--green); flex-shrink:0; }
.mq-live{ margin-left:auto; display:flex; align-items:center; gap:7px; font-size:11.5px; font-weight:700; color:#1FA971; flex-shrink:0; }
.mq-live i{ width:7px; height:7px; border-radius:50%; background:var(--green); animation:mq-pulse 1.6s ease-in-out infinite; }
@keyframes mq-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(34,197,94,.45);} 50%{ box-shadow:0 0 0 5px rgba(34,197,94,0);} }
.mq-screen{ position:relative; aspect-ratio:16/10; background:#F7FAFF; overflow:hidden; }

/* ── Écran applicatif (dashboard CLAIR) ── */
.scr{ position:absolute; inset:0; display:flex; flex-direction:column; }
.scr-side{ position:absolute; left:0; top:0; bottom:0; width:46px; background:#fff; border-right:1px solid var(--border); display:flex; flex-direction:column; align-items:center; gap:12px; padding-top:12px; }
.scr-logo{ width:24px; height:24px; border-radius:7px; background:linear-gradient(135deg,#5C8DFF,#FF9F43); }
.scr-side i{ width:20px; height:20px; border-radius:6px; background:#EDF1FA; cursor:pointer; transition:all .18s ease; }
.scr-side i:hover{ background:var(--blue-100); transform:scale(1.1); }
.scr-side i.on{ background:var(--blue); box-shadow:0 0 0 2px var(--blue-200); }
.scr-main{ margin-left:46px; padding:14px 16px; display:flex; flex-direction:column; gap:11px; min-width:0; flex:1; }
.scr-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.scr-crumb{ font-size:11px; color:var(--muted); font-weight:600; }
.scr-crumb b{ color:var(--navy); font-weight:700; }
.scr-pill{ font-size:10px; font-weight:700; padding:4px 11px; border-radius:999px; white-space:nowrap; background:rgba(34,197,94,.12); color:#1FA971; border:1px solid rgba(34,197,94,.28); }
.scr-pill.warn{ background:rgba(255,159,67,.14); color:#E07F1E; border-color:rgba(255,159,67,.30); }
.scr-pill.blue{ background:var(--blue-50); color:var(--blue-hover); border-color:var(--blue-100); }
.scr-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.scr-kpi{ background:#fff; border:1px solid var(--border); border-radius:10px; padding:9px 11px; box-shadow:0 1px 2px rgba(18,34,84,.04); }
.scr-kpi .v{ font-size:17px; font-weight:800; color:var(--navy); letter-spacing:-.01em; }
.scr-kpi .v.b{ color:var(--blue-hover); } .scr-kpi .v.o{ color:#E07F1E; } .scr-kpi .v.g{ color:#1FA971; }
.scr-kpi .k{ font-size:9px; color:var(--muted); margin-top:2px; font-weight:600; }
.scr-cols{ display:grid; grid-template-columns:1fr 1fr; gap:10px; flex:1; min-height:0; }
.scr-card{ background:#fff; border:1px solid var(--border); border-radius:11px; padding:11px 12px; display:flex; flex-direction:column; gap:8px; min-height:0; box-shadow:0 1px 2px rgba(18,34,84,.04); }
.scr-card-h{ font-size:10px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:var(--muted); }
.scr-li{ display:flex; align-items:center; gap:8px; border-radius:7px; }
.scr-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.scr-dot.ok{ background:var(--green); } .scr-dot.wn{ background:var(--orange); } .scr-dot.bk{ background:#EF5A6A; }
.scr-nm{ font-size:10.5px; color:#3a4255; font-weight:600; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.scr-st{ font-size:9.5px; font-weight:700; flex-shrink:0; }
.scr-st.ok{ color:#1FA971; } .scr-st.wn{ color:#E07F1E; } .scr-st.bk{ color:#EF5A6A; }
.scr-chart{ display:flex; align-items:flex-end; gap:7px; flex:1; padding-top:6px; min-height:64px; }
.scr-bar{ flex:1; display:flex; flex-direction:column; align-items:center; gap:5px; height:100%; justify-content:flex-end; }
.scr-bar i{ width:100%; border-radius:4px 4px 0 0; background:linear-gradient(180deg,#5C8DFF,#9DBBFF); height:50%; transition:height 1s cubic-bezier(.22,.8,.28,1); }
.scr-bar small{ font-size:8.5px; color:var(--muted); font-weight:700; }
.scr-score{ align-items:center; justify-content:center; gap:10px; }
.scr-score-ring{ width:74px; height:74px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--green) 0 92%, #E6ECF7 92% 100%); }
.scr-score-ring b{ width:56px; height:56px; border-radius:50%; background:#fff; display:grid; place-items:center; color:var(--navy); font-size:14px; font-weight:800; }

/* Pied de dashboard fonctionnel */
.scr-foot{ margin-top:auto; padding-top:10px; }
.scr-foot-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:5px; }
.scr-foot-label{ font-size:10px; font-weight:700; color:var(--navy); }
.scr-foot-pct{ font-size:10px; font-weight:800; color:var(--blue-hover); }
.scr-foot-bar{ height:6px; border-radius:5px; background:#E6ECF7; overflow:hidden; }
.scr-foot-bar i{ display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,#5C8DFF,#FF9F43); transition:width .9s cubic-bezier(.22,.8,.28,1); }
.scr-foot-when{ display:flex; align-items:center; gap:6px; margin-top:6px; font-size:9px; color:var(--muted); font-weight:600; }
.scr-foot-live{ width:6px; height:6px; border-radius:50%; background:var(--green); flex-shrink:0; animation:mq-pulse 1.6s ease-in-out infinite; }

/* ── Hero : maquette à droite ── */
.hero-mq{ position:relative; width:min(620px,100%); z-index:5; justify-self:center; }

/* chips flottants doivent passer AU-DESSUS du cadre maquette opaque */
.v2 .hero-chip{ z-index:10; }

/* Écran du diaporama hero : hauteur pilotée par le contenu — le pied de dashboard
   (.scr-foot) reste visible à toutes les largeurs (fix débordement ratio 16/10) */
#seqScreen{ aspect-ratio:auto; min-height:340px; display:flex; flex-direction:column; }
#seqScreen .scr{ position:relative; inset:auto; flex:1; }
#seqScreen .scr-main{ padding:13px 15px; gap:9px; }
#seqScreen .scr-foot{ padding-top:8px; }

/* ── Player interactif (section démarche) ── */
.seq-wrap{ display:grid; grid-template-columns:320px 1fr; gap:30px; align-items:start; margin-top:36px; }
.seq-steps{ display:flex; flex-direction:column; gap:10px; }
.seq-step{ display:flex; gap:14px; align-items:flex-start; padding:15px 16px; border-radius:14px; cursor:pointer; border:1px solid var(--border); background:#fff; transition:all .22s ease; box-shadow:var(--shadow-sm); }
.seq-step:hover{ border-color:var(--blue-200); transform:translateX(3px); }
.seq-step.active{ background:linear-gradient(100deg, rgba(92,141,255,.10), rgba(92,141,255,.02)); border-color:rgba(92,141,255,.45); }
.seq-badge{ flex-shrink:0; font-size:11.5px; font-weight:800; color:var(--muted); min-width:52px; height:26px; padding:0 9px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:var(--blue-50); border:1px solid var(--blue-100); white-space:nowrap; }
.seq-step.active .seq-badge{ background:var(--blue); border-color:var(--blue); color:#fff; box-shadow:0 4px 12px rgba(92,141,255,.45); }
.seq-txt h4{ font-size:14.5px; font-weight:800; color:var(--navy); letter-spacing:-.01em; }
.seq-txt p{ font-size:12.5px; color:#5a6378; margin-top:3px; line-height:1.45; }

.seq-player{ position:relative; }
.seq-play{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:linear-gradient(180deg,rgba(247,250,255,.72),rgba(234,241,254,.82)); cursor:pointer; transition:opacity .3s ease; z-index:4; backdrop-filter:blur(1.5px); }
.seq-play.hide{ opacity:0; pointer-events:none; }
.seq-play-btn{ width:74px; height:74px; border-radius:50%; background:linear-gradient(135deg,#5C8DFF,#4F7BEF); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 40px rgba(92,141,255,.5); transition:transform .25s ease; }
.seq-play:hover .seq-play-btn{ transform:scale(1.08); }
.seq-play-btn svg{ width:30px; height:30px; color:#fff; margin-left:4px; }
.seq-play-cap{ font-size:13px; color:var(--navy); font-weight:700; background:#fff; border:1px solid var(--border); padding:7px 16px; border-radius:999px; box-shadow:var(--shadow-sm); }

.seq-controls{ display:flex; align-items:center; gap:14px; padding:13px 18px; background:#F4F7FD; border-top:1px solid var(--border); }
.seq-btn{ width:34px; height:34px; border-radius:9px; background:#fff; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; transition:all .18s ease; }
.seq-btn:hover{ background:var(--blue-50); border-color:var(--blue-200); }
.seq-btn svg{ width:15px; height:15px; color:var(--navy); }
.seq-time{ font-size:12px; color:var(--muted); flex-shrink:0; min-width:82px; font-variant-numeric:tabular-nums; }
.seq-track{ flex:1; height:6px; border-radius:5px; background:#E2E9F5; position:relative; cursor:pointer; }
.seq-fill{ position:absolute; left:0; top:0; bottom:0; width:0%; background:linear-gradient(90deg,#5C8DFF,#FF9F43); border-radius:5px; }
.seq-dotc{ position:absolute; top:50%; transform:translate(-50%,-50%); width:13px; height:13px; border-radius:50%; background:#fff; border:2px solid var(--blue); box-shadow:0 2px 8px rgba(18,34,84,.25); left:0%; }
.seq-time{ display:none; }
.seq-tag{ font-size:11.5px; color:var(--muted); flex-shrink:0; font-weight:700; }
.seq-cap{ margin-top:14px; font-size:13.5px; color:#5a6378; text-align:center; }
.seq-cap b{ color:var(--navy); }

@media (max-width:980px){
  .seq-wrap{ grid-template-columns:1fr; }
  .seq-steps{ flex-direction:row; overflow-x:auto; padding-bottom:6px; }
  .seq-step{ min-width:240px; }
  .hero-mq{ width:100%; }
}


/* ════════ KPI cliquables + vues détaillées (player) ════════ */
.scr-kpi.clickable{ cursor:pointer; transition:all .18s ease; }
.scr-kpi.clickable:hover{ border-color:var(--blue-200); transform:translateY(-1px); box-shadow:0 4px 10px rgba(18,34,84,.08); }
.scr-kpi.sel{ border-color:var(--blue); background:var(--blue-50); box-shadow:0 0 0 2px var(--blue-100); }
.scr-detail-body{ display:flex; flex-direction:column; gap:7px; min-height:0; }
.scr-detail-body.swap{ animation:scrSwap .35s ease; }
@keyframes scrSwap{ from{ opacity:0; transform:translateY(5px); } to{ opacity:1; transform:translateY(0); } }
.scr-grid32{ display:grid; grid-template-columns:repeat(8,1fr); gap:5px; }
.scr-chip{ height:21px; border-radius:6px; display:grid; place-items:center; font-size:9.5px; font-weight:800; }
.scr-chip.ok{ background:rgba(34,197,94,.12); color:#1FA971; border:1px solid rgba(34,197,94,.25); }
.scr-chip.wn{ background:rgba(255,159,67,.14); color:#E07F1E; border:1px solid rgba(255,159,67,.3); }
.scr-more{ font-size:10px; color:var(--muted); font-weight:700; padding-top:2px; }

/* ════════ Chart 7 critères interactif (étape 4) ════════ */
.scr-chart.big{ min-height:92px; }
.scr-bar.click{ cursor:pointer; }
.scr-bar .pv{ font-size:8.5px; font-weight:800; color:#1FA971; margin-bottom:3px; }
.scr-bar.click i{ transition:height .8s cubic-bezier(.22,.8,.28,1), background .25s ease; }
.scr-bar.click:hover i{ filter:brightness(1.08); }
.scr-bar.hl i{ background:linear-gradient(180deg,var(--orange),#FFD089); }
.scr-bar.hl small{ color:#E07F1E; }
.scr-bar.hl .pv{ color:#E07F1E; }
.scr-crit-line{ display:flex; align-items:center; gap:8px; font-size:10.5px; color:#3a4255; padding-top:7px; border-top:1px dashed var(--border); }
.scr-crit-line b{ color:var(--navy); font-weight:800; }
.scr-crit-line .ok-txt{ margin-left:auto; color:#1FA971; font-weight:700; }

/* ════════ CTA : mini grille de rendez-vous ════════ */
.cta-cal{ margin:30px auto 0; display:inline-flex; flex-direction:column; gap:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:16px; padding:16px 20px; }
.cta-cal-head{ display:flex; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:700; color:#cdd6ee; }
.cta-cal-head svg{ width:15px; height:15px; color:#7AA2FF; flex-shrink:0; }
.cta-cal-days{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.cta-day{ display:flex; flex-direction:column; align-items:center; gap:2px; min-width:64px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:10px 12px; color:#fff; text-decoration:none; transition:all .2s ease; }
.cta-day:hover{ background:rgba(92,141,255,.28); border-color:rgba(92,141,255,.5); transform:translateY(-2px); }
.cta-day .dw{ font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#aeb9d6; }
.cta-day b{ font-size:18px; font-weight:800; }
.cta-day i{ font-style:normal; font-size:10px; font-weight:700; color:#7ee2a8; }


/* ════════ Segments façon stories (diaporama hero) ════════ */
.seq-segs{ display:flex; gap:10px; padding:12px 16px 13px; background:#F4F7FD; border-top:1px solid var(--border); }
.seq-seg{ flex:1; display:flex; flex-direction:column; gap:6px; background:none; border:none; cursor:pointer; padding:0; font-family:inherit; min-width:0; }
.seq-seg .bar{ display:block; height:4px; border-radius:4px; background:#E2E9F5; overflow:hidden; position:relative; }
.seq-seg .bar i{ position:absolute; left:0; top:0; bottom:0; width:0%; background:linear-gradient(90deg,var(--blue),var(--blue-hover)); border-radius:4px; }
.seq-seg.done .bar i{ background:var(--blue-200); }
.seq-seg .lbl{ font-size:10.5px; font-weight:700; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }
.seq-seg.active .lbl{ color:var(--blue-hover); }
.seq-seg:hover .lbl{ color:var(--navy); }

/* KPI-onglets : affordance renforcée + caret vers le détail */
.scr-kpi{ position:relative; }
.scr-kpi.sel::after{ content:""; position:absolute; bottom:-9px; left:50%; transform:translateX(-50%) rotate(45deg); width:9px; height:9px; background:var(--blue-50); border-right:1px solid var(--blue); border-bottom:1px solid var(--blue); z-index:2; }

/* ════════ Démarche : liste d'étapes ════════ */
.steps-list{ list-style:none; max-width:920px; margin:40px auto 0; padding:0; }
.step-item{ display:grid; grid-template-columns:64px 1fr; gap:22px; padding:28px 0; border-bottom:1px dashed var(--border); }
.step-item:first-child{ padding-top:8px; }
.step-item:last-child{ border-bottom:none; padding-bottom:8px; }
.step-no{ width:56px; height:56px; border-radius:16px; display:grid; place-items:center; font-size:18px; font-weight:800; color:#fff; background:var(--step,#5C8DFF); box-shadow:0 10px 22px color-mix(in srgb, var(--step,#5C8DFF) 35%, transparent); }
.step-pill{ display:inline-block; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); margin-bottom:4px; }
.step-body h3{ font-size:20px; color:var(--navy); letter-spacing:-.01em; margin:0 0 6px; }
.step-body p{ font-size:14.5px; color:#4a5468; max-width:640px; line-height:1.6; margin:0; }
.step-feats{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 0; padding:0; }
.step-feats li{ display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; color:#3a4255; background:#fff; border:1px solid var(--border); border-radius:999px; padding:6px 13px; }
.step-feats li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--step,#5C8DFF); flex-shrink:0; }
@media (max-width:640px){ .step-item{ grid-template-columns:44px 1fr; gap:14px; } .step-no{ width:40px; height:40px; border-radius:12px; font-size:14px; } }
