/* Layout contract from the supplied LiteAPI desktop/tablet/phone screenshots.
   First layer owns geometry across retained legacy component styles. */
@layer stays-reference {
  body[data-stays-reference] a.q-floating-map { color: #fff !important; display: inline-flex; align-items: center; gap: 8px; }
  body[data-stays-reference] a.q-floating-map svg { width: 20px; height: 20px; color: #fff !important; stroke: currentColor !important; }
  body[data-stays-reference="property"] .q-property-photo-track { display: contents; }
  body[data-stays-reference="property"] .nav-global .nav-inner { max-width: 1200px !important; margin: auto !important; padding-inline: 12px !important; }
  @media (max-width:699px) {
    body[data-stays-reference="property"] .gallery { display: flex !important; flex-direction: column !important; gap: 10px !important; height: auto !important; }
    body[data-stays-reference="property"] .gallery .g-hero { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; }
    body[data-stays-reference="property"] .q-property-photo-track { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    body[data-stays-reference="property"] .q-property-photo-track::-webkit-scrollbar { display: none; }
    body[data-stays-reference="property"] .q-property-photo-track .g-item { flex: 0 0 75%; height: 170px !important; scroll-snap-align: start; }
    body[data-stays-reference="property"] .modal-grid { display: flex !important; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; }
    body[data-stays-reference="property"] .modal-grid > img { flex: 0 0 90%; width: 90% !important; max-height: 65dvh; object-fit: contain; scroll-snap-align: center; }
  }
  @media (min-width:700px) {
    html body[data-stays-reference="landing"] .landing-hero-bleed { min-height: clamp(560px,70vh,760px) !important; display: flex !important; align-items: center !important; }
  }
  @media (min-width:700px) {
    body[data-stays-reference="landing"] .hotel-search-topbar .search-popover:not([hidden]) { top: var(--landing-panel-top) !important; max-height: max(150px,calc(100dvh - var(--landing-panel-top) - 16px)) !important; }
  }
  body[data-stays-reference] .nav-global :is(.stays-prefs-trigger,.theme-toggle):hover { background: #2b3039 !important; border-color: #626b7b !important; }
  body[data-stays-reference] .nav-global .q-nav-section:hover { background: #243b55 !important; }
  body[data-stays-reference] .q-nav-section svg { width: 16px; height: 16px; margin-right: 6px; stroke: currentColor !important; }
  html[data-theme] body[data-stays-reference] .nav-global { background: #08090b !important; color: #f0f1f5 !important; border-bottom-color: #292c33 !important; }
  body[data-stays-reference="landing"] .landing-hero-bleed { --q-surface: #fff; --q-ink: #151823; --q-muted: #657386; --q-line: #dce0e8; color-scheme: light; }
  body[data-stays-reference] .hotel-search-field input:focus { outline: none !important; box-shadow: none !important; }
  body[data-stays-reference] .hotel-search-field:has(input:focus-visible) { box-shadow: inset 0 -2px var(--q-blue) !important; }
  body[data-stays-reference] .q-carousel { scrollbar-width: none; -ms-overflow-style: none; }
  body[data-stays-reference] .q-carousel::-webkit-scrollbar { display: none; width: 0; height: 0; }
  @media (min-width:700px) {
    body[data-stays-reference="landing"] .hotel-search-topbar > .hotel-search-field { background: transparent !important; }
  }
  body[data-stays-reference] .nav-global { display: block !important; }
  body[data-stays-reference] .q-nav-section { color: #e8f0ff !important; }
  @media (min-width:1100px) { body[data-stays-reference] .q-search-editor .guests-popover:not([hidden]) { left: calc(50% + 240px) !important; } }
  body[data-stays-reference="landing"] .hero-inner { min-height: 0 !important; height: auto !important; }
  body[data-stays-reference="landing"] .section { padding: 0 !important; }
  body[data-stays-reference] .section-head { flex-wrap: wrap !important; }
  body[data-stays-reference] .section-head > div:first-child { min-width: 0 !important; flex: 1 1 140px !important; }
  body[data-stays-reference] .q-carousel-controls { flex: 0 0 auto !important; }
  body[data-stays-reference] .featured-hotel-card { display: flex !important; flex-direction: column !important; height: auto !important; min-height: 0 !important; }
  body[data-stays-reference] .featured-hotel-card .listing-card-media { width: 100% !important; height: 190px !important; flex: 0 0 190px !important; }
  body[data-stays-reference] .featured-hotel-card .listing-card-body { display: flex !important; flex-direction: column !important; gap: 8px !important; height: auto !important; min-height: 0 !important; padding: 16px !important; }
  body[data-stays-reference] .q-nav-section { display: none !important; }
  @media (min-width:1100px) {
    body[data-stays-reference="landing"] .q-nav-section, body[data-stays-reference].q-search-open .q-nav-section { display:inline-flex !important; align-items:center; justify-content:center; padding:8px 16px; border:1px solid #375578; border-radius:30px; color:#e8f0ff; background:#172638; font-size:14px; text-decoration:none; margin:auto; }
    body[data-stays-reference].q-search-open .nav-inner > .q-search-summary { display:none !important; }
  }
  body[data-stays-reference] .q-summary-icon svg, body[data-stays-reference] .q-filter-trigger svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.6; }
  body[data-stays-reference] .q-filter-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
  body[data-stays-reference] .q-filter-trigger svg { color: #8995a7; }
  body[data-stays-reference] .q-summary-icon { display: flex; align-items: center; justify-content: center; }
  body[data-stays-reference] .hotel-search-submit svg { stroke: currentColor; stroke-width: 1.8; }
  body[data-stays-reference="landing"] .hotel-search-submit .q-landing-submit-label { display: inline !important; color: white !important; }
  @media (min-width:700px) {
    body[data-stays-reference="landing"] .hotel-search-submit .q-landing-submit-label { display: none !important; }
    body[data-stays-reference="landing"] .hotel-search-submit::after { display: none !important; }
  }
  @media (min-width:1100px) { body[data-stays-reference] .nav-inner .q-summary-icon { color: white !important; } }
  body[data-stays-reference] .q-search-editor .calendar-day.is-selected { color: white !important; }
  body[data-stays-reference] .q-search-editor :is(button:disabled,.calendar-day.is-muted) { color: #b2bac8 !important; }
  @media (min-width:1100px) { body[data-stays-reference="list"] .q-filter-panel .hotel-filter-head { order:-2 !important; } }
  body[data-stays-reference] .q-price-range { position: relative; height: 40px; }
  body[data-stays-reference] .q-price-range input[type="range"] { appearance: none !important; position: absolute !important; inset: 0 !important; width: 100% !important; height: 40px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; pointer-events: none; }
  body[data-stays-reference] .q-price-range::before { content:''; position: absolute; left:0; right:0; top:18px; height:4px; background:var(--q-blue); border-radius:3px; }
  body[data-stays-reference] .q-price-range input::-webkit-slider-thumb { appearance:none; width:20px; height:20px; border:2px solid var(--q-blue); border-radius:50%; background:var(--q-surface); pointer-events:auto; cursor:ew-resize; }
  body[data-stays-reference] .q-price-range input::-moz-range-thumb { width:18px; height:18px; border:2px solid var(--q-blue); border-radius:50%; background:var(--q-surface); pointer-events:auto; }
  body[data-stays-reference] .q-search-editor :is(button,span,strong,input,select,h2,h3), body[data-stays-reference] .q-search-summary :is(span,strong) { color: var(--q-ink) !important; }
  body[data-stays-reference] .q-close { color: var(--q-ink) !important; font-size: 28px !important; background: transparent !important; border: 0 !important; }
  body[data-stays-reference] .q-search-editor .hotel-search-submit, body[data-stays-reference] .q-search-editor .hotel-search-submit span { color: white !important; }
  body[data-stays-reference] .nav-global :is(.stays-prefs-trigger,.theme-toggle) svg * { stroke: #d6dbe5 !important; }
  body[data-stays-reference] .q-filter-panel .hotel-filter-check { display: flex !important; align-items: center !important; gap: 10px !important; min-height: 34px !important; font-size: 15px !important; font-weight: 400 !important; }
  body[data-stays-reference] .q-filter-panel .hotel-filter-check span { font: inherit !important; }
  body[data-stays-reference] .q-filter-panel .hotel-filter-check input { width: 20px !important; height: 20px !important; flex: 0 0 20px !important; }
  body[data-stays-reference] .q-filter-panel .hotel-filter-section h3 { font-size: 17px !important; margin-bottom: 12px !important; }
  body[data-stays-reference] .q-filter-panel .hotel-filter-text { min-height: 40px !important; padding: 8px !important; font-size: 16px !important; }
  body[data-stays-reference] .q-filter-footer button { font-size: 15px !important; min-height: 46px !important; }
  body[data-stays-reference] .results-head-main { flex-direction: row !important; }
  body[data-stays-reference] .results-head-main h2 { text-align: left !important; }
  body[data-stays-reference] .q-filter-panel { transform: none !important; visibility: visible !important; pointer-events: auto !important; }
  @media (max-width:1099px) { body[data-stays-reference] .q-map-preview { display: none !important; } }
  body[data-stays-reference] .hotel-card-saving-icon { width: 12px !important; height: 12px !important; flex: 0 0 12px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.5 !important; }
  body[data-stays-reference] .hotel-card-fact-icon { fill: none !important; stroke: currentColor !important; stroke-width: 1.2 !important; }
  body[data-stays-reference] .results-count-block { text-align: left !important; width: auto !important; }
  body[data-stays-reference] .results-actions-group:empty { display: none !important; }
  body[data-stays-reference] .q-map-preview { position: relative; overflow: hidden; }
  body[data-stays-reference] .q-map-preview > span { position: relative; z-index: 1; }
  body[data-stays-reference] .q-map-preview > .q-map-tile { position: absolute; width: 256px; height: 256px; max-width: none; }
  body[data-stays-reference] .q-map-preview > small { position: absolute; z-index: 1; right: 2px; bottom: 0; font-size: 8px; background: #fffC; color: #445; }
  body[data-stays-reference="landing"] .landing-hero-bleed { height: auto !important; }
  body[data-stays-reference] :is(.stays-prefs-trigger,.theme-toggle) svg { color: #d6dbe5 !important; stroke: currentColor !important; }
  body[data-stays-reference] .template-map-toolbar { display: none !important; }
  body[data-stays-reference] { --q-surface: #fff; --q-ink: #151923; --q-muted: #647084; --q-line: #e2e5eb; --q-blue: #176cf4; margin: 0 !important; background: var(--q-surface) !important; color: var(--q-ink) !important; font-family: 'DM Sans', sans-serif !important; }
  html[data-theme="dark"] body[data-stays-reference] { --q-surface: #161820; --q-ink: #f0f1f5; --q-muted: #a6afbf; --q-line: #353b49; }
  body[data-stays-reference] *, body[data-stays-reference] *::before, body[data-stays-reference] *::after { box-sizing: border-box; }
  body[data-stays-reference] [hidden] { display: none !important; }
  body[data-stays-reference] :is(button,a,input,select):focus-visible { outline: 2px solid var(--q-blue); outline-offset: 3px; }
  body[data-stays-reference] .nav-global { position: relative !important; inset: auto !important; z-index: 100 !important; height: auto !important; min-height: 76px !important; padding: 0 !important; border-bottom: 1px solid var(--q-line) !important; background: var(--q-surface) !important; color: var(--q-ink) !important; box-shadow: none !important; }
  body[data-stays-reference] .nav-global > .container { width: 100% !important; max-width: 1200px !important; padding: 0 12px !important; margin: auto !important; }
  body[data-stays-reference] .nav-inner { display: flex !important; align-items: center !important; justify-content: space-between !important; min-height: 76px !important; height: auto !important; gap: 12px !important; padding: 0 !important; }
  body[data-stays-reference] .nav-brand { flex: 0 0 auto !important; }
  body[data-stays-reference] .nav-logo-img { display: block !important; width: 110px !important; height: auto !important; max-height: 44px !important; filter: none !important; }
  body[data-stays-reference] :is(.nav-tabs,.nav-mobile-menu,.discovery-section-switcher) { display: none !important; }
  body[data-stays-reference] .nav-actions { position: static !important; display: flex !important; align-items: center !important; flex-direction: row !important; width: auto !important; gap: 10px !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  body[data-stays-reference] :is(.stays-prefs-trigger,.theme-toggle) { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 38px !important; min-width: 38px !important; height: 38px !important; padding: 9px !important; border: 1px solid #343740 !important; border-radius: 9px !important; background: #1c1f25 !important; color: #d6dbe5 !important; }
  body[data-stays-reference] .stays-prefs-trigger span { display: none !important; }
  body[data-stays-reference] .stays-prefs-trigger svg { display: block !important; width: 20px !important; height: 20px !important; }
  body[data-stays-reference] .account-link { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: auto !important; height: 38px !important; padding: 0 17px !important; border: 0 !important; border-radius: 8px !important; background: var(--q-blue) !important; color: white !important; font: 600 14px/1 'DM Sans',sans-serif !important; }
  body[data-stays-reference] .page-wrap { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  body[data-stays-reference] .page-wrap > .container { width: 100% !important; max-width: 1200px !important; margin: auto !important; padding: 24px 12px 60px !important; }
  body[data-stays-reference="landing"] .landing-hero-bleed { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 70px 22px 28px !important; min-height: 420px !important; border-radius: 0 !important; background-position: center !important; background-size: cover !important; }
  body[data-stays-reference="landing"] .hero-inner { display: block !important; width: 100% !important; max-width: 1000px !important; margin: auto !important; padding: 0 !important; text-align: center !important; }
  body[data-stays-reference="landing"] .hero h1 { color: white !important; max-width: 800px !important; margin: 0 auto 28px !important; padding: 0 !important; font-size: clamp(28px,4vw,48px) !important; line-height: 1.15 !important; letter-spacing: -.025em !important; }
  body[data-stays-reference="landing"] .hero :is(.stays-liteapi-strip,.hero-tags) { display: none !important; }
  body[data-stays-reference] .hotel-search-topbar { position: relative !important; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; width: 100% !important; max-width: none !important; height: auto !important; min-height: 0 !important; gap: 8px !important; padding: 9px !important; margin: 0 auto !important; border: 1px solid var(--q-line) !important; border-radius: 16px !important; background: var(--q-surface) !important; color: var(--q-ink) !important; box-shadow: none !important; transform: none !important; overflow: visible !important; }
  body[data-stays-reference] .hotel-search-field { display: flex !important; flex-direction: column !important; justify-content: center !important; width: 100% !important; min-width: 0 !important; height: auto !important; min-height: 44px !important; padding: 7px 12px !important; margin: 0 !important; border: 1px solid var(--q-line) !important; border-radius: 8px !important; background: var(--q-surface) !important; color: var(--q-ink) !important; }
  body[data-stays-reference] .hotel-search-field > span { display: none !important; }
  body[data-stays-reference] :is(.hotel-search-field-main,.hotel-search-field-guests,.hotel-search-submit,.q-date-range) { grid-column: 1 / -1 !important; }
  body[data-stays-reference] .hotel-search-field :is(input,.search-field-trigger) { width: 100% !important; min-width: 0 !important; height: 28px !important; min-height: 28px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--q-ink) !important; font: 400 16px/1.4 'DM Sans',sans-serif !important; text-align: left !important; }
  body[data-stays-reference] .search-field-trigger strong { font: inherit !important; }
  body[data-stays-reference] .hotel-search-submit { display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; width: 100% !important; min-height: 44px !important; height: auto !important; padding: 10px !important; margin: 0 !important; border: 0 !important; border-radius: 8px !important; background: var(--q-blue) !important; color: white !important; font: 600 16px/1.2 'DM Sans',sans-serif !important; }
  body[data-stays-reference] .hotel-search-submit svg { width: 20px !important; height: 20px !important; }
  body[data-stays-reference] .hotel-search-submit > span:not(.q-submit-copy):not(.q-landing-submit-label) { display: none !important; }
  body[data-stays-reference] .section { margin: 20px 0 32px !important; }
  body[data-stays-reference] .section-head { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 18px !important; }
  body[data-stays-reference] .section-head h2 { font-size: 20px !important; }
  body[data-stays-reference] .q-carousel { display: grid !important; grid-template-columns: none !important; grid-auto-flow: column !important; grid-auto-columns: minmax(240px,80%) !important; overflow-x: auto !important; gap: 16px !important; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding: 0 0 12px !important; }
  body[data-stays-reference] .q-carousel > * { min-width: 0 !important; width: 100% !important; scroll-snap-align: start; }
  body[data-stays-reference] .q-carousel-controls { margin-left: auto; display: flex; gap: 8px; }
  body[data-stays-reference] .q-carousel-controls button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f3f4f6; color: #657386; font-size: 24px; }
  body[data-stays-reference] :is(.q-search-summary,.q-filter-trigger,.q-date-range) { appearance: none; background: var(--q-surface); color: var(--q-ink); border: 1px solid var(--q-line); font: 400 14px/1.4 'DM Sans',sans-serif; cursor: pointer; }
  body[data-stays-reference] .nav-inner > .q-search-summary { display: none !important; }
  body[data-stays-reference] .q-mobile-search-bar { padding: 16px 10px 0 !important; }
  body[data-stays-reference] .q-mobile-summary { display: grid !important; grid-template-columns: auto minmax(0,1fr) 20px !important; gap: 3px 8px !important; width: 100% !important; min-height: 56px !important; border-radius: 8px !important; padding: 9px 12px !important; text-align: left !important; }
  body[data-stays-reference] .q-summary-destination { grid-column: 1 / 3; font-weight: 500; }
  body[data-stays-reference] .q-summary-dates { font-size: 12px; color: var(--q-muted); }
  body[data-stays-reference] .q-summary-guests { font-size: 12px; color: var(--q-muted); }
  body[data-stays-reference] .q-summary-icon { grid-column: 3; grid-row: 1 / 3; align-self: center; font-size: 25px; }
  body[data-stays-reference] .q-mobile-list-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
  body[data-stays-reference] .q-filter-trigger { border-radius: 8px; min-height: 44px; padding: 10px 18px; white-space: nowrap; }
  body[data-stays-reference] .q-sort { width: 100% !important; position: relative !important; }
  body[data-stays-reference] .q-sort .sort-button { width: 100% !important; min-height: 44px !important; border: 1px solid var(--q-line) !important; border-radius: 8px !important; background: var(--q-surface) !important; color: var(--q-ink) !important; justify-content: center !important; }
  body[data-stays-reference] .q-sort .sort-button strong { font-size: 0 !important; }
  body[data-stays-reference] .q-sort .sort-button strong::after { content: '↕  Sort'; font-size: 14px; font-weight: 400; }
  body[data-stays-reference] .results-layout { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  body[data-stays-reference] .results-main-panel { width: 100% !important; min-width: 0 !important; padding: 0 !important; }
  body[data-stays-reference] :is(.results-main-panel > .top-strip,.stays-mobile-filter-toggle,.results-count-block > p,.stays-map-quick-controls,.stays-mobile-map-actions,.stays-mobile-filter-button,#staysMobileSearchSheet) { display: none !important; }
  body[data-stays-reference] .results-head-main { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; min-height: 40px !important; margin: 0 0 12px !important; padding: 0 !important; }
  body[data-stays-reference] :is(.results-head-main h2,.template-results-head h2,.stays-map-results-summary) { font-size: 16px !important; line-height: 1.35 !important; margin: 0 !important; }
  body[data-stays-reference] .results-head-main .view-toggle { display: none !important; }
  body[data-stays-reference] :is(.results-list,.template-results-list) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; grid-auto-rows: max-content !important; gap: 12px !important; min-width: 0 !important; align-content: start !important; container: q-cards / inline-size; }
  body[data-stays-reference] .hotel-result-card { display: grid !important; grid-template-columns: 38% minmax(0,1fr) !important; grid-template-rows: auto !important; gap: 0 !important; width: 100% !important; height: auto !important; min-height: 258px !important; max-height: none !important; padding: 4px !important; border: 1px solid var(--q-line) !important; border-radius: 17px !important; background: var(--q-surface) !important; overflow: hidden !important; }
  body[data-stays-reference] .hotel-card-media { grid-column: 1 !important; grid-row: 1 !important; width: 100% !important; height: 100% !important; min-height: 250px !important; margin: 0 !important; border-radius: 12px !important; overflow: hidden !important; }
  body[data-stays-reference] .hotel-card-media img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
  body[data-stays-reference] .hotel-card-body { grid-column: 2 !important; grid-row: 1 !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 10px !important; min-width: 0 !important; height: auto !important; padding: 8px 8px 6px 10px !important; position: static !important; }
  body[data-stays-reference] .hotel-card-main { display: block !important; position: static !important; min-width: 0 !important; max-width: none !important; padding: 0 !important; }
  body[data-stays-reference] .hotel-card-rating { display: block !important; color: #ff822b !important; font-size: 15px !important; letter-spacing: 1px !important; }
  body[data-stays-reference] .hotel-card-title { display: block !important; overflow: visible !important; white-space: normal !important; overflow-wrap: anywhere !important; font: 600 16px/1.25 'DM Sans',sans-serif !important; color: var(--q-ink) !important; margin: 2px 0 4px !important; max-height: none !important; -webkit-line-clamp: unset !important; }
  body[data-stays-reference] :is(.hotel-card-location,.hotel-card-distance) { display: flex !important; align-items: flex-start !important; gap: 4px !important; margin: 4px 0 !important; color: var(--q-muted) !important; font-size: 12px !important; line-height: 1.4 !important; white-space: normal !important; overflow: visible !important; max-height: none !important; }
  body[data-stays-reference] .hotel-card-fact-icon { width: 16px !important; height: 16px !important; flex: 0 0 16px !important; }
  body[data-stays-reference] .hotel-card-facts { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin: 6px 0 0 !important; font-size: 12px !important; }
  body[data-stays-reference] .hotel-card-review-summary { position: static !important; display: grid !important; grid-template-columns: auto auto minmax(0,1fr) !important; grid-template-rows: auto !important; align-items: center !important; justify-content: start !important; gap: 4px !important; width: auto !important; margin: 0 !important; color: var(--q-ink) !important; text-align: left !important; }
  body[data-stays-reference] .hotel-card-review-summary strong { grid-column: 1 !important; grid-row: 1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 25px !important; height: 25px !important; min-width: 25px !important; border-radius: 7px 7px 12px 7px !important; background: #04bc7f !important; color: white !important; font-size: 11px !important; }
  body[data-stays-reference] .hotel-card-review-summary > span { grid-column: 2 !important; grid-row: 1 !important; font-size: 12px !important; }
  body[data-stays-reference] .hotel-card-review-summary small { grid-column: 3 !important; grid-row: 1 !important; color: var(--q-muted) !important; font-size: 10px !important; white-space: normal !important; }
  body[data-stays-reference] .hotel-card-booking { display: flex !important; flex-direction: column !important; align-items: flex-end !important; align-self: stretch !important; justify-content: flex-end !important; width: 100% !important; min-width: 0 !important; height: auto !important; min-height: 0 !important; position: static !important; margin: auto 0 0 !important; padding: 0 !important; gap: 5px !important; border: 0 !important; text-align: right !important; }
  body[data-stays-reference] .hotel-card-saving-badge { display: inline-flex !important; align-items: center !important; flex-wrap: wrap !important; justify-content: center !important; gap: 3px !important; max-width: 100% !important; padding: 7px 8px !important; background: #c2efa5 !important; border: 1px solid #89d663 !important; border-radius: 30px !important; color: #10200e !important; font-size: 10px !important; white-space: normal !important; }
  body[data-stays-reference] .hotel-card-price { display: flex !important; justify-content: flex-end !important; align-items: baseline !important; flex-wrap: wrap !important; gap: 4px !important; color: var(--q-ink) !important; }
  body[data-stays-reference] .hotel-card-price strong { font-size: 20px !important; line-height: 1.2 !important; color: inherit !important; }
  body[data-stays-reference] .hotel-card-price span { font-size: 11px !important; color: var(--q-muted) !important; }
  body[data-stays-reference] .hotel-card-stay-meta { font-size: 10px !important; line-height: 1.4 !important; color: var(--q-muted) !important; white-space: normal !important; }
  body[data-stays-reference] .hotel-card-reference-price { display: block !important; font-size: 11px !important; line-height: 1.4 !important; color: var(--q-ink) !important; background: color-mix(in srgb,var(--q-ink) 5%,var(--q-surface)) !important; padding: 9px 11px !important; border-radius: 12px !important; }
  body[data-stays-reference] .hotel-availability-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: auto !important; max-width: 100% !important; min-height: 36px !important; height: auto !important; padding: 8px 12px !important; margin: 3px 0 0 !important; background: var(--q-blue) !important; color: white !important; border: 0 !important; border-radius: 8px !important; font: 600 11px/1.3 'DM Sans',sans-serif !important; white-space: normal !important; }
  body[data-stays-reference] .q-floating-map { position: fixed; z-index: 80; bottom: max(20px,env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); padding: 12px 18px; border-radius: 30px; color: white; background: var(--q-blue); font-size: 15px; font-weight: 600; text-decoration: none; }
  body[data-stays-reference] .q-list-sidebar { display: none !important; }
  body[data-stays-reference] .q-search-editor { display: none !important; }
  body[data-stays-reference] .q-backdrop { display: none !important; position: fixed; inset: 0; z-index: 95; border: 0; background: #0006; }
  body[data-stays-reference]:is(.q-search-open,.q-filter-open) { overflow: hidden !important; }
  body[data-stays-reference]:is(.q-search-open,.q-filter-open) #liteapi-chatbot-host { display: none !important; }
  body[data-stays-reference]:is(.q-search-open,.q-filter-open) .q-backdrop { display: block !important; }
  body[data-stays-reference].q-search-open .q-search-editor { display: block !important; position: fixed !important; inset: 0 0 auto !important; z-index: 120 !important; max-height: 95dvh !important; overflow-y: auto !important; padding: 0 16px 18px !important; border-radius: 0 0 16px 16px !important; background: var(--q-surface) !important; }
  body[data-stays-reference] .q-editor-head { display: flex; justify-content: space-between; align-items: center; min-height: 68px; border-bottom: 1px solid var(--q-line); margin: 0 -16px 16px; padding: 0 16px; }
  body[data-stays-reference] .q-editor-head h2 { font-size: 19px; margin: 0; }
  body[data-stays-reference] .q-close { display: flex !important; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--q-ink); font-size: 28px; width: 40px; height: 44px; padding: 0; }
  body[data-stays-reference] .q-search-editor .hotel-search-topbar { border: 0 !important; padding: 0 !important; gap: 10px !important; }
  body[data-stays-reference] .q-search-editor .hotel-search-field { min-height: 58px !important; padding: 12px 16px !important; }
  body[data-stays-reference] .q-search-editor .hotel-search-field-date { display: none !important; }
  body[data-stays-reference] .q-date-range { display: block !important; min-height: 58px !important; border-radius: 8px !important; padding: 12px 16px !important; text-align: left !important; font-size: 16px !important; }
  body[data-stays-reference] .q-search-editor .hotel-search-submit { margin-top: 8px !important; }
  body[data-stays-reference] .search-popover:not([hidden]) { position: fixed !important; inset: 80px 12px auto !important; transform: none !important; width: auto !important; max-width: calc(100vw - 24px) !important; max-height: calc(100dvh - 104px) !important; overflow: auto !important; z-index: 180 !important; border: 1px solid var(--q-line) !important; background: var(--q-surface) !important; color: var(--q-ink) !important; border-radius: 14px !important; padding: 16px !important; }
  body[data-stays-reference] :is(.calendar-months,.date-popover-grid) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; }
  body[data-stays-reference] .q-filter-panel { display: none !important; }
  body[data-stays-reference].q-filter-open .q-list-sidebar { display: block !important; }
  body[data-stays-reference].q-filter-open .q-filter-panel { display: flex !important; flex-direction: column !important; position: fixed !important; inset: 0 !important; z-index: 200 !important; width: 100% !important; max-width: none !important; height: 100dvh !important; max-height: none !important; padding: 0 !important; overflow: hidden !important; border: 0 !important; border-radius: 0 !important; background: var(--q-surface) !important; }
  body[data-stays-reference] .q-filter-panel .hotel-filter-head { display: flex !important; align-items: center !important; justify-content: space-between !important; flex: 0 0 76px !important; margin: 0 !important; padding: 18px 24px !important; border-bottom: 1px solid var(--q-line) !important; }
  body[data-stays-reference] .q-filter-panel .hotel-filter-head h2 { font-size: 23px !important; }
  body[data-stays-reference] .q-filter-scroll { flex: 1 1 auto; overflow-y: auto; min-height: 0; padding: 12px 24px; }
  body[data-stays-reference] .q-filter-scroll > :is(.filters-head,.qualoo-map-filter-close,.template-search-state-hidden) { display: none !important; }
  body[data-stays-reference] .hotel-filter-section { margin: 0 !important; padding: 24px 0 !important; border-bottom: 1px solid var(--q-line) !important; }
  body[data-stays-reference] .q-filter-footer { display: flex; flex: 0 0 auto; gap: 12px; padding: 16px 24px max(16px,env(safe-area-inset-bottom)); border-top: 1px solid var(--q-line); background: var(--q-surface); }
  body[data-stays-reference] .q-filter-footer button { flex: 1; min-height: 46px; padding: 10px; border: 1px solid var(--q-line); border-radius: 9px; background: var(--q-surface); color: var(--q-ink); font: 500 15px 'DM Sans',sans-serif; }
  body[data-stays-reference] .q-filter-footer .q-show-results { background: var(--q-blue); border-color: var(--q-blue); color: white; }
  @container q-cards (min-width: 700px) {
    body[data-stays-reference] .hotel-result-card { grid-template-columns: 200px minmax(0,1fr) !important; min-height: 286px !important; padding: 0 !important; }
    body[data-stays-reference] .hotel-card-media { min-height: 284px !important; border-radius: 0 !important; }
    body[data-stays-reference] .hotel-card-body { display: grid !important; grid-template-columns: minmax(0,1fr) 200px !important; grid-template-rows: auto 1fr !important; padding: 14px 14px 12px 16px !important; gap: 12px !important; }
    body[data-stays-reference] .hotel-card-main { grid-column: 1 !important; grid-row: 1 / 3 !important; }
    body[data-stays-reference] .hotel-card-title { font-size: 18px !important; }
    body[data-stays-reference] :is(.hotel-card-location,.hotel-card-distance) { font-size: 14px !important; }
    body[data-stays-reference] .hotel-card-review-summary { grid-column: 2 !important; grid-row: 1 !important; grid-template-columns: minmax(0,1fr) 32px !important; grid-template-rows: auto auto !important; text-align: right !important; justify-self: end !important; }
    body[data-stays-reference] .hotel-card-review-summary strong { grid-column: 2 !important; grid-row: 1 / 3 !important; width: 32px !important; height: 32px !important; font-size: 14px !important; }
    body[data-stays-reference] .hotel-card-review-summary > span { grid-column: 1 !important; grid-row: 1 !important; font-size: 14px !important; }
    body[data-stays-reference] .hotel-card-review-summary small { grid-column: 1 !important; grid-row: 2 !important; font-size: 13px !important; }
    body[data-stays-reference] .hotel-card-booking { grid-column: 2 !important; grid-row: 2 !important; align-self: end !important; gap: 6px !important; }
    body[data-stays-reference] .hotel-card-price strong { font-size: 25px !important; }
    body[data-stays-reference] :is(.hotel-card-saving-badge,.hotel-card-stay-meta,.hotel-card-reference-price) { font-size: 12px !important; }
  }
  @media (min-width: 700px) {
    body[data-stays-reference="landing"] .landing-hero-bleed { padding: 100px 24px !important; min-height: 470px !important; }
    body[data-stays-reference="landing"] .hotel-search-topbar { grid-template-columns: minmax(0,1.5fr) 1fr 1fr 1.3fr 48px !important; border-radius: 40px !important; padding: 6px !important; gap: 0 !important; }
    body[data-stays-reference="landing"] .hotel-search-topbar > .hotel-search-field { grid-column: auto !important; border: 0 !important; border-right: 1px solid var(--q-line) !important; border-radius: 0 !important; padding: 4px 18px !important; }
    body[data-stays-reference="landing"] .hotel-search-field > span { display: block !important; font-size: 11px !important; }
    body[data-stays-reference="landing"] .hotel-search-submit { grid-column: auto !important; width: 46px !important; height: 46px !important; min-height: 46px !important; border-radius: 50% !important; font-size: 0 !important; }
    body[data-stays-reference="landing"] .hotel-search-submit::after { content: '⌕'; font-size: 26px; }
    body[data-stays-reference] .q-carousel { grid-auto-columns: calc((100% - 32px) / 3) !important; }
    body[data-stays-reference] :is(.calendar-months,.date-popover-grid) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    body[data-stays-reference] .search-popover:not([hidden]) { width: 720px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) !important; }
    body[data-stays-reference] .guests-popover:not([hidden]) { width: 350px !important; }
  }
  @media (min-width: 1100px) {
    body[data-stays-reference] .nav-logo-img { width: 160px !important; }
    body[data-stays-reference] .nav-inner { min-height: 84px !important; }
    body[data-stays-reference] .nav-inner > .q-search-summary { display: flex !important; align-items: center !important; gap: 14px !important; min-height: 46px !important; padding: 4px 5px 4px 18px !important; border-radius: 30px !important; margin-left: auto !important; margin-right: auto !important; }
    body[data-stays-reference] .nav-inner .q-summary-dates, body[data-stays-reference] .nav-inner .q-summary-guests { font-size: 14px !important; color: var(--q-ink) !important; border-left: 1px solid var(--q-line); padding-left: 14px; }
    body[data-stays-reference] .nav-inner .q-summary-icon { display: flex; justify-content: center; align-items: center; border-radius: 50%; background: var(--q-blue); color: white; width: 36px; height: 36px; }
    body[data-stays-reference] .q-mobile-search-bar { display: none !important; }
    body[data-stays-reference="list"] .page-wrap > .container { padding-top: 36px !important; }
    body[data-stays-reference] .results-layout { display: grid !important; grid-template-columns: 288px minmax(0,1fr) !important; gap: 24px !important; }
    body[data-stays-reference] .q-list-sidebar { display: block !important; }
    body[data-stays-reference] .q-map-preview { display: flex; align-items: center; justify-content: center; height: 142px; margin-bottom: 24px; border: 1px solid var(--q-line); border-radius: 12px; background: #e1ece7; text-decoration: none; background-image: url('/app/assets/images/stays-map-preview.svg'); background-size: cover; }
    body[data-stays-reference] .q-map-preview span { padding: 9px 14px; background: var(--q-surface); color: var(--q-ink); font-size: 13px; font-weight: 600; border-radius: 30px; }
    body[data-stays-reference="list"] .q-filter-panel { display: flex !important; flex-direction: column !important; position: static !important; width: 100% !important; max-height: none !important; height: auto !important; padding: 0 !important; border: 1px solid var(--q-line) !important; border-radius: 12px !important; background: var(--q-surface) !important; overflow: hidden !important; }
    body[data-stays-reference="list"] .q-filter-panel .hotel-filter-head { flex-basis: 56px !important; padding: 16px 20px !important; }
    body[data-stays-reference="list"] .q-filter-panel .hotel-filter-head h2 { font-size: 16px !important; }
    body[data-stays-reference="list"] .q-filter-panel .q-close { display: none !important; }
    body[data-stays-reference="list"] .q-filter-scroll { overflow: visible; padding: 0 16px; }
    body[data-stays-reference="list"] .q-filter-footer { order: -1; padding: 16px; border: 0; }
    body[data-stays-reference="list"] .q-show-results { display: none !important; }
    body[data-stays-reference] .results-head-main { min-height: 40px !important; }
    body[data-stays-reference] .results-head-main .view-toggle { display: inline-flex !important; margin-left: auto !important; }
    body[data-stays-reference] .q-floating-map { display: none !important; }
    body[data-stays-reference] .q-sort { position: relative !important; inset: auto !important; width: auto !important; margin-left: auto !important; order: 1 !important; }
    body[data-stays-reference] .results-head-main .view-toggle { order: 2 !important; margin-left: 8px !important; }
    body[data-stays-reference] .q-sort .sort-button { border: 0 !important; }
    body[data-stays-reference] .q-sort .sort-button strong { font-size: 14px !important; font-weight: 400 !important; }
    body[data-stays-reference] .q-sort .sort-button strong::after { display: none; }
    body[data-stays-reference].q-search-open .q-search-editor { position: relative !important; inset: auto !important; padding: 8px 20px 20px !important; overflow: visible !important; border-radius: 0 !important; }
    body[data-stays-reference] .q-editor-head { display: none !important; }
    body[data-stays-reference] .q-search-editor .hotel-search-topbar { width: 860px !important; max-width: 100% !important; grid-template-columns: 1.5fr 1fr 1fr 1.3fr 48px !important; border: 1px solid var(--q-line) !important; padding: 5px !important; gap: 0 !important; border-radius: 40px !important; }
    body[data-stays-reference] .q-search-editor .hotel-search-field { grid-column: auto !important; min-height: 44px !important; padding: 4px 20px !important; border: 0 !important; border-right: 1px solid var(--q-line) !important; border-radius: 0 !important; }
    body[data-stays-reference] .q-search-editor .hotel-search-field-date { display: flex !important; }
    body[data-stays-reference] .q-search-editor .hotel-search-field > span { display: block !important; font-size: 11px !important; }
    body[data-stays-reference] .q-date-range { display: none !important; }
    body[data-stays-reference] .q-search-editor .hotel-search-submit { grid-column: auto !important; width: 46px !important; height: 46px !important; border-radius: 50% !important; margin: 0 !important; }
    body[data-stays-reference] .q-submit-copy { display: none !important; }
    body[data-stays-reference] .search-popover:not([hidden]) { top: 156px !important; }
  }
}
