/* Results page 2026 (Claude Design "Search Results Top v2"). Loaded only when Admin > Settings >
   Search & results > Results page design is "New" (body.ch-rt-on). It restyles the existing controls,
   which keep their ids and scripts: the search form (.ch-banner), the filter bar (.filters-top-bar,
   moved into the band by ch-results.js), the All filters panel (.ch-filters), the drop-downs and the
   hotel cards (.ch-hotel-card). The map column is untouched. */

body.ch-rt-on {
  --rt-navy: #313447; --rt-navy-d: #262938; --rt-orange: #F08A00; --rt-orange-h: #FF9A12; --rt-ink: #1A1F36; --rt-muted: #5E6478;
  --rt-panel: #F4F6FB; --rt-border: #E3E6EF; --rt-line: #D3D7E2; --rt-red: #C4320A; --rt-green: #127A46;
  padding-top: 64px !important;
}
.ch-rt-on .ch26-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ch-rt-on .ch-rt-ic { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; display: block; }

/* ---------- Header: compact 64px on this page ---------- */
.ch-rt-on .ch-header > .wrapper > .ch-inner { padding-top: 6px; padding-bottom: 6px; }
.ch-rt-on .ch-header nav { min-height: 52px; }
.ch-rt-on .ch-nav-logo { height: 40px; }
.ch-rt-on .ch-nav-logo img { max-height: 40px; width: auto; }

