.booking-panel--hotel-compact-preview{width:min(100% - 32px,1040px);overflow:visible}
.booking-panel--hotel-compact-preview .booking-header{padding:14px 22px 0}
.booking-panel--hotel-compact-preview .booking-header .booking-tabs{justify-content:flex-start;gap:28px;padding-bottom:0;border-bottom:0}
.booking-panel--hotel-compact-preview .booking-tabs button{flex:0 0 auto;min-width:auto;min-height:46px;gap:7px;padding:8px 2px 12px;border:0;border-radius:0;background:transparent;color:#4b5565;font-size:14px}
.booking-panel--hotel-compact-preview .booking-tabs button:hover,.booking-panel--hotel-compact-preview .booking-tabs button:focus-visible,.booking-panel--hotel-compact-preview .booking-tabs button.active{border:0;background:transparent;color:#101827}
.booking-panel--hotel-compact-preview .booking-tabs button::after{display:block;bottom:-1px;height:2px;border-radius:0;transform-origin:center}
.booking-panel--hotel-compact-preview .booking-tab-icon,.booking-panel--hotel-compact-preview .booking-tabs button.active .booking-tab-icon{width:auto;height:auto;border-radius:0;background:transparent;color:#a66b00;font-size:13px}
.booking-panel--hotel-compact-preview .booking-form{padding:18px 22px 22px}
.booking-panel--hotel-compact-preview .booking-form-fields--hotels{position:relative;grid-template-columns:minmax(0,1.7fr) minmax(0,1.25fr) minmax(0,1.1fr) minmax(112px,.72fr);gap:0;min-height:78px;padding:0;overflow:visible;border:1px solid #d9e0e8;border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.08)}
.hotel-preview-search{display:contents}
.booking-panel--hotel-compact-preview .booking-form .hotel-preview-field{position:relative;min-width:0;min-height:76px;height:76px;display:flex;flex-direction:column;justify-content:center;gap:3px;margin:0;padding:8px 14px;border:0!important;border-inline-end:1px solid #e1e6ed!important;border-radius:0!important;background:#fff;box-shadow:none!important}
.booking-panel--hotel-compact-preview .booking-form .hotel-preview-field:focus-within{border-radius:0!important;box-shadow:none!important}
.hotel-preview-field-label{display:flex;align-items:center;gap:7px;color:#526174;font-size:.76rem;font-weight:700}
.hotel-preview-field-label i{color:#c78300}
.hotel-preview-destination>input{width:100%;height:24px;min-height:0!important;margin-top:2px;padding:0!important;border:0;outline:0;background-color:transparent;background-image:none!important;color:#101827;font:inherit;font-size:1rem;font-weight:750}
.hotel-preview-field>small,.hotel-preview-field summary>small{display:none}
.hotel-preview-field .booking-place-hint{display:none}
.hotel-preview-field .booking-place-suggestions{z-index:10030}
.hotel-preview-hidden-summary{display:none}
.hotel-preview-sheet>summary{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:3px;cursor:pointer;list-style:none}
.hotel-preview-sheet>summary::-webkit-details-marker{display:none}.hotel-preview-sheet>summary::marker{content:''}
.hotel-preview-sheet>summary:focus{outline:0}.hotel-preview-sheet>summary:focus-visible{border-radius:6px;box-shadow:0 0 0 2px rgba(197,126,0,.24)}
.hotel-preview-sheet>summary strong{display:block;margin-top:5px;overflow:hidden;color:#101827;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}
.hotel-preview-sheet[open]{z-index:40}
.hotel-preview-sheet-panel{position:absolute;inset-block-start:calc(100% + 14px);inset-inline-start:0;width:min(430px,calc(100vw - 32px));padding:18px;border:1px solid #dce3eb;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.18)}
.hotel-preview-guests .hotel-preview-sheet-panel{box-sizing:border-box;inset-inline-start:auto;inset-inline-end:auto;left:50%;right:auto;width:min(360px,calc(100vw - 32px));transform:translateX(-50%)}
.hotel-preview-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px;border-bottom:1px solid #e6eaf0}
.hotel-preview-sheet-head div{display:grid;gap:3px}.hotel-preview-sheet-head small{color:#7a8798}
.hotel-preview-sheet-head button{padding:6px 12px;border:0;border-radius:8px;color:#825500;background:#fff7e6;font-weight:800}
.hotel-preview-dates .hotel-date-range-picker{margin:0;padding:14px 0 4px;border:0;border-radius:0}
.hotel-preview-dates .hotel-date-range-toolbar{grid-template-columns:40px minmax(0,1fr) 40px;margin-bottom:14px}
.hotel-preview-dates .hotel-date-range-toolbar strong{font-size:.82rem;font-weight:750}
.hotel-preview-dates .hotel-calendar-nav{width:40px;height:40px;color:#9a6500;background:#fff7e6}
.hotel-preview-dates .hotel-calendar-months{gap:24px}
.hotel-preview-dates .hotel-calendar-month h3{margin-bottom:12px;font-size:.95rem}
.hotel-preview-dates .hotel-calendar-weekdays{margin-bottom:6px;color:#657184;font-size:.68rem}
.hotel-preview-dates .hotel-calendar-days{row-gap:4px}
.hotel-preview-dates .hotel-calendar-days button{width:32px;height:32px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:0}
.hotel-preview-dates .hotel-calendar-days button:hover:not(:disabled){background:#fff3d8}
.hotel-preview-dates .hotel-calendar-days button.is-in-range{background:#fff1cf}
.hotel-preview-dates .hotel-calendar-days button.is-start,.hotel-preview-dates .hotel-calendar-days button.is-end{position:relative;z-index:2;color:#101827;background:#f5aa16;box-shadow:0 0 0 2px #fff;font-weight:900}
.hotel-preview-flex-dates{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin:12px 0 0;padding:10px 0 0;border:0;border-top:1px solid #e6eaf0}.hotel-preview-flex-dates legend{float:inline-start;width:100%;margin:0 0 4px;color:#202a38;font-size:.82rem;font-weight:800}.hotel-preview-flex-dates label{position:relative;display:block!important;width:auto!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;cursor:pointer}.hotel-preview-flex-dates input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.hotel-preview-flex-dates span{display:flex;align-items:center;gap:6px;padding:5px 1px;border:0;border-bottom:2px solid transparent;border-radius:0;color:#526174;background:transparent;font-size:.76rem;font-weight:700}.hotel-preview-flex-dates span::before{content:'';width:13px;height:13px;border:1px solid #9aa8ba;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #fff}.hotel-preview-flex-dates input:checked+span{border-bottom-color:#d48a00;color:#714900;background:transparent;box-shadow:none}.hotel-preview-flex-dates input:checked+span::before{border-color:#d48a00;background:#d48a00}.hotel-preview-flex-dates input:focus-visible+span{outline:2px solid #d48a00;outline-offset:3px}
.hotel-preview-native-dates{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.hotel-preview-guest-rows{display:grid}.hotel-preview-guest-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;border-bottom:1px solid #edf0f4;font-weight:700}.hotel-preview-guest-row:last-child{border-bottom:0}
.hotel-preview-guest-row>div{display:grid;grid-template-columns:40px 44px 40px;align-items:center;gap:8px;direction:ltr}.hotel-preview-guest-row button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #d8e0e9;border-radius:50%;background:#fff;color:#101827;font-size:1.25rem;line-height:1;cursor:pointer}.hotel-preview-guest-row button:hover{border-color:#d99100;background:#fff8e8}.hotel-preview-guest-row button:focus-visible{outline:2px solid #d99100;outline-offset:2px}.hotel-preview-guest-row button:disabled{opacity:.4;cursor:default}.hotel-preview-guest-row input{width:44px;height:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0;background:transparent!important;background-image:none!important;background-position:initial!important;background-size:0!important;box-shadow:none!important;color:#101827;direction:ltr!important;text-align:center!important;font-size:1.05rem;font-weight:850;appearance:textfield}.hotel-preview-guest-row input::-webkit-inner-spin-button,.hotel-preview-guest-row input::-webkit-outer-spin-button{margin:0;appearance:none}
.hotel-preview-submit{grid-column:auto!important;align-self:center;min-width:0;width:auto;min-height:52px;height:52px;margin:12px;padding:0 18px;border:1px solid #d99100;border-radius:7px;gap:9px;box-shadow:0 7px 18px rgba(176,112,0,.16);font-size:14px;white-space:nowrap}.hotel-preview-submit::before,.hotel-preview-submit::after{content:none!important;display:none!important}.hotel-preview-submit i{transition:transform .2s ease}.hotel-preview-submit:hover i{transform:translateX(-2px)}[dir=ltr] .hotel-preview-submit i{transform:rotate(180deg)}[dir=ltr] .hotel-preview-submit:hover i{transform:rotate(180deg) translateX(-3px)}
@media(max-width:767.98px){.booking-panel--hotel-compact-preview{width:min(100% - 20px,520px);margin-top:-20px;border-radius:16px}.booking-panel--hotel-compact-preview .booking-header{padding:12px 12px 0}.booking-panel--hotel-compact-preview .booking-header .booking-tabs{justify-content:flex-start;gap:0;scroll-snap-type:inline mandatory}.booking-panel--hotel-compact-preview .booking-tabs button{flex:0 0 20%;min-width:0;min-height:42px;justify-content:center;padding:7px 3px 10px;overflow:hidden;font-size:11px;text-overflow:ellipsis;scroll-snap-align:start}.booking-panel--hotel-compact-preview .booking-tab-icon{display:none}.booking-panel--hotel-compact-preview .booking-form{padding:14px}.booking-panel--hotel-compact-preview .booking-form-fields--hotels{display:grid;grid-template-columns:1fr;padding:8px;border:0;border-radius:20px}.hotel-preview-search{display:grid;grid-template-columns:1fr}.booking-panel--hotel-compact-preview .booking-form .hotel-preview-field{height:auto;min-height:72px;padding:13px 14px;border:0!important;border-bottom:1px solid #e5e9ef!important;border-radius:0!important;box-shadow:none!important}.booking-panel--hotel-compact-preview .booking-form .hotel-preview-field:focus-within{border-color:#e5e9ef!important;border-radius:0!important;box-shadow:none!important}.booking-panel--hotel-compact-preview .booking-form .hotel-preview-guests{border-bottom:0!important}.hotel-preview-sheet-panel{position:fixed;z-index:200;inset:auto 10px 10px;width:auto;max-height:min(82vh,680px);overflow:auto;border-radius:20px}.hotel-preview-sheet[open]::after{content:'';position:fixed;z-index:190;inset:0;background:rgba(15,23,42,.32)}.hotel-preview-dates .hotel-calendar-months{gap:14px}.hotel-preview-dates .hotel-date-range-picker{padding-top:12px}.hotel-preview-dates .hotel-date-range-toolbar{margin-bottom:12px}.hotel-preview-flex-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.hotel-preview-flex-dates legend{grid-column:1/-1}.hotel-preview-flex-dates span{justify-content:flex-start;text-align:start}.hotel-preview-submit{grid-column:1!important;width:auto;min-width:136px;min-height:50px;height:50px;margin:10px 12px 12px;border-radius:7px}[dir=rtl] .hotel-preview-submit{margin:10px 12px 12px}}
@media(max-width:767.98px){.hotel-preview-guests .hotel-preview-sheet-panel{box-sizing:border-box;inset:auto 0 0;left:0;right:0;width:100%;max-width:none;margin:0;padding:17px 16px calc(86px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;transform:none}}
@media(prefers-reduced-motion:reduce){.hotel-preview-sheet-panel{scroll-behavior:auto}}

/* Keep the complete search in one compact row through tablet widths. */
@media(min-width:768px) and (max-width:1100px){
  .booking-panel--hotel-compact-preview .booking-form{padding:14px}
  .booking-panel--hotel-compact-preview .booking-form-fields--hotels{grid-template-columns:minmax(0,1.7fr) minmax(0,1.25fr) minmax(0,1.1fr) minmax(112px,.72fr)!important;padding:0;border-radius:8px}
  .hotel-preview-search{display:contents!important}
  .booking-panel--hotel-compact-preview .booking-form .hotel-preview-field{height:76px;min-height:76px;padding-inline:10px;border-bottom:0!important}
  .booking-panel--hotel-compact-preview .hotel-preview-submit{grid-column:auto!important;justify-self:stretch!important;width:calc(100% - 16px)!important;min-width:0!important;margin-inline:8px!important}
}

/* Wide compact surface stays borderless; stacked fields regain quiet reading dividers. */
.booking-panel--hotel-compact-preview,
.booking-panel--hotel-compact-preview .booking-form-fields--hotels,
.booking-panel--hotel-compact-preview .booking-form .hotel-preview-field{
  border:0!important;
}

@media(max-width:767.98px){
  .booking-panel--hotel-compact-preview .booking-form-fields--hotels{
    border:1px solid rgba(148,163,184,.16)!important;
  }
  .booking-panel--hotel-compact-preview .booking-form .hotel-preview-field{
    border:0!important;
    border-bottom:1px solid rgba(148,163,184,.18)!important;
  }
  .booking-panel--hotel-compact-preview .booking-form .hotel-preview-guests{
    border-bottom:0!important;
  }
}
/* Let the stacked form use the available tablet and phone width. */
@media(max-width:767.98px){.booking-panel--hotel-compact-preview{width:calc(100% - 20px)}}
