/* Formules d'abonnement : page /formules/ et panneau « Mon abonnement ». Les variables sont celles du
   portail (--panel, --line, --muted, --accent) ou de l'admin (--card-bg) selon la page. */
.plans-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .9rem; margin: 1rem 0; }
.plan-card {
  display: flex; flex-direction: column; gap: .6rem; padding: 1rem 1.05rem;
  border: 1px solid var(--line); border-radius: 16px; background: var(--panel, var(--card-bg, #fff));
  color: inherit;
}
.plan-card.current { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent); }
.plan-card h3 { margin: 0; font-family: "Fraunces", Georgia, serif; font-size: 1.2rem; }
.plan-tagline { margin: 0; color: var(--muted); font-size: .9rem; }
.plan-price { display: grid; gap: .1rem; }
.plan-price strong { font-size: 1.45rem; }
.plan-price-sub { color: var(--muted); font-size: .8rem; }
.plan-limits, .plan-features { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; font-size: .9rem; }
.plan-limits { padding-bottom: .6rem; border-bottom: 1px solid var(--line); font-weight: 600; }
.plan-features li { display: flex; gap: .45rem; align-items: baseline; }
.plan-features li.excluded { color: var(--muted); }
.plan-mark { width: 1rem; flex: none; text-align: center; color: var(--accent); }
.plan-features li.excluded .plan-mark { color: var(--muted); }
.plan-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.plan-soon { margin-left: .2rem; padding: 0 .45rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .7rem; white-space: nowrap; }
.plan-card .btn, .plan-current { margin-top: auto; align-self: flex-start; }
.plan-current { display: inline-block; padding: .3rem .8rem; border-radius: 999px; border: 1px solid var(--accent); color: var(--accent); font-weight: 600; font-size: .85rem; }
