/* V28 additions: payment requests, keyboard readability and responsive layout */
.v28-payment{background:#f3f8f9;color:#183340}
.v28-payment-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,440px);gap:clamp(24px,5vw,64px);align-items:start}
.v28-payment-form{display:grid;gap:11px;padding:26px;background:#fff;color:#183340;border:1px solid #d3e0e4;border-radius:16px;box-shadow:0 8px 24px #15394612}
.v28-payment-form h3{margin:0 0 6px;color:#173744}
.v28-payment-form label{font-weight:700;color:#183340}
.v28-payment-form input,.v28-payment-form select{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid #809da7;border-radius:8px;background:#fff;color:#173744;font:inherit}
.v28-payment-form input:focus-visible,.v28-payment-form select:focus-visible,.v28-payment-form button:focus-visible,.v28-home-payment a:focus-visible{outline:3px solid #007a91;outline-offset:3px}
.v28-payment-note{border-left:4px solid #14a99e;padding:12px 15px;background:#e2f2f0;color:#183340}
.v28-payment-help{font-size:.9rem;color:#475c66;margin:0}
.v28-payment-error{color:#9d1b1b}
.v28-home-payment{text-align:center;background:#eaf3f4}
.v28-home-payment .container{max-width:760px}
.v28-home-payment p{margin-bottom:20px}
@media(max-width:760px){.v28-payment-grid{grid-template-columns:1fr}.v28-payment-form{padding:20px}.v28-payment{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
