.payment-checkout{min-height:calc(100vh - 76px);background:#f5f6f8}.payment-checkout .checkout{padding-top:44px;padding-bottom:82px}.payment-checkout .checkout-grid{grid-template-columns:minmax(0,760px) 340px;align-items:start;justify-content:space-between;gap:48px}.payment-main-content{min-width:0}.payment-booking-note{margin:0 0 22px;line-height:1.6}.payment-method-title{font-family:var(--tripcetera-sans);font-size:30px;font-weight:800;letter-spacing:0;color:#1c2b3a;margin:0 0 18px}.payment-methods-form{max-width:none}.payment-method-list{display:grid;gap:18px;margin:0 0 22px}.payment-method-card{position:relative;display:flex!important;align-items:flex-start!important;gap:16px;margin:0!important;padding:22px!important;border:1px solid #e7e9ec!important;border-radius:14px;background:#fff;color:var(--ink)!important;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.payment-method-card:hover:not(.is-unavailable):not(.is-selected){border-color:#c7ccd2!important}.payment-method-card.is-selected{border:2.5px solid var(--brand)!important;padding:21px!important;box-shadow:0 4px 14px rgba(232,100,59,.12)}.payment-method-card.is-unavailable{cursor:not-allowed;opacity:.55;background:#fafbfc}.payment-method-input{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.payment-method-radio{display:grid;flex:0 0 22px;place-items:center;width:22px;height:22px;margin-top:2px;border:2px solid #c4cad1;border-radius:50%;background:#fff}.payment-method-input:checked+.payment-method-radio{border:6.5px solid #2f7ff0}.payment-method-input:focus-visible+.payment-method-radio{outline:3px solid rgba(47,127,240,.25);outline-offset:3px}.payment-method-content{display:grid;min-width:0;flex:1;gap:16px}.payment-method-heading{display:flex;align-items:center;gap:14px;min-width:0}.payment-gateway-logo{display:flex;flex:0 0 auto;align-items:center;height:34px}.payment-method-copy{display:grid;gap:4px;min-width:0}.payment-method-copy strong{font-family:var(--tripcetera-sans);font-size:19px;font-weight:800;color:#182430;line-height:1.25}.payment-method-copy small{color:#7a8492;font-size:14px;line-height:1.3}.payment-unavailable{margin-left:auto;color:#9d5d19;font-size:12px;font-weight:700;text-align:right;white-space:nowrap}.payment-method-channels{display:grid;gap:12px;padding:16px 18px;border-radius:10px;background:#f4f5f7}.channel-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;row-gap:12px}.channel-row-secondary{margin-top:-2px}.channel-logo{display:inline-flex;align-items:center;gap:6px;font-family:Arial,sans-serif;line-height:1;white-space:nowrap}.brand-mark{display:inline-flex;align-items:center;gap:6px}.brand-mark-midtrans{gap:3px;color:#1b2a3a;font-weight:800}.brand-mark-midtrans i{display:inline-block;width:3px;height:19px;border-radius:2px;background:#57c7e0}.brand-mark-midtrans i:nth-child(2){height:24px;background:#2fa6cf}.brand-mark-midtrans i:nth-child(3){height:15px;background:#8fdcee}.brand-mark-midtrans b{margin-left:4px;font-size:13px;font-weight:700;letter-spacing:-.2px;color:#33424f}.brand-mark-card{display:grid;place-items:center;width:34px;height:26px;border-radius:5px;background:linear-gradient(135deg,#2a2f45,#454b66);color:#f0c34d;font-size:16px}.brand-mark-paypal{display:grid;place-items:center;width:26px;height:26px;color:#003087;font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:800;font-style:italic}.brand-mark-generic{color:var(--teal);font-size:12px;font-weight:700}.channel-mastercard{position:relative;width:38px;height:24px}.channel-mastercard i{position:absolute;top:1px;width:22px;height:22px;border-radius:50%;background:#eb001b;opacity:.92}.channel-mastercard i:last-child{left:14px;background:#f79e1b;opacity:.92;mix-blend-mode:multiply}.channel-visa{color:#1434cb;font-size:19px;font-style:italic;font-weight:800;letter-spacing:-.5px}.channel-gopay{color:#00aa13;font-size:16px;font-weight:800}.channel-qris{color:#4a2f8f;font-size:15px;font-weight:800;letter-spacing:-.3px}.channel-mandiri{color:#003d79;font-size:15px;font-weight:800;font-style:italic}.channel-bca{color:#0057a8;font-size:16px;font-weight:800;font-style:italic}.channel-bni{color:#f37021;font-size:15px;font-weight:800}.channel-bri{color:#00529c;font-size:15px;font-weight:800}.channel-bsi{color:#00854a;font-size:15px;font-weight:800}.channel-permata{color:#1a7a9b;font-size:14px;font-weight:700}.channel-other-bank{color:#4a5561;font-size:14px;font-weight:700}.payment-continue{display:block;width:100%;margin-top:6px!important;padding:17px 22px!important;border-radius:11px!important;background:var(--brand)!important;color:#fff!important;font-size:16px;font-weight:800;letter-spacing:.2px;border:0}.payment-continue:hover{background:#ce5030!important}.payment-security-summary{padding:29px!important;border-color:#e7e9ec!important;background:#fff}.payment-security-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff0ea;color:var(--brand);font-size:23px;font-weight:800}.payment-security-summary h2{margin:15px 0 10px;font-family:var(--tripcetera-sans);font-size:23px;letter-spacing:0}.payment-security-summary p{margin:0;line-height:1.65}.payment-security-summary hr{margin:20px 0;border-color:#e7e9ec}.payment-security-summary .muted{font-size:13px}
.payment-summary{background:#fff;border:1px solid #e7e9ec;border-radius:16px;padding:24px;position:sticky;top:22px}.payment-summary h3{font-family:var(--tripcetera-sans);font-size:20px;font-weight:800;color:#182430;margin:0 0 16px}.payment-summary hr{border:0;border-top:1px solid #e7e9ec;margin:18px 0}.payment-summary .booking-stay{display:grid!important;grid-template-columns:auto 1fr;gap:10px 14px;font-size:14px;margin:0}.payment-summary .booking-stay span{color:#7a8492}.payment-summary .booking-stay b{font-weight:700;text-align:right;word-break:break-word}.payment-summary .booking-total{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-summary .booking-total span{color:#4a5561;font-size:15px;font-weight:700}.payment-summary .booking-total strong{font-size:22px;font-weight:800;color:var(--brand)}.payment-summary-note{margin:16px 0 0;font-size:12px;line-height:1.55;color:#7a8492}@media(max-width:850px){.payment-summary{position:static}}
.payment-convert-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center}.payment-convert-modal[hidden]{display:none}.payment-convert-backdrop{position:absolute;inset:0;background:rgba(12,25,22,.55);backdrop-filter:blur(3px)}.payment-convert-card{position:relative;z-index:1;width:min(calc(100% - 32px),440px);background:#fff;border-radius:16px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.payment-convert-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:27px;line-height:1;color:#7a8492;cursor:pointer}.payment-convert-card h2{font-family:var(--tripcetera-sans);font-size:22px;font-weight:800;color:#182430;margin:0 0 12px}.payment-convert-description{margin:0 0 18px;color:#5b6672;line-height:1.6;font-size:14px}.payment-convert-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:11px;background:#f4f5f7;margin-bottom:22px}.payment-convert-total span{color:#5b6672;font-size:14px}.payment-convert-total strong{font-size:22px;font-weight:800;color:var(--brand)}.payment-convert-actions{display:flex;gap:12px;justify-content:flex-end}.payment-convert-back{background:#eef1f4!important;color:#33424f!important;padding:12px 20px!important;border-radius:9px!important;font-weight:700;border:0}.payment-convert-back:hover{background:#e2e7ec!important}.payment-convert-continue{background:var(--brand)!important;color:#fff!important;padding:12px 22px!important;border-radius:9px!important;font-weight:800;border:0}.payment-convert-continue:hover{background:#ce5030!important}@media(max-width:540px){.payment-convert-card{padding:24px}.payment-convert-actions{flex-direction:column-reverse}.payment-convert-back,.payment-convert-continue{width:100%}}@media(max-width:850px){.payment-checkout .checkout{padding-top:32px}.payment-checkout .checkout-grid{grid-template-columns:1fr;gap:26px}.payment-security-summary{order:-1;max-width:640px}.payment-method-title{font-size:26px}}@media(max-width:540px){.payment-checkout .checkout{padding-top:26px;padding-bottom:52px}.payment-method-title{font-size:23px}.payment-method-card{gap:12px;padding:17px!important}.payment-method-card.is-selected{padding:16px!important}.payment-method-heading{flex-wrap:wrap}.payment-unavailable{margin:4px 0 0;flex-basis:100%;text-align:left}.payment-method-copy strong{font-size:16px}.channel-row{gap:14px}.payment-security-summary{padding:22px!important}}
.payment-return-details{margin-top:18px;text-align:left}.payment-return-details dl{margin:0}.payment-return-details .detail-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #eef1f0}.payment-return-details .detail-row:last-child{border-bottom:0}.payment-return-details dt{margin:0;color:#7a8492;font-size:13px}.payment-return-details dd{margin:0;font-weight:700;color:#182430;font-size:13px;text-align:right;word-break:break-word}.payment-return-documents{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 4px}.payment-return-documents .btn{flex:1;min-width:180px;text-align:center}.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);background:#fff}.btn-outline-brand:hover{background:#fff1ed;color:#b8482b}@media(max-width:540px){.payment-return-documents .btn{flex-basis:100%}}

/* ── Payment return (status) page ─────────────────────────────────────────
   Constrain the confirmation card so it does not stretch across the full
   width, and centre it — mirrors the compact "callback card" used elsewhere.
   Reference proportions: a centred card, smaller heading, tight detail rows. */
#payment-return{max-width:560px;margin:0 auto;padding:34px 32px;text-align:center}
#payment-return h1{font-family:var(--tripcetera-sans);font-size:26px;font-weight:800;color:#182430;margin:10px 0 6px;line-height:1.2}
#payment-return #payment-return-icon{display:inline-block;font-size:40px;line-height:1;color:var(--teal)}
#payment-return #payment-return-message{color:#5b6672;font-size:14px;line-height:1.6;margin:0 auto 4px;max-width:440px}
#payment-return .payment-return-refresh{margin:13px auto 0;color:#0d5b55;font-size:13px;font-weight:700}
#payment-return #payment-return-check-now{margin-top:16px;font-size:13px;padding:9px 14px}
#payment-return #payment-return-loading h1{margin-top:14px}
/* Detail card: white panel, tight rows, left-aligned labels/values. */
#payment-return .payment-return-details{margin-top:20px;padding:18px 20px;background:#fff;border:1px solid #e7e9ec;border-radius:12px;box-shadow:0 2px 8px rgba(17,32,30,.05)}
#payment-return .payment-return-details .detail-row{padding:7px 0}
#payment-return .payment-return-details dt{font-size:12.5px}
#payment-return .payment-return-details dd{font-size:12.5px}
#payment-return .payment-return-documents{margin-top:18px}
#payment-return .payment-return-documents .btn{min-width:0;padding:11px 16px;font-size:14px}
#payment-return #payment-return-action{display:inline-block;margin-top:14px;padding:12px 26px;font-size:14px;font-weight:700}
@media(max-width:600px){#payment-return{padding:26px 20px}#payment-return h1{font-size:22px}}

/* ── Payment page typography tidy-up ──────────────────────────────────────
   Slightly smaller, more consistent type scale so the page reads calmer. */
.payment-method-title{font-size:26px;margin:0 0 16px}
.payment-booking-note{font-size:14px}
.payment-main-content .eyebrow{font-size:12px;letter-spacing:.14em}
.payment-method-copy strong{font-size:17px}
.payment-method-copy small{font-size:13px}
.payment-summary h3{font-size:18px}
.payment-summary .booking-total strong{font-size:20px}
@media(max-width:850px){.payment-method-title{font-size:23px}}
