.btpay-checkout {
    --btpay-gold: var(--tc-theme-primary, #c09867);
    --btpay-navy: var(--tc-theme-secondary, #001448);
    --btpay-muted: var(--tc-body-color, #6f7682);
    min-height: 70vh;
    padding: clamp(80px, 9vw, 130px) 20px 90px;
    background: linear-gradient(145deg, #f7f8fb 0%, #fff 52%, #f7efe5 100%);
    font-family: var(--tc-body-font-family, 'Sora', sans-serif);
}
.btpay-checkout *, .btpay-checkout *::before, .btpay-checkout *::after { box-sizing: border-box; }
.btpay-checkout__shell { max-width: 1160px; margin: 0 auto; }
.btpay-checkout__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.btpay-checkout__back { display: inline-block; margin-bottom: 25px; color: var(--btpay-navy); font-size: 14px; font-weight: 600; text-decoration: none; }
.btpay-checkout__eyebrow { display: block; margin-bottom: 8px; color: var(--btpay-gold); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.btpay-checkout h1 { margin: 0; color: var(--btpay-navy); font-family: var(--tc-heading-font-family, 'Martel', serif); font-size: clamp(34px, 5vw, 56px); line-height: 1.15; }
.btpay-languages { display: flex; gap: 3px; padding: 4px; border: 1px solid #dce1e8; border-radius: 999px; background: #fff; }
.btpay-languages a { padding: 8px 13px; border-radius: 999px; color: var(--btpay-muted); font-size: 12px; font-weight: 600; text-decoration: none; }
.btpay-languages a.is-active { background: var(--btpay-navy); color: #fff; }
.btpay-checkout__grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; align-items: start; }
.btpay-checkout__form, .btpay-checkout__summary { border: 1px solid rgba(0,20,72,.1); border-radius: 20px; background: #fff; box-shadow: 0 16px 45px rgba(0,20,72,.07); }
.btpay-checkout__form { padding: clamp(22px, 4vw, 42px); }
.btpay-step { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 16px; padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid #e5e8ed; }
.btpay-step__number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #f3e8d9; color: #8d6232; font-weight: 700; }
.btpay-step h2 { margin: 3px 0 15px; color: var(--btpay-navy); font-size: 18px; }
.btpay-step p { margin: -7px 0 14px; color: var(--btpay-muted); font-size: 13px; }
.btpay-step select, .btpay-checkout__field input, .btpay-email-row input { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid #cfd5de; border-radius: 9px; color: var(--btpay-navy); background: #fff; }
.btpay-fixed-value { display: flex; gap: 9px; align-items: flex-start; padding: 13px 14px; border: 1px solid #d9dee6; border-radius: 9px; background: #f7f9fc; color: var(--btpay-navy); line-height: 1.5; }
.btpay-checkout__amounts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.btpay-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.btpay-checkout__amounts label, .btpay-choice-grid label { position: relative; margin: 0; cursor: pointer; }
.btpay-checkout__amounts input, .btpay-choice-grid input { position: absolute; opacity: 0; }
.btpay-checkout__amounts span, .btpay-choice-grid span { display: grid; place-items: center; min-height: 48px; padding: 9px; border: 1px solid #d4d9e1; border-radius: 9px; color: var(--btpay-navy); text-align: center; font-size: 13px; font-weight: 600; }
.btpay-checkout__amounts input:checked + span, .btpay-choice-grid input:checked + span { border-color: var(--btpay-gold); background: #fbf5ed; box-shadow: inset 0 0 0 1px var(--btpay-gold); }
.btpay-checkout__field { display: flex; flex-direction: column; gap: 7px; margin-top: 15px; color: var(--btpay-navy); font-size: 13px; font-weight: 600; }
.btpay-checkout__field small { color: var(--btpay-muted); font-weight: 400; }
.btpay-custom-purpose[hidden] { display: none !important; }
.btpay-custom-purpose { padding: 14px; border: 1px solid #e1d4c4; border-radius: 9px; background: #fcf7f0; }
.btpay-checkout__unit { display: flex; align-items: center; overflow: hidden; border: 1px solid #cfd5de; border-radius: 9px; }
.btpay-checkout__unit input { border: 0; border-radius: 0; }
.btpay-checkout__unit b { padding: 0 14px; color: var(--btpay-muted); }
.btpay-checkout__subheading { margin-top: 24px !important; }
.btpay-email-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.btpay-email-row button { padding: 10px 16px; border: 0; border-radius: 9px; background: var(--btpay-gold); color: #fff; cursor: pointer; font-weight: 700; opacity: 1; }
.btpay-email-row button:hover, .btpay-email-row button:focus-visible, .btpay-email-row button:active { color: #fff; background: var(--btpay-gold); }
.btpay-email-row button:disabled { cursor: not-allowed; opacity: .55; }
.btpay-step .btpay-email-sent { margin: 12px 0 0; padding: 11px 13px; border: 1px solid #b9dbc6; border-radius: 8px; color: #235c3b; background: #eef8f1; font-size: 12px; font-weight: 600; line-height: 1.55; }
.btpay-step .btpay-email-sent.is-error { border-color: #e6b8b8; color: #8a2424; background: #fff2f2; }
.btpay-email-sent[hidden] { display: none !important; }
.btpay-email-countdown { display: block; margin-top: 5px; color: #164d30; font-variant-numeric: tabular-nums; }
.btpay-verify-status { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; padding: 8px 10px; border-radius: 7px; background: #fff4df; color: #8c6116; font-size: 12px; font-weight: 600; }
.btpay-documents { display: grid; gap: 10px; }
.btpay-document-group { display: grid; gap: 7px; }
.btpay-document-group h3 { margin: 5px 0 0; color: var(--btpay-navy); font-size: 13px; }
.btpay-document-group__versions { display: grid; gap: 7px; }
.btpay-document { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid #d8dde5; border-radius: 10px; color: var(--btpay-navy); text-decoration: none; transition: border-color .2s ease, background .2s ease; }
.btpay-document:hover { border-color: var(--btpay-gold); color: var(--btpay-navy); background: #fcf7f0; }
.btpay-document--pending { color: var(--btpay-muted); background: #fafbfd; }
.btpay-document--pending .btpay-document__icon { opacity: .58; }
.btpay-document__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 9px; background: #f9e9e9; color: #a72d35; }
.btpay-document__icon { font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.btpay-symbol { flex: 0 0 auto; font-weight: 800; }
.btpay-document__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.btpay-document__text strong { font-size: 13px; }
.btpay-document__text small { color: var(--btpay-muted); font-size: 11px; }
.btpay-document__action { color: #39588a; font-size: 11px; font-weight: 700; white-space: nowrap; }
.btpay-checkout__consent { display: flex; gap: 9px; align-items: flex-start; color: var(--btpay-muted); font-size: 12px; line-height: 1.5; }
.btpay-checkout__pay { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 54px; margin-top: 18px; padding: 13px 19px; border: 0; border-radius: 999px; background: var(--btpay-navy); color: #fff; font-weight: 700; opacity: .42; }
.btpay-checkout__pay:not(:disabled) { cursor: pointer; opacity: 1; }
.btpay-checkout__pay:disabled { cursor: not-allowed; }
.btpay-checkout__error { margin-bottom: 24px; padding: 13px 15px; border: 1px solid #e8b9b9; border-radius: 9px; color: #8a2525; background: #fff1f1; font-size: 13px; }
.btpay-checkout__disabled, .btpay-checkout__prototype { margin: 9px 0 0; text-align: center; font-size: 12px; }
.btpay-checkout__disabled { color: #9a5c18; }
.btpay-checkout__prototype { color: var(--btpay-muted); }
.btpay-checkout__summary { position: sticky; top: 120px; padding: 25px; }
.btpay-checkout__summary > span { color: var(--btpay-gold); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.btpay-checkout__summary h2 { margin: 9px 0 22px; color: var(--btpay-navy); font-family: var(--tc-heading-font-family, 'Martel', serif); font-size: 22px; line-height: 1.4; }
.btpay-checkout__summary dl { margin: 0; }
.btpay-checkout__summary dl div { padding: 12px 0; border-top: 1px solid #e6e9ee; }
.btpay-checkout__summary dt { color: var(--btpay-muted); font-size: 11px; }
.btpay-checkout__summary dd { margin: 4px 0 0; color: var(--btpay-navy); font-size: 13px; font-weight: 600; }
.btpay-checkout__secure { display: flex; gap: 10px; align-items: center; margin-top: 20px; padding: 13px; border-radius: 9px; background: #eef5f0; color: #246542; }
.btpay-checkout__secure p { margin: 0; font-size: 12px; font-weight: 700; }
.btpay-checkout__secure small { display: block; margin-top: 3px; color: #56806a; font-weight: 400; }
.btpay-payment-security, .btpay-confirmation-notice { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e6e9ee; }
.btpay-verify-status--success { color: #167443; background: #e8f7ee; }
.btpay-verify-status--error { color: #8a2424; background: #fff2f2; }
.btpay-payment-security h3, .btpay-confirmation-notice h3 { margin: 0 0 11px; color: var(--btpay-navy); font-size: 13px; line-height: 1.35; }
.btpay-payment-security > p, .btpay-confirmation-notice p { margin: 10px 0 0; color: var(--btpay-muted); font-size: 11px; line-height: 1.55; }
.btpay-payment-brands { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.btpay-brand { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 6px 7px; border: 1px solid #d8dde5; border-radius: 8px; background: #fff; color: #172a70; font-style: normal; line-height: 1; }
.btpay-brand--visa { font-family: Arial, sans-serif; font-size: 20px; font-weight: 900; font-style: italic; letter-spacing: -.08em; }
.btpay-brand--visa-secure { flex-direction: column; font-family: Arial, sans-serif; }
.btpay-brand--visa-secure b { font-size: 15px; font-style: italic; letter-spacing: -.07em; }
.btpay-brand small { display: block; margin-top: 3px; color: #3f4757; font-size: 8px; font-weight: 700; letter-spacing: .01em; }
.btpay-brand--mastercard, .btpay-brand--identity { gap: 5px; color: #161616; }
.btpay-brand--mastercard i, .btpay-brand--identity > i { position: relative; display: block; width: 30px; height: 19px; flex: 0 0 30px; }
.btpay-brand--mastercard i b, .btpay-brand--identity > i b { position: absolute; top: 1px; width: 18px; height: 18px; border-radius: 50%; background: #eb001b; }
.btpay-brand--mastercard i b + b, .btpay-brand--identity > i b + b { right: 0; background: #f79e1b; opacity: .92; }
.btpay-brand em { font-family: Arial, sans-serif; font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: -.04em; }
.btpay-brand--identity > span { display: flex; flex-direction: column; }
.btpay-brand--identity small { margin-top: 2px; }
.btpay-result { min-height: 70vh; }
.btpay-result .btpay-checkout__shell { display: grid; place-items: center; }
.btpay-result__card { width: min(680px, 100%); padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(0,20,72,.1); border-radius: 20px; background: #fff; box-shadow: 0 16px 45px rgba(0,20,72,.07); text-align: center; }
.btpay-result__icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 20px; border-radius: 50%; color: #fff; background: #a46d22; font-size: 28px; font-weight: 800; }
.btpay-result__card--success .btpay-result__icon { background: #197345; }
.btpay-result__card--failed .btpay-result__icon { background: #a52f35; }
.btpay-result__thanks { margin-top: 20px; color: var(--btpay-navy); font-weight: 600; line-height: 1.5; }
.btpay-result__thanks p { margin: 4px 0; }
.btpay-result__guidance { margin-top: 18px; padding: 12px 14px; border-radius: 9px; color: #7b4c0d; background: #fff4df; font-weight: 600; }
.btpay-result__details { margin: 28px 0 0; text-align: left; }
.btpay-result__details div { display: grid; grid-template-columns: minmax(140px, .7fr) 1fr; gap: 16px; padding: 12px 0; border-top: 1px solid #e6e9ee; }
.btpay-result__details dt { color: var(--btpay-muted); }
.btpay-result__details dd { margin: 0; color: var(--btpay-navy); font-weight: 600; overflow-wrap: anywhere; }
.btpay-result__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; }
.btpay-result__button { padding: 11px 18px; border-radius: 999px; color: #fff; background: var(--btpay-navy); text-decoration: none; font-weight: 700; }
.btpay-result__button--secondary { border: 1px solid #d7dce4; color: var(--btpay-navy); background: #fff; }
@media (max-width: 850px) {
    .btpay-checkout__header { align-items: flex-start; flex-direction: column; }
    .btpay-checkout__grid { grid-template-columns: 1fr; }
    .btpay-checkout__summary { position: static; }
}
@media (max-width: 560px) {
    .btpay-checkout { padding: 70px 12px 55px; }
    .btpay-languages { width: 100%; }
    .btpay-languages a { flex: 1; text-align: center; }
    .btpay-checkout__form { padding: 20px 15px; border-radius: 15px; }
    .btpay-step { grid-template-columns: 1fr; }
    .btpay-step__number { width: 28px; height: 28px; }
    .btpay-choice-grid, .btpay-email-row { grid-template-columns: 1fr; }
    .btpay-document { grid-template-columns: 38px minmax(0, 1fr); }
    .btpay-document__action { grid-column: 2; }
    .btpay-result__details div { grid-template-columns: 1fr; gap: 4px; }
}
