/* Only widget booking additions; existing theme tokens and core components remain. */
.hb-results-page .hb-widget-empty{padding:32px 20px;border:1px dashed var(--hotel-border-color);border-radius:var(--hotel-radius-lg);text-align:center;background:var(--hotel-surface);color:var(--hotel-text-secondary)}
.hb-results-page .hb-widget-empty p{margin-bottom:14px}
.hb-results-page .hb-widget-notice{padding:13px 16px;border:1px solid var(--hotel-border-color);border-radius:var(--hotel-radius-sm);background:var(--hotel-surface-alt);color:var(--hotel-heading-color);font-size:14px}
.hb-results-page .hb-widget-notice.is-error,.wb-widget-error{padding:14px 17px;border:1px solid var(--hotel-danger);border-radius:var(--hotel-radius-md);background:var(--hotel-surface);color:var(--hotel-danger);margin-bottom:18px}
.hb-results-page .hb-widget-tag{display:inline-flex;align-items:center;border-radius:999px;background:var(--hotel-surface);border:1px solid var(--hotel-border-color);color:var(--hotel-text-secondary);padding:4px 10px;font-size:12px;font-weight:600}
.hb-results-page .hb-widget-photo-empty{height:100%;display:grid;place-items:center;color:var(--hotel-text-secondary);font-size:20px;font-family:var(--hotel-font-heading);min-height:210px}
.hb-results-page .hb-widget-summary-price{margin-left:auto;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.hb-results-page .hb-widget-total{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--hotel-border-color);padding:15px 0 3px;font-size:15px;font-weight:700;color:var(--hotel-heading-color)}
.hb-results-page .hb-widget-total strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.hb-results-page .hb-room .hb-rate .hb-btn:disabled{cursor:not-allowed;opacity:.55}
.hb-results-page .hb-room-info .hb-facts{flex-wrap:wrap}
.wb-main{background:var(--hotel-body-bg);min-height:56vh;color:var(--hotel-text-primary)}
.wb-title{font-family:var(--hotel-font-heading);font-size:clamp(32px,4vw,46px);line-height:1.2;color:var(--hotel-heading-color);margin:12px 0 15px}
.wb-panel{background:var(--hotel-surface);border:1px solid var(--hotel-border-color);border-radius:var(--hotel-radius-lg);box-shadow:var(--hotel-shadow-sm);padding:24px}
.wb-panel h2{font-size:26px;line-height:1.2;margin:0 0 20px;color:var(--hotel-heading-color)}
.wb-panel h2 .bi{font-size:20px;color:var(--hotel-secondary)}
.wb-panel label{display:block;font-size:13px;font-weight:700;color:var(--hotel-heading-color)}
.wb-panel input:not([type="checkbox"]),.wb-panel select,.wb-panel textarea{display:block;width:100%;min-width:0;margin-top:7px;background:var(--hotel-input-bg);border:1px solid var(--hotel-input-border);border-radius:var(--hotel-radius-sm);padding:11px 12px;color:var(--hotel-text-primary);font-size:15px;font-weight:500}
.wb-panel input:focus-visible,.wb-panel textarea:focus-visible,.wb-panel select:focus-visible{outline:2px solid var(--hotel-secondary);outline-offset:1px}
.wb-room-head{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--hotel-border-color)}
.wb-room-head h2{margin:6px 0;font-size:27px}.wb-room-head p{font-size:13px;color:var(--hotel-text-secondary);margin:0}
.wb-room-head>strong{font-size:18px;white-space:nowrap;color:var(--hotel-heading-color)}
.wb-pax{padding:22px 0 4px;border:0;border-bottom:1px solid var(--hotel-border-color);margin:0 0 18px}
.wb-pax legend{float:none;width:auto;font-size:15px;font-weight:800;color:var(--hotel-heading-color);margin:0 0 16px}
.wb-extras{display:grid;gap:10px;margin:17px 0}
.wb-extras h3{font-size:17px;margin:10px 0 2px}
.wb-extra-choice{display:flex!important;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--hotel-border-color);border-radius:var(--hotel-radius-sm);background:var(--hotel-surface-alt);cursor:pointer}
.wb-extra-choice input[type="checkbox"]{flex-shrink:0;margin:4px 0 0;accent-color:var(--hotel-secondary);width:18px;height:18px}
.wb-extra-choice span{flex:1;min-width:0}.wb-extra-choice strong,.wb-extra-choice small{display:block;line-height:1.5}.wb-extra-choice small{font-weight:400;color:var(--hotel-text-secondary)}
.wb-extra-choice b{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.wb-billing summary{cursor:pointer;font-weight:700;color:var(--hotel-heading-color)}
.wb-submit{width:100%;justify-content:center;min-height:52px}.wb-sticky-summary{position:sticky;top:calc(var(--hb-header-h, 85px) + 24px)}
.wb-state{display:flex;align-items:start;gap:16px;padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid var(--hotel-border-color)}
.wb-state>.bi{font-size:26px;color:var(--hotel-warning)}.wb-state p{margin:5px 0 0;font-size:14px;color:var(--hotel-text-secondary)}
.wb-bank-list{display:grid;gap:12px}.wb-bank{border:1px solid var(--hotel-border-color);border-radius:var(--hotel-radius-md);padding:14px 16px;overflow-wrap:anywhere}
.wb-bank>strong,.wb-bank>small{display:block}.wb-bank-iban{padding:9px 0;font-family:monospace;font-size:15px}
.wb-card-option{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--hotel-text-secondary);margin:10px 0 0}
.wb-confirm-card{max-width:660px;padding:40px 32px;border:1px solid var(--hotel-border-color);border-radius:var(--hotel-radius-lg);background:var(--hotel-surface);box-shadow:var(--hotel-shadow-md);text-align:center}
.wb-confirm-icon{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;font-size:32px;background:var(--hotel-primary-light);color:var(--hotel-primary)}
.wb-confirm-rows{margin-top:24px;border-top:1px solid var(--hotel-border-color);text-align:left}
.wb-confirm-rows>div{display:flex;justify-content:space-between;gap:16px;padding:13px 4px;border-bottom:1px solid var(--hotel-border-color)}
.wb-confirm-rows span{color:var(--hotel-text-secondary)}.wb-confirm-rows strong{color:var(--hotel-heading-color)}
@media(max-width:767px){.wb-panel{padding:17px}.wb-room-head{flex-wrap:wrap}.wb-room-head>strong{white-space:normal}.wb-confirm-card{padding:28px 17px}.wb-extra-choice{flex-wrap:wrap}.wb-extra-choice b{margin-left:30px}}
.wb-status-line{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--hotel-border-color);border-radius:999px;padding:8px 14px;color:var(--hotel-text-secondary);font-size:13px;font-weight:700}

