/* Standalone offer styles preserve the existing profile and admin screens. */
.billing-intro { padding: 3rem 0 1.5rem; max-width: 52rem; }
.billing-intro h1 { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1; margin: 1rem 0; }
.billing-test { display: inline-block; padding: .5rem .75rem; background: #f6eddc; color: #614615; font-weight: 700; border-radius: .3rem; }
.billing-notice { padding: 1rem; background: #f3f4f5; border-left: 3px solid #59636b; line-height: 1.6; font-size: 1.125rem; }
/* Base seule : une colonne lisible, sans espace réservé à des offres futures. */
.billing-grid { display: grid; grid-template-columns: minmax(0, 44rem); gap: 1.25rem; }
.billing-card { display: flex; flex-direction: column; min-width: 0; max-width: 52rem; margin-bottom: 1.25rem; padding: 1.75rem; border: 1px solid #d2d5d8; border-radius: .6rem; border-top: 4px solid #b9282d; font-size: 1.125rem; line-height: 1.6; overflow-wrap: anywhere; }
.billing-tier { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-top: 0; }
.billing-card h2 { line-height: 1.3; font-size: 1.6rem; margin: 0 0 1.5rem; overflow-wrap: anywhere; }
.billing-price { font-size: 1.9rem; font-weight: 700; margin: auto 0 1rem; }
.billing-price span { display: block; font-size: .95rem; font-weight: 400; margin-top: .4rem; }
.billing-card > p:not(.billing-tier):not(.billing-price) { line-height: 1.6; }
.billing-card button, .billing-card .primary-link { width: 100%; box-sizing: border-box; text-align: center; padding: .9rem; font: inherit; font-weight: 700; border-radius: .3rem; background: #ad252b; color: white; border: 1px solid #ad252b; }
.billing-card form, .billing-card > button, .billing-card > a { margin-top: auto; }
.billing-card button:disabled { color: #555e66; background: #e1e3e5; border-color: #c6cbd0; cursor: not-allowed; }
.billing-management button { min-height: 48px; padding: .9rem 1.2rem; font-size: 1.125rem; white-space: normal; }
.billing-future { color: #525a61; background: #f1f2f3; border-top-color: #a3a9af; }
.billing-footnote { padding: 1rem 0 2rem; line-height: 1.6; max-width: 56rem; }
@media (max-width: 850px) { .billing-grid { grid-template-columns: 1fr; } .billing-price { margin-top: 0; } }

/* Le consentement reste lisible sur mobile et ne redimensionne pas la case. */
.billing-consent { display: block; margin: 0 0 1rem; line-height: 1.5; font-weight: normal; }
.billing-consent input { width: auto; margin-right: .4rem; }

/* Deux choix avant les formules, empilés sur les petits écrans. */
.billing-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.billing-choice-grid .billing-price { margin-top: 0; }
.billing-choice-grid .primary-link { margin-top: auto; }
@media (max-width: 850px) { .billing-choice-grid { grid-template-columns: 1fr; } }

/* Deux périodicités de la même Base, comparaison lisible sans équivalent
   mensuel ambigu. L'ordre du clavier suit mensuel puis annuel. */
.billing-grid.billing-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.billing-options .billing-price span { font-size: 1.125rem; line-height: 1.5; }
@media (max-width: 850px) { .billing-grid.billing-options { grid-template-columns: 1fr; } }
