.payment-page { min-height: 100vh; padding: calc(var(--header-height) + 70px) 0 90px; background: radial-gradient(circle at 0 0, #eaeaea 0, #e3c2ed 32%, transparent 58%), linear-gradient(145deg, #fdfbfc, #efe2f2); }
.payment-heading { max-width: 920px; margin-bottom: 40px; }
.payment-heading h1 { font-size: clamp(3.7rem, 8vw, 6.8rem); }
.payment-heading > p:not(.eyebrow) { max-width: 760px; color: var(--muted); }
.payment-notice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-bottom: 26px; padding: 22px 26px; border: 1px solid var(--purple-200); border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: var(--shadow-sm); backdrop-filter: blur(16px); }
.payment-notice img { width: 64px; height: 64px; object-fit: contain; }
.payment-notice h2 { font-size: 1.75rem; }
.payment-notice p { margin: 4px 0 0; color: var(--muted); font-size: .75rem; }
.payment-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(380px, 1.05fr); gap: 26px; align-items: start; }
.payment-card { padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(215,187,222,.86); border-radius: 34px; background: rgba(255,255,255,.91); box-shadow: var(--shadow-lg); backdrop-filter: blur(18px); }
.payment-card h2 { font-size: clamp(2.5rem, 5vw, 4rem); }
.payment-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.payment-fields .field--wide { grid-column: 1 / -1; }
.payment-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 24px 0; }
.payment-summary div { padding: 18px; border: 1px solid var(--purple-100); border-radius: 18px; background: var(--purple-50); }
.payment-summary span, .payment-summary strong { display: block; }
.payment-summary span { color: var(--muted); font-size: .68rem; }
.payment-summary strong { margin-top: 5px; color: var(--purple-800); font-size: 1.1rem; }
.payment-total { padding: 19px 22px; border-radius: 18px; color: #fff; background: var(--gradient); text-align: center; }
.payment-card .button { width: 100%; margin-top: 15px; }
.payment-message { display: none; margin: 16px 0; padding: 15px 17px; border-radius: 14px; color: var(--purple-800); background: var(--purple-50); font-size: .75rem; }
.secure-payment { display: none; margin-top: 26px; }
.secure-payment--enhanced { position: relative; overflow: hidden; border-color: rgba(158,105,174,.5); background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(248,243,249,.94)); }
.secure-payment--enhanced::before { content: ""; position: absolute; width: 250px; height: 250px; top: -125px; right: -90px; border-radius: 50%; background: radial-gradient(circle, rgba(203,108,230,.18), transparent 68%); pointer-events: none; }
.secure-payment__heading { display: grid; grid-template-columns: 56px 1fr; gap: 17px; align-items: center; margin-bottom: 28px; }
.secure-payment__heading img { width: 56px; height: 56px; object-fit: contain; }
.payment-step-note { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 13px; align-items: center; margin: -8px 0 24px; padding: 15px 17px; border: 1px solid var(--purple-100); border-radius: 17px; background: rgba(255,255,255,.82); }
.payment-step-note > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gradient); font-weight: 800; }
.payment-step-note p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.payment-step-note strong { display: block; color: var(--purple-900); font-size: .75rem; }
.card-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.card-form-grid .field--wide { grid-column: 1 / -1; }
.cvv-field-enhanced { align-content: start; }
.cvv-help { display: grid; grid-template-columns: 46px 1fr; gap: 10px; align-items: center; margin-top: 10px; padding: 10px 12px; border: 1px solid var(--purple-100); border-radius: 14px; color: var(--muted); background: rgba(248,243,249,.92); font-size: .61rem; line-height: 1.42; }
.cvv-help img { width: 46px; height: 34px; object-fit: contain; }
.cvv-help strong { display: block; color: var(--purple-800); font-size: .65rem; }
.card-errors { display: none; grid-template-columns: 1fr; gap: 4px; margin-top: 16px; padding: 16px 18px 16px 48px; border: 1px solid rgba(123,39,50,.16); border-radius: 16px; color: #6f2735; background: #fff0f3; box-shadow: 0 12px 28px rgba(123,39,50,.08); }
.card-errors::before { content: "!"; position: absolute; width: 26px; height: 26px; display: grid; place-items: center; margin: 0 0 0 -34px; border-radius: 50%; color: #fff; background: #8f3d52; font-size: .74rem; font-weight: 900; }
.card-errors.is-warning { color: #6d4b12; border-color: rgba(167,121,37,.22); background: #fff9e9; }
.card-errors.is-warning::before { background: #a77925; }
.card-errors strong, .card-errors span { display: block; }
.card-errors strong { font-size: .72rem; }
.card-errors span { font-size: .68rem; line-height: 1.5; }
.openpay-trust { display: grid; grid-template-columns: minmax(105px, 150px) 1fr; gap: 18px; align-items: center; margin-top: 24px; padding: 18px 20px; border: 1px solid rgba(189,145,200,.42); border-radius: 20px; background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(237,225,240,.72)); }
.openpay-trust img { width: 100%; max-height: 50px; object-fit: contain; }
.openpay-trust p { margin: 0; color: var(--muted); font-size: .66rem; line-height: 1.5; }
.openpay-trust strong { display: block; color: var(--purple-800); font-size: .75rem; }
.payment-success { display: none; padding: 26px; border: 1px solid #bdd9ca; border-radius: 24px; color: #24573d; background: #edf8f1; }
.payment-success h3 { color: #24573d; }
.payment-safety { margin-top: 28px; padding: 20px; border-left: 4px solid #b9892d; border-radius: 14px; background: #fff9e9; font-size: .74rem; }
@media (max-width: 900px) { .payment-layout { grid-template-columns: 1fr; } .payment-notice { grid-template-columns: auto 1fr; } .payment-notice .button { grid-column: 1 / -1; width: 100%; } }
@media (max-width: 580px) { .payment-page { padding-top: calc(var(--header-height) + 45px); } .payment-fields, .card-form-grid, .payment-summary { grid-template-columns: 1fr; } .payment-fields .field--wide, .card-form-grid .field--wide { grid-column: auto; } .payment-notice { grid-template-columns: 1fr; } }

.document-content { min-height: 100vh; padding: calc(var(--header-height) + 58px) 0 92px; background: radial-gradient(circle at 8% 0, rgba(227,194,237,.92), transparent 36%), linear-gradient(145deg, #2b1434 0 32%, #f4ebf6 32% 100%); }
.document-layout { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(0, 1.25fr); gap: 34px; align-items: start; }
.document-intro { position: sticky; top: calc(var(--header-height) + 35px); padding: clamp(30px, 4vw, 54px); border: 1px solid rgba(255,255,255,.24); border-radius: 34px; color: rgba(255,255,255,.84); background: linear-gradient(145deg, rgba(59,27,73,.96), rgba(105,51,122,.9)); box-shadow: 0 28px 70px rgba(29,16,37,.28); }
.document-intro h1 { margin-bottom: 20px; color: #fff; font-size: clamp(3rem, 6vw, 5rem); line-height: .93; }
.document-intro a { color: #fff; font-weight: 700; }
.document-security { display: grid; grid-template-columns: 64px 1fr; gap: 17px; align-items: center; margin-top: 30px; padding: 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 20px; background: rgba(255,255,255,.1); }
.document-security img { width: 64px; height: 64px; padding: 7px; object-fit: contain; border-radius: 16px; background: rgba(255,255,255,.88); }
.document-security strong, .document-security span { display: block; }
.document-security span { margin-top: 4px; font-size: .7rem; line-height: 1.45; }
.document-help { margin: 25px 0 0; font-size: .76rem; }
.document-form-card { padding: clamp(28px, 5vw, 58px); border: 1px solid rgba(255,255,255,.88); border-radius: 36px; background: rgba(253,251,252,.94); box-shadow: 0 24px 65px rgba(59,27,73,.17); backdrop-filter: blur(18px); }
.document-form-card h2 { font-size: clamp(2.7rem, 5vw, 4.5rem); }
.document-form-note { max-width: 670px; color: var(--muted); }
.document-form { margin-top: 30px; }
.document-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.document-fields .field--wide { grid-column: 1 / -1; }
.document-fields .field > span, .file-field span { color: var(--muted); font-size: .62rem; font-weight: 500; }
.document-upload-group { margin: 30px 0 22px; padding: 24px; border: 1px solid var(--purple-200); border-radius: 24px; background: linear-gradient(145deg, #fff, #f4ebf6); }
.document-upload-group legend { padding: 0 8px; color: var(--purple-800); font-family: "Cormorant Garamond", serif; font-size: 1.65rem; font-weight: 700; }
.document-upload-group > p { margin-top: 0; color: var(--muted); font-size: .7rem; }
.file-field { min-height: 130px; display: flex; flex-direction: column; justify-content: center; padding: 20px; border: 1px dashed var(--purple-300); border-radius: 18px; color: var(--purple-800); background: rgba(255,255,255,.74); font-size: .75rem; font-weight: 700; }
.file-field input { width: 100%; margin-top: 12px; color: var(--muted); font-size: .68rem; }
.document-consent { display: flex; gap: 11px; align-items: flex-start; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.document-consent input { margin-top: 3px; accent-color: var(--purple-700); }
.document-submit { width: 100%; margin-top: 22px; }
.document-status { display: none; margin-top: 18px; padding: 16px 18px; border-radius: 16px; font-size: .75rem; }
.document-status.is-success, .document-status.is-error, .document-status.is-ready { display: block; }
.document-status.is-success { color: #24573d; background: #edf8f1; }
.document-status.is-error { color: #7b2732; background: #fbe8ec; }
.document-status.is-ready { color: var(--purple-800); border: 1px solid var(--purple-100); background: var(--purple-50); }

@media (max-width: 920px) {
  .document-content { background: linear-gradient(180deg, #3b1b49 0 430px, #f4ebf6 430px); }
  .document-layout { grid-template-columns: 1fr; }
  .document-intro { position: relative; top: auto; }
}
@media (max-width: 620px) {
  .document-content { padding-top: calc(var(--header-height) + 35px); }
  .document-layout { gap: 20px; }
  .document-intro, .document-form-card { padding: 26px 22px; border-radius: 26px; }
  .document-fields { grid-template-columns: 1fr; }
  .document-fields .field--wide { grid-column: auto; }
  .document-upload-group { padding: 20px 16px; }
}

.return-page { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(circle at 20% 0, #e3c2ed, transparent 42%), linear-gradient(145deg, #fdfbfc, #eadbec); }
.return-page .header-shell { grid-template-columns: auto 1fr; }
.return-header-label { justify-self: end; color: var(--purple-800); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.return-content { flex: 1; display: grid; place-items: center; width: min(100% - 32px, 820px); margin: 0 auto; padding: calc(var(--header-height) + 70px) 0 80px; }
.return-card { width: 100%; padding: clamp(30px, 6vw, 64px); border: 1px solid rgba(255,255,255,.9); border-radius: 38px; background: rgba(253,251,252,.92); box-shadow: 0 30px 80px rgba(59,27,73,.2); text-align: center; backdrop-filter: blur(18px); }
.return-card h1 { font-size: clamp(3rem, 8vw, 5.7rem); line-height: .92; }
.return-icon { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; color: #fff; background: var(--purple-700); font-size: 2rem; font-weight: 800; box-shadow: 0 15px 30px rgba(59,27,73,.22); }
.return-card--success .return-icon { background: #397456; }
.return-card--warning .return-icon { background: #a77925; }
.return-card--error .return-icon { background: #7b3b58; }
.return-message { max-width: 650px; margin: 18px auto 0; color: var(--muted); }
.return-details { display: grid; gap: 10px; max-width: 620px; margin: 28px auto 0; text-align: left; }
.return-details div { display: grid; grid-template-columns: 140px 1fr; gap: 18px; padding: 14px 17px; border: 1px solid var(--purple-100); border-radius: 15px; background: var(--purple-50); }
.return-details dt { color: var(--muted); font-size: .68rem; }
.return-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--purple-800); font-size: .72rem; font-weight: 700; }
.return-actions { display: flex; justify-content: center; margin-top: 28px; }
.return-help { margin: 28px 0 0; color: var(--muted); font-size: .68rem; }
.return-help a { color: var(--purple-700); font-weight: 700; }
@media (max-width: 560px) { .return-details div { grid-template-columns: 1fr; gap: 4px; } .return-actions .button { width: 100%; } }

@media (max-width: 580px) {
  .openpay-trust { grid-template-columns: 1fr; text-align: center; }
  .openpay-trust img { width: min(170px, 70%); margin: 0 auto; }
  .payment-step-note { grid-template-columns: 34px 1fr; }
}