/* Placeholder only when a room has no uploaded image; preserves original 76x58 list layout. */
.hb-results-page .hb-unavail-thumb-empty{flex:0 0 76px;width:76px;height:58px;display:grid;place-items:center;background:var(--hotel-surface-alt);border-radius:var(--hotel-radius-sm);color:var(--hotel-text-secondary)}

/* Daily-price modal: original hb-modal typography, surface and spacing retained. */
.hb-results-page .hb-daily-trigger{padding:0;border:0;background:none;color:var(--hotel-secondary);font:inherit;font-weight:700;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}
.hb-results-page .hb-daily-trigger:hover{text-decoration-style:solid}
.hb-results-page .hb-daily-trigger:focus-visible{outline:2px solid var(--hotel-secondary);outline-offset:2px;border-radius:2px}
.hb-results-page #hbDailyPricesModal .hb-daily-modal-room{font-size:14px;color:var(--hotel-text-secondary);margin:7px 0 0;font-family:var(--hotel-font-body)}
.hb-results-page #hbDailyPricesModal .hb-daily-lead{font-size:15px;font-weight:800;color:var(--hotel-heading-color);margin:0 0 10px}
.hb-results-page #hbDailyPricesModal .hb-daily-stay{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--hotel-text-secondary);margin:0 0 20px}
.hb-results-page #hbDailyPricesModal .hb-daily-stay .bi{color:var(--hotel-secondary)}
.hb-results-page #hbDailyPricesModal .hb-daily-table-wrap{overflow-x:auto;border:1px solid var(--hotel-border-color);border-radius:var(--hotel-radius-md)}
.hb-results-page #hbDailyPricesModal .hb-daily-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hb-results-page #hbDailyPricesModal .hb-daily-table thead{background:var(--hotel-surface-alt);color:var(--hotel-text-secondary);text-align:left}
.hb-results-page #hbDailyPricesModal .hb-daily-table thead th{font-family:var(--hotel-font-body);font-size:11px;letter-spacing:.09em;text-transform:uppercase;padding:12px 17px;font-weight:800}
.hb-results-page #hbDailyPricesModal .hb-daily-table thead th:last-child{text-align:right}
.hb-results-page #hbDailyPricesModal .hb-daily-table tbody tr+tr{border-top:1px solid var(--hotel-border-color)}
.hb-results-page #hbDailyPricesModal .hb-daily-table tbody th,.hb-results-page #hbDailyPricesModal .hb-daily-table tbody td{padding:14px 17px;vertical-align:middle}
.hb-results-page #hbDailyPricesModal .hb-daily-table tbody th{font-size:14px;font-weight:700;color:var(--hotel-heading-color)}
.hb-results-page #hbDailyPricesModal .hb-daily-table tbody th small{font-weight:400;font-size:12px;color:var(--hotel-text-secondary);display:block;margin-top:3px}
.hb-results-page #hbDailyPricesModal .hb-daily-table tbody td{text-align:right;white-space:nowrap}
.hb-results-page #hbDailyPricesModal .hb-daily-table tbody td strong{display:block;font-size:16px;color:var(--hotel-heading-color)}
.hb-results-page #hbDailyPricesModal .hb-daily-table tbody td del{display:block;font-size:12px;color:var(--hotel-text-secondary)}
.hb-results-page #hbDailyPricesModal .hb-daily-discount,.hb-results-page #hbDailyPricesModal .hb-daily-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 6px;font-size:14px}
.hb-results-page #hbDailyPricesModal .hb-daily-discount{color:var(--hotel-success);margin-top:8px}
.hb-results-page #hbDailyPricesModal .hb-daily-total{border-top:1px solid var(--hotel-border-color);margin-top:5px;color:var(--hotel-heading-color);font-weight:800}
.hb-results-page #hbDailyPricesModal .hb-daily-total strong{font-family:var(--hotel-font-heading);font-size:29px;font-weight:600;white-space:nowrap}
.hb-results-page #hbDailyPricesModal .hb-daily-note{display:flex;gap:8px;align-items:flex-start;color:var(--hotel-text-secondary);font-size:12px;line-height:1.6;margin:12px 6px 0}
.hb-results-page #hbDailyPricesModal .hb-daily-note .bi{color:var(--hotel-secondary)}
@media(max-width:575px){.hb-results-page #hbDailyPricesModal .hb-daily-table thead th,.hb-results-page #hbDailyPricesModal .hb-daily-table tbody th,.hb-results-page #hbDailyPricesModal .hb-daily-table tbody td{padding:12px 10px}.hb-results-page #hbDailyPricesModal .hb-daily-table tbody td strong{font-size:14px}}

/* Guest quote validity: original misafir.html hold component, bound to API expiration. */
.wb-quote-hold{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--hotel-radius-md);background:var(--hotel-primary-light);color:var(--hotel-primary);border:1px solid color-mix(in srgb,var(--hotel-primary) 18%,transparent)}
.wb-quote-hold .bi{font-size:22px;flex-shrink:0}
.wb-quote-hold p{margin:0;font-size:14px;line-height:1.45;color:var(--hotel-text-primary);flex:1}
.wb-quote-hold time{font-variant-numeric:tabular-nums;font-weight:800;font-size:20px;white-space:nowrap;margin-left:auto;color:var(--hotel-primary)}
.wb-quote-hold.is-low{background:color-mix(in srgb,var(--hotel-warning) 14%,var(--hotel-surface));border-color:color-mix(in srgb,var(--hotel-warning) 40%,transparent)}
.wb-quote-hold.is-low time,.wb-quote-hold.is-low .bi{color:var(--hotel-warning)}
.wb-quote-hold.is-expired{background:color-mix(in srgb,var(--hotel-danger) 10%,var(--hotel-surface));border-color:color-mix(in srgb,var(--hotel-danger) 35%,transparent)}
.wb-quote-hold.is-expired .bi{color:var(--hotel-danger)}
.wb-quote-hold.is-expired time{color:var(--hotel-danger)}
.wb-booking-overlay[hidden],#wbQuoteExpiredLink[hidden]{display:none!important}
.wb-booking-overlay .hb-overlay-card{max-width:400px}

