/* Onboarding, « Pour vous », bandeaux installation et hors-ligne. Jetons de app.css uniquement. */
.onb-scrim{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;justify-content:center}
.onb-scrim.on{opacity:1}
.onb-card{width:100%;max-width:520px;max-height:92vh;overflow-y:auto;background:var(--card);border-top:1px solid var(--line);border-radius:26px 26px 0 0;padding:16px 18px calc(env(safe-area-inset-bottom,0px) + 20px);outline:none}
.onb-top{display:flex;align-items:center;justify-content:space-between}
.onb-step{margin:0;font-size:.8rem;color:var(--tx3);font-weight:700;letter-spacing:.04em}
.onb-dots{display:flex;gap:6px;margin:10px 0 14px}
.onb-dots i{flex:1;height:4px;border-radius:99px;background:var(--line)}
.onb-dots i.on{background:var(--acc)}
.onb-title{font-family:var(--fd);font-size:1.5rem;margin:0 0 4px;font-weight:600;outline:none}
.onb-sub{color:var(--tx2);font-size:.9rem;margin:0 0 14px}
.onb-sel{margin:10px 0 14px;color:var(--tx);font-weight:700}
.onb-group{margin:0 0 14px}
.onb-label{display:block;font-size:.8rem;font-weight:700;color:var(--tx2);margin:0 0 6px}
.onb-body .chips{display:flex;flex-wrap:wrap;gap:8px}
.onb-nav{display:flex;gap:10px;margin-top:20px}
.onb-nav .cta{flex:1}
.onb-nav .btn{flex:0 0 auto}
.onb-skip{display:block;margin:12px auto 0;background:none;border:0;color:var(--tx2);font-size:.9rem;font-weight:600;text-decoration:underline;padding:10px 14px;min-height:44px;cursor:pointer}
.ofy{margin:18px 0}
.ofy .btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ofy-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 8px;margin:0 -2px}
.ofy-card{flex:0 0 min(64%,240px);scroll-snap-align:start;display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:8px 8px 12px;color:var(--tx);text-decoration:none}
.ofy-ph{display:block;aspect-ratio:3/2;border-radius:10px;overflow:hidden;background:var(--card2);margin-bottom:4px}
.ofy-ph img{width:100%;height:100%;object-fit:cover;display:block}
.ofy-card strong{font-size:.95rem}
.ofy-card small{color:var(--tx2);font-size:.8rem;line-height:1.35}
.ofy-banner .btn-row,.onb-set .btn-row,.ofy-ask .btn{margin-top:10px}
.ofy-banner .btn-row,.onb-set .btn-row{display:flex;flex-wrap:wrap;gap:10px}
@media (prefers-reduced-motion:reduce){.onb-scrim{transition:none}}
