/* Premium selection and read-only confirmation; scoped Design2 controls/tokens. */
.ff-premium-price-rails .ff-premium-buy{justify-self:start;margin-top:.3rem;padding:.35rem .75rem;min-height:2rem;font-size:.75rem}
.ff-checkout{width:min(calc(100% - 2 * var(--ff-page-gutter)),48rem);margin:2.5rem auto 4rem;color:var(--ff-text-primary)}
.ff-checkout-heading{margin-bottom:1.5rem}
.ff-checkout-kicker{margin:0 0 .5rem;color:var(--ff-accent-text);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.ff-checkout h1{margin:0;font-size:2.25rem;letter-spacing:-.035em}
.ff-checkout-heading>p:last-child{margin:.65rem 0 0;color:var(--ff-text-secondary);line-height:1.7}
.ff-checkout .ff-panel{padding:1.5rem;margin-top:1rem}
.ff-checkout h2{margin:0;font-size:1.05rem}
.ff-checkout-plan{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.ff-checkout-plan .ff-help{margin:0 0 .4rem}
.ff-checkout .ff-checkout-plan h2{font-size:1.25rem}
.ff-checkout-duration{margin:.5rem 0 0;font-size:.875rem}
.ff-checkout-duration span{color:var(--ff-text-secondary)}
.ff-checkout-plan-price{display:grid;gap:.6rem;text-align:right;white-space:nowrap}
.ff-checkout-plan-price strong{font-size:1.1rem}
.ff-checkout-plan-price a{font-size:.8rem}
.ff-coupon-preview form{margin-top:1rem}
.ff-coupon-entry{display:flex;align-items:stretch;gap:.625rem;min-width:0}
.ff-coupon-preview .ff-input{width:100%;min-width:0}
.ff-coupon-entry button{flex-shrink:0}
.ff-checkout :is(input,button,a):focus-visible,.ff-premium-buy:focus-visible{outline:2px solid var(--ff-focus);outline-offset:2px}
.ff-checkout button:disabled{opacity:.6;cursor:not-allowed}
.ff-coupon-result{color:var(--ff-text-secondary);font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
.ff-coupon-result:not(:empty){margin-top:.625rem}
.ff-coupon-result.is-error{color:var(--ff-danger)}
.ff-coupon-preview .ff-coupon-notice{margin:1rem 0 0}
.ff-checkout-prices{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--ff-border)}
.ff-coupon-summary{margin:.75rem 0 0}
.ff-coupon-summary>div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0}
.ff-coupon-summary dt{font-weight:400;color:var(--ff-text-secondary)}
.ff-coupon-summary dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.ff-coupon-summary>div:last-child{margin-top:.35rem;padding-top:.75rem;border-top:1px solid var(--ff-border);font-weight:750}
.ff-coupon-applied{margin-top:1rem}
.ff-checkout [hidden]{display:none!important}
.ff-checkout-payment p{margin:.75rem 0 1.25rem;color:var(--ff-text-secondary);font-size:.875rem}
.ff-checkout-payment button{width:100%}
@media(max-width:600px){.ff-checkout{margin-top:1.75rem}.ff-checkout h1{font-size:1.9rem}.ff-checkout .ff-panel{padding:1.125rem}.ff-checkout-plan{align-items:flex-start;flex-direction:column}.ff-checkout-plan-price{text-align:left;grid-template-columns:1fr auto;width:100%;align-items:center}.ff-checkout-duration span{display:block;margin-top:.3rem}.ff-coupon-entry{flex-direction:column}.ff-coupon-entry button{width:100%}}

/* Native radio cards: exact merchant values, with visible currency/network labels. */
.ff-currency-selector{min-width:0;margin:0;padding:0;border:0}
.ff-currency-selector legend{float:none;width:auto;margin:0 0 .75rem;padding:0;border:0;color:var(--ff-text-primary);font-size:.875rem;font-weight:600;line-height:1.5}
.ff-currency-options{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.625rem}
.ff-currency-choice{position:relative;display:block;min-width:0;margin:0;cursor:pointer}
.ff-currency-choice input{position:absolute;width:1px;height:1px;opacity:0}
.ff-currency-card{display:flex;align-items:center;justify-content:center;gap:.625rem;min-height:3.75rem;padding:.65rem .75rem;border:1px solid var(--ff-border);border-radius:.65rem;background:var(--ff-surface,var(--ff-bg-surface));color:var(--ff-text-primary);font-size:.875rem;font-weight:650;white-space:nowrap}
.ff-currency-card img{display:block;width:1.75rem;height:1.75rem;object-fit:contain;flex-shrink:0}
.ff-currency-choice:hover .ff-currency-card{border-color:var(--ff-brand-primary)}
.ff-currency-choice input:checked+.ff-currency-card{border-color:var(--ff-brand-primary);box-shadow:inset 0 0 0 1px var(--ff-brand-primary);background:var(--ff-selection-bg);color:var(--ff-accent-text)}
.ff-currency-choice input:focus-visible+.ff-currency-card{outline:2px solid var(--ff-focus);outline-offset:3px}
@media(max-width:600px){.ff-currency-options{gap:.5rem}.ff-currency-card{flex-direction:column;gap:.4rem;min-height:5rem;padding:.6rem .25rem;font-size:.75rem}}

.ff-checkout .ff-wallet-fee-note{color:var(--ff-text-secondary);font-size:.75rem;line-height:1.6;margin-top:-.5rem}
.ff-payment-amount{margin:1.25rem 0;padding:1rem;border:1px solid var(--ff-border);border-radius:.65rem;background:var(--ff-selection-bg)}
.ff-payment-amount strong{display:block;margin-top:.5rem;font-size:1.5rem;line-height:1.4;color:var(--ff-accent-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
