
/* Payment overlay and shared financial/detail row spacing. */
html.payment-dialog-locked,html.payment-dialog-locked body{overflow:hidden!important;}
#payment-overlay{z-index:10000;box-sizing:border-box;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden;align-items:center;}
#payment-overlay .payment-panel{box-sizing:border-box;width:min(600px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));border-radius:24px;padding:0!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;background:var(--ui-panel,#fff);color:var(--ui-text,#241e15);border:1px solid var(--ui-line,#d5cbbb);}
#payment-overlay .payment-panel-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--ui-panel,#fff);border-bottom:1px solid var(--ui-line,#d5cbbb);}
#payment-overlay [data-payment-back]{padding:10px 12px;min-height:44px;border:1px solid var(--ui-line,#d5cbbb);background:transparent;color:inherit;font:600 14px var(--sans,system-ui);text-align:left;}
#payment-overlay .payment-close{width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid var(--ui-line,#d5cbbb);background:transparent;color:inherit;font-size:26px;}
#payment-overlay .payment-panel-content{padding:24px;}
#payment-overlay h2{font-size:clamp(26px,4vw,34px);line-height:1.2;color:inherit;}
#payment-overlay .payment-panel-content>p:not(.eyebrow),#payment-overlay .payment-panel-content>small{color:var(--ui-muted,#5f584d);line-height:1.6;}
#payment-overlay .payment-panel-content>small{display:block;margin-top:16px;}
#payment-overlay #stripe-element{padding:16px;margin-top:20px;border:1px solid var(--ui-line,#d5cbbb);}
#payment-overlay #stripe-pay{margin-top:20px;min-height:48px;}
#payment-overlay :is(button,a):focus-visible{outline:2px solid var(--ui-text,#241e15);outline-offset:3px;}
html[data-theme="dark"] #payment-overlay .payment-panel,html[data-theme="dark"] #payment-overlay .payment-panel-toolbar{background:#1d1b17;color:#fff8ed;border-color:#807565;color-scheme:dark;}
html[data-theme="dark"] #payment-overlay .payment-panel-content>p:not(.eyebrow),html[data-theme="dark"] #payment-overlay .payment-panel-content>small{color:#dbd3c5;}
html[data-theme="dark"] #payment-overlay #stripe-element{border-color:#807565;}
.bank-box{padding:clamp(20px,3vw,30px)!important;box-sizing:border-box;}
.bank-box dl{display:grid;gap:12px;margin:20px 0;}
.bank-box dl>div{grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:8px 18px;border:1px solid var(--ui-line,#d5cbbb);background:var(--ui-panel,#fff);align-items:start;}
:is(.bank-box dl,.confirmation-grid,.offer-summary,.hotel-facts,.review-pay-grid,.invoice-bank-grid,.invoice-facts,.booking-facts)>div{box-sizing:border-box;min-width:0;padding:18px 20px!important;}
:is(.bank-box dl,.confirmation-grid,.offer-summary,.hotel-facts,.invoice-bank-grid,.invoice-facts,.booking-facts) dd{min-width:0;overflow-wrap:anywhere;line-height:1.5;}
.bank-box dt{color:var(--ui-muted,#5f584d);line-height:1.45;}
.bank-box dd{color:var(--ui-text,#241e15);}
@media(max-width:640px){#payment-overlay .payment-panel-content{padding:20px 16px;}#payment-overlay .payment-panel-toolbar{padding:10px 14px;}#payment-overlay #stripe-element{padding:12px;}.bank-box dl>div{grid-template-columns:minmax(0,1fr);gap:6px;}:is(.bank-box dl,.confirmation-grid,.offer-summary,.hotel-facts,.review-pay-grid,.invoice-bank-grid,.invoice-facts,.booking-facts)>div{padding:18px!important;}.offer-summary,.confirmation-grid{gap:12px;}}

#payment-overlay :is([data-payment-back],.payment-close,#stripe-element){border-radius:12px;}