/* Payment page: original odeme.html card/radio/table styling, populated with real API POS options. */
.wb-payment-page [hidden]{display:none!important}
.wb-payment-page .hb-choice-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:768px){.wb-payment-page .hb-choice-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wb-payment-page .hb-choice-icon{font-size:23px;color:var(--hotel-secondary);line-height:1}
.wb-payment-review{display:grid;grid-template-columns:1fr 1fr;gap:17px 22px}
.wb-payment-review>div{min-width:0}
.wb-payment-review small{font-size:11px;color:var(--hotel-text-secondary);display:block;text-transform:uppercase;font-weight:700;letter-spacing:.075em;margin-bottom:7px}
.wb-payment-review strong{font-size:14px;font-weight:750;overflow-wrap:anywhere;color:var(--hotel-heading-color)}
.wb-pos-carousel{display:flex;gap:10px;align-items:center;width:100%;min-width:0}
.wb-pos-arrow{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--hotel-border-color);border-radius:50%;color:var(--hotel-primary);background:var(--hotel-surface);cursor:pointer;box-shadow:var(--hotel-shadow-sm)}
.wb-pos-arrow:hover:not(:disabled){background:var(--hotel-primary-light)}
.wb-pos-arrow:disabled{opacity:.3;cursor:default}
.wb-pos-track{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;min-width:0;flex:1;padding:4px 3px 9px;scroll-behavior:smooth}
.wb-pos-track::-webkit-scrollbar{display:none}
.wb-pos-slide{flex:0 0 147px;scroll-snap-align:start;min-height:119px;position:relative;border:1px solid var(--hotel-border-color);border-radius:var(--hotel-radius-md);background:var(--hotel-surface);color:var(--hotel-text-primary);padding:13px 9px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;cursor:pointer;transition:border-color .16s,background-color .16s,box-shadow .16s;min-width:0}
.wb-pos-slide:hover{border-color:var(--hotel-secondary)}
.wb-pos-slide:focus-visible{outline:3px solid var(--hotel-focus-ring);outline-offset:2px}
.wb-pos-slide.is-selected{border-color:var(--hotel-primary);box-shadow:0 0 0 1px var(--hotel-primary),var(--hotel-shadow-sm);background:color-mix(in srgb,var(--hotel-primary-light) 38%,var(--hotel-surface))}
.wb-pos-logo{display:flex;align-items:center;justify-content:center;height:55px;width:100%;overflow:hidden}
.wb-pos-logo img{display:block;max-width:120px;max-height:51px;width:auto;height:auto;object-fit:contain}
.wb-pos-logo .bi{font-size:32px;color:var(--hotel-secondary)}
.wb-pos-label{font-size:12px;font-weight:750;text-align:center;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:32px;overflow-wrap:anywhere}
.wb-pos-selected-icon{display:none;position:absolute;top:5px;right:8px;color:var(--hotel-success);font-size:14px}
.wb-pos-slide.is-selected .wb-pos-selected-icon{display:block}
.wb-pos-selected-label{color:var(--hotel-text-secondary);font-size:13px;font-weight:600}
.wb-pos-selected-label .bi{color:var(--hotel-success)}
.wb-installments-title{font-family:var(--hotel-font-body);font-size:16px;font-weight:800;line-height:1.4;margin:0 0 18px;color:var(--hotel-heading-color)}
.wb-payment-page .hb-inst{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.wb-payment-page .hb-inst th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--hotel-text-secondary);font-weight:700;padding:0 12px 8px;text-align:left}
.wb-payment-page .hb-inst th:not(:first-child),.wb-payment-page .hb-inst td:not(:first-child){text-align:right}
.wb-payment-page .hb-inst td{padding:12px;border-top:1px solid var(--hotel-border-color);font-variant-numeric:tabular-nums;white-space:nowrap}
.wb-payment-page .hb-inst tr.is-active td{background:color-mix(in srgb,var(--hotel-primary-light) 55%,var(--hotel-surface))}
.wb-payment-page .hb-inst label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;margin:0;white-space:normal}
.wb-payment-page .hb-inst input{accent-color:var(--hotel-primary);width:18px;height:18px;flex-shrink:0}
.wb-fee-free{display:block;color:var(--hotel-success);font-size:10px;line-height:1.8;font-weight:700}
.wb-installment-fee{display:block;color:var(--hotel-text-secondary);font-size:11px;line-height:1.6;font-weight:400}
.wb-pos-breakdown{border-top:1px solid var(--hotel-border-color);margin-top:19px;padding-top:9px}
.wb-pos-breakdown>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;font-size:14px;color:var(--hotel-text-secondary)}
.wb-pos-breakdown>div strong{color:var(--hotel-heading-color);white-space:nowrap;font-variant-numeric:tabular-nums}
.wb-pos-breakdown .wb-pos-final{border-top:1px solid var(--hotel-border-color);padding-top:14px;margin-top:5px;font-weight:800;color:var(--hotel-heading-color)}
.wb-pos-final strong{font-family:var(--hotel-font-heading);font-size:25px;font-weight:600}
.wb-payment-safety{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;background:var(--hotel-primary-light);border-radius:var(--hotel-radius-md);color:var(--hotel-text-secondary);font-size:13px}
.wb-payment-safety .bi{color:var(--hotel-secondary);font-size:18px}
.wb-payment-safety p{margin:0;line-height:1.6}
.wb-payment-page .hb-bank{display:grid;gap:12px;grid-template-columns:1fr;padding:18px;border-radius:var(--hotel-radius-md);background:var(--hotel-surface-alt);border:1px solid var(--hotel-border-color)}
@media(min-width:768px){.wb-payment-page .hb-bank{grid-template-columns:1fr 1fr}}
.wb-payment-page .hb-bank small{display:block;font-size:12px;color:var(--hotel-text-secondary)}
.wb-payment-page .hb-bank strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.wb-payment-page .hb-bank-iban{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.wb-payment-page .wb-iban-value{font-size:15px;letter-spacing:.03em}
.wb-payment-page .wb-payment-summary-row,.wb-payment-page .wb-payment-summary-fee,.wb-payment-page .wb-payment-summary-final{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;font-size:13px;color:var(--hotel-text-secondary)}
.wb-payment-page .wb-payment-summary-row strong,.wb-payment-page .wb-payment-summary-fee strong,.wb-payment-page .wb-payment-summary-final strong{font-variant-numeric:tabular-nums;color:var(--hotel-heading-color)}
.wb-payment-page .wb-payment-summary-final{border-top:1px solid var(--hotel-border-color);padding-top:15px;margin-top:10px;font-weight:700;color:var(--hotel-heading-color)}
.wb-payment-page .wb-payment-summary-final strong{font-family:var(--hotel-font-heading);font-size:23px;font-weight:600}
@media(max-width:575px){.wb-quote-hold{gap:10px;padding:12px}.wb-quote-hold p{font-size:12px}.wb-quote-hold time{font-size:17px}.wb-payment-review{grid-template-columns:1fr}.wb-pos-arrow{flex-basis:29px;width:29px;height:29px}.wb-pos-slide{flex-basis:130px}.wb-payment-page .hb-inst td,.wb-payment-page .hb-inst th{padding:10px 6px;font-size:12px}.wb-payment-page .hb-inst input{width:16px;height:16px}}

/* Original payment card preview typography/layout, from odeme.html. */
    .hb-card-layout { display: grid; gap: 28px; grid-template-columns: 1fr; align-items: start; }
    @media (min-width: 992px) { .hb-card-layout { grid-template-columns: 1fr 300px; } .hb-cc-wrap { order: 2; } }
    .hb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
    .hb-form-grid .hb-span-2 { grid-column: span 2; }

    /* Kart önizlemesi */
    .hb-cc-wrap { perspective: 1200px; max-width: 340px; width: 100%; margin: 0 auto; }
    .hb-cc { position: relative; aspect-ratio: 1.586; transform-style: preserve-3d; transition: transform .6s var(--hb-ease); }
    .hb-cc.is-flipped { transform: rotateY(180deg); }
    .hb-cc-face {
        position: absolute; inset: 0; border-radius: 16px; padding: 20px 22px; backface-visibility: hidden;
        color: var(--hotel-on-primary); display: flex; flex-direction: column; justify-content: space-between;
        background:
            radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--hotel-accent) 38%, transparent) 0%, transparent 55%),
            linear-gradient(135deg, var(--hotel-primary) 0%, color-mix(in srgb, var(--hotel-primary) 70%, #000) 100%);
        box-shadow: var(--hotel-shadow-lg);
    }
    .hb-cc-back { transform: rotateY(180deg); padding: 0; justify-content: flex-start; }
    .hb-cc-top { display: flex; justify-content: space-between; align-items: center; }
    .hb-cc-chip { width: 40px; height: 30px; border-radius: 6px; background: linear-gradient(135deg, color-mix(in srgb, var(--hotel-accent) 90%, #fff), var(--hotel-accent)); opacity: .9; }
    .hb-cc-brand { font-weight: 800; letter-spacing: .06em; font-size: 15px; text-transform: uppercase; min-height: 20px; }
    .hb-cc-number { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: clamp(16px, 4.6vw, 20px); letter-spacing: .08em; font-variant-numeric: tabular-nums; }
    .hb-cc-bottom { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
    .hb-cc-bottom small { display: block; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
    .hb-cc-bottom strong { font-weight: 600; text-transform: uppercase; display: block; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .hb-cc-stripe { height: 40px; background: color-mix(in srgb, #000 70%, var(--hotel-primary)); margin-top: 22px; }
    .hb-cc-cvv { margin: 16px 22px 0; background: var(--hotel-surface); color: var(--hotel-text-primary); border-radius: 6px; padding: 8px 12px; text-align: right; font-family: ui-monospace, Menlo, monospace; letter-spacing: .2em; }
    .hb-cc-note { text-align: center; font-size: 12px; color: var(--hotel-text-secondary); margin: 12px 0 0; }
    @media (prefers-reduced-motion: reduce) { .hb-cc { transition: none; } }


.wb-payment-page .hb-choice-grid--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wb-payment-page .hb-choice-amount{display:block;margin-top:8px;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--hotel-heading-color)}
.wb-payment-page .hb-card-layout{grid-template-columns:minmax(0,1fr)}
@media(min-width:992px){.wb-payment-page .hb-card-layout{grid-template-columns:minmax(0,1fr) 280px}}
.wb-payment-page .hb-form-grid{min-width:0}
.wb-payment-page .hb-consents{display:flex;flex-direction:column;gap:12px}
.wb-payment-page .hb-policy{background:var(--hotel-surface-alt);border-radius:var(--hotel-radius-sm);padding:14px 16px;font-size:14px;margin-bottom:10px}
.wb-payment-page .hb-policy strong{display:block;margin-bottom:4px}
.wb-payment-page .hb-cc{width:100%}
.wb-payment-page .hb-cc-face{min-width:0}
.wb-payment-page .hb-cc-note{margin:12px 0 0}
.wb-payment-page .hb-card-layout .hb-cc-wrap{order:2}
.wb-payment-page .hb-card-layout .hb-form-grid{order:1}
.wb-payment-page .hb-card-layout .hb-form-grid input{min-width:0}
@media(max-width:575px){.wb-payment-page .hb-choice-grid--2{grid-template-columns:1fr}}

/* Two legal-PDF viewers: Bootstrap modal and original theme design tokens. */
.wb-legal-pdf-modal .modal-dialog{width:min(1020px,calc(100vw - 28px));max-width:1020px;margin:12px auto}
.wb-legal-pdf-modal .modal-content{background:var(--hotel-surface,#fff);border:1px solid var(--hotel-border-color,#dfe5e7);border-radius:var(--hotel-radius-md,12px);overflow:hidden;height:min(91dvh,900px)}
.wb-legal-pdf-modal .modal-header{min-height:72px;padding:16px 22px;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--hotel-border-color,#dfe5e7)}
.wb-legal-pdf-modal .modal-title{font-family:var(--hotel-font-heading,Georgia,serif);color:var(--hotel-heading-color,#14303f);font-size:clamp(23px,2.3vw,29px);font-weight:500}
.wb-legal-pdf-modal .wb-pdf-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.wb-legal-pdf-modal .modal-body{padding:0;position:relative;min-height:0;flex:1}
.wb-legal-pdf-modal iframe{display:block;width:100%;height:100%;border:0;background:white}
.wb-legal-pdf-modal .wb-pdf-loading{position:absolute;top:50%;left:50%;z-index:1;display:flex;align-items:center;gap:10px;transform:translate(-50%,-50%);padding:15px;border-radius:8px;background:var(--hotel-surface,#fff);color:var(--hotel-text-primary,#1d2a31)}
.wb-legal-pdf-modal .wb-pdf-loading[hidden]{display:none}
@media(max-width:575px){.wb-legal-pdf-modal .modal-dialog{width:calc(100vw - 14px);max-width:none;margin:7px auto}.wb-legal-pdf-modal .modal-content{height:calc(100dvh - 14px);border-radius:10px}.wb-legal-pdf-modal .modal-header{padding:12px;gap:8px}.wb-legal-pdf-modal .modal-title{font-size:22px}.wb-legal-pdf-modal .wb-pdf-actions{gap:8px}.wb-legal-pdf-modal .wb-pdf-actions .hb-btn{padding:7px;font-size:12px}}

/* Expanded payment summary: original hb-summary design variables, no new theme colors. */
.wb-payment-page .wb-payment-summary-enhanced{min-width:0}
.wb-payment-page .wb-payment-summary-enhanced .hb-summary-head{padding:25px 26px}
.wb-payment-page .wb-payment-summary-enhanced .hb-summary-stay{padding:20px 24px}
.wb-payment-page .wb-summary-ref{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.035em;margin-top:10px;color:var(--hotel-topbar-text);font-variant-numeric:tabular-nums}
.wb-payment-page .wb-summary-states{display:flex;flex-wrap:wrap;gap:7px;padding:15px 22px;border-bottom:1px solid var(--hotel-border-color)}
.wb-payment-page .wb-summary-state{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:750;background:var(--hotel-surface-alt);color:var(--hotel-text-secondary)}
.wb-payment-page .wb-summary-state--payment{color:var(--hotel-warning);background:color-mix(in srgb,var(--hotel-warning) 10%,var(--hotel-surface))}
.wb-payment-page .wb-summary-rooms{padding:21px 24px 14px;border-bottom:1px solid var(--hotel-border-color)}
.wb-payment-page .wb-summary-section-title{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-family:var(--hotel-font-body);font-weight:800;font-size:13px;color:var(--hotel-heading-color)}
.wb-payment-page .wb-summary-section-title .bi{color:var(--hotel-secondary);font-size:16px}
.wb-payment-page .wb-summary-section-title span{color:var(--hotel-text-secondary);font-weight:500}
.wb-payment-page .wb-summary-room{display:grid;gap:3px;padding:12px 0;border-top:1px dashed var(--hotel-border-color)}
.wb-payment-page .wb-summary-room-index{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--hotel-secondary)}
.wb-payment-page .wb-summary-room>strong{font-size:15px;color:var(--hotel-heading-color);line-height:1.35}
.wb-payment-page .wb-summary-room-detail{font-size:12px;color:var(--hotel-text-secondary);line-height:1.5}
.wb-payment-page .wb-summary-room-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:6px}
.wb-payment-page .wb-summary-room-bottom small{font-size:11px;color:var(--hotel-text-secondary);display:inline-flex;align-items:center;gap:4px}
.wb-payment-page .wb-summary-room-cancel{font-size:10.5px;font-weight:700;background:var(--hotel-surface-alt);color:var(--hotel-text-secondary);padding:4px 8px;border-radius:999px}
.wb-payment-page .wb-summary-payment-totals{padding:19px 24px 22px;gap:2px}
.wb-payment-page .wb-summary-payment-totals .is-discount strong{color:var(--hotel-success)}
.wb-payment-page .wb-payment-progress{height:5px;width:100%;border-radius:99px;background:var(--hotel-border-color);overflow:hidden;margin:10px 0}
.wb-payment-page .wb-payment-progress>span{height:100%;display:block;background:var(--hotel-success);border-radius:99px}
.wb-payment-page .wb-summary-balance{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:7px;padding-top:16px;border-top:1px solid var(--hotel-border-color);color:var(--hotel-heading-color);font-weight:800}
.wb-payment-page .wb-summary-balance strong{font-family:var(--hotel-font-heading);font-size:clamp(22px,2.1vw,32px);line-height:1;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
.wb-payment-page .wb-summary-selected{padding:20px 24px 22px;background:color-mix(in srgb,var(--hotel-primary-light) 58%,var(--hotel-surface));border-top:1px solid var(--hotel-border-color)}
.wb-payment-page .wb-summary-selected-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;color:var(--hotel-text-secondary)}
.wb-payment-page .wb-summary-selected-line strong{color:var(--hotel-heading-color);font-size:12px;text-align:right;overflow-wrap:anywhere;max-width:60%;font-variant-numeric:tabular-nums}
.wb-payment-page .wb-summary-selected .wb-payment-summary-final{font-size:13px;margin-top:9px}
.wb-payment-page .wb-summary-fee-note{display:flex;gap:7px;align-items:flex-start;margin:12px 0 0;font-size:11px;line-height:1.5;color:var(--hotel-text-secondary)}
.wb-payment-page .wb-summary-fee-note .bi{color:var(--hotel-secondary);flex-shrink:0}
.wb-payment-page .wb-summary-pending{line-height:1.6}
@media(min-width:992px) and (max-width:1199px){.wb-payment-page .wb-payment-summary-enhanced .hb-summary-stay{padding:17px 14px;gap:5px}.wb-payment-page .wb-payment-summary-enhanced .hb-summary-stay strong{font-size:12px}.wb-payment-page .wb-summary-rooms,.wb-payment-page .wb-summary-selected,.wb-payment-page .wb-summary-payment-totals{padding-left:16px;padding-right:16px}}
@media(max-width:575px){.wb-payment-page .wb-summary-rooms,.wb-payment-page .wb-summary-selected,.wb-payment-page .wb-summary-payment-totals{padding-left:18px;padding-right:18px}}


/* Payment summary: harden layout at narrow column widths; no payment calculations. */
.wb-payment-page .wb-payment-summary-enhanced{width:100%;max-width:100%;min-width:0;overflow:hidden}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-states,
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-rooms,
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-payment-totals,
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-selected{box-sizing:border-box;min-width:0}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-section-title{flex-wrap:wrap;line-height:1.4}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-section-title .bi{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;line-height:1}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-state .bi{font-size:12px;line-height:1}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-room-detail{overflow-wrap:anywhere}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-balance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;column-gap:12px}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-balance span{min-width:0;font-size:13px;line-height:1.4}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-balance strong{min-width:0;max-width:100%;font-size:clamp(20px,2vw,26px);line-height:1.2;text-align:right;white-space:normal;overflow-wrap:anywhere}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-selected-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:12px;row-gap:4px}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-selected-line>span{min-width:0;line-height:1.5}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-selected-line>strong{min-width:0;max-width:100%;line-height:1.5;text-align:right;overflow-wrap:anywhere}
.wb-payment-page .wb-payment-summary-enhanced .wb-payment-summary-final{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;align-items:center}
.wb-payment-page .wb-payment-summary-enhanced .wb-payment-summary-final strong{min-width:0;max-width:100%;font-size:clamp(20px,2vw,25px);line-height:1.2;text-align:right;white-space:normal;overflow-wrap:anywhere}
.wb-payment-page .wb-payment-summary-enhanced .wb-summary-fee-note{line-height:1.6;overflow-wrap:break-word}
@media(max-width:575px){
  .wb-payment-page .wb-payment-summary-enhanced .wb-summary-balance strong,
  .wb-payment-page .wb-payment-summary-enhanced .wb-payment-summary-final strong{font-size:22px}
}
