/* Payment layouts use ELAB UI Kit typography, colour and button tokens. */
.elab-payment-page{margin:0;min-height:100vh;background:var(--elab-bg-soft,#f1f3f4);color:var(--elab-text,#1a1a1a);font-family:var(--elab-font-body,'Plus Jakarta Sans',sans-serif)}
.elab-payment-shell{max-width:660px;margin:clamp(16px,5vh,64px) auto;padding:0 16px}
.elab-payment-card{border:1px solid var(--elab-border,#e5e7eb);border-radius:var(--elab-radius-xl,16px);background:white;overflow:hidden;box-shadow:var(--elab-shadow-md)}
.elab-payment-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;background:var(--elab-dark,#012230);color:#fff}
.elab-payment-brand img{display:block;width:140px;height:auto}
.elab-payment-brand span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.elab-payment-content{padding:clamp(24px,5vw,40px)}
.elab-payment-content h1{font-family:var(--elab-font-display,'Fraunces',Georgia,serif);font-size:clamp(30px,7vw,42px);line-height:1.15;margin:10px 0 24px}
.elab-payment-content p{overflow-wrap:anywhere;line-height:1.7}
.elab-payment-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--elab-green-darker,#2d5f02);text-transform:uppercase}
.elab-payment-status{background:var(--elab-green-soft,#f0f9e8);border-left:4px solid var(--elab-green,#4a9f04);padding:16px 20px;border-radius:8px;margin:24px 0;font-weight:600}
.elab-payment-notice{background:#fff5d6;padding:14px;border-radius:8px}
.elab-payment-footer{text-align:center;font-size:12px;color:var(--elab-text-secondary,#4b5563);padding:24px 10px}
.elab-payment-dialog{padding:0;border:1px solid var(--elab-border,#e5e7eb);border-radius:16px;width:calc(100% - 32px);max-width:500px;box-sizing:border-box;box-shadow:var(--elab-shadow-lg);color:var(--elab-text,#1a1a1a)}
.elab-payment-dialog::backdrop{background:rgba(1,34,48,.7)}
.elab-payment-dialog__content{padding:32px;text-align:center}
.elab-payment-dialog h2{font-family:var(--elab-font-display,'Fraunces',Georgia,serif);font-size:30px;line-height:1.2}
.elab-payment-dialog p{line-height:1.65}
.elab-payment-spinner{display:inline-block;width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:var(--elab-green,#4a9f04);border-radius:50%;animation:elab-payment-spin 1s linear infinite}
@keyframes elab-payment-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.elab-payment-spinner{animation:none}}
@media(max-width:400px){.elab-payment-brand{padding:20px 24px}.elab-payment-brand img{width:115px}.elab-payment-brand span{font-size:10px}.elab-payment-content .elab-btn{width:100%;box-sizing:border-box}}