/* ---------- The band: search summary + filter chips ---------- */
.ch-rt-on .ch-rt-holder { position: relative; z-index: 1000; }   /* above the sticky map (.ch-map-popup-main, z 999) so the filter popovers open over it */
.ch-rt-on .ch-rt-band { position: relative; background: var(--rt-navy); border-top: 1px solid rgba(255, 255, 255, .08); color: #fff; font-family: Inter, Arial, Helvetica, sans-serif; }
.ch-rt-on .ch-rt-band__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 24px; }
.ch-rt-on .ch-rt-summary { display: inline-flex; align-items: stretch; max-width: 100%; height: 46px; border-radius: 999px; background: #fff; color: var(--rt-ink); box-shadow: 0 4px 14px rgba(0, 0, 0, .28); flex: none; }
.ch-rt-on .ch-rt-seg { appearance: none; position: relative; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0 16px; border: 0; border-radius: 999px;
  background: none; color: var(--rt-ink); font: inherit; font-size: 15px; white-space: nowrap; cursor: pointer; }
.ch-rt-on .ch-rt-seg:hover { background: var(--rt-panel); }
.ch-rt-on .ch-rt-seg + .ch-rt-seg::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 1px; background: var(--rt-border); }
.ch-rt-on .ch-rt-seg .ch-rt-ic { color: var(--rt-muted); }
.ch-rt-on .ch-rt-seg--where { font-weight: 700; max-width: 320px; }
.ch-rt-on .ch-rt-seg__text { overflow: hidden; text-overflow: ellipsis; }
.ch-rt-on .ch-rt-short { display: none; }
.ch-rt-on .ch-rt-editbtn { appearance: none; display: inline-flex; align-items: center; gap: 6px; margin: 4px 4px 4px 8px; padding: 0 14px; border: 0; border-radius: 999px;
  background: var(--rt-navy); color: #fff; font: inherit; font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.ch-rt-on .ch-rt-editbtn:hover { background: var(--rt-navy-d); }
.ch-rt-on .ch-rt-editbtn .ch-rt-ic { width: 15px; height: 15px; }
.ch-rt-on .ch-rt-msum { appearance: none; display: none; align-items: center; gap: 12px; width: 100%; margin: 0; padding: 8px 8px 8px 14px; border: 0; border-radius: 14px;
  background: #fff; color: var(--rt-ink); font: inherit; text-align: left; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .28); }
.ch-rt-on .ch-rt-msum__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ch-rt-on .ch-rt-msum__text b { font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ch-rt-on .ch-rt-msum__text span { font-size: 14px; color: var(--rt-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ch-rt-on .ch-rt-msum__edit { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--rt-panel); flex: none; }

/* The filter bar, moved into the band: chips */
.ch-rt-on .ch-rt-filters { display: flex; align-items: center; max-width: 100%; min-width: 0; }
.ch-rt-on .ch-rt-filters .filters-top-bar { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; width: auto; max-width: 100%; margin: 0; padding: 0; background: none; border: 0; }
.ch-rt-on .ch-rt-filters .show-on-map-toggle { display: none; }
.ch-rt-on .ch-rt-filters .filters-panel-toggle,
.ch-rt-on .ch-rt-filters .dropdown-filter-toggle,
.ch-rt-on .ch-rt-filters .maximum-driving-time-toggle select,
.ch-rt-on .ch-rt-filters .sort-by-driving-time-toggle select { appearance: none; display: inline-flex; align-items: center; gap: 6px; height: 36px; margin: 0; padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; background: rgba(255, 255, 255, .06); color: #fff; font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 14px; font-weight: 500; line-height: 1; white-space: nowrap; cursor: pointer; box-shadow: none; min-height: 0; width: auto; }
.ch-rt-on .ch-rt-filters .filters-panel-toggle:hover,
.ch-rt-on .ch-rt-filters .dropdown-filter-toggle:hover,
.ch-rt-on .ch-rt-filters select:hover { border-color: #fff; background: rgba(255, 255, 255, .12); }
.ch-rt-on .ch-rt-filters .filter-toggle,
.ch-rt-on .ch-rt-filters .dropdown-filter-wrapper { position: relative; flex: none; width: auto; min-width: 0; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; height: auto; }
.ch-rt-on .ch-rt-filters .filters-panel-toggle { flex: none; width: auto; }
.ch-rt-on .ch-rt-filters .filters-panel-toggle .icon { width: 16px; height: 16px; background: none; position: relative; }
.ch-rt-on .ch-rt-filters .filters-panel-toggle .icon::before { content: ""; position: absolute; inset: 0; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E") center / contain no-repeat; }
.ch-rt-on .ch-rt-filters .dropdown-filter-toggle::after,
.ch-rt-on .ch-rt-filters select { background-image: none; }
.ch-rt-on .ch-rt-filters .dropdown-filter-toggle::after { content: ""; width: 12px; height: 12px; border: 0; margin: 0 0 0 2px; opacity: .8; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  position: static; transform: none; }
.ch-rt-on .ch-rt-filters select { padding-right: 30px;
  background: rgba(255, 255, 255, .06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 10px center / 12px no-repeat; }
.ch-rt-on .ch-rt-filters select option { color: var(--rt-ink); }
.ch-rt-on .ch-rt-filters .filter-toggle::after, .ch-rt-on .ch-rt-filters .filter-toggle::before { display: none !important; }
.ch-rt-on .ch-rt-filters .maximum-driving-time-toggle select { -webkit-appearance: none; -moz-appearance: none; text-indent: 0; }
/* A filter in use: white chip with an orange count */
.ch-rt-on .ch-rt-filters .dropdown-filter-wrapper:has(.selected-count:not(:empty)) > .dropdown-filter-toggle,
.ch-rt-on .ch-rt-filters .filters-panel-toggle.is-set,
.ch-rt-on .ch-rt-filters .maximum-driving-time-toggle select { border-color: #fff; background-color: #fff; color: var(--rt-ink); font-weight: 600; }
.ch-rt-on .ch-rt-filters .maximum-driving-time-toggle select {
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6478' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 10px center / 12px no-repeat !important; }
.ch-rt-on .ch-rt-filters .selected-count:not(:empty),
.ch-rt-on .ch-rt-filters .ch-rt-count { display: inline-grid !important; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; margin: 0; border-radius: 999px; background: var(--rt-orange);
  color: var(--rt-ink); font-size: 12px; font-weight: 700; line-height: 1; position: static; }
.ch-rt-on .ch-rt-filters .selected-count:empty { display: none !important; }
/* Hotel name search: a compact field in the row */
.ch-rt-on .ch-rt-filters .ch-filters-search { display: flex; align-items: center; gap: 8px; flex: 0 0 170px; width: 170px; height: 36px; margin: 0; padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; background: rgba(255, 255, 255, .06); }
.ch-rt-on .ch-rt-filters .ch-filters-search .icon { width: 15px; height: 15px; flex: none; background: none; position: relative; margin: 0; }
.ch-rt-on .ch-rt-filters .ch-filters-search .icon::before { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, .75);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.3-4.3'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.3-4.3'/%3E%3C/svg%3E") center / contain no-repeat; }
.ch-rt-on .ch-rt-filters .ch-filters-search input { flex: 1; min-width: 0; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none; color: #fff; font-family: Inter, Arial, sans-serif; font-size: 14px; outline: none; box-shadow: none; }
.ch-rt-on .ch-rt-filters .ch-filters-search input::placeholder { color: rgba(255, 255, 255, .7); opacity: 1; }
.ch-rt-on .ch-rt-filters .ch-rt-vsep { width: 1px; height: 24px; margin: 0 2px; background: rgba(255, 255, 255, .22); flex: none; }
/* Sort lives on the results line (desktop) and as a chip (phone); the old select stays for the scripts */
.ch-rt-on .ch-rt-filters .sort-by-driving-time-toggle,
.ch-rt-on .ch-rt-filters .view-on-map-toggle { display: none !important; }

/* Drop-downs: the design's popover */
.ch-rt-on .ch-rt-filters .filter-dropdown-menu { display: none; position: fixed; z-index: 1001; width: 320px; max-height: min(70vh, 520px); overflow-y: auto; margin: 0; padding: 16px 18px;
  background: #fff; border: 1px solid var(--rt-border); border-radius: 14px; box-shadow: 0 16px 40px rgba(26, 31, 54, .2); color: var(--rt-ink); text-align: left; opacity: 1; visibility: visible; transform: none; }
.ch-rt-on .ch-rt-filters .dropdown-open > .filter-dropdown-menu { display: block; }
.ch-rt-on .ch-rt-filters .filter-dropdown-menu h4,
.ch-rt-on .ch-filters h4, .ch-rt-on .ch-filters .ch-heading { margin: 0 0 8px; color: var(--rt-ink); font-family: Inter, Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.ch-rt-on .ch-rt-filters .filter-dropdown-group + .filter-dropdown-group { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--rt-border); }
.ch-rt-on .ch-rt-filters .checkbox-row,
.ch-rt-on .ch-filters .checkbox-row { display: flex; align-items: center; gap: 10px; min-height: 38px; margin: 0; padding: 0; }
.ch-rt-on .ch-rt-filters .checkbox-row input,
.ch-rt-on .ch-filters .checkbox-row input { width: 20px; height: 20px; margin: 0; accent-color: var(--rt-navy); flex: none; position: static; opacity: 1; appearance: auto; }
.ch-rt-on .ch-rt-filters .checkbox-row label,
.ch-rt-on .ch-filters .checkbox-row label { margin: 0; padding: 0; color: var(--rt-ink); font-family: Inter, Arial, sans-serif; font-size: 14px; font-weight: 500; text-transform: none; cursor: pointer; }
.ch-rt-on .ch-rt-filters .checkbox-row label::before,
.ch-rt-on .ch-rt-filters .checkbox-row label::after,
.ch-rt-on .ch-filters .checkbox-row label::before,
.ch-rt-on .ch-filters .checkbox-row label::after { display: none; }
.ch-rt-on .ch-rt-filters .chain-filter-dropdown-group { max-height: 340px; overflow-y: auto; }
.ch-rt-on .ch-rt-filters .price-toggle .filter-dropdown-menu { width: 360px; }

/* All filters: a drawer from the left */
.ch-rt-on .ch-filters { font-family: Inter, Arial, Helvetica, sans-serif; color: var(--rt-ink); }
@media (min-width: 64.0625rem) {
  .ch-rt-on .ch-sidepanel .ch-filters, .ch-rt-on .ch-filters { position: fixed; top: 0; left: 0; bottom: 0; right: auto; z-index: 1001; width: 440px; max-width: 100%; margin: 0; padding: 0 20px 90px;
    overflow-y: auto; background: #fff; box-shadow: 12px 0 40px rgba(26, 31, 54, .22); transform: translateX(-105%); transition: transform .24s cubic-bezier(.2, .8, .2, 1); display: block; visibility: visible; opacity: 1; }
  html.filter-active .ch-rt-on .ch-filters, html.filter-active body.ch-rt-on .ch-filters { transform: none; }
}
.ch-rt-on .ch-filters .ch-filters-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin: 0 -20px; padding: 14px 16px; background: #fff; border-bottom: 1px solid var(--rt-border); }
.ch-rt-on .ch-filters > .ch-heading.mob-none { margin: 18px 0 4px; font-family: Archivo, Inter, sans-serif; font-size: 20px; font-weight: 800; }
.ch-rt-on .ch-filters .close-filter { width: 40px; height: 40px; border-radius: 50%; background: var(--rt-panel); cursor: pointer; position: relative; }
.ch-rt-on .ch-filters .close-filter::before, .ch-rt-on .ch-filters .close-filter::after { content: ""; position: absolute; left: 12px; right: 12px; top: 19px; height: 2px; background: var(--rt-ink); transform: rotate(45deg); }
.ch-rt-on .ch-filters .close-filter::after { transform: rotate(-45deg); }
.ch-rt-on .ch-filters .ch-range-group, .ch-rt-on .ch-filters .checkbox-group, .ch-rt-on .ch-filters .ch-filter-group { padding: 16px 0; border-bottom: 1px solid var(--rt-border); }
.ch-rt-on .ch-filters .ch-filters-search { display: flex; align-items: center; gap: 8px; height: 44px; margin: 12px 0; padding: 0 12px; border: 1px solid var(--rt-line); border-radius: 10px; background: #fff; }
.ch-rt-on .ch-filters .ch-filters-search input { flex: 1; border: 0; outline: none; background: none; font: 15px Inter, Arial, sans-serif; color: var(--rt-ink); }
.ch-rt-on .ch-rt-drawer-foot { position: fixed; left: 0; bottom: 0; z-index: 1002; width: 440px; max-width: 100%; display: flex; align-items: center; gap: 12px; padding: 14px 20px;
  background: #fff; border-top: 1px solid var(--rt-border); transform: translateX(-105%); transition: transform .24s cubic-bezier(.2, .8, .2, 1); }
html.filter-active body.ch-rt-on .ch-rt-drawer-foot { transform: none; z-index: 1000000002; }   /* the map column (.ch-sidepanel) sits at z 1000000001 */
.ch-rt-on .ch-rt-show { appearance: none; flex: 1; height: 48px; margin: 0; border: 0; border-radius: 12px; background: var(--rt-orange); color: var(--rt-ink); font-family: Archivo, Inter, sans-serif; font-size: 16px; font-weight: 800; cursor: pointer; }
.ch-rt-on .ch-rt-show:hover { background: var(--rt-orange-h); }
.ch-rt-on .ch-rt-linkbtn { appearance: none; margin: 0; padding: 0 6px; border: 0; background: none; color: var(--rt-ink); font: 600 13px Inter, Arial, sans-serif; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; cursor: pointer; }
.ch-rt-on .ch-rt-backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(26, 31, 54, .45); }

/* Edit search: the existing search form, opened in place under the band */
.ch-rt-on .ch-banner.ch26-results-banner { display: none; }
body.ch-rt-on.ch-rt-editing .ch-banner.ch26-results-banner { display: block; position: fixed; left: 24px; right: 24px; top: var(--ch-rt-edit-top, 130px); z-index: 1001; max-width: 1120px;
  margin: 0; padding: 16px; background: #fff !important; border: 1px solid var(--rt-border); border-radius: 16px; box-shadow: 0 20px 48px rgba(26, 31, 54, .22); }
body.ch-rt-on.ch-rt-editing .ch-banner .wrapper { width: 100%; margin: 0; padding: 0; }
body.ch-rt-on.ch-rt-editing .ch-banner .ch-inner { min-height: 0; padding: 0; display: block; }
body.ch-rt-on.ch-rt-editing .ch-banner .ch-search-form { margin: 0; }
body.ch-rt-on.ch-rt-editing .ch-banner .ch-search-form .input-group { border: 1px solid var(--rt-line); border-radius: 12px; box-shadow: none; }
body.ch-rt-on.ch-rt-editing .ch-banner .my-location-toggle.my_location, body.ch-rt-on.ch-rt-editing .ch-banner .my-location-toggle.my_location span { color: var(--rt-ink) !important; }
body.ch-rt-on.ch-rt-editing .ch-banner .my-location-toggle.my_location { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 13px; font-weight: 600; }
body.ch-rt-on.ch-rt-editing .ch-banner .my-location-toggle.my_location svg path { fill: var(--rt-ink); }
body.ch-rt-on.ch-rt-editing .ch-banner .needhelprmt { display: none; }
.ch-rt-on .ch-rt-edit-head { display: none; }
body.ch-rt-on.ch-rt-editing .ch-rt-edit-head { display: flex; align-items: center; justify-content: space-between; margin: -4px 0 12px; }
.ch-rt-on .ch-rt-edit-head span { font-family: Archivo, Inter, sans-serif; font-size: 18px; font-weight: 800; color: var(--rt-ink); }
.ch-rt-on .ch-rt-x { appearance: none; width: 40px; height: 40px; display: grid; place-items: center; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--rt-panel); color: var(--rt-ink); cursor: pointer; flex: none; }

/* Sticky: one slim 56px bar */
.ch-rt-on .ch-rt-band.is-stuck { position: fixed; top: 0; left: 0; right: 0; z-index: 900; border-top: 0; box-shadow: 0 6px 18px rgba(26, 31, 54, .28); }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-band__inner { flex-direction: row; align-items: center; gap: 12px; height: 56px; padding: 0 24px; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-summary { height: 40px; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-seg { padding: 0 12px; font-size: 14px; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-full { display: none; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-short { display: inline; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-filters { flex: 1; min-width: 0; }
.ch-rt-on .ch-rt-band.is-stuck .ch-filters-search,
.ch-rt-on .ch-rt-band.is-stuck .hotel-chains-toggle,
.ch-rt-on .ch-rt-band.is-stuck .rooms-toggle,
.ch-rt-on .ch-rt-band.is-stuck .amenities-toggle,
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-vsep { display: none !important; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-stuck-sort { display: inline-flex; }
.ch-rt-on .ch-rt-stuck-sort { display: none; margin-left: auto; }
.ch-rt-on .ch-rt-mob-sort { display: none !important; }
/* Stuck: the site header slides away and the band takes the top */
.ch-rt-on .ch-header { transition: transform .2s ease; }
body.ch-rt-on.ch-rt-stuck .ch-header { transform: translateY(-110%); }

/* ---------- Results line ---------- */
.ch-rt-on .ch-main-panel-header { margin: 0; padding: 0; }
.ch-rt-on .creatPopDesti { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 24px; margin: 0 0 8px; }
body.ch-rt-on main.newbg section.ch-results > .wrapper > .ch-inner { padding-top: 10px; }
.ch-rt-on .ch-results .ch-main-panel { padding-top: 0; margin-top: 0; }
.ch-rt-on .creatPopDesti .results-count { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0; font-family: Inter, Arial, sans-serif; font-size: 15px; color: var(--rt-ink); }
.ch-rt-on .creatPopDesti .results-count .share-button { display: none; }
.ch-rt-on .ch-rt-count-text b { font-family: Archivo, Inter, sans-serif; font-weight: 800; }
.ch-rt-on .ch-rt-active { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ch-rt-on .ch-rt-tag { appearance: none; display: inline-flex; align-items: center; gap: 6px; height: 30px; margin: 0; padding: 0 8px 0 12px; border: 0; border-radius: 999px;
  background: #FFF1DC; color: var(--rt-ink); font: 600 13px Inter, Arial, sans-serif; white-space: nowrap; cursor: pointer; }
.ch-rt-on .ch-rt-tag:hover { background: #FFE4BD; }
.ch-rt-on .ch-rt-tag .ch-rt-ic { width: 14px; height: 14px; }
.ch-rt-on .ch-rt-sort { appearance: none; display: inline-flex; align-items: center; gap: 4px; height: 32px; margin: -4px -6px -4px 0; padding: 0 8px; border: 0; border-radius: 8px;
  background: none; color: var(--rt-muted); font: 14px Inter, Arial, sans-serif; white-space: nowrap; cursor: pointer; }
.ch-rt-on .ch-rt-sort b { color: var(--rt-ink); font-weight: 600; }
.ch-rt-on .ch-rt-sort:hover { background: #E9ECF3; }
.ch-rt-on .ch-rt-sortmenu { position: fixed; z-index: 1001; width: 230px; padding: 6px; background: #fff; border: 1px solid var(--rt-border); border-radius: 12px; box-shadow: 0 16px 40px rgba(26, 31, 54, .2); font-family: Inter, Arial, sans-serif; }
.ch-rt-on .ch-rt-sortitem { appearance: none; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; margin: 0; padding: 8px 10px; border: 0; border-radius: 8px;
  background: none; color: var(--rt-ink); font: 15px Inter, Arial, sans-serif; text-align: left; cursor: pointer; }
.ch-rt-on .ch-rt-sortitem:hover, .ch-rt-on .ch-rt-sortitem:focus-visible { background: var(--rt-panel); outline: none; }
.ch-rt-on .ch-rt-sortitem[aria-checked="true"] { font-weight: 600; }
.ch-rt-on .ch-rt-sortitem[aria-checked="true"]::after { content: "\2713"; margin-left: auto; }

/* ---------- Hotel cards (presentation only; prices and price lines unchanged) ----------
   Real structure (cluster-closest-listing + the map script's own card HTML):
   .ch-hotel-card > .hotel-short-miles-details (badges) + .hotel-images + .hotel-short-details
     > .ch-hotel-card-btm-row > .left-half (name, area) + .left-half (reviews, amenities) + .right-half (price) */
.ch-rt-on .ch-hotel-card.main-ch-hotelcard { position: relative; display: grid; grid-template-columns: 220px minmax(0, 1fr); grid-template-rows: auto 1fr;
  grid-template-areas: "photo badges" "photo details"; column-gap: 18px; row-gap: 4px; min-height: 0; margin: 0 0 12px; padding: 12px;
  background: #fff; border: 1px solid rgba(0, 0, 0, .2); border-radius: 16px; box-shadow: none; font-family: Inter, Arial, Helvetica, sans-serif; color: var(--rt-ink); cursor: pointer; overflow: visible; }   /* same thin grey border as the classic cards (#00000033) */
.ch-rt-on .ch-hotel-card.main-ch-hotelcard:hover { border-color: rgba(0, 0, 0, .14); box-shadow: 0 14px 32px rgba(26, 31, 54, .14), 0 3px 8px rgba(26, 31, 54, .06); transform: translateY(-3px); }
/* Hotels the filters leave out stay hidden (the site hides them with :not(.activehotel)) */
.ch-rt-on .ch-hotel-card.main-ch-hotelcard:not(.activehotel) { display: none; }
.ch-rt-on .ch-hotel-card .hotel-images { grid-area: photo; position: static; width: auto; height: 100%; min-height: 176px; max-height: 210px; margin: 0; border-radius: 12px; overflow: hidden; background: var(--rt-border); }
.ch-rt-on .ch-hotel-card .hotel-images .owl-stage-outer, .ch-rt-on .ch-hotel-card .hotel-images .owl-stage, .ch-rt-on .ch-hotel-card .hotel-images .owl-item,
.ch-rt-on .ch-hotel-card .hotel-images-carousel { height: 100%; }
.ch-rt-on .ch-hotel-card .hotel-images img { width: 100%; height: 100%; min-height: 176px; object-fit: cover; border-radius: 0; }
.ch-rt-on .ch-hotel-card .hotel-images .owl-nav { opacity: 0; transition: opacity .15s; }
.ch-rt-on .ch-hotel-card:hover .hotel-images .owl-nav { opacity: 1; }
.ch-rt-on .ch-hotel-card .hotel-images .owl-nav + .owl-dots + .owl-nav { display: none; }
/* Save heart: top right of the card */
.ch-rt-on .ch-hotel-card .favourites { position: absolute; top: 12px; right: 12px; left: auto; z-index: 3; width: 36px; height: 36px; margin: 0; border: 1px solid var(--rt-border); border-radius: 50%; background: #fff none !important; }
.ch-rt-on .ch-hotel-card .favourites:hover { border-color: var(--rt-ink); }
.ch-rt-on .ch-hotel-card .favourites::before { content: ""; position: absolute; inset: 8px; background: var(--rt-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.1a4.3 4.3 0 0 1 7.5 2.7C19.5 15.4 12 20 12 20z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.1a4.3 4.3 0 0 1 7.5 2.7C19.5 15.4 12 20 12 20z'/%3E%3C/svg%3E") center / contain no-repeat; }
.ch-rt-on .ch-hotel-card .favourites.saved::before { background: #E0412F; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.1a4.3 4.3 0 0 1 7.5 2.7C19.5 15.4 12 20 12 20z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7.1a4.3 4.3 0 0 1 7.5 2.7C19.5 15.4 12 20 12 20z'/%3E%3C/svg%3E"); }
/* Drive time and distance badges */
.ch-rt-on .ch-hotel-card .hotel-short-miles-details { grid-area: badges; display: flex; justify-content: flex-start; margin: 2px 48px 0 0; padding: 0; min-width: 0; width: auto; }
.ch-rt-on .ch-hotel-card .hotel-short-miles-details .icon-text-items-top { margin: 0 !important; width: auto; justify-content: flex-start; }
.ch-rt-on .ch-hotel-card .icon-text-items-top { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px; margin: 0; padding: 0; text-align: left; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .icon-text-item { display: inline-flex; align-items: center; gap: 6px; height: 28px; margin: 0; padding: 0 10px; border-radius: 999px; background: #EEF0F7; color: var(--rt-ink); font-size: 13.5px; font-weight: 600; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .icon-text-item:empty { display: none; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .driving-time, .ch-rt-on .ch-hotel-card .icon-text-items-top .walking-time { background: var(--rt-navy); color: #fff; font-weight: 700; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .icon-text-item .text { color: inherit; font: inherit; margin: 0; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .icon { position: static; width: 16px; height: 16px; margin: 0; background-size: contain; background-position: center; flex: none; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .mainfurtherdistance:not(:has(.text)) { display: none; }
/* Details: name, area, reviews, tags, amenities on the left; price on the right */
.ch-rt-on .ch-hotel-card .hotel-short-details:not(.hotel-short-miles-details) { grid-area: details; display: block; min-width: 0; margin: 0; padding: 0; }
.ch-rt-on .ch-hotel-card .details-group, .ch-rt-on .ch-hotel-card .ch-map-toggle { display: none; }
.ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr; column-gap: 20px; margin: 0; padding: 0; height: 100%; }
.ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row > .left-half { grid-column: 1; min-width: 0; width: auto; margin: 0; padding: 0; }
.ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row > .left-half:first-child { grid-row: 1; }
.ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row > .left-half + .left-half { grid-row: 2; align-self: start; }
.ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row > .right-half { grid-column: 2; grid-row: 1 / 3; }
.ch-rt-on .ch-hotel-card .ch-hotel-name { margin: 2px 0 2px; font-family: Archivo, Inter, sans-serif; font-size: 21px; font-weight: 800; line-height: 1.2; color: var(--rt-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ch-rt-on .ch-hotel-card .ch-hotel-name span { font: inherit; color: inherit; }

.ch-rt-on .ch-hotel-card .ch-hotel-address { margin: 0 0 4px; font-size: 14px; font-weight: 600; color: var(--rt-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--rt-muted); flex-wrap: wrap; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback .ratings { order: -2; display: inline-grid; place-items: center; min-width: 34px; height: 24px; padding: 0 6px; border-radius: 6px; background: var(--rt-navy); color: #fff; font-family: Archivo, Inter, sans-serif; font-size: 14px; font-weight: 800; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback .reviews { order: -1; color: var(--rt-muted); font-size: 14px; margin: 0; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback .expedia-icon { margin: 0; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback .expedia-icon img { width: 16px; height: 16px; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback .star-list { display: inline-flex; gap: 1px; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback .star-list svg { width: 13px; height: 13px; }
/* Free cancellation / Pay at the property: added by ch-results.js, shown from the data the price check sets on the card */
.ch-rt-on .ch-hotel-card .ch26-tags { display: flex; gap: 6px; margin: 6px 0 0; }
.ch-rt-on .ch-hotel-card .ch26-tag { display: none !important; }
.ch-rt-on .ch-hotel-card[data-refundable~="1"] .ch26-tag--free,
.ch-rt-on .ch-hotel-card[data-reserve_now_pay_later~="1"] .ch26-tag--pay { display: inline-flex !important; }  /* !important beats Bootstrap's [hidden] */
.ch-rt-on .ch26-tag { align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.ch-rt-on .ch26-tag--free { background: #E6F4EC; color: #0F6B3D; }
.ch-rt-on .ch26-tag--free::before { content: "\2713"; font-weight: 800; }
.ch-rt-on .ch26-tag--pay { background: #EEF0F7; color: var(--rt-ink); }
/* Amenities: one line, the ones that fit */
.ch-rt-on .ch-hotel-card .icon-text-items.small { display: flex; flex-wrap: wrap; gap: 2px 14px; max-height: 20px; overflow: hidden; margin: 8px 0 0; padding: 0; }
.ch-rt-on .ch-hotel-card .icon-text-items.small .icon-text-item { display: inline-flex; align-items: center; gap: 5px; margin: 0; font-size: 13px; line-height: 20px; white-space: nowrap; color: var(--rt-ink); }
.ch-rt-on .ch-hotel-card .icon-text-items.small .icon { position: static; width: 14px; height: 14px; margin: 0; background-size: contain; flex: none; }
.ch-rt-on .ch-hotel-card .icon-text-items.small .icon-text-item { position: relative; padding: 0; flex-direction: row; justify-content: flex-start; }
.ch-rt-on .ch-hotel-card .icon-text-items.small .icon-text-item .icon { order: 0; }
.ch-rt-on .ch-hotel-card .icon-text-items.small .icon-text-item .text { order: 1; margin: 0; padding: 0; }
.ch-rt-on .ch-hotel-card .icon-text-items.small .text { font-size: 13px; color: var(--rt-ink); }
/* Price block */
.ch-rt-on .ch-hotel-card .right-half.pricerighthalf { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; gap: 1px; width: auto; min-width: 170px; margin: 0; padding: 0; text-align: right; }
.ch-rt-on .ch-hotel-card .right-half .ch-hotel-rooms { order: 0; margin: 0 0 2px; padding: 0; background: none; font-size: 13px; font-weight: 600; color: var(--rt-red); }
.ch-rt-on .ch-hotel-card .right-half .sign-in-low-price { order: 0; margin: 0 0 2px; font-size: 13px; font-weight: 600; color: var(--rt-green); }
.ch-rt-on .ch-hotel-card .right-half .ch-hotel-price.cut-price { order: 1; margin: 0; font-size: 13px; color: var(--rt-muted); }
.ch-rt-on .ch-hotel-card .right-half .ch-hotel-price.cut-price:empty { display: none; }
.ch-rt-on .ch-hotel-card .right-half .ch-hotel-price:not(.cut-price) { order: 2; display: flex; align-items: baseline; gap: 5px; margin: 0; font-family: Archivo, Inter, sans-serif; font-size: 28px; font-weight: 800; line-height: 1.1; color: var(--rt-ink); white-space: nowrap; }
.ch-rt-on .ch-hotel-card .right-half .ch-hotel-price .currency_sign:empty { display: none; }
.ch-rt-on .ch-hotel-card .right-half .ch26-pernight { display: inline !important; text-transform: none; letter-spacing: 0; font-family: Inter, Arial, sans-serif; font-size: 13px; font-weight: 500; color: var(--rt-muted); }
.ch-rt-on .ch-hotel-card .right-half .multibok { order: 3; margin: 0; font-size: 12.5px; line-height: 1.4; color: var(--rt-muted); white-space: nowrap; }
.ch-rt-on .ch-hotel-card .right-half .multibok br { display: none; }
.ch-rt-on .ch-hotel-card .right-half .ch26-comma { display: inline !important; }
.ch-rt-on .ch-hotel-card .right-half .listingreserve { order: 4; position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: auto; height: 36px; min-height: 0; margin: 8px 0 0; padding: 0 16px;
  border: 0; border-radius: 10px; background: var(--rt-orange); color: var(--rt-ink); font-family: Archivo, Inter, Arial, sans-serif; font-size: 15px; font-weight: 800; text-transform: none; letter-spacing: 0; box-shadow: none; }
/* Filled orange, like Go and Show N hotels: the card's one main action (dark text keeps it readable on orange) */
.ch-rt-on .ch-hotel-card .right-half .listingreserve { height: 40px; padding: 0 20px; }
.ch-rt-on .ch-hotel-card .right-half .listingreserve:hover, .ch-rt-on .ch-hotel-card.main-ch-hotelcard:hover .right-half .listingreserve { background: var(--rt-orange-h); color: var(--rt-ink); }
.ch-rt-on .ch-hotel-card .right-half .listingreserve:focus-visible { outline: 2px solid var(--rt-navy); outline-offset: 2px; }
.ch-rt-on .ch-hotel-card .right-half .listingreserve .ch26-btn-classic { display: none; }
.ch-rt-on .ch-hotel-card .right-half .listingreserve .ch26-btn-new { display: inline !important; }
.ch-rt-on .ch-hotel-card .right-half .skeleton { border-radius: 8px; }

/* ---------- Tablet ---------- */
@media (min-width: 768px) and (max-width: 1180px) {
  .ch-rt-on .ch-hotel-card.main-ch-hotelcard { grid-template-columns: 150px minmax(0, 1fr); gap: 14px; }
  .ch-rt-on .ch-hotel-card .hotel-images, .ch-rt-on .ch-hotel-card .hotel-images img { min-height: 150px; }
  .ch-rt-on .ch-hotel-card .ch-hotel-name { font-size: 19px; }
  .ch-rt-on .ch-hotel-card .right-half .ch-hotel-price:not(.cut-price) { font-size: 24px; }
}
/* Filters in the band scroll sideways when they don't fit */
@media (max-width: 1360px) {
  .ch-rt-on .ch-rt-filters { overflow-x: auto; scrollbar-width: none; }
  .ch-rt-on .ch-rt-filters::-webkit-scrollbar { display: none; }
}

/* ---------- Phone ---------- */
@media (max-width: 767px) {
  .ch-rt-on .ch-rt-band__inner { padding: 10px 16px; gap: 10px; }
  .ch-rt-on .ch-rt-summary { display: none; }
  .ch-rt-on .ch-rt-msum { display: flex; }
  .ch-rt-on .active-search-details-banner { display: none !important; }
  .ch-rt-on .ch-rt-filters { width: 100%; overflow-x: auto; }
  .ch-rt-on .ch-rt-filters .filters-top-bar { width: max-content; }
  .ch-rt-on .ch-rt-filters .ch-filters-search, .ch-rt-on .ch-rt-filters .ch-rt-vsep,
  .ch-rt-on .ch-rt-filters .price-toggle, .ch-rt-on .ch-rt-filters .hotel-chains-toggle,
  .ch-rt-on .ch-rt-filters .rooms-toggle, .ch-rt-on .ch-rt-filters .amenities-toggle,
  .ch-rt-on .ch-rt-filters .ratings-toggle, .ch-rt-on .ch-rt-filters .availability-toggle { display: none !important; }
  .ch-rt-on .ch-rt-filters .ch-rt-mob-sort { display: inline-flex !important; }
  .ch-rt-on .creatPopDesti .ch-rt-sort { display: none; }
  .ch-rt-on .ch-rt-band.is-stuck .ch-rt-band__inner { flex-direction: column; height: auto; padding: 8px 16px; gap: 8px; }
  .ch-rt-on .ch-rt-band.is-stuck .ch-rt-msum { padding: 4px 6px 4px 12px; }
  .ch-rt-on .ch-rt-band.is-stuck .ch-rt-msum__edit { width: 34px; height: 34px; }
  .ch-rt-on .ch-rt-band.is-stuck .ch-rt-stuck-sort { display: none; }
  /* Card: photo left with badges, name and reviews beside it; price row across the bottom */
  .ch-rt-on .ch-hotel-card.main-ch-hotelcard { grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto auto auto auto;
    grid-template-areas: "photo badges" "photo l1" "photo l2" "price price"; column-gap: 10px; row-gap: 2px; padding: 10px; }
  .ch-rt-on .ch-hotel-card .hotel-images { height: 128px; min-height: 0; max-height: none; border-radius: 10px; align-self: start; }
  .ch-rt-on .ch-hotel-card .hotel-images img { min-height: 128px; height: 128px; }
  .ch-rt-on .ch-hotel-card .favourites { top: 16px; left: 84px; right: auto; width: 32px; height: 32px; background-size: 15px; }
  .ch-rt-on .ch-hotel-card .hotel-short-miles-details { margin: 0; }
  .ch-rt-on .ch-hotel-card .hotel-short-miles-details .icon-text-items-mob { gap: 4px !important; }
  .ch-rt-on .ch-hotel-card .hotel-short-miles-details .icon-text-item { padding: 0 5px !important; font-size: 11.5px !important; }
  .ch-rt-on .ch-hotel-card .icon-text-items-top { flex-wrap: nowrap; gap: 4px; overflow: hidden; }
  .ch-rt-on .ch-hotel-card .icon-text-items-top .icon-text-item { height: 22px; padding: 0 7px; font-size: 12px; gap: 3px; }
  .ch-rt-on .ch-hotel-card .hotel-short-details:not(.hotel-short-miles-details), .ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row { display: contents; }
  .ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row > .left-half:first-child { grid-area: l1; }
  .ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row > .left-half + .left-half { grid-area: l2; }
  .ch-rt-on .ch-hotel-card .ch-hotel-name { font-size: 17px; margin: 2px 0 1px; }
  .ch-rt-on .ch-hotel-card .ch-hotel-address { font-size: 13px; margin: 0 0 2px; }
  .ch-rt-on .ch-hotel-card .ch-hotel-feedback { font-size: 12.5px; gap: 5px; }
  .ch-rt-on .ch-hotel-card .ch-hotel-feedback .expedia-icon, .ch-rt-on .ch-hotel-card .ch-hotel-feedback .star-list { display: none; }
  .ch-rt-on .ch-hotel-card .ch26-tags { margin-top: 4px; }
  .ch-rt-on .ch-hotel-card .icon-text-items.small { display: none; }
  .ch-rt-on .ch-hotel-card .ch-hotel-card-btm-row > .right-half { grid-area: price; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "sign btn" "urg btn" "amt btn" "tot btn";
    align-items: center; justify-items: start; text-align: left; min-width: 0; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--rt-border); }
  .ch-rt-on .ch-hotel-card .right-half .ch-hotel-rooms, .ch-rt-on .ch-hotel-card .right-half .sign-in-low-price { grid-area: urg; font-size: 12px; margin: 0; }
  .ch-rt-on .ch-hotel-card .right-half .sign-in-low-price { grid-area: sign; }
  .ch-rt-on .ch-hotel-card .right-half .ch-hotel-price.cut-price { display: none; }
  .ch-rt-on .ch-hotel-card .right-half .ch-hotel-price:not(.cut-price) { grid-area: amt; font-size: 22px; }
  .ch-rt-on .ch-hotel-card .right-half .multibok { grid-area: tot; font-size: 11.5px; white-space: normal; }
  .ch-rt-on .ch-hotel-card .right-half .listingreserve { grid-area: btn; margin: 0; }
  .ch-rt-on .ch-filters .ch-rt-drawer-foot, .ch-rt-on .ch-rt-drawer-foot { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ch-rt-on .ch-filters, .ch-rt-on .ch-rt-drawer-foot { transition: none !important; } }

/* The sticky bar's Sort: only when stuck (after .ch-rt-sort so it wins) */
.ch-rt-on .ch-rt-band .ch-rt-sort.ch-rt-stuck-sort { display: none; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-sort.ch-rt-stuck-sort { display: inline-flex; margin-left: auto; color: #fff; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-sort.ch-rt-stuck-sort:hover { background: rgba(255, 255, 255, .1); }
@media (max-width: 767px) { .ch-rt-on .ch-rt-band.is-stuck .ch-rt-sort.ch-rt-stuck-sort { display: none; } }

/* The map column sits at z 1000000001; drop it under the band while a popover, the sort menu or Edit search is open */
body.ch-rt-on.ch-rt-editing .ch-sidepanel,
body.ch-rt-on:has(.ch-rt-filters .dropdown-open) .ch-sidepanel,
body.ch-rt-on:has(> .ch-rt-sortmenu) .ch-sidepanel { z-index: 790 !important; }
/* Sticky bar: a little air before Sort */
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-stuck-sort { margin-left: auto; padding-left: 14px; }
.ch-rt-on .ch-rt-band.is-stuck .ch-rt-stuck-sort { flex-shrink: 0; white-space: nowrap; }
.ch-rt-on .ch-rt-band.is-stuck [data-ch-rt-filters] { min-width: 0; overflow: hidden; }
/* Edit search: "Use my location instead" is a plain link inside the panel (the phone style is a black pill) */
body.ch-rt-on.ch-rt-editing .ch-banner .my-location-toggle.my_location { width: auto; height: auto !important; min-height: 0; padding: 2px 0 !important; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none !important; }
/* Sticky bar on laptops: Ratings stays in All filters so Availability isn't cut off */
@media (max-width: 1599px) { .ch-rt-on .ch-rt-band.is-stuck .ratings-toggle { display: none !important; } }
/* The site pads the badge row 251px on the left; the badges sit above the name like the classic card */
.ch-rt-on .ch-hotel-card .hotel-short-miles-details { padding: 0 !important; }
/* Filled in by the script below: amenities with no text, a 0-minute time for a hotel that's miles away, no reviews */
.ch-rt-on .ch-hotel-card .ch-rt-empty, .ch-rt-on .ch-hotel-card .mainfurtherdistance.ch-rt-bad { display: none !important; }
.ch-rt-on .ch-hotel-card .ch-hotel-feedback.ch-rt-noreviews .ratings { display: none !important; }
/* Badge icons as in the design: line icons, orange on the navy time badges, ink on the distance badge */
.ch-rt-on .ch-hotel-card .icon-text-items-top .icon-text-item .icon { width: 16px !important; height: 16px !important; border-radius: 0 !important; background-image: none !important; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .icon-text-item .icon::before, .ch-rt-on .ch-hotel-card .icon-text-items-top .icon-text-item .icon::after { display: none !important; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .driving-time .icon { background-color: #FFB24A !important; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16.5V12l2-5.5h10l2 5.5v4.5M4.5 12h15M5 16.5h14M6.5 16.5v2.3M17.5 16.5v2.3'/%3E%3Cpath d='M8 14.2h.01M16 14.2h.01' stroke-width='2.6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16.5V12l2-5.5h10l2 5.5v4.5M4.5 12h15M5 16.5h14M6.5 16.5v2.3M17.5 16.5v2.3'/%3E%3Cpath d='M8 14.2h.01M16 14.2h.01' stroke-width='2.6'/%3E%3C/svg%3E"); }
.ch-rt-on .ch-hotel-card .icon-text-items-top .walking-time .icon { background-color: #FFB24A !important; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.5' cy='4.5' r='1.8'/%3E%3Cpath d='M9.5 21l2.3-6.2 2.7 2.4V21M7.5 12.5l2.3-4.3 3.6.9 1.9 3.4 2.7.9M11.8 14.8l-.9-4.2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.5' cy='4.5' r='1.8'/%3E%3Cpath d='M9.5 21l2.3-6.2 2.7 2.4V21M7.5 12.5l2.3-4.3 3.6.9 1.9 3.4 2.7.9M11.8 14.8l-.9-4.2'/%3E%3C/svg%3E"); }
.ch-rt-on .ch-hotel-card .icon-text-items-top .driving-distance .icon { background-color: var(--rt-ink) !important; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E"); }
/* Softer badges: the time stays the first thing read (warm tint, orange icon) without outweighing the name and price */
.ch-rt-on .ch-hotel-card .icon-text-items-top .driving-time, .ch-rt-on .ch-hotel-card .icon-text-items-top .walking-time { background: #FFF1DE; color: var(--rt-ink); font-weight: 700; }   /* warm brand tint: the one highlight at the top of the card */
.ch-rt-on .ch-hotel-card .icon-text-items-top .driving-time .icon, .ch-rt-on .ch-hotel-card .icon-text-items-top .walking-time .icon { background-color: #E07B00 !important; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .driving-distance { background: #fff; box-shadow: inset 0 0 0 1px var(--rt-border); color: var(--rt-muted); font-weight: 600; }
.ch-rt-on .ch-hotel-card .icon-text-items-top .driving-distance .icon { background-color: var(--rt-muted) !important; }
/* Hover: the whole card lifts off the page (no underline on the name) */
.ch-rt-on .ch-hotel-card.main-ch-hotelcard { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ch-rt-on .ch-hotel-card:hover .ch-hotel-name, .ch-rt-on .ch-hotel-card:hover .ch-hotel-name * { text-decoration: none !important; }
@media (hover: none) { .ch-rt-on .ch-hotel-card.main-ch-hotelcard:hover { transform: none; box-shadow: none; border-color: rgba(0, 0, 0, .2); } }
@media (prefers-reduced-motion: reduce) { .ch-rt-on .ch-hotel-card.main-ch-hotelcard { transition: none; } .ch-rt-on .ch-hotel-card.main-ch-hotelcard:hover { transform: none; } }

/* ===== List-first (results.design = list): the list keeps a fixed width; the map takes the rest of the screen,
   full height and sticky (like Hotels.com), so a wider screen means a bigger map, not wider cards.
   Quick picks sit at the top of the list as a row of three. ===== */
@media (min-width: 1200px) {
  body.ch-rt-list .ch-results > .wrapper { max-width: none !important; padding-left: 24px !important; padding-right: 24px !important; }
  body.ch-rt-list:not(.map-expanded) .ch-results > .wrapper > .ch-inner { align-items: flex-start; column-gap: 24px; }
  /* the list grows first (up to 860px); the map takes the rest and never drops under 380px, so they always share the row */
  body.ch-rt-list:not(.map-expanded) .ch-results .ch-main-panel { flex: 10 1 560px; width: auto; max-width: 860px !important; min-width: 0; }
  body.ch-rt-list:not(.map-expanded) .ch-results .ch-map-popup-main { flex: 1 1 380px; align-self: flex-start; width: auto !important; max-width: none !important; min-width: 380px;
    position: sticky !important; top: 76px !important; height: calc(100vh - 92px) !important; min-height: 420px !important; max-height: none !important;
    margin: 21px 0 0 !important; display: block; background: transparent; border-radius: 0; overflow: visible; }
  body.ch-rt-list.ch-rt-stuck:not(.map-expanded) .ch-results .ch-map-popup-main { top: 68px !important; height: calc(100vh - 84px) !important; }   /* under the 56px sticky bar */
  body.ch-rt-list:not(.map-expanded) .ch-map-popup-main > .ch-container { height: 100%; border: 1px solid rgba(0, 0, 0, .16); border-radius: 14px; overflow: hidden; background: #E9ECF2; }
  body.ch-rt-list:not(.map-expanded) .ch-map-popup-main > .ch-container > .ch-inner,
  body.ch-rt-list:not(.map-expanded) .ch-map-popup-main .ch-map-panel,
  body.ch-rt-list:not(.map-expanded) .ch-map-popup-main #map { height: 100% !important; min-height: 0 !important; max-height: none !important; }
}
body.ch-rt-list.map-expanded .ch-rt-rail, body.ch-rt-on:not(.ch-rt-list) .ch-rt-rail { display: none; }
@media (max-width: 1199px) { body.ch-rt-list .ch-rt-rail { display: none; } }

/* Quick picks: a row of three at the top of the list */
.ch-rt-on .ch-rt-rail { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 12px; margin: 0 0 14px; font-family: Inter, Arial, Helvetica, sans-serif; color: var(--rt-ink); }
.ch-rt-on .ch-rt-picks { grid-column: 1 / -1; padding: 12px 14px; background: #fff; border: 1px solid rgba(0, 0, 0, .16); border-radius: 14px; }
.ch-rt-on .ch-rt-picks__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick { grid-template-columns: 48px minmax(0, 1fr); grid-template-areas: "img txt" "img price"; align-items: start; column-gap: 10px; row-gap: 2px; padding: 4px 0; border-top: 0; }
.ch-rt-on .ch-rt-picks .ch-rt-pick + .ch-rt-pick { border-left: 1px solid var(--rt-border); padding-left: 12px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__img { grid-area: img; width: 48px; height: 48px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__txt { grid-area: txt; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__price { grid-area: price; flex-direction: row; align-items: baseline; gap: 4px; font-size: 15px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__name { -webkit-line-clamp: 1; font-size: 13.5px; }
.ch-rt-on .ch-rt-picks__title { display: none; }
.ch-rt-on .ch-rt-rail .ch-rt-help { display: none !important; }
.ch-rt-on .ch-rt-rail { display: flex; flex-direction: column; gap: 12px; font-family: Inter, Arial, Helvetica, sans-serif; color: var(--rt-ink); }
.ch-rt-on .ch-rt-picks { padding: 14px 14px 6px; background: #fff; border: 1px solid rgba(0, 0, 0, .2); border-radius: 14px; }
.ch-rt-on .ch-rt-picks[hidden] { display: none !important; }
.ch-rt-on .ch-rt-picks__title { margin: 0 0 6px; font-family: Archivo, Inter, sans-serif; font-size: 16px; font-weight: 800; line-height: 1.2; color: var(--rt-ink); }
.ch-rt-on .ch-rt-pick { appearance: none; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; margin: 0; padding: 10px 0;
  border: 0; border-top: 1px solid var(--rt-border); background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.ch-rt-on .ch-rt-pick:first-child { border-top: 0; }
.ch-rt-on .ch-rt-pick:hover .ch-rt-pick__name { color: var(--rt-navy); }
.ch-rt-on .ch-rt-pick:focus-visible { outline: 2px solid var(--rt-navy); outline-offset: 2px; border-radius: 8px; }
.ch-rt-on .ch-rt-pick__img { width: 56px; height: 56px; border-radius: 10px; background: var(--rt-border) center / cover no-repeat; }
.ch-rt-on .ch-rt-pick__txt { display: flex; flex-direction: column; min-width: 0; gap: 1px; }
.ch-rt-on .ch-rt-pick__label { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #B45F00; }
.ch-rt-on .ch-rt-pick__name { font-family: Archivo, Inter, sans-serif; font-size: 14px; font-weight: 800; line-height: 1.25; color: var(--rt-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ch-rt-on .ch-rt-pick__meta { font-size: 12px; color: var(--rt-muted); }
.ch-rt-on .ch-rt-pick__price { display: flex; flex-direction: column; align-items: flex-end; font-family: Archivo, Inter, sans-serif; font-size: 16px; font-weight: 800; color: var(--rt-ink); white-space: nowrap; }
.ch-rt-on .ch-rt-pick__price small { font-family: Inter, Arial, sans-serif; font-size: 11px; font-weight: 500; color: var(--rt-muted); }
.ch-rt-on .ch-rt-help { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--rt-panel); color: var(--rt-ink); font-size: 13px; line-height: 1.35; text-decoration: none; }
.ch-rt-on .ch-rt-help:hover { background: #ECEFF7; }
.ch-rt-on .ch-rt-help b { display: block; font-weight: 700; }
.ch-rt-on .ch-rt-help__ic { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--rt-navy) center / 16px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB24A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
@media (min-width: 1200px) {
  /* The map's control bar stays at the top of the small map (it's sticky for the tall map) */
  body.ch-rt-list:not(.map-expanded) .ch-map-popup-main .ch-map-header { position: absolute !important; top: 0 !important; left: 0; right: 0; }
  /* The time limit is already the "Within N min" chip; Expand map brings this one back */
  body.ch-rt-list:not(.map-expanded) .ch-map-popup-main .mapmaxdrop { display: none !important; }
  /* Wider list: a larger photo */
  body.ch-rt-list .ch-hotel-cards .ch-hotel-card.main-ch-hotelcard { grid-template-columns: 260px minmax(0, 1fr); column-gap: 22px; }
  body.ch-rt-list .ch-hotel-cards .ch-hotel-card .hotel-images { min-height: 196px; max-height: 230px; }
}
/* Edit search: the address overlay sits exactly on the rounded "Stay close to" box */
body.ch-rt-on.ch-rt-editing .ch-banner div#overlay { top: -1px; left: -1px; right: -1px; bottom: -1px; width: auto; height: auto; border-radius: 12px;
  box-shadow: 0 0 0 2px var(--rt-navy), 0 8px 24px rgba(26, 31, 54, .16); overflow: visible; }
body.ch-rt-on.ch-rt-editing .ch-banner div#overlay::before { content: "Stay close to"; position: absolute; top: 9px; left: 38px; z-index: 1; pointer-events: none;
  font: 800 11px/14px Archivo, Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--rt-ink); }
body.ch-rt-on.ch-rt-editing .ch-banner #overlayTextInputField { inset: 0; width: 100%; height: 100%; padding: 22px 12px 6px 38px; border: 0 !important; border-radius: 12px;
  background: transparent; font: 500 15px/20px Inter, Arial, sans-serif; color: var(--rt-ink); outline: none; transition: none; }
body.ch-rt-on.ch-rt-editing .ch-banner #overlayTextInputField::placeholder { color: var(--rt-muted); opacity: 1; }
body.ch-rt-on.ch-rt-editing .ch-banner div#overlay #hintBox { top: calc(100% + 8px) !important; left: 0; width: max(100%, 420px) !important; min-width: 0 !important; max-width: calc(100vw - 32px) !important; max-height: min(60vh, 420px); padding: 6px;
  border: 0; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--rt-border), 0 18px 44px rgba(26, 31, 54, .24); overflow-y: auto; text-align: left; }
body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .hint-item { display: flex; align-items: center; gap: 12px; margin: 0; padding: 10px 12px; border: 0; border-radius: 12px; cursor: pointer; }
body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .hint-item + .hint-item { margin-top: 2px; }
body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .hint-item:hover, body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .hint-item.active { background: var(--rt-panel); }
body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .marker-icon { flex: none; display: grid; place-items: center; width: 34px; height: 34px; margin: 0; border-radius: 50%; background: #FFF1DE; color: #E07B00; font-size: 15px; }
body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .text-container { min-width: 0; }
body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .main-text { margin: 0; font: 600 15px/20px Inter, Arial, sans-serif; color: var(--rt-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.ch-rt-on.ch-rt-editing .ch-banner #hintBox .secondary-text { margin: 1px 0 0; font: 400 13px/17px Inter, Arial, sans-serif; color: var(--rt-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 767px) { body.ch-rt-on.ch-rt-editing .ch-banner div#overlay #hintBox { width: 100% !important; } }
/* Edit search: the Go button. front-v5's hover turns it 20% white for the old dark banner, which makes it
   vanish on this white panel; keep it orange, a shade darker on hover */
body.ch-rt-on.ch-rt-editing .ch-banner .ch-search-form .submit-button { background-color: #EF7E06; border: 1px solid #EF7E06; color: #fff; }
body.ch-rt-on.ch-rt-editing .ch-banner .ch-search-form .submit-button:hover,
body.ch-rt-on.ch-rt-editing .ch-banner .ch-search-form .submit-button:active { background-color: #D96F00 !important; border-color: #D96F00 !important; color: #fff !important; }
body.ch-rt-on.ch-rt-editing .ch-banner .ch-search-form .submit-button:focus-visible { outline: 2px solid var(--rt-navy); outline-offset: 2px; }
/* Phone: the page's own "View on map" toggle (opens the full-screen map) as a chip next to Sort */
@media (max-width: 767px) {
  .ch-rt-on .ch-rt-filters .view-on-map-toggle { display: inline-flex !important; align-items: center; gap: 6px; flex: none; height: 36px; margin: 0; padding: 0 14px; order: 3;
    border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; background: transparent; color: #fff; font: 600 14px/1 Inter, Arial, sans-serif; cursor: pointer; }
  .ch-rt-on .ch-rt-filters .view-on-map-toggle .icon { display: none; }
  .ch-rt-on .ch-rt-filters .view-on-map-toggle span { font-size: 0; }
  .ch-rt-on .ch-rt-filters .view-on-map-toggle span::before { content: "Map"; font-size: 14px; }
}

/* Quick picks row: label, name, then time · rating and the price on one line */
.ch-rt-on .ch-rt-picks { padding: 10px 14px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick { grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: "img txt price"; align-items: center; padding: 2px 0; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__img { width: 44px; height: 44px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__price { flex-direction: column; align-items: flex-end; gap: 0; font-size: 15px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__price small { font-size: 10.5px; }

/* Pick label on its own line across the pick, never wrapping */
.ch-rt-on .ch-rt-picks .ch-rt-pick { grid-template-areas: "label label label" "img txt price"; row-gap: 6px; }
.ch-rt-on .ch-rt-picks .ch-rt-pick__label { grid-area: label; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }

/* The picks box fits its picks: 1 pick = a small card, 3 = the full row */
.ch-rt-on .ch-rt-rail { grid-template-columns: auto; justify-content: start; }
.ch-rt-on .ch-rt-picks { width: fit-content; max-width: 100%; }
.ch-rt-on .ch-rt-picks__list { grid-template-columns: repeat(var(--picks, 3), minmax(220px, 268px)); }

/* Map distance scale (miles or km by the visitor's country) */
.maplibregl-ctrl-scale { border-color: #313447 !important; background: rgba(255, 255, 255, .85) !important; color: #1A1F36 !important; font: 600 11px/1.6 Inter, Arial, sans-serif !important; padding: 0 6px !important; border-radius: 0 0 3px 3px; }
