/* ============================================================
   AdFree Pass · Studio : socle neutre.
   Le design des pages et sections est repris de zéro ; ce fichier ne garde que ce qui rend les pages
   utilisables sans style : texte masqué pour l'accessibilité, tailles d'icônes, états affichés ou cachés.
   ============================================================ */
.afps-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.afps-i { width: 1.15em; height: 1.15em; flex: none; vertical-align: -0.2em; }
.afps [hidden] { display: none !important; }
.afps-wrap { width: min(100% - 32px, 1100px); margin-inline: auto; padding-block: 32px 64px; }
.afps-offer__stage, .afps-confirm__stage, .afps-member__stage, .afps-stage, .afps-confirm__seal { display: none; }
.afps-when-year { display: none; }
.afps-offer:has(input[name="period"][value="year"]:checked) .afps-when-year { display: inline; }
.afps-offer:has(input[name="period"][value="year"]:checked) .afps-when-month { display: none; }
.afps-confirm[data-state="waiting"] [data-when="active"], .afps-confirm[data-state="active"] [data-when="waiting"] { display: none; }
.afps-tier { display: block; cursor: pointer; }
.afps-tier__art img { width: 56px; height: 56px; }
.afps-spin { animation: afps-spin 1s linear infinite; }
@keyframes afps-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .afps-spin { animation: none; } }

/* Contain decorative overflow on offer pages; tables keep their own horizontal scroll. */
html:has(.afps-offer) { overflow-x: clip; }

/* Maintain readable CTA text against each native site's button color. */
body:is(.wp-child-theme-unbebe-child, .wp-child-theme-mavitamine-child) .afps-offer [data-afps-cta] { background-color: #2163d9; color: #fff; }
body.wp-child-theme-serenopause-child .afps-offer [data-afps-cta] { background-color: oklch(0.7 0.115 350); color: #211c20; }
body.wp-child-theme-onemedia-child .afps-offer [data-afps-cta] { background-color: #666; color: #fff; }
body.wp-child-theme-decouverte-blocksy .afps-offer [data-afps-cta] { background-color: oklch(0.53 0.15 40); color: #fff; }

/* Native theme resets must not hide the focused subscription choice. */
.afps-offer label:has(input:focus-visible) { outline: 2px solid currentColor; outline-offset: 3px; }

/* Benefit spans need their own lines in native subscription forms. */
.afps-offer .afps-tier__row { display: inline-flex; flex-wrap: wrap; gap: .4em; align-items: baseline; }
.afps-offer .afps-tier__perks { display: grid; gap: .375rem; margin-block: .5rem 1rem; }
.afps-offer .afps-tier__perks > span { display: flex; align-items: flex-start; gap: .4em; }
.afps-offer .afps-tier__perks .afps-i { flex: none; margin-top: .2em; }
