/* 2.66.0 Lot D — paiement en plusieurs fois, cotisation de groupe, achat pour un proche. Uniquement des jetons de thème
   (var(--pp-…)) : s'adapte à tous les thèmes (dcode, boleto, boleto2, lumière, noël, halloween) et aux thèmes sombres.
   Le vert n'est utilisé que pour un état « payé » (succès), jamais comme couleur de marque. */

/* L'attribut hidden l'emporte toujours (certains composants du thème fixent display). */
.pplan-mode [hidden], .pplan-gift [hidden], .pplan-card [hidden], .pplan-mode[hidden], .pplan-gift[hidden] { display: none !important; }

/* ---------- Checkout : façon de payer, cadeau ---------- */
.pplan-mode, .pplan-gift { margin: var(--pp-space-5) 0 var(--pp-space-3); }
.pplan-mode h2 { margin-bottom: var(--pp-space-3); }
.pplan-mode__opts { display: grid; gap: 0; }
.pplan-mode__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pplan-mode__txt small { font-size: .85rem; line-height: 1.35; }
.pplan-mode__unavail { font-size: .85rem; margin: 0 0 10px; }
.pplan-detail { margin: -4px 0 12px; padding: 12px 14px; border-radius: 12px; background: var(--pp-surface-2); border: 1px solid var(--pp-line); }
.pplan-schedule { width: 100%; border-collapse: collapse; font-size: .92rem; }
.pplan-schedule th { text-align: left; font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--pp-muted); font-weight: 700; padding: 0 0 6px; }
.pplan-schedule td { padding: 7px 0; border-top: 1px solid var(--pp-line); }
.pplan-schedule tr:first-child td { font-weight: 700; }
.pplan-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pplan-rules { margin: 10px 0 0; padding-left: 18px; font-size: .86rem; color: var(--pp-ink-2); }
.pplan-rules li { margin: 4px 0; }
.pplan-gift__mode { border: 0; padding: 0; margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.pplan-gift__mode legend { margin-bottom: 4px; }
.pplan-gift__abroad { font-size: .86rem; margin: 10px 0 0; }

/* ---------- Échéancier / parts ---------- */
.pplan-card h2 { margin-bottom: var(--pp-space-3); }
.pplan-progress { height: 10px; border-radius: var(--pp-radius-pill); background: var(--pp-surface-2); overflow: hidden; border: 1px solid var(--pp-line); }
.pplan-progress span { display: block; height: 100%; background: var(--pp-coral-btn); border-radius: inherit; transition: width .3s ease; }
.pplan-totals { margin: 8px 0 var(--pp-space-3); font-size: .95rem; }
.pplan-parts { list-style: none; margin: 0 0 var(--pp-space-3); padding: 0; display: grid; gap: 8px; }
.pplan-part { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--pp-line); background: var(--pp-surface); }
.pplan-part.is-mine { border-color: var(--pp-coral); box-shadow: 0 0 0 1px var(--pp-coral) inset; }
.pplan-part__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pplan-part__main small { font-size: .82rem; }
.pplan-part__refund { color: var(--pp-warn); font-weight: 600; }
.pplan-part__side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; }
.pplan-state { font-size: .72rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; padding: 2px 9px; border-radius: var(--pp-radius-pill); background: var(--pp-surface-2); color: var(--pp-ink-2); }
.pplan-state--ok { background: var(--pp-ok-soft); color: var(--pp-ok); }
.pplan-state--low, .pplan-state--pending { background: var(--pp-warn-soft); color: var(--pp-warn); }
.pplan-state--warn { background: var(--pp-err-soft); color: var(--pp-err); }
.pplan-state--muted { opacity: .8; }
.pplan-sim { margin: 0; }
.pplan-pay { margin-top: var(--pp-space-3); padding-top: var(--pp-space-3); border-top: 1px dashed var(--pp-line); }
.pplan-pay h3 { margin-bottom: 10px; }
.pplan-policy { font-size: .84rem; margin: var(--pp-space-3) 0 0; }

/* ---------- Groupe ---------- */
.pplan-copy { display: flex; gap: 8px; align-items: center; }
.pplan-copy .pp-input { flex: 1; min-width: 0; font-size: .88rem; }
.pplan-friends { border: 0; padding: 0; margin: 0 0 10px; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 4px 12px; }
.pplan-friends legend { margin-bottom: 6px; }
.pplan-release { display: inline-block; margin: 8px 8px 0 0; }
.pplan-cover { padding: 12px 14px; border-radius: 12px; background: var(--pp-surface-2); border: 1px solid var(--pp-line); }
.pplan-cover h3 { margin-bottom: 4px; }
.pplan-join__title { margin: 6px 0 4px; }
.pplan-join__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: var(--pp-space-4) 0; }
.pplan-join__facts > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--pp-surface-2); border: 1px solid var(--pp-line); min-width: 0; }
.pplan-join__facts b { font-size: 1.02rem; overflow-wrap: anywhere; }
.pplan-join .pplan-rules { margin-bottom: var(--pp-space-4); }

/* ---------- Depuis l'étranger ---------- */
.pplan-abroad__hero { padding: var(--pp-space-6) var(--pp-space-5); border-radius: var(--pp-radius-l); background: var(--pp-night); color: #fff; margin-bottom: var(--pp-space-5); }
.pplan-abroad__hero h1 { color: #fff; margin: 4px 0 10px; }
.pplan-abroad__kicker { margin: 0; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: .78rem; color: var(--pp-gold); }
.pplan-abroad__lead { font-size: 1.08rem; max-width: 640px; opacity: .92; margin-bottom: var(--pp-space-4); }
.pplan-abroad__steps { list-style: none; padding: 0; margin: 0 0 var(--pp-space-5); display: grid; gap: 12px; }
.pplan-abroad__steps li { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border-radius: var(--pp-radius); background: var(--pp-surface); border: 1px solid var(--pp-line); }
.pplan-abroad__steps h2, .pplan-abroad__grid h2 { font-size: 1.08rem; margin-bottom: 4px; }
.pplan-abroad__steps p, .pplan-abroad__grid p { margin: 0; color: var(--pp-ink-2); }
.pplan-abroad__n { flex: 0 0 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; background: var(--pp-coral-soft); color: var(--pp-coral-ink); }
.pplan-abroad__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-bottom: var(--pp-space-5); }
.pplan-abroad__faq details { padding: 12px 0; border-bottom: 1px solid var(--pp-line); }
.pplan-abroad__faq summary { cursor: pointer; font-weight: 700; }
.pplan-abroad__faq p { margin: 8px 0 0; color: var(--pp-ink-2); }
.pplan-abroad__faq h2 { margin-bottom: 6px; }

/* ---------- Organisateur ---------- */
.pplan-org { padding: 4px 0 var(--pp-space-4); border-bottom: 1px solid var(--pp-line); margin-bottom: var(--pp-space-4); }
.pplan-org[data-off] { opacity: .75; }
.pplan-org h3 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.pplan-steps { margin: 0 0 12px; padding-left: 20px; color: var(--pp-ink-2); font-size: .92rem; }
.pplan-steps li { margin: 4px 0; }
.pplan-org__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-top: 10px; }

@media (max-width: 520px) {
  .pplan-join__facts { grid-template-columns: 1fr; }
  .pplan-part { flex-wrap: wrap; }
  .pplan-part__side { flex-direction: row; align-items: center; width: 100%; justify-content: space-between; }
  .pplan-abroad__hero { padding: var(--pp-space-5) var(--pp-space-4); }
  .pplan-copy { flex-wrap: wrap; }
  .pplan-copy .pp-btn { width: 100%; }
}
