*,*:before,*:after{box-sizing:border-box}:root{--booking-header-color: rgba(255, 255, 255, .94);--booking-main-body-color: #f4f6f9;--booking-card-color: rgba(255, 255, 255, .96);--booking-lowest-price-color: #23a7a5;--booking-font-color: #061325;--booking-accent-gradient-start: #1d98ba;--booking-accent-gradient-end: #2ab56e}html,body{margin:0;min-height:100%}body{font-family:Manrope,Segoe UI,sans-serif;background:var(--booking-main-body-color);color:var(--booking-font-color)}.booking-preview-page{min-height:100vh}.booking-preview-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;background:var(--booking-header-color);border-bottom:1px solid rgba(7,24,45,.08);box-shadow:0 16px 36px #11182714}.booking-preview-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(145deg,#ffa43c,#ff7d11);box-shadow:0 12px 24px #ff7d113d}.booking-preview-logo-mark{font-size:28px;font-weight:800;color:#11391f}.booking-preview-currency{font-size:1.75rem;font-weight:700;letter-spacing:.08em}.booking-preview-shell{max-width:1496px;margin:0 auto;padding:30px 22px 48px}.booking-preview-gallery{display:grid;grid-template-columns:1.58fr 1fr;gap:10px;margin-bottom:24px}.booking-preview-gallery-main,.booking-preview-gallery-tile{position:relative;overflow:hidden;border-radius:24px;background:#d8e0ea;box-shadow:0 18px 34px #0f172a14;cursor:pointer}.booking-preview-gallery-main{height:510px}.booking-preview-gallery-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-preview-gallery-tile{height:250px}.booking-preview-gallery-main img,.booking-preview-gallery-tile img,.booking-preview-room-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.05)}.booking-preview-gallery-main img,.booking-preview-gallery-tile img{height:100%}.booking-preview-map-tile{cursor:pointer;background:radial-gradient(circle at 78% 28%,rgba(255,255,255,.55),transparent 22%),linear-gradient(180deg,#d9f0df,#cde8d6 48%,#bfdde7 48%,#b3d6e6);padding:14px;display:grid;gap:12px}.booking-preview-map-surface{position:relative;width:100%;height:138px;display:block;border-radius:18px;overflow:hidden;background:linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.36) 12% 14%,transparent 14% 100%),linear-gradient(0deg,transparent 0 46%,rgba(255,255,255,.34) 46% 48%,transparent 48% 100%),linear-gradient(135deg,#45965d2e,#53a1be33)}.booking-preview-map-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 0 24%,rgba(255,255,255,.38) 24% 28%,transparent 28% 100%),linear-gradient(35deg,transparent 0 58%,rgba(255,255,255,.3) 58% 62%,transparent 62% 100%)}.booking-preview-map-badge{position:absolute;top:12px;left:12px;z-index:1;padding:6px 10px;border-radius:999px;background:#ffffffe0;color:#153147;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.booking-preview-map-pin{position:absolute;left:62%;top:50%;width:20px;height:20px;border-radius:999px 999px 999px 0;background:#ff5b4d;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 10px 20px #ff5b4d47}.booking-preview-map-pin:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:999px;background:#fff}.booking-preview-map-copy{display:grid;gap:6px}.booking-preview-map-copy strong{font-size:1rem;color:#10243a}.booking-preview-map-copy p{margin:0;font-size:.9rem;line-height:1.45;color:#33506a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.booking-preview-open-gallery{position:absolute;right:14px;bottom:14px;border:1px solid rgba(6,19,37,.12);background:#fffffff5;border-radius:16px;padding:10px 18px;font:inherit;cursor:pointer}.booking-preview-content{display:grid;grid-template-columns:minmax(0,1fr) 456px;gap:40px;align-items:start}.booking-preview-hotel-card h1{margin:0;font-size:clamp(2.5rem,4vw,4rem);line-height:1.03}.booking-preview-tagline{margin:12px 0 26px;font-size:1.1rem;letter-spacing:.04em;color:#324154}.booking-preview-contact-row{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:20px;font-size:1.05rem}.booking-preview-contact-row strong{margin-right:4px}.booking-preview-address{max-width:980px;margin:0 0 30px;font-size:1rem;line-height:1.65;color:#1f3147}.booking-preview-amenities{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-bottom:42px}.booking-preview-amenity,.booking-preview-room-tags span{position:relative;padding-left:18px;color:#122338}.booking-preview-amenity:before,.booking-preview-room-tags span:before{content:"";position:absolute;left:0;top:50%;width:9px;height:9px;border-radius:999px;background:#1b9e3f;transform:translateY(-50%)}.booking-preview-more{color:#7c8797;font-size:1.8rem;line-height:1}.booking-preview-rooms-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.booking-preview-rooms-header h2{margin:0;font-size:2rem}.booking-preview-search-panel{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.booking-preview-guest-pill{display:grid;gap:8px;min-width:120px;padding:12px 14px;border-radius:18px;background:#ffffffeb;border:1px solid rgba(15,23,42,.08)}.booking-preview-guest-pill span{color:#475569;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.booking-preview-guest-pill input{border:none;background:transparent;font:inherit;font-size:1.2rem;font-weight:700;color:#0f172a;outline:none}.booking-preview-room-list{display:grid;gap:20px}.booking-preview-room-state{padding:18px 20px;margin-bottom:18px;border-radius:18px;background:#ffffffe0;border:1px dashed rgba(15,23,42,.15);color:#475569}.booking-preview-check-btn{border:none;border-radius:999px;background:#b7d7e7;color:#0b2238;text-transform:uppercase;padding:14px 22px;font:inherit;cursor:pointer}.booking-preview-room-card,.booking-preview-price-card{background:var(--booking-card-color);border:1px solid rgba(15,23,42,.06);border-radius:24px;box-shadow:0 20px 40px #0f172a14}.booking-preview-room-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,360px);gap:24px 28px;align-items:start;padding:24px 28px 28px}.booking-preview-room-copy{display:grid;gap:16px}.booking-preview-room-copy h3{margin:0;font-size:2rem}.booking-preview-room-copy p{margin:0;color:#334155;line-height:1.55}.booking-preview-room-copy strong{font-size:1.1rem}.booking-preview-room-tags{display:flex;gap:20px;flex-wrap:wrap}.booking-preview-room-meta{display:flex;flex-wrap:wrap;gap:10px}.booking-preview-room-chip{padding:8px 12px;border-radius:999px;background:#eef6fb;color:#1e293b;font-size:.9rem;font-weight:700}.booking-preview-room-media{width:100%;align-self:start;border-radius:18px;overflow:hidden;background:#dbe4ee;box-shadow:0 14px 30px #0f172a24;position:relative}.booking-preview-room-media img{display:block;width:100%;height:190px}.booking-preview-room-next{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;width:40px;height:40px;font-size:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;z-index:2;transition:color .2s;right:10px}.booking-preview-room-next:hover{color:#fffc}.booking-preview-dots{display:flex;justify-content:center;gap:8px;position:absolute;left:50%;bottom:14px;transform:translate(-50%);margin:0;z-index:2}.booking-preview-dots span{width:7px;height:7px;border-radius:999px;background:#ffffff85}.booking-preview-dots span.is-active{background:#fff;transform:scale(1.2)}.booking-preview-plans{grid-column:1 / -1;display:grid;gap:14px;margin-top:4px}.booking-preview-plan-row{display:grid;grid-template-columns:minmax(130px,1fr) auto auto auto;align-items:center;gap:20px;padding:12px 14px;border:1px solid rgba(15,23,42,.1);border-radius:18px;background:var(--booking-card-color)}.booking-preview-plan-row p{margin:6px 0 0;color:#334155}.booking-preview-plan-row a{color:#1c3650}.booking-preview-plan-price{font-size:1.05rem;font-weight:700}.booking-preview-plan-copy small{display:block;margin-top:6px;color:#64748b}.booking-preview-plan-status{color:#0f766e;font-size:.85rem;font-weight:700}.booking-preview-plan-status.is-error{color:#b91c1c}.booking-preview-plan-status.is-muted{color:#64748b}.booking-preview-stepper{display:grid;grid-template-columns:48px 56px 48px;align-items:center;border-radius:14px;overflow:hidden;background:#0a0a0a}.booking-preview-stepper button,.booking-preview-stepper span{border:none;background:transparent;color:#fff;font:inherit;font-size:1.25rem;height:52px}.booking-preview-stepper span{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#1e293b}.booking-preview-add-btn,.booking-preview-continue-btn{border:none;cursor:pointer;font:inherit}.booking-preview-add-btn{min-width:110px;padding:14px 24px;border-radius:12px;background:var(--booking-header-color);color:var(--booking-font-color);font-size:1.05rem}.booking-preview-add-btn:disabled{background:#dbe3ea;color:#64748b;cursor:not-allowed}.booking-preview-price-card{padding:30px 24px 24px;position:sticky;top:24px}.booking-preview-price-card h2{margin:0;color:var(--booking-lowest-price-color);font-size:clamp(2.5rem,3vw,4.25rem);line-height:1}.booking-preview-price-card>p{margin:10px 0 24px;color:#334155;font-size:1rem}.booking-preview-date-card,.booking-preview-selection-card,.booking-preview-summary-card{border:1px solid rgba(15,23,42,.1);border-radius:18px;background:var(--booking-card-color)}.booking-preview-date-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px;margin-bottom:20px}.booking-preview-date-card div,.booking-preview-guest-grid div,.booking-preview-summary-card div{display:grid;gap:8px}.booking-preview-date-card span,.booking-preview-guest-grid span,.booking-preview-summary-card span{color:#4b5563}.booking-preview-date-card strong{font-size:1.35rem}.booking-preview-date-card small{font-size:1.1rem;color:#111827}.booking-preview-selection-card{padding:18px;margin-bottom:20px}.booking-preview-selection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.booking-preview-selection-head h3{margin:0;font-size:1.9rem}.booking-preview-selection-head button,.remove-room-btn{width:34px;height:34px;border:1px solid rgba(15,23,42,.14);border-radius:999px;background:#fff;color:#8a94a3;font-size:1.45rem;cursor:pointer}.remove-room-btn:hover{background:#fee2e2;color:#dc2626;border-color:#dc2626}.booking-preview-search-icon-btn{width:100%;padding:18px 24px;border-radius:14px;background:linear-gradient(90deg,var(--booking-accent-gradient-start) 0%,var(--booking-accent-gradient-end) 100%);color:#fff;font-size:1.2rem;font-weight:700;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:opacity .2s}.booking-preview-search-icon-btn:hover{opacity:.9}.booking-preview-selection-card>strong{display:block;margin-bottom:18px;font-size:1.1rem}.booking-preview-guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.booking-preview-guest-grid-editable{gap:16px}.booking-preview-guest-item{display:grid;gap:12px}.booking-preview-guest-select-wrap{display:inline-block;position:relative}.booking-preview-guest-select{min-width:88px;padding:0 28px 8px 0;border:none;border-bottom:1px solid rgba(15,23,42,.14);background:transparent;color:#111827;font:inherit;font-size:1.35rem;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.booking-preview-guest-select-wrap:after{content:"";position:absolute;right:6px;top:calc(50% - 2px);width:8px;height:8px;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:translateY(-50%) rotate(45deg);pointer-events:none}.booking-preview-guest-grid strong{font-size:1.45rem}.booking-preview-summary-card{padding:18px;margin-bottom:18px}.booking-preview-summary-card>div+div{margin-top:14px}.booking-preview-summary-card strong{justify-self:end;font-size:1.05rem}.booking-preview-summary-card .is-total{grid-template-columns:1fr auto;align-items:start}.booking-preview-summary-card .is-total small{display:block;margin-top:4px;color:#6b7280}.booking-preview-continue-btn{width:100%;padding:18px 24px;border-radius:14px;background:linear-gradient(90deg,var(--booking-accent-gradient-start) 0%,var(--booking-accent-gradient-end) 100%);color:#fff;font-size:1.2rem;font-weight:700}@media (max-width: 1200px){.booking-preview-content{grid-template-columns:1fr}.booking-preview-price-card{position:static}.booking-preview-room-copy{margin-bottom:20px}.booking-preview-room-media{width:100%}}@media (max-width: 900px){.booking-preview-gallery{grid-template-columns:1fr}.booking-preview-gallery-main{min-height:220px}.booking-preview-gallery-tile{min-height:120px}.booking-preview-rooms-header,.booking-preview-plan-row{grid-template-columns:1fr}.booking-preview-rooms-header{display:grid}.booking-preview-plan-row{justify-items:start}.booking-preview-check-btn,.booking-preview-add-btn,.booking-preview-stepper{width:100%}.booking-preview-room-copy,.booking-preview-room-media{width:100%;margin-left:0}.booking-preview-room-card{grid-template-columns:1fr}.booking-preview-room-copy{margin-bottom:0}}@media (max-width: 640px){.booking-preview-topbar{padding:14px 18px}.booking-preview-shell{padding:20px 14px 40px}.booking-preview-gallery-side,.booking-preview-date-card,.booking-preview-guest-grid{grid-template-columns:1fr}.booking-preview-contact-row{flex-direction:column;gap:10px}.booking-preview-room-card{padding:18px}.booking-preview-search-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-preview-guest-pill:last-child{grid-column:1 / -1}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;grid-template-columns:112px minmax(0,1fr) 112px;grid-template-rows:minmax(0,1fr);align-items:stretch;z-index:9999;overflow:hidden}.lightbox-stage{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;padding:34px 64px 0}.lightbox-img{width:auto;max-width:min(86vw,1200px);max-height:calc(100vh - 170px);object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:22px;right:28px;background:transparent;border:none;color:#fff;font-size:72px;font-weight:200;cursor:pointer;width:72px;height:72px;display:flex;align-items:center;justify-content:center;line-height:1;z-index:2}.lightbox-side{align-self:stretch;width:100%;background:transparent;border:1px solid rgba(255,255,255,.75);border-top:none;border-bottom:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s ease,opacity .2s ease;margin-top:84px;margin-bottom:210px}.lightbox-side span{font-size:78px;font-weight:200;line-height:1}.lightbox-prev{grid-column:1;grid-row:1;border-left:1px solid rgba(255,255,255,.7)}.lightbox-next{grid-column:3;grid-row:1;border-right:1px solid rgba(255,255,255,.7)}.lightbox-side:hover{background:#ffffff0a}.lightbox-toolbar{position:absolute;left:50%;bottom:88px;transform:translate(-50%);display:flex;justify-content:center;width:max-content;z-index:2}.lightbox-thumbs-toggle{border:none;background:transparent;color:#f4f4f5;font:inherit;font-size:.98rem;cursor:pointer}.lightbox-thumbs{position:absolute;left:50%;bottom:28px;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:10px;overflow-x:auto;max-width:min(70vw,980px);padding:0 8px;scrollbar-width:none;z-index:2}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumbs.is-hidden{display:none}.lightbox-thumb{flex:0 0 auto;width:64px;height:58px;padding:0;border:2px solid transparent;border-radius:6px;background:transparent;overflow:hidden;cursor:pointer;opacity:.72}.lightbox-thumb.is-active{border-color:#fff;opacity:1}.lightbox-thumb img{width:100%;height:100%;object-fit:cover}.availability-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:24px}.availability-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.availability-modal-card{position:relative;width:min(1150px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;box-shadow:0 28px 60px #0f172a47;padding:34px 44px 28px}.availability-modal-close{position:absolute;top:14px;left:16px;border:none;background:transparent;color:#0f172a;font-size:2rem;cursor:pointer;line-height:1}.availability-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:end;margin:40px 0 30px}.availability-select-pill,.availability-price-pill{display:grid;gap:8px}.availability-select-pill span,.availability-price-pill span{font-size:1rem;color:#6b7280}.availability-select-pill select,.availability-price-pill strong{min-height:58px;border:1px solid #d1d5db;border-radius:999px;background:#fff;padding:0 20px;font:inherit;font-size:1.05rem;color:#0f172a}.availability-select-pill select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9ca3af 50%),linear-gradient(135deg,#9ca3af 50%,transparent 50%);background-position:calc(100% - 24px) calc(50% - 3px),calc(100% - 16px) calc(50% - 3px);background-size:8px 8px,8px 8px;background-repeat:no-repeat}.availability-price-pill strong{display:inline-flex;align-items:center;font-size:1.25rem;font-weight:500}.availability-calendars{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;align-items:start;padding:0 36px}.availability-nav{position:absolute;top:-2px;width:28px;height:28px;border:none;background:transparent;color:#20252d;font-size:2.6rem;font-weight:400;line-height:1;cursor:pointer;padding:0}.availability-nav:disabled{opacity:.28;cursor:default}.availability-nav-prev{left:-8px}.availability-nav-next{right:-8px}.availability-calendar-card{border:1px solid #e5e7eb;border-radius:16px;padding:26px 22px 22px;background:#fff;height:402px;display:flex;flex-direction:column}.availability-calendar-card h3{margin:0 0 10px;text-align:center;font-size:1.35rem;font-weight:500}.availability-weekdays,.availability-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px 8px}.availability-weekdays{margin-bottom:12px;text-align:center;color:#94a3b8;font-size:.95rem;flex:0 0 auto}.availability-days{flex:1 1 auto;overflow-y:auto;align-content:start;padding-right:6px}.availability-days::-webkit-scrollbar{width:8px}.availability-days::-webkit-scrollbar-track{background:transparent}.availability-days::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:999px}.availability-day{min-height:70px;border:none;border-radius:999px;background:transparent;display:grid;justify-items:center;align-content:start;gap:4px;padding:6px 2px 4px;cursor:pointer;color:#0f172a}.availability-day.is-empty{min-height:70px;pointer-events:none}.availability-day-dot{width:6px;height:6px;border-radius:999px;background:#22b8a5;margin-top:2px}.availability-day strong{font-size:1.15rem;font-weight:500}.availability-day small{font-size:.65rem;color:#0f172a}.availability-day.is-selected{background:linear-gradient(180deg,#24b6bb,#1fa9ab);color:#fff}.availability-day.is-selected small{color:#fff}.availability-day.is-selected .availability-day-dot{background:#ffffffe6}.availability-day.is-unavailable .availability-day-dot{background:#f6a4a4}.availability-day.is-unavailable small{color:#b91c1c}.availability-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.availability-legend{display:flex;flex-wrap:wrap;gap:24px;color:#334155}.availability-legend span{display:inline-flex;align-items:center;gap:8px}.availability-legend i{width:12px;height:12px;border-radius:999px;display:inline-block}.availability-legend .is-available{background:#22b8a5}.availability-legend .is-unavailable{background:#f6a4a4}.availability-book-btn{min-width:168px;border:none;border-radius:999px;background:linear-gradient(90deg,var(--booking-accent-gradient-start) 0%,var(--booking-accent-gradient-end) 100%);color:#fff;padding:14px 24px;font:inherit;font-weight:700;cursor:pointer}.booking-checkout-page{min-height:100vh;background:var(--booking-main-body-color);color:var(--booking-font-color)}.booking-checkout-topbar{position:sticky;top:0;z-index:20;background:var(--booking-header-color);border-bottom:1px solid rgba(7,24,45,.08);box-shadow:0 16px 36px #11182714}.booking-checkout-topbar-inner{max-width:1496px;margin:0 auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between}.booking-checkout-brand{width:56px;height:56px;border-radius:14px;overflow:hidden;box-shadow:0 10px 24px #0f172a24}.booking-checkout-brand img{width:100%;height:100%;object-fit:cover}.booking-checkout-currency{font-size:1.75rem;font-weight:700;letter-spacing:.08em}.booking-checkout-shell{max-width:1496px;margin:0 auto;padding:24px 22px 48px}.booking-checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:28px;align-items:start}.booking-checkout-main{display:grid;gap:22px}.booking-checkout-back{display:inline-flex;align-items:center;gap:10px;border:none;border-radius:16px;background:var(--booking-header-color);color:var(--booking-font-color);padding:14px 22px;font:inherit;font-size:1.2rem;cursor:pointer;justify-self:start}.booking-checkout-card,.booking-checkout-summary{background:var(--booking-card-color);border:1px solid rgba(15,23,42,.06);border-radius:24px;box-shadow:0 20px 40px #0f172a14}.booking-checkout-card{padding:22px}.booking-checkout-offers p,.booking-checkout-section-title{margin:0 0 18px;font-size:1.15rem;letter-spacing:.02em}.booking-checkout-offers-row{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:18px;align-items:end}.booking-checkout-field{display:grid;gap:10px}.booking-checkout-field span{font-size:.98rem;color:#111827}.booking-checkout-field input,.booking-checkout-field select,.booking-checkout-field textarea{width:100%;border:1.5px solid #1f2937;border-radius:12px;background:#fff;color:#111827;font:inherit;font-size:1.05rem;padding:16px 18px;outline:none}.booking-checkout-field textarea{resize:vertical;min-height:102px}.booking-checkout-field-inline span{margin-bottom:2px}.booking-checkout-apply-btn,.booking-checkout-pay-btn{border:none;cursor:pointer;font:inherit;font-weight:700;color:#fff;background:linear-gradient(90deg,var(--booking-accent-gradient-start) 0%,var(--booking-accent-gradient-end) 100%)}.booking-checkout-apply-btn{border-radius:12px;min-height:58px;font-size:1.05rem}.booking-checkout-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.booking-checkout-field-full{grid-column:1 / -1}.booking-checkout-footnote{margin:12px 4px 0;color:#6b7280;font-size:.95rem}.booking-checkout-payment-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 4px}.booking-checkout-payment-option+.booking-checkout-payment-option{border-top:1px solid rgba(15,23,42,.08)}.booking-checkout-payment-option strong{display:block;margin-bottom:6px;font-size:1.05rem}.booking-checkout-payment-option p{margin:0;color:#334155}.booking-checkout-payment-option input{width:24px;height:24px;accent-color:#1d98ba}.booking-checkout-terms{font-size:1.05rem;line-height:1.6}.booking-checkout-terms a{color:#061325;font-weight:700}.booking-checkout-sidebar{position:sticky;top:102px}.booking-checkout-summary{padding:22px}.booking-checkout-summary h2{margin:0 0 22px;color:var(--booking-lowest-price-color);font-size:clamp(2.8rem,3vw,4.5rem);line-height:1}.booking-checkout-dates,.booking-checkout-breakdown,.booking-checkout-room-card{border:1px solid rgba(15,23,42,.1);border-radius:18px;background:var(--booking-card-color)}.booking-checkout-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px}.booking-checkout-dates div,.booking-checkout-breakdown div,.booking-checkout-room-meta div{display:grid;gap:8px}.booking-checkout-dates span,.booking-checkout-breakdown span,.booking-checkout-room-meta span{color:#4b5563}.booking-checkout-dates strong{font-size:1.4rem}.booking-checkout-dates small{font-size:1.1rem;color:#111827}.booking-checkout-room-block{margin-top:22px}.booking-checkout-room-block h3{margin:0 0 14px;font-size:2rem}.booking-checkout-room-card{padding:18px}.booking-checkout-room-card+.booking-checkout-room-card{margin-top:14px}.booking-checkout-room-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.booking-checkout-room-head strong{font-size:1.2rem}.booking-checkout-remove-btn{width:34px;height:34px;border:1px solid rgba(15,23,42,.14);border-radius:999px;background:#fff;color:#8a94a3;font-size:1.45rem;cursor:pointer}.booking-checkout-room-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.booking-checkout-room-meta strong{font-size:1.35rem}.booking-checkout-breakdown{margin-top:18px;padding:18px}.booking-checkout-breakdown>div{grid-template-columns:1fr auto;align-items:center}.booking-checkout-breakdown>div+div{margin-top:14px}.booking-checkout-breakdown strong{font-size:1.05rem}.booking-checkout-breakdown small{display:block;margin:6px 0 0;color:#6b7280}.booking-checkout-pay-btn{width:100%;margin-top:18px;padding:18px 24px;border-radius:14px;font-size:1.2rem}@media (max-width: 1200px){.availability-calendars{grid-template-columns:1fr;gap:20px;padding:0}.lightbox{grid-template-columns:110px minmax(0,1fr) 110px}.lightbox-img{max-width:min(78vw,940px)}.lightbox-side{margin-top:88px;margin-bottom:188px}.booking-checkout-layout{grid-template-columns:1fr}.booking-checkout-sidebar{position:static}}@media (max-width: 900px){.availability-toolbar{grid-template-columns:1fr;gap:16px;margin-top:28px}.availability-nav{top:-6px}.booking-checkout-offers-row,.booking-checkout-form-grid,.booking-checkout-dates,.booking-checkout-room-meta{grid-template-columns:1fr}}@media (max-width: 640px){.availability-modal{padding:10px}.lightbox{grid-template-columns:64px minmax(0,1fr) 64px}.lightbox-stage{padding:64px 6px 0}.lightbox-close{top:16px;right:10px;font-size:54px;width:54px;height:54px}.lightbox-side span{font-size:56px}.lightbox-img{max-width:100%;max-height:calc(100vh - 196px)}.lightbox-toolbar{bottom:72px}.lightbox-thumbs{bottom:18px;max-width:calc(100vw - 120px);justify-content:flex-start}.lightbox-side{margin-top:82px;margin-bottom:148px}.availability-modal-card{width:100%;max-height:calc(100vh - 20px);padding:30px 18px 22px}.availability-calendar-card{height:380px}.availability-nav-prev{left:0}.availability-nav-next{right:0}.availability-footer{flex-direction:column;align-items:stretch}.availability-book-btn{width:100%}.booking-checkout-topbar-inner,.booking-checkout-shell{padding-left:14px;padding-right:14px}.booking-checkout-card,.booking-checkout-summary{padding:18px;border-radius:18px}.booking-checkout-back{width:100%;justify-content:center}}
