.vpn-checkout { max-width: 440px; width: 100%; margin: 70px auto; padding: 0 20px; }
.vpn-checkout, .vpn-checkout * { box-sizing: border-box; }
.vpn-checkout [hidden] { display: none !important; }
.vpn-checkout .vpn-checkout-card { padding: 40px 36px; border: 1px solid var(--vpn-border, #1f2940); border-radius: 16px; background: var(--vpn-card, #131a2e); color: var(--vpn-muted, #8b93a7); text-align: center; }
.vpn-checkout .vpn-checkout-card h1, .vpn-checkout .vpn-checkout-card h2 { font-size: 24px; line-height: 1.4; margin: 0 0 16px; color: var(--vpn-text, #fff); }
.vpn-checkout .vpn-checkout-card h2:focus { outline: none; }
.vpn-checkout .vpn-checkout-card p { font-size: 15px; line-height: 1.6; }
.vpn-checkout .vpn-checkout-card .vpn-checkout-price { font-size: 2rem; font-weight: 700; }
.vpn-checkout .vpn-checkout-price span { font-size: 1rem; font-weight: 400; }
.vpn-checkout .vpn-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 14px 20px; margin-top: 12px; border: 1px solid var(--vpn-border, #1f2940); border-radius: 8px; background: transparent; color: var(--vpn-text, #fff); font: inherit; cursor: pointer; text-decoration: none; }
.vpn-checkout .vpn-btn-block { display: flex; width: 100%; box-sizing: border-box; }
.vpn-checkout .vpn-btn-primary { background: linear-gradient(135deg, #22d3ee, #0891b2); border: 0; color: #04121a; font-size: 15px; font-weight: 600; }
.vpn-checkout .vpn-btn:focus-visible { outline: 3px solid #e69100; outline-offset: 3px; }
.vpn-checkout [data-qr-image-link]:focus-visible { outline: 3px solid #e69100; outline-offset: 3px; }
.vpn-checkout .vpn-btn:disabled { opacity: .65; cursor: wait; }
.vpn-checkout .vpn-qr-image { display: block; margin: 16px auto; padding: 12px; border-radius: 8px; background: #fff; width: min(100%, 280px); height: auto; aspect-ratio: 1; }
.vpn-checkout .vpn-checkout-error { color: #f87171; padding: 12px; background: var(--vpn-card, #131a2e); border-radius: 8px; }
.vpn-checkout .vpn-checkout-hint { font-size: .875rem; color: var(--vpn-muted, #8b93a7); overflow-wrap: anywhere; }
@media (max-width: 420px) { .vpn-checkout .vpn-checkout-card { padding: 20px 16px; } }
