/* ===== Abonnement / formules premium ===== */
.lb-sub{margin:32px auto;max-width:1160px;padding:28px;border:1px solid var(--bordure);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface-elevee),var(--surface))}
.lb-sub__head{text-align:center;max-width:680px;margin:0 auto 26px}
.lb-sub__eyebrow{display:inline-block;margin:0 0 8px;padding:3px 12px;border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.lb-sub__title{font-family:var(--font-titre);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;margin:.1em 0 .3em}
.lb-sub__sub{color:var(--texte-attenue);margin:0}
.lb-sub__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.lb-plan{position:relative;display:flex;flex-direction:column;padding:24px 20px;border:1px solid var(--bordure);border-radius:var(--radius);background:var(--surface)}
.lb-plan--best{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 10px 34px rgba(177,18,38,.28)}
.lb-plan__badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 12px;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.lb-plan__name{font-family:var(--font-titre);font-size:1.15rem;margin:6px 0 10px}
.lb-plan__price{margin:0 0 6px;display:flex;align-items:baseline;gap:6px}
.lb-plan__price b{font-size:2.1rem;line-height:1;font-weight:800}
.lb-plan__price span{color:var(--texte-attenue);font-size:.9rem}
.lb-plan__meta{color:var(--texte-attenue);font-size:.86rem;min-height:38px;margin:0 0 16px}
.lb-plan__save{display:inline-block;margin:0 0 14px;padding:2px 9px;border-radius:var(--radius);background:rgba(46,204,113,.14);color:#8be3ad;border:1px solid rgba(46,204,113,.4);font-size:.76rem;font-weight:700}
.lb-plan__cta{margin-top:auto;width:100%;justify-content:center}
.lb-plan--best .lb-plan__cta{background:var(--accent);border-color:var(--accent)}
.lb-sub__feats{list-style:none;margin:24px auto 0;padding:0;max-width:760px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px}
.lb-sub__feats li{display:flex;align-items:flex-start;gap:9px;color:var(--texte);font-size:.92rem}
.lb-sub__feats svg{flex:0 0 auto;width:18px;height:18px;color:var(--accent);margin-top:1px}
.lb-sub__reassure{text-align:center;color:var(--texte-attenue);font-size:.82rem;margin:20px 0 0}
.lb-sub__msg{text-align:center;margin:12px 0 0;min-height:1.2em}
.lb-sub__msg.is-info{color:var(--accent)}
/* Abonnement actif */
.lb-subactive{margin:32px auto;max-width:1160px;padding:26px 28px;border:1px solid var(--accent);border-radius:var(--radius);background:linear-gradient(120deg,rgba(177,18,38,.16),var(--surface-elevee));display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.lb-subactive__ring{--pct:100;flex:0 0 auto;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--pct)*1%),var(--bordure) 0);position:relative}
.lb-subactive__ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}
.lb-subactive__ring b,.lb-subactive__ring span{position:relative;z-index:1;text-align:center;line-height:1}
.lb-subactive__ring b{font-size:2rem;font-weight:800}
.lb-subactive__ring span{font-size:.72rem;color:var(--texte-attenue);text-transform:uppercase;letter-spacing:.1em;margin-top:3px}
.lb-subactive__info{flex:1;min-width:220px}
.lb-subactive__eyebrow{display:inline-block;margin:0 0 4px;color:#8be3ad;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.lb-subactive__info h2{font-family:var(--font-titre);margin:.1em 0 .35em;font-size:1.5rem}
.lb-subactive__info p{margin:0 0 14px;color:var(--texte-attenue)}
.lb-subactive__info p b{color:var(--texte)}
@media(max-width:760px){ .lb-sub__grid{grid-template-columns:1fr} .lb-sub__feats{grid-template-columns:1fr} .lb-plan--best{order:-1} }
/* Gestion abonnement recurrent */
.lb-subrec__note{color:var(--texte-attenue);line-height:1.6;margin:8px 0 16px;max-width:52ch}
.lb-subrec .lb-sub-cancel{margin-top:2px}
.lb-subrec.is-canceled{border-color:rgba(230,57,70,.32)}
.lb-sub__msg{display:block;margin-top:10px;font-size:.88rem}
.lb-sub__msg.is-ok{color:#3ddc84}
.lb-sub__msg.is-err{color:var(--accent-hover)}

/* Espace : abonnement + offre de lancement en 2 colonnes (uniquement si les deux presents) */
.lb-espace__top2{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:24px;align-items:stretch}
.lb-espace__top2 > .lb-subactive,.lb-espace__top2 > .lb-launch-panel{margin:0;max-width:none}
@media(min-width:900px){.lb-espace__top2{grid-template-columns:1fr 1fr;gap:24px}}

/* Renonciation droit de rétractation (L.221-28) */
.lb-retract{margin:18px 0;padding:14px 16px;border:1px solid var(--bordure);border-radius:var(--radius);background:var(--surface);text-align:left}
.lb-retract__lbl{display:flex;gap:12px;align-items:flex-start;cursor:pointer;margin:0}
.lb-retract__cb{margin:3px 0 0;width:20px;height:20px;min-width:20px;flex:0 0 auto;accent-color:var(--accent);cursor:pointer}
.lb-retract__txt{font-size:.82rem;line-height:1.55;color:var(--texte-attenue)}
.lb-retract__head{display:block;font-family:var(--font-titre);font-size:.95rem;color:var(--texte);margin:0 0 5px}
.lb-retract.is-required{border-color:var(--accent);background:rgba(177,18,38,.06)}
.lb-retract.is-required .lb-retract__head{color:var(--accent)}
/* ===== Lot 1 : dotation jetons par formule ===== */
.lb-plan__tokens{margin:0 0 12px;color:#d9b45a;font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:7px}
.lb-plan__tokens::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#d9b45a;flex:0 0 auto}
