
/* Plan d'action */
.res-group{margin:34px 0 4px}
.res-group h3{font-size:19px;margin:0 0 2px}
.res-group p{margin:0;font-size:14px;color:var(--muted)}
.res-done{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.res-done input{width:18px;height:18px;accent-color:var(--green)}
.res-card.is-done{opacity:.6;background:var(--soft)}
.res-card.is-done h3{text-decoration:line-through}
.res-ctx{font-size:14px!important;color:var(--ink-2)!important;margin:6px 0!important}
.res-disc{font-size:12px!important;color:var(--muted)!important;margin-top:8px!important}
.res-progress{margin:22px auto 0;max-width:460px;font-size:14px;color:var(--muted)}
.res-progress .bar{height:8px;border-radius:99px;background:var(--line);margin-top:8px;overflow:hidden}
.res-progress i{display:block;height:100%;width:0;background:var(--green);border-radius:99px;transition:width .3s}
.plan-email{background:var(--violet-50);border:1px solid #D6CCFF;border-radius:24px;padding:32px}
.plan-email h2{font-size:24px;margin-bottom:6px}
.plan-email>p{color:var(--ink-2);margin:0 0 16px}
.plan-email .nl-msg{color:var(--green)}
.consent{flex-basis:100%;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2)}
.consent input{margin-top:3px}
/* Carrousel de profils */
.profiles{overflow:hidden;position:relative}
.profiles-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:none}
.profiles-track::-webkit-scrollbar{display:none}
.profile{flex:0 0 min(300px,80%);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--sh-sm)}
.profile .mock-top{margin-bottom:14px}
.profile .p-total{background:var(--grad);color:#fff;border-radius:14px;padding:12px 16px;margin-bottom:10px}
.profile .p-total small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.profile .p-total strong{font:800 24px/1.2 var(--display)}
.profile ul{list-style:none;margin:0;padding:0;font-size:14px}
.profile li{padding:6px 0;border-bottom:1px solid var(--line);display:flex;gap:8px;justify-content:space-between}
.profile li:last-child{border:0}
.profile li em{font-style:normal;font-weight:700;color:var(--green);white-space:nowrap}
.profiles-note{font-size:13px;color:var(--muted);margin-top:4px}

/* Diagnostic vivant + bouton fixe + partage */
.ce{font-style:normal;font-size:20px;line-height:1}
.choice span{gap:10px}
.live{margin:6px 0 0;padding:8px 14px;border-radius:99px;background:var(--green-50);color:var(--green);font-size:14px;font-weight:600;display:inline-block}
.live b{font:800 18px var(--display)}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line);display:none}
.sticky-cta .btn{width:100%}
@media (max-width:760px){.sticky-cta:not([hidden]){display:block}}
.share-box{margin-top:44px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--soft);display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}

.next-badge{display:inline-block;background:#fff3cd;color:#7a5b00;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px;margin:0 8px 6px 0}
.res-card.is-next{box-shadow:0 0 0 2px var(--brand,#3b5bfd) inset}
#res-more{margin-top:24px}

.related{margin-top:40px}.related h2{font-size:1.15rem;margin:0 0 10px}.related ul{margin:0;padding-left:1.1em}.related li{margin:6px 0}
