.checkout { width: min(100%, 44rem); margin: 0 auto; padding: 8rem 1.25rem 3rem; }
.checkout-header { margin-bottom: 2rem; }
.checkout-header h1 { margin: 1rem 0; font-size: clamp(1.75rem, 5vw, 2.5rem); }
.checkout-header p, .checkout-days, .checkout-once, .checkout-security, .checkout-footer { color: var(--text-300); }
.checkout-back { color: var(--text-200); font-size: 0.875rem; }
.checkout-card { padding: 2rem; background: var(--bg-800); border: 1px solid var(--border); border-radius: var(--radius); }
.checkout-card h2 { margin-bottom: 1.5rem; font-family: var(--font-body); font-size: 1.25rem; }
.checkout-label { display: block; margin-bottom: 0.5rem; font-weight: 500; }
.checkout select { width: 100%; min-height: 3rem; padding: 0.75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-600); color: var(--text-100); font: inherit; }
.checkout-days { margin-top: 0.5rem; font-size: 0.875rem; }
.checkout-total { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.checkout-total strong { color: var(--gold-300); font-size: 2.5rem; line-height: 1.25; }
.checkout-total small { font-size: 1rem; }
.checkout-once { margin-top: 0.5rem; font-size: 0.875rem; }
.checkout-activation { margin: 1.5rem 0; padding: 1rem; background: var(--bg-600); border-left: 2px solid var(--gold-400); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.checkout-activation h3 { font-family: var(--font-body); font-size: 1rem; margin-bottom: 0.5rem; }
.checkout-activation p + p { margin-top: 0.75rem; }
.checkout-activation p { color: var(--text-200); font-size: 0.875rem; }
.checkout a:not(.btn):not(.nav-logo) { text-decoration: underline; text-underline-offset: 0.2em; }
.checkout-consent { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.875rem; color: var(--text-200); cursor: pointer; }
.checkout-consent input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: 0.125rem; accent-color: var(--gold-400); }
.checkout-pay { width: 100%; justify-content: center; margin-top: 1.5rem; white-space: normal; text-align: center; }
.checkout-pay:disabled { opacity: 0.5; cursor: not-allowed; }
.checkout-security { margin-top: 1rem; text-align: center; font-size: 0.8125rem; }
.checkout-result { margin-bottom: 1.5rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text-200); }
.checkout-new { display: block; margin-top: 1rem; text-align: center; font-size: 0.875rem; }
.checkout-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem 1.5rem; margin-top: 1.5rem; font-size: 0.8125rem; text-align: center; }
.checkout-footer p { width: 100%; }
.checkout-noscript { margin-top: 1rem; }
.checkout [hidden] { display: none; }
.checkout :focus-visible, .checkout-back:focus-visible { outline: 2px solid var(--gold-300); outline-offset: 4px; }
@media (width <= 480px) {
  .checkout { padding: 7rem 1rem 2rem; }
  .checkout-card { padding: 1.25rem; }
  .checkout-header { margin-bottom: 1.5rem; }
}
