/* Search, property, shortlist and enquiry journey.
   Tokens and component treatments follow the approved search prototype:
   turquoise accent, #f4f4f4 tint, hairline borders, 3px radii, uppercase tracked labels. */
:root{
  --slg-text:#333;
  --slg-copy:#4a4a4a;
  --slg-muted:#848484;
  --slg-line:#ccc;
  --slg-line-soft:#e5e5e5;
  --slg-tint:#f4f4f4;
  /* accent follows the site's primary colour (custom-styles.php); hex values are fallbacks only */
  --slg-turq:var(--slg-primary,#1aafc1);
  --slg-turq-dark:var(--slg-primary-hover,#158d9c);
  --slg-turq-deep:var(--slg-primary-deep,#0d7d8c);
  --slg-gold:#b58a26;
}
/* LSA copy reads a step larger and darker than the 14px theme default (Roy, 12 Oct 2026). */
body:is(.slg-main-site,.slg-live-site){--slg-copy:#3b3b3b;--slg-muted:#6f6f6f}
:where(body.slg-main-site,body.slg-live-site) p{font-size:15px;line-height:26px}
button:focus-visible, a:focus-visible, [tabindex]:focus-visible{outline:2px solid var(--slg-turq-deep);outline-offset:2px}
/* Pointer focus leaves no ring (Charles, 8 Oct 2026): the ring is for keyboard focus only. Bootstrap's a:focus / .btn:focus
   rings are the legacy source of the blue box after a click (and after Back restores focus to the clicked link). */
a:focus:not(:focus-visible), button:focus:not(:focus-visible), [tabindex]:focus:not(:focus-visible), .btn:focus:not(:focus-visible), .btn:active:focus:not(:focus-visible), .btn.active:focus:not(:focus-visible), input[type=submit]:focus:not(:focus-visible), input[type=button]:focus:not(:focus-visible){outline:0;box-shadow:none}
/* belt and braces for browsers whose :focus-visible heuristic still rings a clicked control (accordion toggles, chips, tabs) */
html.slg-using-mouse a:focus, html.slg-using-mouse button:focus, html.slg-using-mouse [tabindex]:focus, html.slg-using-mouse summary:focus, html.slg-using-mouse label:focus{outline:0!important;box-shadow:none!important}

/* ---------- shared buttons and links ---------- */
.slg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:1px;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer}
.slg-btn--primary{background:var(--slg-turq);border-color:var(--slg-turq);color:#fff}
.slg-btn--primary:hover, .slg-btn--primary:focus{background:var(--slg-turq-dark);border-color:var(--slg-turq-dark);color:#fff}
.slg-btn--ghost{background:#fff;border-color:var(--slg-line);color:var(--slg-text)}
.slg-btn--ghost:hover, .slg-btn--ghost:focus{border-color:var(--slg-text);color:var(--slg-text)}
.slg-view-link{display:inline-block;flex:0 0 auto;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;color:var(--slg-turq);text-decoration:none;border-bottom:1px solid var(--slg-turq);padding-bottom:3px}
a.slg-view-link:hover, a:hover>.propertymeta .slg-view-link{color:var(--slg-turq-dark);border-color:var(--slg-turq-dark)}

/* ---------- in-search promotion carousel ---------- */
.slg-promotions{clear:both;box-sizing:border-box;width:calc(100% - 20px);margin:2px 10px 22px;background:var(--slg-tint);border:1px solid var(--slg-line-soft);border-left:3px solid var(--slg-turq);color:var(--slg-text)}
.slg-promo-frame{display:grid;grid-template-columns:1fr;touch-action:pan-y}
/* media and copy each stack in one grid cell: the unit is as tall as its tallest
   slide and never shifts as slides change */
.slg-promo-media-stack{display:grid;overflow:hidden;background:#e8e8e8;aspect-ratio:16/7}
.slg-promo-media{grid-area:1/1;opacity:0;transition:opacity .25s ease;min-height:0}
.slg-promo-media.on{opacity:1}
.slg-promo-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.slg-promo-body{display:flex;flex-direction:column;min-width:0;padding:18px 20px}
.slg-promo-copy-stack{display:grid}
.slg-promo-copy{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .25s ease}
.slg-promo-copy.on{opacity:1;visibility:visible}
.slg-promo-eyebrow{display:block;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:1.4px;text-transform:uppercase;color:var(--slg-turq)}
.slg-promotions h2{margin:7px 0 6px;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--slg-text)}
.slg-promotions p{margin:0;max-width:56ch;font-size:14px;line-height:1.55;letter-spacing:0;color:#5a5a5a}
.slg-promo-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px}
.slg-promo-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:11px 18px;background:var(--slg-turq);color:#fff;border-radius:3px;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:1px;text-transform:uppercase;text-decoration:none}
.slg-promo-cta:hover, .slg-promo-cta:focus{background:var(--slg-turq-dark);color:#fff}
.slg-promo-cta svg{width:12px;height:12px;flex:0 0 auto;stroke-width:2.4}
.slg-promo-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.slg-promo-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:3px;background:none;color:var(--slg-text);cursor:pointer}
.slg-promo-btn:hover{background:#fff}
.slg-promo-btn svg{width:15px;height:15px}
.slg-promo-status{min-width:54px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-align:center;color:var(--slg-muted)}
@media(min-width:768px){
  .slg-promo-frame{grid-template-columns:220px minmax(0,1fr);align-items:stretch}
  .slg-promotions--no-media .slg-promo-frame{grid-template-columns:1fr}
  .slg-promo-media-stack{aspect-ratio:auto;min-height:100%}
  .slg-promo-body{padding:20px 24px}
}
@media(prefers-reduced-motion:reduce){.slg-promo-media, .slg-promo-copy{transition:none}}

/* ---------- search: summary, toolbar, sort sheet (tablet and mobile) ---------- */
.slg-search-summary, .slg-search-tools, .slg-filter-actions{display:none}
.slg-search-summary{position:relative;width:100%;margin:0 0 14px;padding:14px 44px 14px 16px;border:1px solid var(--slg-line);border-radius:3px;background:#fff;color:var(--slg-text);text-align:left;cursor:pointer}
.slg-search-summary__place{display:block;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.4px}
.slg-search-summary__detail{display:block;margin-top:2px;font-size:13px;line-height:1.4;letter-spacing:.2px;color:var(--slg-muted)}
.slg-search-summary__cta{display:inline-block;margin-top:8px;padding-bottom:2px;border-bottom:1px solid var(--slg-turq);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-turq)}
.slg-search-summary__pencil{position:absolute;right:14px;top:16px;color:var(--slg-muted)}
.slg-search-summary__pencil svg{display:block;width:16px;height:16px;stroke-width:1.8}
.slg-search-tools{gap:8px;margin:0 0 14px}
.slg-tool{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 8px;border:1px solid var(--slg-line);border-radius:3px;background:#fff;color:var(--slg-text);font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.8px;text-transform:uppercase;cursor:pointer}
.slg-tool svg{width:14px;height:14px;flex:0 0 auto;stroke-width:2}
.slg-tool[aria-expanded=true]{border-color:var(--slg-text)}
.slg-tool__count{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--slg-turq);color:#fff;font-size:11px;letter-spacing:0}
.slg-tool__count[hidden]{display:none}
.slg-view-switch{flex:0 0 auto;display:flex;border:1px solid var(--slg-line);border-radius:3px;overflow:hidden}
.slg-view-switch button{min-height:44px;padding:10px 14px;border:0;border-radius:0;background:#fff;color:var(--slg-text);font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.8px;text-transform:uppercase;cursor:pointer}
.slg-view-switch button[aria-pressed=true]{background:var(--slg-turq);color:#fff}
.slg-sort-sheet{margin:0 0 16px;padding:6px 14px;border:1px solid var(--slg-line);border-radius:3px;background:#fff}
.slg-sort-sheet[hidden]{display:none}
.slg-sort-sheet label{display:flex;align-items:center;gap:12px;margin:0;padding:12px 0;border-bottom:1px solid var(--slg-line-soft);font-size:14px;font-weight:400;line-height:1.4;letter-spacing:.2px;color:var(--slg-text);cursor:pointer}
.slg-sort-sheet label:last-child{border-bottom:0}
.slg-sort-sheet input{width:16px;height:16px;margin:0;accent-color:var(--slg-turq)}

/* ---------- search: active filter chips ---------- */
.slg-filter-chips, .slg-recovery{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.slg-filter-chips:empty, .slg-recovery:empty{display:none}
.slg-filter-chips{margin:0 0 16px}
.slg-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 8px 6px 10px;border:1px solid var(--slg-line);border-radius:3px;background:var(--slg-tint);color:var(--slg-text);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.8px;text-transform:uppercase;text-decoration:none;overflow-wrap:anywhere}
.slg-chip:hover, .slg-chip:focus{border-color:var(--slg-text);color:var(--slg-text)}
.slg-chip svg{flex:0 0 auto;width:9px;height:9px;stroke-width:2.6;color:var(--slg-muted)}
.slg-chip-clear{padding-bottom:1px;border-bottom:1px solid var(--slg-turq);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-turq);text-decoration:none}
.slg-chip-clear:hover{color:var(--slg-turq-dark);border-color:var(--slg-turq-dark)}

/* ---------- search: filter panel ---------- */
body.search .block.search-block{padding-top:0!important}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #search-results-container{padding-top:34px}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters{margin:0 0 22px;padding:0 0 24px;border-bottom:1px solid var(--slg-line-soft)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters>.mob.row{margin-left:-10px;margin-right:-10px}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters .filters{display:flex;flex-wrap:wrap;float:none;width:100%;margin:0;padding:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters .filter-column{margin-bottom:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .filter-column label{display:block;padding:0 0 8px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .filter-column select{width:100%;min-height:44px;padding:8px 32px 8px 12px;border:1px solid var(--slg-line);border-radius:3px;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23848484' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center/10px 7px;-webkit-appearance:none;appearance:none;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:.2px;color:var(--slg-muted)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .filter-column select.selected, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .filter-column select.has-value, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sort-column select{color:var(--slg-text)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .filter-column .input-box::after, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .filter-column .input-box::before{display:none}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters .facilities{float:none;width:100%;margin:24px 0 0;padding:0 10px}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-amenities-toggle{display:flex;text-align:left;align-items:center;justify-content:space-between;width:100%;margin:0;padding:12px 0;border:0;border-top:1px solid var(--slg-line-soft);background:none;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted);cursor:pointer}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-amenities-toggle>span{margin:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-amenities-toggle__chev{display:block;color:var(--slg-text);transition:transform .2s ease}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-amenities-toggle__chev svg{display:block;width:12px;height:12px;stroke-width:2.4}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-amenities-toggle[aria-expanded=true] .slg-amenities-toggle__chev{transform:rotate(180deg)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .facilities .content.row{margin:0;padding:4px 0 0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .facilities .content.row[hidden]{display:none}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .facilities .content.row>.col-sm-12{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px;float:none;width:100%;padding:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .facilities .amenity{display:flex;align-items:center;gap:10px;float:none;width:auto;min-height:32px;margin:0;padding:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .facilities .amenity input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--slg-turq)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .facilities .amenity label{display:block;margin:0;padding:0;font-size:14px;font-weight:400;line-height:1.35;letter-spacing:.2px;text-transform:none;color:var(--slg-text);cursor:pointer}
.slg-filter-actions{gap:10px;clear:both;margin:20px 0 0}
.slg-filter-actions .slg-filter-done{flex:1}

/* ---------- search: results heading and sort ---------- */
body.search #search-results-container>.heading.row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -10px 8px;padding:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #search-results-container>.heading.row::before, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #search-results-container>.heading.row::after{display:none}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #search-results-container>.heading.row>div{float:none;width:auto;margin:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .js-search-results-count{font-size:14px;font-weight:600;letter-spacing:1px;color:var(--slg-muted)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sort-column{flex:0 0 270px}

/* ---------- search: property cards ---------- */
body.search .search_results{padding-top:14px}
/* guide note under the pager, full results width (prototype .guide-note) */
body.search .slg-guide-note{margin:22px 10px 56px;font-size:12px;line-height:1.6;letter-spacing:.6px;color:var(--slg-muted);text-align:left}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .pagination .description{display:none}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .propertymeta{position:relative;flex-direction:column;width:100%}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .property_card_header{padding-right:40px}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .columns-section.info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%!important;max-width:none;margin:18px 0 0!important}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .info p{margin:0;font-size:13px;line-height:1.35;letter-spacing:.2px;text-align:left;color:var(--slg-text)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .info .slg-fact-icon{display:block;width:22px;height:18px;margin:0 0 6px;color:var(--slg-muted)}
/* Fact icons (prototype artwork via slg_journey_fact_icon): search cards stack icon over value; property pages run icon beside a labelled value. */
.slg-facts .slg-fact{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;color:var(--slg-text)}
.slg-facts .slg-fact-icon{flex:0 0 auto;width:22px;height:18px;color:var(--slg-muted)}
.slg-facts .slg-fact-label{display:none}
body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px 0;margin:0;border-top:1px solid var(--slg-line-soft);border-bottom:1px solid var(--slg-line-soft)}
body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts .slg-fact{flex-direction:row;align-items:center;gap:12px;margin:0;font-size:15px;line-height:1.4;letter-spacing:0}
body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts .slg-fact-icon{width:40px;height:36px;color:var(--slg-text)}
body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts .slg-fact-label{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted);margin-bottom:2px}
@media(max-width:767px){
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts{grid-template-columns:1fr;gap:0;padding:8px 0}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts .slg-fact{padding:13px 0;border-bottom:1px solid var(--slg-line-soft)}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts .slg-fact:last-child{border-bottom:0}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-facts .slg-fact-icon{width:38px;height:34px}
}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .property_card_content{display:block;min-height:0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .amenities-list{display:block;margin:16px 0 0}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .amenities-list li{padding:0;line-height:1.7}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .property_card_footer{margin-top:auto;padding-top:18px}
.slg-card-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 12px}
.slg-card-foot__facts{min-width:0}
.slg-card-foot .price{padding-top:0}
.slg-card-foot .price .sep{margin:0 4px;color:var(--slg-muted)}
.slg-card-foot .ratebanding{padding-top:4px;color:var(--slg-muted)}
.slg-card-foot .ratebanding:empty{display:none}
.slg-card-foot .property_card_footer__hint{margin:4px 0 0;color:var(--slg-muted)}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results hr{margin:22px 10px;border:0;border-top:1px solid var(--slg-line-soft)}
/* 768–991px: Bootstrap's md columns do not apply, so the flex row left the gallery column 20px wide and the photos never loaded. Stack the card instead. */
@media(max-width:991px){
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property{flex-direction:column;flex-wrap:nowrap}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property>.col-md-6{width:100%;flex:0 0 auto;min-width:0}
}

/* ---------- search: pagination (agreed design: prototype .pager) ---------- */
body.search .search_results .pagination.slg-pager{display:block;width:auto;margin:26px 10px 0;padding:22px 0 0;border-top:1px solid var(--slg-line-soft);text-align:center}
.slg-pager-status{margin:0 0 14px;font-size:12px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;text-align:center;color:var(--slg-muted)}
.slg-pager .slg-pager-nums{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}
.slg-pager .slg-pager-nums li, .slg-pager .slg-pager-nums li.active, .slg-pager .slg-pager-nums li:hover{display:block;margin:0;padding:0;border:0;background:none;color:inherit}
.slg-pager .slg-pager-nums button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:0 12px;border:0;border-radius:3px;background:none;font-family:inherit;font-size:14px;font-weight:600;line-height:1;letter-spacing:1px;color:var(--slg-muted);cursor:pointer}
.slg-pager .slg-pager-nums button:hover:not(:disabled){color:var(--slg-text);background:var(--slg-tint)}
.slg-pager .slg-pager-nums button[aria-current=page]{color:var(--slg-text);font-weight:700}
.slg-pager .slg-pager-nums button[aria-current=page]::before{content:"";position:absolute;top:6px;left:50%;width:28px;height:1px;background:var(--slg-text);transform:translateX(-50%)}
.slg-pager .slg-pager-nums button:disabled{color:var(--slg-line);background:none;cursor:not-allowed}
.slg-pager .slg-pager-nums .slg-pager-arrow svg{width:14px;height:14px}
body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .pagination .description{display:none}
/* Live (RateHawk) search: "Load more properties" is a bold full-width-row button after the last card. */
body.search .search_results .ratehawk-live-pagination{clear:both;margin:30px 0 10px;padding:26px 0 0;border-top:1px solid var(--slg-line-soft)}
body.search .search_results .ratehawk-live-pagination ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;margin:0;padding:0;list-style:none}
body.search .search_results .ratehawk-live-pagination li{display:block;margin:0;padding:0;border:0;color:var(--slg-muted);font-size:13px;font-weight:600}
body.search .search_results .ratehawk-live-pagination li.ratehawk-live-pagination__more{order:3;flex-basis:100%;text-align:center}
body.search .search_results .ratehawk-live-pagination .js-ratehawk-previous-page{color:var(--slg-text);text-decoration:underline}
body.search .search_results .ratehawk-live-pagination .js-ratehawk-next-page.slg-btn{min-width:min(100%,300px);min-height:50px;padding:14px 28px;font-size:14px;font-weight:700;letter-spacing:1.5px;color:#fff;text-decoration:none}

/* ---------- search: no results and recovery ---------- */
.slg-no-results{margin:8px 0 40px;padding:28px;border:1px solid var(--slg-line-soft);border-radius:3px}
.slg-no-results h2{margin:0 0 8px;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:.3px;text-transform:none;color:var(--slg-text)}
.slg-no-results>p{max-width:60ch;margin:0 0 16px;font-size:14px;line-height:1.65;letter-spacing:.2px;color:var(--slg-copy)}
.slg-no-results .slg-recovery{margin:0 0 18px}
.slg-no-results__actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid var(--slg-line-soft)}
.slg-recovery-counts{margin:0 0 18px;padding:0;background:none}
.slg-recovery-counts h3{margin:0 0 8px;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:1.2px;text-transform:uppercase;color:var(--slg-muted)}
.slg-recovery-counts ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.slg-recovery-counts li{margin:0}
.slg-recovery-counts a{display:inline-flex;align-items:center;min-height:42px;padding:9px 12px;border:1px solid var(--slg-line);border-radius:3px;background:#fff;font-size:13px;line-height:1.4;letter-spacing:.2px;color:var(--slg-text);text-decoration:none}
.slg-recovery-counts a:hover, .slg-recovery-counts a:focus{border-color:var(--slg-turq);color:var(--slg-turq)}
.slg-recovery-counts p{margin:0;font-size:12px;line-height:1.5;letter-spacing:.2px;color:var(--slg-muted)}

/* ---------- search: map states ---------- */
.slg-map-status{margin:0;padding:20px 22px;border-left:1px solid var(--slg-line-soft);background:#eef1ec;font-size:13px;line-height:1.6;letter-spacing:.2px;color:var(--slg-muted)}
.slg-map-status b{display:block;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
.slg-map-status[hidden]{display:none}
/* property preview inside the map pane (prototype .map-preview) */
.slg-map-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:21;display:grid;grid-template-columns:104px 1fr;gap:12px;padding:10px;border:1px solid var(--slg-line);border-radius:3px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.slg-map-card[hidden]{display:none}
.slg-map-card__thumb{display:block;aspect-ratio:1/1;border-radius:2px;background:var(--slg-tint);overflow:hidden}
.slg-map-card__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.slg-map-card__thumb img[hidden]{display:none}
.slg-map-card__body{position:relative;min-width:0;padding-right:26px}
.slg-map-card__loc{margin:0;font-size:11px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
.slg-map-card__name{margin:2px 0 6px;font-size:14px;font-weight:800;line-height:1.25;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
.slg-map-card__meta{margin:0;font-size:11px;line-height:1.5;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
.slg-map-card__close{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:0;background:none;color:var(--slg-muted);cursor:pointer}
.slg-map-card__close svg{width:11px;height:11px}
.slg-map-card__cta{display:inline-block;margin-top:8px;padding-bottom:2px;border-bottom:1px solid var(--slg-turq);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--slg-turq);text-decoration:none}
.slg-map-card__cta:hover{color:var(--slg-turq-dark);border-color:var(--slg-turq-dark)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .mapboxgl-marker{cursor:pointer}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .mapboxgl-marker.is-selected{z-index:3}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .mapboxgl-marker.is-selected svg{transform:scale(1.25);transform-origin:center bottom;filter:drop-shadow(0 0 2px rgba(13,125,140,.85))}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .mapboxgl-marker:focus-visible{outline:2px solid var(--slg-turq-deep);outline-offset:2px;border-radius:50%}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #search-map-container{position:relative}
@media(max-width:767px){.slg-map-card{grid-template-columns:84px 1fr}}
@media(max-width:991px){body:has(.notificationBar.visible) .slg-map-card{bottom:calc(12px + var(--slg-notice-h,0px))}}
/* results + map shell (prototype .shell): the list keeps the container's left edge, the map takes the right 32vw
   (30vw from 1440) full-bleed and stays put as a sticky pane; the legacy fixed/absolute toggling is neutralised */
@media(min-width:992px){
  /* sticky needs no clipping ancestor: the legacy page and content wrappers clip on this page only for the phone menu */
  body.search div#page.site, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .wrapper, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) section.content{overflow:visible}
  .slg-shared-journey.search .search-block > .mob-container{max-width:none;padding:0;margin:0}
  .slg-shared-journey.search .search-block > .mob-container > .row{display:grid;grid-template-columns:minmax(0,1fr) 32vw;gap:0;align-items:start;margin:0}
  /* Bootstrap clearfix pseudo-elements become grid items, while its column widths
     and push offsets still apply on profiles without the LSA homepage stylesheet. */
  .slg-shared-journey.search .search-block > .mob-container > .row::before,
  .slg-shared-journey.search .search-block > .mob-container > .row::after{display:none;content:none}
  .slg-shared-journey.search #search-results-container,
  .slg-shared-journey.search #search-map-container{float:none;width:auto;left:auto;right:auto}
  .slg-shared-journey.search #search-results-container{padding:34px 40px 64px max(20px,calc((100vw - 1140px) / 2));min-width:0}
  .slg-shared-journey.search #search-map-container{position:sticky;top:0;align-self:start;height:100vh;padding:0;margin:0;min-width:0;overflow:hidden}
  /* the fixed notice bar reserves its height at the bottom, so the pane (and the card inside it) stop above it */
  body.slg-shared-journey.search:has(.notificationBar.visible) #search-map-container{height:calc(100vh - var(--slg-notice-h,0px))}
  /* the canvas fills the pane whatever the pane's height is (the inline 100vh belongs to the legacy pane) */
  .slg-shared-journey.search #search-map-container #mapbox2.mapboxgl-map{height:100%!important;width:100%!important}
  .slg-shared-journey.search #search-map-container #mapbox2, .slg-shared-journey.search #search-map-container #mapbox2.mapboxgl-map, .slg-shared-journey.search #search-map-container #mapbox2.fixed, .slg-shared-journey.search #search-map-container #mapbox2.absolute{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;max-width:none!important;height:100%!important;border-left:1px solid var(--slg-line-soft)}
  .slg-shared-journey.search #search-map-container #mapbox2:not(.mapboxgl-map){display:none}
  .slg-shared-journey.search #search-map-container .slg-map-status{position:absolute;left:0;right:0;top:0;z-index:2;height:100%;box-sizing:border-box}
}
@media(min-width:1440px){
  .slg-shared-journey.search .search-block > .mob-container > .row{grid-template-columns:minmax(0,1fr) 30vw}
}

/* ---------- search: tablet and mobile ---------- */
@media(max-width:991px){
  .slg-search-summary{display:block}
  .slg-search-tools{display:flex}
  .slg-filter-actions{display:flex}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters{margin:0 0 16px;padding:16px;border:1px solid var(--slg-line);border-radius:3px}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters:not(.is-open){display:none}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters .filter-column{width:50%;margin-bottom:16px}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters .facilities{margin-top:0}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sort-column{display:none}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #search-results-container{padding-top:16px}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey):not(.slg-map-view) #search-map-container{display:none!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey).slg-map-view #search-map-container{display:block!important;width:100%;left:0}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey).slg-map-view .search_results, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey).slg-map-view #search-results-container>.heading{display:none!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey).slg-map-view #mapbox2{max-width:none!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey).slg-map-view #mapbox2.mapboxgl-map{display:block!important;position:relative!important;top:0!important;width:100%!important;height:65vh!important;min-height:300px}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey).slg-map-view #mapbox2:not(.mapboxgl-map){display:none!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #header .menu-toggle span{background:#333!important}
  .slg-enquiry-sections{display:flex;flex-direction:column}
  .slg-enquiry-sections>.slg-section--contact-form{order:-1}
}
@media(max-width:767px){
  /* the summary card carries the search detail, so the banner drops to a slim
     photographic strip and its heading goes to screen readers only */
  body.search #header{margin-top:0!important;background:#fff!important;color:#333}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #header .logo .normal{display:none!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #header .logo .inv{display:block!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #header .hamburger, body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) #header .hamburger span{color:#333!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .content>.block.banner{height:192px!important;min-height:0!important;margin-bottom:0!important;padding:0!important;overflow:hidden}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .content>.block.banner>img{width:100%;height:100%;object-fit:cover}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .content>.block.banner .page-title{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .block.search-block{margin-top:0!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .notificationBar{display:none!important}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-search-filters .filter-column{width:100%}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .facilities .content.row>.col-sm-12{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .columns-section.info{gap:8px}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .info p{font-size:12px}
  body.search:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .search_results .property .propertymeta{padding-top:16px}
  .slg-card-foot{align-items:flex-start}
  .slg-no-results{padding:20px}
}

/* ---------- property page: rates, viewing, facts ---------- */
.slg-rate-selected{background:rgba(var(--slg-primary-rgb,26,175,193),.10)!important;font-weight:700}
.slg-rate-selected .numb{font-weight:700}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .rates .line.head .slg-rate-selected{background:var(--slg-turq-dark)!important;box-shadow:inset 0 3px 0 #0c6b78}
.slg-rate-note{margin:0 0 14px;font-size:12px;line-height:1.6;letter-spacing:.2px;color:var(--slg-muted)}
.slg-rate-note b{color:var(--slg-text)}
.slg-viewing-link{display:block;margin:10px 0 0;padding:12px 14px;border:1px solid var(--slg-turq);border-radius:3px;background:#fff;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:1px;text-transform:uppercase;text-align:center;color:var(--slg-turq);text-decoration:none}
.slg-viewing-link:hover, .slg-viewing-link:focus{background:var(--slg-tint);color:var(--slg-turq-dark)}

/* ---------- recently viewed (session only; property page and search results) ---------- */
.slg-recent{margin:28px 0 8px;padding-top:24px;border-top:1px solid var(--slg-line-soft)}
.slg-recent-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0 0 14px}
.slg-recent h2{margin:0;font-size:18px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
.slg-recent-note{margin:0;font-size:12px;color:var(--slg-muted);letter-spacing:0}
.slg-recent-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.slg-recent-card{display:block;color:var(--slg-text);text-decoration:none;min-width:0}
.slg-recent-card:hover .slg-recent-title{color:var(--slg-turq)}
.slg-recent-media{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:3px;background:var(--slg-tint)}
.slg-recent-media img{display:block;width:100%;height:100%;object-fit:cover}
.slg-recent-body{display:block;padding:8px 0 0}
.slg-recent-area{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
.slg-recent-title{display:block;font-size:14px;font-weight:600;line-height:1.3;margin:2px 0 4px}
.slg-recent-price{display:block;font-size:12px;color:var(--slg-copy);letter-spacing:0}
@media(max-width:991px){.slg-recent-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.slg-recent-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}.slg-recent-card{flex:0 0 72%;scroll-snap-align:start}}
/* ---------- property page: request a viewing (every profile) ---------- */
.slg-viewing{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:14px 0 0}
.slg-viewing--content{margin:18px 0 26px}
.slg-viewing .slg-viewing-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--slg-turq);text-decoration:none}
.slg-viewing .slg-viewing-link:hover{color:var(--slg-turq-dark);text-decoration:underline}
.slg-viewing .slg-viewing-link--schedule:after{content:"\2197";margin-left:4px;font-weight:400}
.slg-viewing-note{flex:1 0 100%;font-size:12px;line-height:1.55;color:var(--slg-muted);letter-spacing:0}
.slg-enq .slg-viewing{margin-top:12px;padding-top:12px;border-top:1px solid var(--slg-line-soft)}
.slg-enq-intent{margin:0 0 16px;padding:10px 12px;border-left:3px solid var(--slg-turq);background:var(--slg-tint);font-size:13px;line-height:1.55;color:#333}
.slg-enq-intent[hidden]{display:none}
.slg-enq-intent-reset{display:inline;margin:4px 0 0;padding:0;border:0;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--slg-turq-dark);text-decoration:underline;cursor:pointer}
/* ---------- property page: mobile enquiry bar and full-screen panel ---------- */
.slg-enquiry-bar, .slg-enquiry-control--chat{display:none}
.slg-enquiry-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#fff}
.slg-enquiry-dialog[open]{display:flex;flex-direction:column}
.slg-enquiry-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px 10px 18px;border-bottom:1px solid var(--slg-line-soft)}
.slg-enquiry-head h2{margin:0;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
.slg-enquiry-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:3px;background:none;color:var(--slg-text);cursor:pointer}
.slg-enquiry-close svg{width:18px;height:18px;stroke-width:2}
.slg-dialog-open{overflow:hidden}
.slg-enquiry-dialog>.nights{flex:1;overflow:auto;padding:20px 18px 28px;border:0!important;border-radius:0!important;background:#fff}
.slg-enquiry-dialog>.ratehawk-sidebar-col{display:block!important;flex:1;overflow:auto;width:100%!important;margin:0!important;padding:4px 18px 28px!important}
.slg-enquiry-dialog>.ratehawk-sidebar-col .propertysingle-sidebar{position:static!important;margin:0;border:0;box-shadow:none}
.slg-enquiry-dialog .pricepernight{display:flex;gap:16px}
.slg-enquiry-dialog .nights .pricepernight h3{margin-bottom:6px}
.slg-enquiry-dialog .nights .subtotal{position:static!important;margin:16px 0}
.slg-enquiry-dialog .nights input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]), .slg-enquiry-dialog .nights select, .slg-enquiry-dialog .nights textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--slg-line);border-radius:3px;background-color:#fff;font-size:15px;text-align:left;color:var(--slg-text)}
.slg-enquiry-dialog .nights label{text-align:left}
.slg-enquiry-dialog .nights .gform_wrapper{margin-top:20px}
.slg-enquiry-dialog .gform_fields{list-style:none}
.slg-enquiry-dialog .nights .gform_footer{padding-top:24px}
.slg-enquiry-dialog .nights input[type=submit], .slg-enquiry-dialog .nights button[type=submit]{width:100%;min-height:46px;padding:12px 18px;border:0;border-radius:3px;background:var(--slg-turq);color:#fff;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.slg-enquiry-dialog .nights .whatsappPdp-container{margin:10px 0 0}
.slg-enquiry-dialog .nights .copyright{font-size:12px;line-height:1.55;color:var(--slg-muted)}
.slg-enquiry-panel #header, .slg-enquiry-panel footer, .slg-enquiry-panel .block.banner, .slg-enquiry-panel .whatsappPdp-container, .slg-enquiry-panel .slg-enquiry-bar, .slg-enquiry-panel .slg-enquiry-control, .slg-enquiry-panel .footer-banner, .slg-enquiry-panel .popup, .slg-enquiry-panel .whatsapp, .slg-enquiry-panel .notificationBar, .slg-enquiry-panel .joinchat, .slg-enquiry-panel .whatsapp-chat{display:none!important}
.slg-enquiry-panel .slg-section--contact-form{padding-top:20px}
.slg-enquiry-panel .content{padding-top:0!important}
.slg-enquiry-panel .slg-enquiry-sections>section:not(.slg-section--contact-form){display:none}
.slg-enquiry-panel .slg-contact-section__intro{margin-bottom:16px}
@media(max-width:767px){
  .slg-enquiry-bar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:1001;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--slg-line);background:#fff}
  .slg-enquiry-bar__lead{min-width:0;font-size:12px;line-height:1.35;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
  .slg-enquiry-bar__lead b{display:block;font-size:13px;font-weight:700}
  .slg-enquiry-bar .slg-enquiry-control{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-left:auto;padding:11px 18px;border-radius:3px;background:var(--slg-turq);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none;white-space:nowrap}
  .slg-enquiry-control--chat{display:inline-flex;align-items:center;position:fixed;right:18px;bottom:20px;z-index:1001;min-height:48px;padding:12px 20px;border-radius:24px;background:var(--slg-turq);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.2)}
  body:has(.slg-enquiry-bar){padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  body:has(.slg-enquiry-bar) .notificationBar{display:none!important}
  /* keep the floating chat bubble clear of the enquiry bar: the bar's measured height (--slg-fixed-bottom) moves it, and until
     that is measured it clears the tallest bar a 390px phone shows (the booking bar with a guide price wraps to 88px) */
  body:has(.slg-enquiry-bar){--slg-fixed-bottom-fallback:calc(88px + env(safe-area-inset-bottom))}
  /* the "Ask our team" pill and the site's WhatsApp / contact bubble share a corner: stack the pill above the bubble */
  body:has(#chat_button) .slg-enquiry-control--chat{bottom:calc(84px + env(safe-area-inset-bottom))}
  body:has(#chat_button):has(.notificationBar.visible) .slg-enquiry-control--chat{bottom:calc(var(--slg-fixed-bottom,0px) + 84px)}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .mobile_booking{display:none!important}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .content.about>.block.banner{height:auto!important;min-height:235px;padding-top:105px!important}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .content.about>.block.banner .page-title{position:static!important;transform:none!important;padding:0 15px!important}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .content.about>.block.banner h1{font-size:25px!important;line-height:1.3!important}
}

/* 768–991px: the enquiry card has no column of its own, so the bar and dialog serve the form here too (prototype behaviour under 1024px). */
@media(min-width:768px) and (max-width:991px){
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-enquiry-bar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:1001;padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--slg-line);background:#fff}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-enquiry-bar__lead{min-width:0;font-size:12px;line-height:1.35;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-enquiry-bar__lead b{display:block;font-size:13px;font-weight:700}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-enquiry-bar .slg-enquiry-control{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-left:auto;padding:11px 18px;border-radius:3px;background:var(--slg-turq);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey):has(.slg-enquiry-bar){padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey):has(.slg-enquiry-bar) .notificationBar{display:none!important}
  body.single-property:where(.slg-main-site,.slg-live-site,.slg-shared-journey):has(.slg-enquiry-bar){--slg-fixed-bottom-fallback:calc(66px + env(safe-area-inset-bottom))}
}

/* ---------- search editor (agreed design: prototype .editor); the currency dialog shares it ---------- */
.modal-window.slg-editor{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:none;flex-direction:column;width:calc(100% - 48px);max-width:520px;height:auto!important;max-height:min(92vh,760px)!important;margin:0;padding:0;border-radius:3px;background:#fff;overflow:hidden;text-align:left;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-window.slg-editor.opened{display:flex;visibility:visible;opacity:1;z-index:999}
/* legacy .modal-window > div sets inline-block 47%: the head and form are full-width blocks of the panel */
.modal-window.slg-editor > .slg-editor-head, .modal-window.slg-editor > .slg-editor-form{display:flex;width:100%}
.slg-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:16px 18px;border-bottom:1px solid var(--slg-line-soft);text-align:left}
.slg-editor-head h2{margin:0;font-size:13px;font-weight:700;line-height:1.3;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
.modal-window.slg-editor .close{position:static;display:grid;place-items:center;width:40px;height:40px;margin:-8px -8px -8px 0;padding:0;border:0;border-radius:3px;background:none;color:var(--slg-text);font-size:0;line-height:0;cursor:pointer;z-index:auto}
.modal-window.slg-editor .close svg{width:18px;height:18px}
.modal-window.slg-editor .close:hover{background:var(--slg-tint)}
.slg-editor-form{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;margin:0}
.slg-editor-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 18px 6px}
.slg-editor-foot{flex:0 0 auto;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--slg-line-soft)}
.slg-editor .slg-field{margin:0 0 14px}
.slg-editor-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
.slg-editor-location #slg-field-area{grid-column:1/-1}
.slg-editor .slg-field[hidden]{display:none}
.slg-editor .slg-field label, .slg-editor .slg-lbl{display:block;margin:0 0 8px;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:1px;text-transform:uppercase;text-align:left;color:var(--slg-muted)}
.slg-editor .slg-dates, .slg-editor .slg-field{text-align:left}
.slg-editor input[type=text], .slg-editor select{box-sizing:border-box;width:100%;min-height:48px;height:48px;margin:0;padding:10px 12px;border:1px solid var(--slg-line);border-radius:3px;background:#fff;font-size:15px;font-weight:400;letter-spacing:0;line-height:1.4;color:var(--slg-text);box-shadow:none}
.slg-editor input[type=text]::placeholder{color:var(--slg-muted);opacity:1}
.slg-editor select{padding-right:36px;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23848484' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center/10px 7px;-webkit-appearance:none;appearance:none}
.slg-editor .input-box{position:relative;margin:0}
.slg-editor .input-box:after{display:none}
.slg-segmented{display:flex;border:1px solid var(--slg-line);border-radius:3px;overflow:hidden}
.slg-segmented button{flex:1 1 0;min-height:48px;margin:0;padding:0 6px;border:0;border-right:1px solid var(--slg-line);border-radius:0;background:#fff;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--slg-text);cursor:pointer}
.slg-segmented button:last-child{border-right:0}
.slg-segmented button[aria-pressed=true]{background:var(--slg-turq);color:#fff}
.slg-segmented button:focus-visible{outline-offset:-3px}
.slg-ta{position:relative}
.slg-ta input[type=text]{padding-right:44px}
.slg-ta-clear{position:absolute;right:6px;top:50%;width:38px;height:38px;margin:0;padding:0;border:0;background:none;transform:translateY(-50%);font-size:20px;line-height:1;color:var(--slg-muted);cursor:pointer}
.slg-ta-clear[hidden]{display:none}
.slg-ta-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:264px;margin:0;padding:4px;overflow-y:auto;list-style:none;background:#fff;border:1px solid var(--slg-line);border-radius:3px;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.slg-ta-list[hidden]{display:none}
.slg-ta-list li{margin:0;padding:11px 12px;border-radius:2px;font-size:15px;letter-spacing:0;color:var(--slg-text);cursor:pointer}
.slg-ta-list li[aria-selected=true], .slg-ta-list li:hover{background:var(--slg-tint)}
.slg-ta-list li b{font-weight:700;color:var(--slg-turq)}
.slg-ta-list .slg-ta-none{color:var(--slg-muted);cursor:default;font-size:14px}
.slg-ta-hint{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;line-height:1.5;letter-spacing:0;color:var(--slg-muted)}
.slg-ta-chip{min-height:34px;margin:0;padding:5px 9px;border:1px solid var(--slg-line);border-radius:3px;background:#fff;font-family:inherit;font-size:12px;letter-spacing:0;color:var(--slg-text);cursor:pointer}
.slg-ta-chip:hover{border-color:var(--slg-turq);color:var(--slg-turq)}
.slg-editor .slg-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:auto;margin:0 0 14px}
.slg-editor .slg-dates .slg-field{margin:0}
.slg-editor .slg-dates input[type=text]{padding-right:40px;cursor:pointer;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23848484' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat right 12px center/18px 18px}
.slg-editor .modal-cal, .slg-editor .modal-cal.pos-right, .slg-editor .modal-cal.pos-left{position:absolute;display:none;width:294px;max-width:calc(100% - 32px);margin:0;left:16px;right:auto;top:0;z-index:20;overflow:auto;border:1px solid var(--slg-line);border-radius:3px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.slg-editor .modal-cal .PAheader{background:#fff;color:var(--slg-text);border-bottom:1px solid var(--slg-line-soft)}
.slg-editor .modal-cal .PAHprev,.slg-editor .modal-cal .PAHnext{color:var(--slg-text)}
.slg-stepper{display:flex;align-items:center;width:100%;max-width:210px;border:1px solid var(--slg-line);border-radius:3px;overflow:hidden}
.slg-stepper button{display:grid;place-items:center;width:52px;height:48px;margin:0;padding:0;border:0;border-radius:0;background:#fff;font-family:inherit;font-size:20px;font-weight:600;color:var(--slg-text);cursor:pointer}
.slg-stepper button:disabled{color:var(--slg-line);cursor:not-allowed}
.slg-stepper output{flex:1 1 auto;border-left:1px solid var(--slg-line);border-right:1px solid var(--slg-line);font-size:15px;font-weight:600;line-height:48px;letter-spacing:0;text-align:center;color:var(--slg-text)}
.slg-editor-caveat, .slg-editor-note, .slg-editor-intro{margin:0 0 14px;font-size:12px;line-height:1.6;letter-spacing:0;color:var(--slg-muted)}
.slg-editor-note{padding:10px 12px;border-left:3px solid var(--slg-turq);background:var(--slg-tint);color:var(--slg-text)}
.slg-editor-intro{font-size:14px;color:var(--slg-copy)}
.slg-field .slg-editor-note{margin:10px 0 0}
.modal-window.slg-editor .btn.slg-editor-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;padding:12px 18px;border:0;border-radius:3px;background:var(--slg-turq);color:#fff;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer}
.modal-window.slg-editor .btn.slg-editor-submit:hover{background:var(--slg-turq-dark)}
.modal-window.slg-editor .btn.slg-editor-submit:disabled{background:var(--slg-line);cursor:not-allowed}
.modal-window.slg-editor .btn.slg-editor-submit:after{display:none}
@media(max-width:767px){
  .modal-window.slg-editor{top:0;left:0;transform:none;width:100%;max-width:none;height:100%!important;max-height:100%!important;border-radius:0}
  .slg-editor .slg-dates{grid-template-columns:1fr 1fr;gap:10px}
}

/* ---------- booking assistance popup (every profile): enquiry-card fields inside a viewport-bound panel ---------- */
/* main.js writes inline left/top/transform from a measurement taken while the panel is hidden, hence the !important centring */
.modal-window.bookingassistance-modal.opened{display:flex;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:calc(100% - 48px);max-width:780px;height:auto!important;max-height:min(92vh,640px)!important;margin:0;padding:0;border-radius:3px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-window.bookingassistance-modal > .img-box{position:relative;flex:0 0 36%;width:auto;max-height:none;border-radius:0}
.modal-window.bookingassistance-modal > .img-box img{position:absolute;top:0;left:0;width:100%;height:100%;max-height:none;object-fit:cover}
.modal-window.bookingassistance-modal > .text-box{flex:1 1 auto;width:auto;min-width:0;height:auto;max-height:none;padding:28px 28px 24px;overflow-y:auto;overscroll-behavior:contain;text-align:left}
/* a styled WebKit scrollbar stays visible where macOS would otherwise hide it, so a column that scrolls looks scrollable;
   scrollbar-width/scrollbar-color are left unset because Chrome ignores these pseudo-elements once they are set */
.modal-window.bookingassistance-modal > .text-box::-webkit-scrollbar{width:8px}
.modal-window.bookingassistance-modal > .text-box::-webkit-scrollbar-track{background:var(--slg-tint)}
.modal-window.bookingassistance-modal > .text-box::-webkit-scrollbar-thumb{border-radius:4px;background:var(--slg-line)}
.modal-window.bookingassistance-modal .close{display:grid;place-items:center;top:10px;right:10px;width:40px;height:40px;border-radius:3px;background:#fff;color:var(--slg-text);font-size:12px;line-height:1}
.modal-window.bookingassistance-modal .close:hover{background:var(--slg-tint)}
.modal-window.bookingassistance-modal .text-box .slg-modal-label{margin:0 44px 6px 0;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
.modal-window.bookingassistance-modal .text-box .slg-modal-label.h2{margin:0 44px 12px 0;font-size:24px;font-weight:400;line-height:1.3;letter-spacing:1px;text-transform:none;color:var(--slg-text)}
.modal-window.bookingassistance-modal .text-box > p:not(.slg-modal-label){margin:0 0 20px!important;font-size:14px;line-height:1.6;letter-spacing:0;color:var(--slg-copy)}
.modal-window.bookingassistance-modal .gform_wrapper{margin:0!important;padding:0;max-width:none}
.modal-window.bookingassistance-modal .gform_wrapper form{margin:0}
.modal-window.bookingassistance-modal .gform_fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;row-gap:18px!important;column-gap:0!important;margin:0!important;padding:0!important;list-style:none}
.modal-window.bookingassistance-modal .gform_fields > .gfield{display:block!important;grid-column:1/-1!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
.modal-window.bookingassistance-modal .gform_fields > .gfield.gform_validation_container, .modal-window.bookingassistance-modal .gform_fields > .gfield.gform_hidden, .modal-window.bookingassistance-modal .gform_fields > .gfield--type-hidden{display:none!important}
.modal-window.bookingassistance-modal .gfield_label{display:block!important;margin:0 0 8px!important;padding:0!important;font-size:12px!important;font-weight:600!important;line-height:1.3!important;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)!important}
.modal-window.bookingassistance-modal .gfield--type-captcha .gfield_label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.modal-window.bookingassistance-modal .ginput_container{margin:0!important}
.modal-window.bookingassistance-modal .gfield input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]), .modal-window.bookingassistance-modal .gfield textarea, .modal-window.bookingassistance-modal .gfield select{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0;padding:10px 12px!important;border:1px solid var(--slg-line)!important;border-radius:3px!important;background:#fff;font-family:inherit;font-size:15px!important;font-weight:400;letter-spacing:0;line-height:1.4;color:var(--slg-text);box-shadow:none}
.modal-window.bookingassistance-modal .gfield input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]), .modal-window.bookingassistance-modal .gfield select{height:48px!important;min-height:48px}
.modal-window.bookingassistance-modal .gfield textarea{display:block;height:112px!important;min-height:112px;resize:vertical}
.modal-window.bookingassistance-modal .gfield input:focus, .modal-window.bookingassistance-modal .gfield textarea:focus{border-color:var(--slg-turq)!important;outline:2px solid var(--slg-turq);outline-offset:-1px}
.modal-window.bookingassistance-modal .ginput_recaptcha{max-width:100%;min-height:78px;overflow:visible}
.modal-window.bookingassistance-modal .gform_footer{display:block;margin:20px 0 0!important;padding:0!important}
.modal-window.bookingassistance-modal .gform_footer .gform_button, .modal-window.bookingassistance-modal .gform_footer input[type=submit]{display:block!important;width:100%!important;min-width:0!important;height:auto!important;min-height:48px!important;margin:0!important;padding:12px 18px!important;border:0!important;border-radius:3px!important;background:var(--slg-turq)!important;color:#fff!important;font-family:inherit!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:1px!important;text-transform:uppercase!important;box-shadow:none!important;cursor:pointer}
.modal-window.bookingassistance-modal .gform_footer .gform_button:hover, .modal-window.bookingassistance-modal .gform_footer .gform_button:focus{background:var(--slg-turq-dark)!important}
.modal-window.bookingassistance-modal .gform_validation_errors, .modal-window.bookingassistance-modal .validation_error{margin:0 0 16px!important;padding:10px 12px!important;border:1px solid #b42318!important;border-radius:3px!important;font-size:13px;line-height:1.5}
.modal-window.bookingassistance-modal .gfield_validation_message, .modal-window.bookingassistance-modal .validation_message{margin:6px 0 0!important;padding:0!important;border:0!important;background:none!important;font-size:12px;color:#b42318}
.modal-window.bookingassistance-modal .gform_confirmation_message{font-size:14px;line-height:1.6;color:var(--slg-text)}
@media(max-width:767px){
  .modal-window.bookingassistance-modal.opened{top:0!important;left:0!important;transform:none!important;width:100%;max-width:none;height:100%!important;max-height:none!important;border-radius:0;overflow:hidden}
  .modal-window.bookingassistance-modal > .img-box{display:none}
  .modal-window.bookingassistance-modal > .text-box{padding:20px 20px calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  body:has(.bookingassistance-modal.opened) :is(.slg-enquiry-bar,.slg-enquiry-control--chat,#chat_button,.notificationBar){visibility:hidden!important;pointer-events:none!important}
}
@media(min-width:768px) and (max-height:720px){
  .modal-window.bookingassistance-modal > .text-box{padding:22px 24px 20px}
  .modal-window.bookingassistance-modal .text-box > p:not(.slg-modal-label){margin-bottom:14px!important}
  .modal-window.bookingassistance-modal .gform_fields{row-gap:14px!important}
  .modal-window.bookingassistance-modal .gfield textarea{height:80px!important;min-height:80px}
  .modal-window.bookingassistance-modal .gform_footer{margin-top:14px!important}
}
@media(max-width:359px){
  .modal-window.bookingassistance-modal .ginput_recaptcha{transform:scale(.9);transform-origin:0 0}
}

/* ---------- enquiry forms (legacy Gravity Forms markup, every profile): selects look like the text inputs ---------- */
/* width is left to GF and the form's own layout rules, which size select.medium and input.medium alike */
.gform_legacy_markup_wrapper .gform_fields .ginput_container_select select.gfield_select:not([multiple]){box-sizing:border-box;min-height:44px;padding:8px 36px 8px 10px;border:1px solid #e5e5e5;border-radius:3px;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23848484' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center/10px 7px;color:#333;-webkit-appearance:none;appearance:none}

/* ---------- enquiry confirmation (shared) ---------- */
.slg-confirmation{padding:22px;border:1px solid var(--slg-line-soft);border-left:3px solid var(--slg-turq);border-radius:3px;background:var(--slg-tint)}
.slg-confirmation__tick{display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:50%;background:var(--slg-turq);color:#fff}
.slg-confirmation__tick svg{width:20px;height:20px}
.slg-confirmation h2{margin:0 0 6px;font-size:22px;font-weight:400;line-height:1.3;letter-spacing:1px;color:var(--slg-text)}
.slg-confirmation__ref{margin:0 0 14px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
.slg-confirmation__ref b{font-weight:700;color:var(--slg-text)}
.slg-confirmation p:last-child{margin:0;font-size:14px;line-height:1.7;color:var(--slg-copy)}

/* ---------- shortlist (agreed design: prototype .sl-banner / .sl / .sl-card) ---------- */
body.slg-shortlist-page .content.about > .block.banner{display:none}
/* the transparent site header sits inside the band (prototype), so the band starts below it */
.slg-sl-banner{padding:132px 0 40px;background:#333;color:#fff}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-banner h1{margin:0 0 10px;font-size:34px;font-weight:400;line-height:1.2;letter-spacing:1px;text-transform:none;color:#fff}
.slg-crumbs{font-size:13px;line-height:1.4;letter-spacing:.2px;color:var(--slg-muted)}
.slg-crumbs a{color:inherit;text-decoration:none}
.slg-crumbs a:hover{color:var(--slg-turq)}
.slg-crumbs span[aria-hidden]{margin:0 6px;color:var(--slg-line)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-banner .slg-crumbs, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-banner .slg-crumbs a{color:rgba(255,255,255,.72)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-banner .slg-crumbs a:hover{color:#fff}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-banner .slg-crumbs span[aria-hidden]{color:rgba(255,255,255,.4)}
.slg-shortlist.b.no-top{padding:32px 0 56px}
.slg-sl{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box{margin:0;padding:22px;border:1px solid var(--slg-line-soft);border-radius:3px;background:#fff}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-eyebrow{margin:0;font-size:12px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box h2{margin:2px 0 10px;font-size:26px;font-weight:400;line-height:1.25;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-lead{margin:0 0 16px;font-size:14px;line-height:1.65;letter-spacing:.2px;color:var(--slg-copy)}
/* the enquiry form (Gravity Forms form 2) inside the panel: prototype field styling, two-column dates, one Send action */
.slg-sl-box .gform_wrapper{margin:0}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper form{background:transparent!important;padding:0!important;margin:0}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_heading{display:none}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px;margin:0;padding:0;list-style:none}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_fields:before, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_fields:after{display:none}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield{grid-column:span 2;margin:0!important;padding:0!important;width:auto!important;float:none!important;min-width:0}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield.slg-sl-half{grid-column:span 1}
@media(max-width:420px){:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield.slg-sl-half{grid-column:span 2}}
/* The Live site's form 1 uses Gravity Forms' version-2 markup (.gravity-theme: a 12-column grid, every field 1/-1).
   Same panel, same two-column grammar, stated at that markup's own specificity so both sites read alike. */
.slg-sl-box .gform_wrapper.gravity-theme .gform_fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper.gravity-theme .gfield{grid-column:span 2}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper.gravity-theme .gfield.slg-sl-half{grid-column:span 1}
@media(max-width:420px){:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper.gravity-theme .gfield.slg-sl-half{grid-column:span 2}}
/* That markup prints "(Required)" from the stored form setting, which a render filter cannot change; the panel shows the
   asterisk the legacy markup shows, the required attributes stay on the inputs. */
.slg-sl-box .gform_wrapper.gravity-theme .gfield_required_text{font-size:0;letter-spacing:0}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper.gravity-theme .gfield_required_text::after{content:"*";font-size:11px;color:#c0392b}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield.slg-sl-hidden, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield--type-honeypot, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_hidden, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield--type-list, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield_list{display:none!important}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield_label{display:block;margin:0 0 6px!important;font-size:11px!important;font-weight:600;line-height:1.4!important;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield_required{display:inline!important;color:#c0392b;font-size:11px;margin-left:4px;padding:0}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .ginput_container{margin:0!important;padding:0!important}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper input[type=text], :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper input[type=email], :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper input[type=tel], :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper input[type=number], :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper select, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper textarea{box-sizing:border-box;width:100%!important;min-height:46px;margin:0;padding:10px 12px!important;border:1px solid var(--slg-line)!important;border-radius:3px;background:#fff!important;font-size:15px!important;letter-spacing:0;color:var(--slg-text)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper textarea{min-height:110px;line-height:1.5;resize:vertical}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield_error input, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield_error textarea{border-color:#c0392b!important}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .validation_message, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gfield_validation_message{margin:5px 0 0;padding:0;border:0;background:none;font-size:12px;line-height:1.4;color:#c0392b}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .validation_error, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_validation_errors{margin:0 0 12px;padding:0;border:0;background:none;box-shadow:none;font-size:13px;color:#c0392b}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_footer{margin:16px 0 0;padding:0}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_button{display:flex!important;align-items:center;justify-content:center;width:100%!important;max-width:none!important;min-height:46px;margin:0!important;padding:12px 18px!important;border:0;border-radius:3px;background:var(--slg-turq);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;cursor:pointer}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .gform_wrapper .gform_button:hover{background:var(--slg-turq-dark)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-box .slg-confirmation{margin:0}
/* emailing a copy of the shortlist to yourself: a collapsed secondary option with its own visible action */
.slg-sl-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-count{margin:0;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:1px;color:var(--slg-muted)}
.slg-link-btn{display:inline-block;margin:0;padding:12px 0;border:0;background:none;font-family:inherit;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.4px;text-transform:uppercase;color:var(--slg-turq);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}
.slg-link-btn:hover{color:var(--slg-turq-dark)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-grid{display:grid;grid-template-columns:1fr;gap:18px}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card{position:relative;display:grid;grid-template-columns:1fr;border:1px solid var(--slg-line-soft);border-radius:3px;background:#fff;overflow:hidden}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-media{display:block;aspect-ratio:16/10;background:var(--slg-tint);overflow:hidden}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-media img{display:block;width:100%;height:100%;object-fit:cover}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-body{min-width:0;padding:16px 18px}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card .information{margin:0;padding-right:120px;font-size:12px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-muted)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card h3{margin:3px 0 0;padding-right:120px;font-size:16px;font-weight:600;line-height:1.2;letter-spacing:1px;text-transform:uppercase}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card h3 a{color:var(--slg-text);text-decoration:none}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card h3 a:hover{color:var(--slg-turq)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-facts{margin:8px 0 0;font-size:12.5px;line-height:1.5;letter-spacing:.2px;color:#6a6a6a}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-facts .sep{margin:0 7px;color:var(--slg-line)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-price{margin:10px 0 0;font-size:12px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:var(--slg-text)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-price .sep{margin:0 4px;color:var(--slg-muted)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-rooms{font-size:12.5px;letter-spacing:.2px;color:#6a6a6a}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-remove{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:0;padding:7px 10px;border:1px solid var(--slg-line-soft);border-radius:3px;background:rgba(255,255,255,.94);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--slg-text);cursor:pointer}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-remove:hover{background:#fff;color:var(--slg-turq)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-remove svg{width:15px;height:15px}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-remove.star-filled svg{fill:var(--slg-turq);stroke:var(--slg-turq)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-empty{max-width:560px;margin:0 auto;padding:40px 24px;border:1px dashed var(--slg-line);border-radius:3px;text-align:center}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-empty__title{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--slg-text)}
:where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-empty p{margin:0 0 18px;font-size:14px;line-height:1.6;color:var(--slg-muted)}
.slg-empty-shortlist-context{display:none!important}
@media(min-width:768px){
  :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card{grid-template-columns:240px minmax(0,1fr)}
  :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-media{aspect-ratio:auto;min-height:100%}
}
@media(min-width:1024px){
  .slg-sl{grid-template-columns:360px minmax(0,1fr);gap:40px}
  :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-side{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto} /* a long panel scrolls inside its sticky area, so its action is never below the fold */
}
@media(max-width:767px){
  :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-banner{padding:104px 0 26px}
  :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-banner h1{font-size:28px}
  :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card .information, :where(.slg-main-site,.slg-live-site,.slg-shared-journey) .slg-sl-card h3{padding-right:0}
}

/* ---------- content sections: comparison table ---------- */
.slg-comparison-scroll{overflow:auto}
.slg-comparison{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.55}
.slg-comparison caption{caption-side:top;padding:0 0 22px;font-size:30px;font-weight:400;line-height:1.3;letter-spacing:1px;text-align:left;color:var(--slg-text)}
.slg-comparison th, .slg-comparison td{padding:16px 18px;border:0;border-bottom:1px solid var(--slg-line-soft);text-align:left;vertical-align:top;overflow-wrap:anywhere;letter-spacing:.2px;color:var(--slg-copy)}
.slg-comparison thead th{padding:13px 18px;border:0;background:var(--slg-turq);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff}
.slg-comparison thead th:first-child{border-radius:3px 0 0 3px}
.slg-comparison thead th:last-child{border-radius:0 3px 3px 0}
.slg-comparison tbody th{width:24%;font-weight:700;color:var(--slg-text)}
.slg-comparison tbody tr:last-child th, .slg-comparison tbody tr:last-child td{border-bottom-color:var(--slg-line)}
.slg-comparison tbody tr:hover{background:var(--slg-tint)}

/* ---------- content sections: property collections ---------- */
.slg-collections h2{margin:0 0 22px}
.slg-collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.slg-collection-grid a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:18px 20px;border:1px solid var(--slg-line-soft);border-left:3px solid var(--slg-turq);border-radius:3px;background:#fff;font-size:15px;font-weight:600;line-height:1.35;letter-spacing:.4px;color:var(--slg-text);text-decoration:none}
.slg-collection-grid a span{flex:0 0 auto;color:var(--slg-turq)}
.slg-collection-grid a:hover, .slg-collection-grid a:focus{border-color:var(--slg-turq);background:var(--slg-tint);color:var(--slg-text)}

/* ---------- FAQ category navigation ---------- */
.slg-faq-block{scroll-margin-top:130px}
.slg-faq-jumps{display:flex;flex-wrap:wrap;gap:8px;padding-top:24px;padding-bottom:8px;margin-bottom:22px}
.slg-faq-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid var(--slg-line);border-radius:3px;background:#fff;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.8px;text-transform:uppercase;color:var(--slg-text);text-decoration:none}
.slg-faq-jumps a:hover, .slg-faq-jumps a:focus{border-color:var(--slg-turq);color:var(--slg-turq)}

/* ---------- Live identity ---------- */
header .livemark{font-style:italic;color:var(--slg-primary,#1aafc1)}
footer .livemark{display:block;margin-top:6px;font-style:italic;color:var(--slg-primary,#1aafc1)}

@media(max-width:767px){
  .slg-comparison{font-size:13px;line-height:1.5}
  .slg-comparison th, .slg-comparison td{padding:12px 8px}
  .slg-comparison thead th{padding:11px 8px;font-size:11px;letter-spacing:.6px}
  .slg-comparison caption{font-size:24px}
  .slg-faq-jumps{padding-left:24px;padding-right:24px}
}

/* ---------- shared chrome: header, navigation dropdown, modals, notification bar, footer (every profile) ----------
   Moved here from css/style.css on 9 Oct 2026. Legacy-profile homepages and editorial pages swap style.css for
   legacy/css/style.css (lib/legacy.php) but always load this layer, so they now get the same polished header,
   dropdown, modal and notice treatment as the refreshed property and search pages. Nothing below is scoped to a
   profile; every accent reads --slg-primary (custom-styles.css) with the brand fallback, never a hard-coded hex.
   This block sits BEFORE the header-rhythm rules below on purpose: the one-row nav rule's 12px is the production
   baseline that the 13px / 600 / 1px rhythm rule then refines, exactly as it did when the two lived in style.css. */
/* Keep the active notification visible on phones without putting it in front
   of the hero actions. At 375x812 the previous 20px padding, 20px paragraph
   gap and 20px line-height made the real notification 196px tall: its top was
   616px and it intercepted the Enquire Now control at 610–644px. This compact
   mobile rhythm makes the same authored content 158px tall, clearing both hero
   actions while preserving the fixed, dismissible notification behaviour. */
@media (max-width:767px) {
  .notificationBar {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .notificationBar .text p {
    margin-bottom: 8px;
    line-height: 18px;
  }

  .notificationClose {
    top: 14px;
  }
}

/* Non-content interface labels preserve the previous h5 appearance. */
.modal-window .slg-modal-label { font-size: 14px; line-height: 17px; margin: 0 0 7px; color: #848484; font-weight: 600; }
.modal-window .slg-modal-label.h2 { margin-bottom: 26px; font-size: 30px; letter-spacing: .5px; line-height: 1.35; color: #333; font-weight: 400; }
.modal-window .heading { font-weight: 400; }

/* Keep the longer Main navigation on one row at desktop widths. */
@media(min-width:992px) { header .menu-back .menu > ul { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; } header .menu-back .menu > ul > li { padding-left: 9px; padding-right: 9px; } header .menu-back .menu > ul > li > a { white-space: nowrap; font-size: 12px; letter-spacing: .6px; } }

/* the fixed notification bar must not sit over the end of the page or the chat bubble */
body:has(.notificationBar.visible) { padding-bottom: var(--slg-notice-h, 0px); }
body:has(.notificationBar.visible, .slg-enquiry-bar) #chat_button .chat_button { bottom: calc(var(--slg-fixed-bottom, var(--slg-fixed-bottom-fallback, 0px)) + 14px) !important; }
body:has(.notificationBar.visible) .slg-enquiry-control--chat { bottom: calc(var(--slg-fixed-bottom, 0px) + 14px); }
/* the body padding clears only the bar; the floating controls stacked above it need the end of the page to scroll clear of
   them too: the bubble is 77px + 14px gap at desktop, and on phones the "Ask our team" pill tops out 132px above the bar */
body:has(#chat_button, .slg-enquiry-control--chat) footer { padding-bottom: 100px; }
@media(max-width:767px) { body:has(#chat_button, .slg-enquiry-control--chat):has(.slg-enquiry-control--chat) footer { padding-bottom: 144px; } }
.notificationBar .text.col-md-2 { text-align: right; }
@media(max-width:990px) { .notificationBar .text.col-md-2 { text-align: left; } .notificationBar .text.col-md-2 .btn { margin-right: 60px; } }

/* 4. notice close control: far right of the bar, own 44px hit area, never under the button */
.notificationBar {padding-right:72px;}
.slg-main-site .notificationBar .container {position:static;}
.notificationBar .notificationClose,button.notificationClose {position:absolute;right:14px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;margin:0;padding:0;border:0;background:none;color:#333;font-size:14px;line-height:1;cursor:pointer;z-index:3;}
.notificationBar .notificationClose:hover {color:var(--slg-primary,#1aafc1);}
.notificationBar .notificationClose:focus-visible {outline:2px solid var(--slg-primary,#1aafc1);outline-offset:2px;border-radius:3px;}
@media(max-width:767px){.notificationBar {padding-right:56px;} .notificationBar .notificationClose {top:8px;transform:none;}}
/* the notice never sits over an open modal (search criteria, enquiry dialog, room media) */
html.modal-opened .notificationBar,body:has(.modal-window.opened) .notificationBar,body.slg-dialog-open .notificationBar {display:none!important;}

/* 11. navigation dropdown: white panel, dark links, visible hover and keyboard focus, in every header state */
header .menu-back .menu > ul > li > ul,header .menu-back .menu .sub-menu,#header.sticky .menu .sub-menu {background:#fff!important;min-width:260px;padding:6px 0;border-radius:0 3px 3px 3px;box-shadow:0 10px 24px rgba(0,0,0,.18);border:1px solid #e5e5e5;}
header .menu-back .menu .sub-menu li {padding:0;background:transparent;}
header .menu-back .menu .sub-menu li a {display:block;padding:10px 16px;color:#333!important;font-size:13px;letter-spacing:.5px;line-height:1.4;white-space:normal;}
header .menu-back .menu .sub-menu li:hover,header .menu-back .menu .sub-menu li:focus-within,#header.sticky ul.sub-menu li:hover {background:#f4f4f4;}
header .menu-back .menu .sub-menu li a:hover {color:var(--slg-primary,#1aafc1)!important;}
header .menu-back .menu .sub-menu li a:focus-visible {outline:2px solid var(--slg-primary,#1aafc1);outline-offset:-2px;}
header .menu-back .menu .menu-item-has-children:focus-within .sub-menu {display:block;opacity:1;visibility:visible;}

/* M15 footer (prototype "existing"): site-wide, Main and Live, because one footer must read the same on every page */
footer#footer {padding:52px 0 0;font-size:14px;letter-spacing:normal;}
footer#footer .acc .acc-title {font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#b9b9b9;font-weight:600;margin-bottom:16px;}
footer#footer .acc li {font-size:14px;line-height:1.65;letter-spacing:normal;font-weight:400;margin-bottom:9px;}
footer#footer .acc li a {color:rgba(255,255,255,.9);}
footer#footer .acc li a:hover,footer#footer .acc li a:focus {color:var(--slg-primary,#1aafc1);}
footer#footer .call a {display:inline-block;font-size:14px;letter-spacing:normal;font-weight:400;background:#8e8e95;border-radius:0;padding:9px 17px;}
footer#footer .logo img {width:auto;height:62px;margin-top:0;}
/* the bottom bar: copyright left, Live's attribution right, one line across the measure (the prototype's .fbot) */
footer#footer > .container {display:grid;grid-template-columns:minmax(0,1fr) auto;}
footer#footer > .container > .row {grid-column:1 / -1;}
footer#footer p.copy {float:none;border-top:1px solid rgba(255,255,255,.16);margin:38px 0 0;padding:20px 0;font-size:12.5px;line-height:1.65;letter-spacing:normal;color:#b0b0b0;}
footer#footer p.copy + p.copy {text-align:right;}

/* Shared header styling also applies when legacy homepage CSS is selected. */
/* ---- 8 Oct 2026, header utilities (prototype .header-utils): phone, shortlist heart with count, currency pill ---- */
.menu-back .boxes.slg-utils,.menu-mobile .boxes.slg-utils {display:inline-flex;align-items:center;gap:10px;padding:0 0 0 18px;vertical-align:middle;}
.boxes.slg-utils .box.slg-util {display:block;height:auto;margin:0;}
.boxes.slg-utils .box .title.slg-util-btn {display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;text-decoration:none;position:relative;transition:background .2s;}
.boxes.slg-utils .box .title.slg-util-btn:hover {background:rgba(255,255,255,.32);color:#fff;}
.boxes.slg-utils .slg-util-btn svg {width:15px;height:15px;color:#fff;}
.boxes.slg-utils .slg-util-heart svg {fill:none;stroke:#fff;stroke-width:1.9;}
.boxes.slg-utils .slg-util-heart.star-filled svg {fill:#fff;}
.boxes.slg-utils .slg-util-badge {position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--slg-primary,#1aafc1);color:#fff;font-size:10px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;}
.boxes.slg-utils .box .title.slg-util-currency {display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border-radius:3px;background:rgba(255,255,255,.2);color:#fff;font-size:13px;font-weight:600;letter-spacing:1px;text-decoration:none;}
.boxes.slg-utils .box .title.slg-util-currency:hover {background:rgba(255,255,255,.32);color:#fff;}
.boxes.slg-utils .currency-box span:first-child {margin:0;}
#header.sticky .boxes.slg-utils .box .title {background:var(--slg-primary,#1aafc1);}
#header.sticky .boxes.slg-utils .slg-util-badge {background:#333;}
.boxes.slg-utils .box .content .number {margin-top:10px;}
.menu-mobile .boxes.slg-utils {padding:14px 0 0;}
/* ---- 8 Oct 2026, Explore group: a nested level inside the desktop dropdown reads as an indented list, not a second fly-out ---- */
@media (min-width: 992px) {
  /* visibility is inherited from the dropdown, never forced: a closed (hidden) dropdown must leave no invisible
     hit-targets over the page, which is what made the sticky enquiry's Check In field open Explore */
  header .menu-back .menu .sub-menu .sub-menu,#header.sticky .menu .sub-menu .sub-menu {position:static!important;display:block;opacity:1;visibility:inherit;width:auto;min-width:0;margin:0;padding:0 0 6px;border:0;border-radius:0;box-shadow:none;background:transparent!important;transition:none;}
  header .menu-back .menu .sub-menu {pointer-events:none;}
  header .menu-back .menu .menu-item-has-children:hover > .sub-menu,header .menu-back .menu .menu-item-has-children:focus-within > .sub-menu {pointer-events:auto;}
  #header.sticky.nav-up .menu .sub-menu {visibility:hidden!important;pointer-events:none!important;}
  header .menu-back .menu .sub-menu .sub-menu li a {padding:7px 16px 7px 30px;font-size:12px;color:#666!important;}
  header .menu-back .menu .sub-menu .sub-menu li a:hover {color:var(--slg-primary,#1aafc1)!important;}
  header .menu-back .menu .sub-menu li.menu-item-has-children {padding:0;border-radius:0;}
  header .menu-back .menu .sub-menu li.menu-item-has-children > a:after {display:none;}
  header .menu-back .menu .sub-menu li.menu-item-has-children > a {font-weight:600;}
}
@media (max-width: 991px) {
  /* phone menu: sub-menu lists stay inside the panel (the legacy 100% + padding overflowed it), a nested
     group's label keeps clear of its +/- toggle, and its own children indent one step further */
  .menu .sub-menu,.menu .sub-menu .sub-menu {box-sizing:border-box;}
  .menu .sub-menu li.menu-item-has-children > a {box-sizing:border-box;width:100%;padding-left:15px;padding-right:52px;font-size:11px;letter-spacing:.6px;}
  .menu .sub-menu li.menu-item-has-children > span {width:44px;}
  .menu .sub-menu .sub-menu {margin-top:0;margin-bottom:10px;padding:0 0 6px 12px;}
}
/* ---- 8 Oct 2026, navigation rhythm (prototype .main-nav: 13px / 600 / 1px tracking, 26px gaps; utilities 24px after) ---- */
@media (min-width: 992px) {
  /* the legacy "header .menu-back" rules (12px / .6px, 9px padding) outrank class-only selectors, so these match them */
  header .menu-back .menu > ul > li > a {font-size:13px;font-weight:600;letter-spacing:1px;}
  header .menu-back .menu > ul > li {padding-left:13px;padding-right:13px;}
  header .menu-back .menu > ul > li.menu-item-has-children {padding-left:13px;padding-right:21px;} /* the 8px dropdown arrow sits in this padding */
  header .menu-back .boxes.slg-utils {padding-left:24px;}
}

/* Property forms can use either legacy or current Gravity Forms markup. GF's
   late-loaded theme must not replace this eight-column enquiry-card layout. */
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .gform_fields{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:14px 12px!important}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .gform_fields>.gfield{grid-column:span 4!important;width:auto!important;min-width:0;float:none!important;margin:0!important;padding:0!important}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .gform_fields>.gfield:not(.gform_validation_container):not(.field_admin_only):not(.gfield--type-hidden):not(.gfield_visibility_hidden):not(.gfield_visibility_administrative){display:block!important}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .gform_fields>.slg-f-room{grid-column:span 5!important}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .gform_fields>.slg-f-guests{grid-column:span 3!important}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .gform_fields>:is(.slg-f-email,.slg-f-message,.gfield--type-captcha){grid-column:1/-1!important}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .ginput_container{width:100%!important;min-width:0;margin:0!important}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper :is(input:not([type=submit]):not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper .gfield_label{display:block!important;width:100%!important;margin:0 0 6px!important;min-height:0;line-height:1.5}
:is(.slg-enq,.slg-enquiry-dialog) .gform_wrapper :is(.gform_validation_container,.field_admin_only,.gfield--type-hidden,.gfield_visibility_hidden,.gfield_visibility_administrative){display:none!important}

/* Mobile QA, 10 October: the drawer owns its scroll area; utility links never cover menu items. */
@media(max-width:991px){
  body{--slg-drawer-width:min(320px,calc(100vw - 56px))}
  body.toggled-menu .wrapper{transform:translateX(calc(-1 * var(--slg-drawer-width)));-webkit-transform:translateX(calc(-1 * var(--slg-drawer-width)))}
  .menu-mobile{box-sizing:border-box;display:flex!important;flex-direction:column;width:var(--slg-drawer-width);right:calc(-1 * var(--slg-drawer-width));height:100vh;height:100dvh;max-height:none;padding:16px 0 0;overflow:hidden}
  .menu-mobile>.menu{flex:1;min-height:0;max-height:none;width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
  .menu-mobile .menu ul{box-sizing:border-box;width:100%;margin:0;padding:0}
  .menu-mobile .menu li,.menu-mobile .menu .sub-menu li{box-sizing:border-box;width:100%;margin:0;padding:0}
  .menu-mobile .menu li>a,.menu-mobile .menu li.menu-item-has-children>a{box-sizing:border-box;display:block;width:100%;padding:16px 48px 16px 24px;font-size:13px;line-height:1.5;letter-spacing:.7px;white-space:normal;overflow-wrap:break-word}
  .menu-mobile .menu .sub-menu{margin:0;padding:0 0 8px 12px}
  .menu-mobile .menu .sub-menu .sub-menu{padding-left:10px}
  .menu-mobile .menu li.menu-item-has-children>span{right:8px;top:0;width:44px;height:52px}
  .menu-mobile>.boxes.slg-utils{position:static;flex:0 0 auto;display:flex;width:100%;box-sizing:border-box;justify-content:center;gap:20px;padding:16px 12px calc(16px + env(safe-area-inset-bottom));background:#333}
  body.toggled-menu :is(.slg-enquiry-bar,#chat_button,.notificationBar){visibility:hidden!important;pointer-events:none!important}
}
@media(max-width:767px){
  .slg-pdp .columns-section.rowflex.sect.info.slg-facts{gap:12px;padding:20px 0}
  .slg-pdp .columns-section.rowflex.sect.info.slg-facts p{min-width:0;width:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:0;border:0;font-size:13px;overflow-wrap:anywhere}
  .slg-pdp .columns-section.rowflex.sect.info.slg-facts .slg-fact-icon{width:28px;height:26px}
  .slg-pdp .columns-section.rowflex.sect.info.slg-facts .slg-fact-label{font-size:10px;letter-spacing:.5px}
  .single-property .mobile_pdp_info .btn_group .btn{width:100%;box-sizing:border-box;text-align:center}
  .slg-enquiry-dialog{height:100dvh;max-height:100dvh}
  .slg-enquiry-dialog>.nights{min-height:0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .slg-enquiry-dialog .nights .whatsappPdp-container{padding:0;margin:12px 0 0}
  .slg-enquiry-dialog .nights .whatsappPdp-button{width:100%;box-sizing:border-box;margin:0;min-height:46px}
  .slg-enquiry-dialog .nights .select2-container{width:100%!important;max-width:100%;min-width:0}
  .slg-enquiry-dialog .nights .select2-selection--single{height:46px;border:1px solid var(--slg-line)!important;border-radius:3px;box-shadow:none}
  .slg-enquiry-dialog .nights .select2-selection__rendered{line-height:44px;padding-left:12px;font-size:15px}
  #chat_button .chat_button a.chat,#chat_button .chat_button svg{width:52px!important;height:52px!important}
  #chat_button .chat_button{width:52px!important;height:52px!important;right:14px!important;background-size:contain!important}
}

/* Shortlist recommendations share the browsing rail; save controls sit outside links. */
.slg-shortlist .slg-recent-head{display:block}
.slg-shortlist .slg-recent-note{margin-top:10px;max-width:720px;font-size:14px;line-height:1.6}
.slg-recent-choice{display:flex;flex-direction:column;gap:12px}
.slg-recent-link{display:block;color:inherit;text-decoration:none;flex:1}
.slg-recent-add{width:100%;padding:12px 8px;font-size:12px;min-height:44px}
.slg-shortlist-status:empty{display:none}
.slg-shortlist-status{font-size:14px;margin-top:20px}

.slg-recent-choice{position:relative}
.slg-recent-heart{z-index:1}
.slg-recent-head .slg-recent-note{flex-basis:100%;line-height:1.6}

.slg-editor .slg-required{color:#b42318;margin-left:3px;font-weight:700}
.property_card_footer .slg-card-stay {display:block;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:#5a5a5a;margin-top:2px;line-height:1.4;}
.property_card_footer .slg-card-stay--min {color:#8a4b00;}

/* ---------- photo banners (location heroes and every other .block.banner): the title stays legible on pale photos ---------- */
.block.banner .solid-overlay{background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.42) 45%,rgba(0,0,0,.72) 100%);opacity:1}
.block.banner .page-title h1,.block.banner .page-title .breadcrumbs{text-shadow:0 1px 3px rgba(0,0,0,.6),0 0 18px rgba(0,0,0,.35)}

/* ---------- logo grid (Associations & Charities: repeater-page "associates" rows) ---------- */
.slg-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin:0 0 40px;padding:0 15px;list-style:none}
@media(min-width:768px){.slg-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}}
.slg-logo-grid__item{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;list-style:none}
.slg-logo-grid__item::before{content:none}
.slg-logo-grid__logo{display:flex;align-items:center;justify-content:center;height:96px;margin-bottom:16px;padding:12px;border:1px solid #e5e5e5;border-radius:3px;background:#fff}
.slg-logo-grid__logo img.partner-logo{display:block;width:auto;max-width:100%;height:auto;max-height:100%;margin:0;object-fit:contain}
@media(hover:hover){.slg-logo-grid__logo img.partner-logo{filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}.slg-logo-grid__item:hover img.partner-logo{filter:none;opacity:1}}
.slg-logo-grid__name{margin:0 0 8px;font-size:17px;line-height:1.35}
.slg-logo-grid__about,.slg-logo-grid__about p{font-size:14px;line-height:1.6}
.slg-logo-grid__about p:last-child{margin-bottom:0}

/* ---------- homepage property carousel (Swiper 6; its stylesheet is not loaded on the homepage) ---------- */
.slg-property-carousel{position:relative}
.slg-property-carousel.swiper-container-initialized{overflow:hidden}
.slg-property-carousel.swiper-container-initialized .slg-property-grid{display:flex;gap:0;box-sizing:content-box;transition-property:transform}
.slg-property-carousel.swiper-container-initialized .slg-property-card{flex-shrink:0;height:auto}
.slg-property-carousel-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}
.slg-property-carousel-nav[hidden], .slg-property-carousel .swiper-button-lock{display:none}
.slg-property-carousel-prev, .slg-property-carousel-next{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--slg-line);border-radius:50%;background:#fff;color:var(--slg-text);cursor:pointer}
.slg-property-carousel-prev::before, .slg-property-carousel-next::before{content:"";width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(-135deg);margin-left:4px}
.slg-property-carousel-next::before{transform:rotate(45deg);margin:0 4px 0 0}
.slg-property-carousel-prev:hover, .slg-property-carousel-next:hover{border-color:var(--slg-turq);color:var(--slg-turq)}
.slg-property-carousel-prev.swiper-button-disabled, .slg-property-carousel-next.swiper-button-disabled{opacity:.35;cursor:default;pointer-events:none}
.slg-property-carousel-dots{display:flex;gap:8px}
.slg-property-carousel-dots .swiper-pagination-bullet{display:block;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--slg-line);cursor:pointer}
.slg-property-carousel-dots .swiper-pagination-bullet-active{background:var(--slg-turq)}
.slg-property-carousel-dots.swiper-pagination-lock{display:none}

/* Viewing is a focused dialog on desktop as well as mobile. */
@media(min-width:768px){.slg-enquiry-dialog{inset:0;width:min(640px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 48px);margin:auto;border:1px solid var(--slg-line);border-radius:3px;box-shadow:0 18px 60px #0004}.slg-enquiry-dialog::backdrop{background:#0009}}
.slg-viewing-dialog .ratehawk-sidebar-col .nights > :not(.ratehawk-enquiry-inline):not(.slg-enq-intent){display:none!important}
.slg-viewing-dialog .slg-viewing{display:none}
.slg-viewing-confirmation{padding:20px;background:#edf7f7;border-left:4px solid var(--slg-turq)}

/* A background rate refresh must not hide an explicitly opened viewing request. */
.slg-viewing-dialog .ratehawk-enquiry-inline[hidden]{display:block!important}
.slg-viewing-dialog .ratehawk-enquiry-inline__header{display:none!important}

/* Compact shared search editor; override legacy mobile form typography. */
.modal-window.search-modal.slg-editor .slg-ta-hint{margin-bottom:0}
.modal-window.search-modal.slg-editor .slg-editor-browse{margin:0 0 6px;font-size:14px;line-height:1.5}
.modal-window.search-modal.slg-editor #slg-radius{width:100%;min-width:0;color:var(--slg-text);font-size:14px;padding:10px 28px 10px 10px}
.modal-window.search-modal.slg-editor.opened{z-index:10001}

/* Keep secondary search options on Area and make the floating calendar compact. */
.slg-editor [data-locfield][hidden]{display:none}
.slg-editor .modal-cal section.PAmonth.PAfrom span{padding:0;margin:0;line-height:36px;min-height:36px}
.slg-editor .modal-cal section.PAweek{margin-top:8px;padding:0 5px}

/* Equal-height content cards keep their final call to action at the bottom. */
.slg-pack-grid > .slg-pack-card:has(> .slg-pack-button:last-child){display:flex;flex-direction:column}
.slg-pack-grid > .slg-pack-card > .slg-pack-button:last-child{margin-top:auto;align-self:flex-start}
