/* Reverie Collection – shared site styles (Elementor build). Served from uploads/reverie/reverie.css */
/* BRAND FONTS (self-hosted in uploads/reverie/fonts) */
@font-face {font-family:'Vogun'; src:url('fonts/Vogun-Medium.woff2') format('woff2'), url('fonts/Vogun-Medium.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LuxentaMed'; src:url('fonts/Luxenta-Medium.woff2') format('woff2'), url('fonts/Luxenta-Medium.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LuxentaSemBd'; src:url('fonts/Luxenta-SemiBold.woff2') format('woff2'), url('fonts/Luxenta-SemiBold.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LuxentaBold'; src:url('fonts/Luxenta-Bold.woff2') format('woff2'), url('fonts/Luxenta-Bold.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Regular.woff2') format('woff2'), url('fonts/AzoSans-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Italic.woff2') format('woff2'), url('fonts/AzoSans-Italic.woff') format('woff'); font-weight:400; font-style:italic; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Bold.woff2') format('woff2'), url('fonts/AzoSans-Bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Medium.woff2') format('woff2'), url('fonts/AzoSans-Medium.woff') format('woff'); font-weight:500; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans'; src:url('fonts/AzoSans-Medium.woff2') format('woff2'), url('fonts/AzoSans-Medium.woff') format('woff'); font-weight:600; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans Md'; src:url('fonts/AzoSans-Medium.woff2') format('woff2'), url('fonts/AzoSans-Medium.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Azo Sans Lt'; src:url('fonts/AzoSans-Light.woff2') format('woff2'), url('fonts/AzoSans-Light.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'LogoFont'; src:url('fonts/Slick.woff2') format('woff2'), url('fonts/Slick.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'NorthwellClean'; src:url('fonts/NorthwellClean.woff2') format('woff2'), url('fonts/NorthwellClean.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'JustHeavenly'; src:url('fonts/JustHeavenly.woff2') format('woff2'), url('fonts/JustHeavenly.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap;}


/** BRAND COLORS **/
.bonfireAsh {color:#0f1d30 !important;}
.deepOcean {color:#203350 !important;}
.thunderstorm {color:#435362 !important;}
.silverLining {color:#99b1c1 !important;}
.daydream {color:#65bbd6 !important;}
.bayside {color:#48a0ba !important;}
.dockside {color:#6494aa !important;}
.dunmore {color:#1c607d !important;}
.conchShell {color:#ecc0b8 !important;}
.pinkSand {color: #d4a5a5 !important;}
.pigglyWiggly {color:#af8e95 !important;}
.freshBerry {color:#b56b82 !important;}
.jungle {color:#264653 !important;}
.barnicle {color:#426b6a !important;}
.pistachio {color:#7fa593 !important;} 
.mintLeaf {color:#a8c6ba !important;}
.dirtRoad {color:#967c6b !important;}
.mangroveRoot {color:#bdb09f !important;}
.champagneToast {color:#d0c09d !important;}
.flatSand {color:#e8decf !important;}
.duskySky {color:#464d68 !important;}
.plum {color:#7c678d !important;}
.siesta {color:#a6b8d0 !important;}
.skylark {color:#c3e4ef !important;}


/** UTILITIES **/
.slickFont {font-family:LogoFont, "LogoFont", script !important; font-weight:normal; letter-spacing:none !important;}
.leadin {font-size:125%; line-height:1.3;}
.largeText {font-size:150%; line-height:1.4; font-weight:400;}
.small {font-size:85%; line-height:1.4;}
.o90 {opacity:.9 !important;}.o80 {opacity:.8 !important;}.o70 {opacity:.7 !important;}.o60 {opacity:.6 !important;}.o50 {opacity:.5 !important;}.o40 {opacity:.4 !important;}.o30 {opacity:.3 !important;}.o20 {opacity:.2 !important;}.o10 {opacity:.1 !important;}

/** ICONS **/
.amenityIcon {display:inline; height:30px; line-height:30px; vertical-align:middle; padding-right:20px; font-size:13px;}
.amenityIcon i {vertical-align:middle; padding-right:6px}
.iconSize108 {width:108px !important; font-size:108px !important;}
.iconSize96 {width:96px !important; font-size:96px !important;}
.iconSize84 {width:84px !important; font-size:84px !important;}
.iconSize72 {width:72px !important; font-size:72px !important;}
.iconSize60 {width:60px !important; font-size:60px !important;}
.iconSize48 {width:48px !important; font-size:48px !important;}
.iconSize36 {width:36px !important; font-size:36px !important;}
.iconSize30 {width:30px !important; font-size:30px !important;}
.iconSize24 {width:24px !important; font-size:24px !important;}
.iconSize16 {width:16px !important; font-size:16px !important;}
.iconSize12 {width:12px !important; font-size:12px !important;}
.iconLtBlue {filter: invert(70%) sepia(55%) saturate(5500%) hue-rotate(160deg) brightness(94%) contrast(103%);}
.iconBlue {filter: invert(53%) sepia(11%) saturate(4342%) hue-rotate(166deg) brightness(78%) contrast(82%);}
.iconDkBlue {filter: invert(13%) sepia(41%) saturate(2742%) hue-rotate(199deg) brightness(92%) contrast(92%);}
.iconGray {filter: invert(28%) sepia(22%) saturate(489%) hue-rotate(169deg) brightness(99%) contrast(89%);}
.iconLtGray {filter: invert(95%) sepia(10%) saturate(67%) hue-rotate(142deg) brightness(101%) contrast(93%);}
.iconSilver {filter: invert(90%) sepia(65%) saturate(6527%) hue-rotate(173deg) brightness(84%) contrast(76%);}
.iconBlack {filter: invert(7%) sepia(48%) saturate(1727%) hue-rotate(190deg) brightness(92%) contrast(93%);}
.iconWhite {filter: invert(100%) sepia(93%) saturate(1%) hue-rotate(197deg) brightness(107%) contrast(100%);}
.iconPigglyWiggly {filter: invert(63%) sepia(9%) saturate(707%) hue-rotate(297deg) brightness(93%) contrast(88%);}
.iconFreshBerry {filter: invert(52%) sepia(37%) saturate(461%) hue-rotate(290deg) brightness(87%) contrast(93%);}
.iconDeepOcean {filter: invert(15%) sepia(7%) saturate(5002%) hue-rotate(178deg) brightness(100%) contrast(88%);}

/** NAVIGATION **/

.gform_heading {display:none;}

/* =====================  HOMERUNNER BASE (ported from the old Customizer CSS)  ===================== */



.hk-button-primary {
  background-color: #B56B82 !important;
  border: none !important;
  color: #fff !important;
}

.hk-button-primary:hover {
  background-color: #AE6478 !important;
}

.hk-button-default {
  background: #B56B82 !important;
  border-radius: 8px !important;
  color: #fff !important;
}

.hk-input,
.hk-button {
  border-radius: 8px !important;
}

.hk-button,
.uk-button,
.checkout-button {
  font-size: inherit !important;
  border-radius: 8px !important;
  border: none !important;
}

.hk-input::placeholder {
  font-size: 14px !important;
}

.hk-form-label {
  font-size: 15px !important;
}

.hk-h4 {
  font-size: 22px !important;
  color: #2C3A57 !important;
}

[class*="uk-button-primary"]:hover {
  opacity: 0.88 !important;
  transition: opacity 0.2s ease !important;
}

.hk-checkbox {
  accent-color: #B56B82 !important;
}

.hk-radio:checked {
  accent-color: #B56B82 !important;
}

.homerunner-clear-dates-btn {
  color: #2C3A57 !important;
}


/* === HOMEPAGE SEARCH (page-id-3102) === */

.page-id-3102 #hr-explorer-1 .hfse-body {
  max-width: 1240px !important;
  margin: 0 auto !important;
  background: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  box-shadow: 0 10px 40px rgba(20, 28, 47, 0.18) !important;
}

@media (max-width: 767px) {
  .page-id-3102 #hr-explorer-1 .hfse-body {
    background: #fff !important;
    box-shadow: 0 6px 24px rgba(20, 28, 47, 0.15) !important;
    border-radius: 10px !important;
  }
}


/* === SEARCH BAR (both pages) === */

/* Field labels (Where / When / Guests) — hidden: they added an extra top row
   inside the white bar. Single clean control row instead. */
[class*="hfse-form-"][class*="-field-label"] {
  display: none !important;
}

#hr-explorer-1 .hfse-form-primary-fields .field-control {
  background: #F5F1E9 !important;
  border: 1px solid #E4DCCE !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease !important;
  min-height: 46px !important;
  height: 46px !important;
}

#hr-explorer-1 .hfse-form-primary-fields .field-control:hover {
  border-color: #B56B82 !important;
}

#hr-explorer-1 .hfse-form-primary-fields .hk-input {
  background: transparent !important;
  color: #2C3A57 !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  border: none !important;
  height: 44px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#hr-explorer-1 .hfse-form-primary-fields .hk-input::placeholder {
  color: #9A9385 !important;
  font-weight: 400 !important;
  font-size: 14px !important;
}

/* Field icons — rose (stroke-based: location/calendar/user) */
#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg path,
#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg circle,
#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg polyline {
  stroke: #B56B82 !important;
}

#hr-explorer-1 .hfse-form-primary-fields .hk-form-icon svg rect {
  fill: #B56B82 !important;
  stroke: none !important;
}

/* Filters button — navy */
#hr-explorer-1 .hfse-form-additional-filters-btn {
  background: #2C3A57 !important;
  border-radius: 8px !important;
  border: none !important;
  min-height: 46px !important;
  height: 46px !important;
}

#hr-explorer-1 .hfse-form-additional-filters-btn:hover {
  background: #1F2B42 !important;
}

#hr-explorer-1 .hfse-form-additional-filters-btn svg ellipse,
#hr-explorer-1 .hfse-form-additional-filters-btn svg circle {
  stroke: #fff !important;
}

#hr-explorer-1 .hfse-form-additional-filters-btn svg rect {
  fill: #fff !important;
}

/* Search button — rose, uppercase letterspaced (mirrors "START YOUR JOURNEY" pill) */
#hr-explorer-1 .hfse-form-submit-btn {
  background: #B56B82 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 12px 30px !important;
  border: none !important;
  line-height: normal !important;
  transition: background 0.2s ease !important;
  height: 46px !important;
}

#hr-explorer-1 .hfse-form-submit-btn:hover {
  background: #AE6478 !important;
}

#hr-explorer-1 .hfse-form-zone-city {
  border: none !important;
  background: transparent !important;
}

#hr-explorer-1 .hfse-filters {
  margin: 0 !important;
}


/* === EXPLORER + SECONDARY FIELDS === */

.hfse-body {
  background: transparent !important;
}

.hfse-properties-more-container {
  display: none;
}

.hfse-form-submit-btn {
  background-color: #B56B82 !important;
  color: #fff !important;
  border: none !important;
}

.hfse-form-submit-btn:hover {
  background-color: #AE6478 !important;
}

.hfse-form .hfse-form-favorites-toggle-btn,
.hfse-form .hfse-form-featured-toggle-btn,
.hfse-form .hfse-form-map-toggle-btn,
.hfse-form .hfse-form-additional-filters-btn,
.hfse-form .hfse-form-reset-btn {
  line-height: 5px !important;
  font-size: 13px !important;
}

.hfse-form-reset-btn,
.hfse-form-map-toggle-btn,
.hfse-form-map-toggle-btn:hover,
.hfse-clear-additional-filters-btn:hover,
.hfse-modal-reset-button:hover {
  background: transparent !important;
}

.hfse-form-reset-btn-text,
.hfse-form-map-toggle-btn-text,
.hfse-form-properties-count-text,
.hfse-form-order-select {
  font-size: 13px !important;
  color: #55565B !important;
}

.hfse .hfse-form-primary-fields,
.hfse .hfse-form-secondary-fields {
  padding-bottom: 0 !important;
}

.hfse-form-zone-label-cities {
  display: none;
}

.hfse-form-zone-subfield {
  margin-top: 1.5rem;
}

.filter-groups .filter-group {
  margin-bottom: 8px;
}


/* === ALL PROPERTIES (CPT archive — body.post-type-archive-property, NO page-id) === */

/* NOTE (verified in live DOM): on this Salient setup the archive renders
   .hr-page-body DIRECTLY inside #ajax-content-wrap — there is NO .container-wrap
   and NO .container. So all breathing room must come from the explorer panes
   themselves. Map stays full-bleed right; the left pane gets the padding. */

body.post-type-archive-property .hr-explorer {
  padding-top: 0 !important;
}

body.post-type-archive-property .hr-page-body {
  background: #fff !important;
  max-width: 100% !important;
  padding: 0 !important;
}

body.post-type-archive-property .hk-container {
  max-width: 100% !important;
  padding: 0 !important;
}

@media (min-width: 960px) {
  body.post-type-archive-property #hr-explorer-1 {
    max-width: 100% !important;
    padding: 0 !important;
  }
}

/* Left pane (search + cards) — air on all sides; map keeps the right edge */
body.post-type-archive-property #hr-explorer-1 .hfse-body {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 30px 34px 48px 44px !important;
}

/* When the map is hidden the explorer goes full width — recenter the content */
body.post-type-archive-property #hr-explorer-1:not(.map-visible) .hfse-body {
  max-width: 1440px !important;
  margin: 0 auto !important;
}

/* Same-specificity mobile overrides (the desktop padding rule above would
   otherwise beat the generic mobile .hfse-body rules) */
@media (max-width: 959px) {
  body.post-type-archive-property #hr-explorer-1 .hfse-body {
    padding: 20px 16px 32px !important;
  }
}

@media (max-width: 639px) {
  body.post-type-archive-property #hr-explorer-1 .hfse-body {
    padding: 16px 12px 28px !important;
  }
}

body.post-type-archive-property .hfse-properties-container {
  background: transparent !important;
}

body.post-type-archive-property .hfse-form-secondary-fields {
  padding: 10px 0 !important;
}

@media (max-width: 959px) {
  body.post-type-archive-property .hfse-form-secondary-fields {
    padding: 10px 20px !important;
  }
}

/* Hide Salient archive page title ("Properties" heading), if rendered */
body.post-type-archive-property .page-header-bg,
body.post-type-archive-property #page-header-bg,
body.post-type-archive-property .entry-title {
  display: none !important;
}

/* Map split view */
@media screen and (min-width: 960px) {
  .hfse.with-map.map-visible {
    display: flex !important;
    overflow: visible !important;
  }
}


/* === PROPERTY CARDS === */

.hfse-property-card {
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: 1px solid #EAE4D8 !important;
}

.hfse-property-card.hk-card-default {
  background: #fff !important;
}

.hfse-property-card:hover {
  box-shadow: 0 10px 28px rgba(44, 58, 87, 0.12) !important;
  transition: box-shadow 0.2s ease !important;
}

.hfse-property-title {
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: #2C3A57 !important;
}

.hfse-property-price-container {
  font-size: 14px !important;
}

.hfse-property-price strong {
  font-size: 16px !important;
  color: #2C3A57 !important;
}

.hfse-property-meta-primary {
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #9A9385 !important;
}

.hfse-property-meta-secondary > * {
  font-size: 15px !important;
  color: #55565B !important;
}

.hfse-property-meta-secondary .hfse-property-guests,
.hfse-property-meta-secondary .hfse-property-bedrooms,
.hfse-property-meta-secondary .hfse-property-bathrooms {
  height: 28px;
  font-size: 15px;
  line-height: 20px;
  background-size: 18px;
  box-sizing: border-box;
  padding: 4px 0 4px 24px;
  background-repeat: no-repeat;
  background-position: left center;
}


/* === MODALS (teleported to body — .hk-modal-dialog scope ONLY) === */

.hk-modal {
  z-index: 99999 !important;
}

.hk-modal-container {
  z-index: 99999 !important;
}

.hk-modal-dialog {
  border-radius: 10px !important;
}

.hk-modal-header span[hk-icon="icon: location"],
.hk-modal-header span[hk-icon="icon: calendar"],
.hk-modal-header span[hk-icon="icon: user"],
.hk-modal-header span[hk-icon="icon: settings"] {
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.hk-form-controls label {
  font-size: 14px;
}

.hk-modal-body .hk-form-label {
  font-size: 15px !important;
  margin-bottom: 0;
}

.hk-modal-body .hk-text-meta {
  font-size: 12px !important;
}

/* Apply / Next — rose */
.hfse-modal-next-button,
.hfse-apply-additional-filters-btn {
  font-size: 14px !important;
  text-transform: none !important;
  background: #B56B82 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
}

.hfse-modal-next-button:hover,
.hfse-apply-additional-filters-btn:hover {
  background: #AE6478 !important;
}

.hfse-apply-additional-filters-btn {
  padding: 8px 24px !important;
}

/* Reset / Clear — navy outline */
.hfse-modal-reset-button {
  font-size: 14px !important;
  padding: 6px 14px !important;
  background: transparent !important;
  color: #2C3A57 !important;
  border: 1.5px solid #2C3A57 !important;
  border-radius: 8px !important;
  text-transform: none !important;
}

.hfse-modal-reset-button:hover {
  background: rgba(44, 58, 87, 0.06) !important;
}

.hfse-clear-additional-filters-btn {
  font-size: 14px !important;
  padding: 8px 16px !important;
  background: transparent !important;
  color: #2C3A57 !important;
  border: 1.5px solid #2C3A57 !important;
  border-radius: 8px !important;
  text-transform: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.hfse-clear-additional-filters-btn > .hk-icon {
  margin-left: 10px !important;
  margin-right: 6px !important;
}

.hfse-clear-additional-filters-btn .hk-icon svg path,
.hfse-clear-additional-filters-btn .hk-icon svg polyline {
  stroke: #2C3A57 !important;
}

.hfse-clear-additional-filters-btn::before,
.hfse-clear-additional-filters-btn::after {
  display: none !important;
  content: none !important;
}

.hk-modal-close.uk-button-default {
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: #B56B82 !important;
}

.hk-modal-close.uk-button-default:hover {
  background: #AE6478 !important;
}

/* Kill theme pseudo-elements on modal buttons (safety net for Salient button effects) */
.hk-modal-footer .homerunner-clear-dates-btn::before,
.hk-modal-footer .homerunner-clear-dates-btn::after,
.hk-modal-footer .hk-modal-close::before,
.hk-modal-footer .hk-modal-close::after,
.hk-modal-footer button::before,
.hk-modal-footer button::after {
  display: none !important;
  content: none !important;
}

.hk-modal-dialog .hfse-all-amenities-btn-container {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.hk-modal-dialog button.hk-button-link.hfse-all-amenities-btn {
  font-size: 14px !important;
  padding: 4px 8px !important;
  border: none !important;
  color: #B56B82 !important;
  display: block !important;
  margin: 0 auto !important;
  text-align: center !important;
  background: transparent !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.hk-modal-dialog button.hk-button-link.hfse-all-amenities-btn:hover,
.hk-modal-dialog button.hk-button-link.hfse-all-amenities-btn:focus {
  background: transparent !important;
  text-decoration: none !important;
  color: #AE6478 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Price breakdown table */
.hk-modal-dialog .hk-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.hk-modal-dialog .hk-table td {
  white-space: normal !important;
  word-break: break-word !important;
  vertical-align: middle !important;
  padding: 8px 4px !important;
}

.hk-modal-dialog .hk-table td:first-child {
  width: 25% !important;
}

.hk-modal-dialog .hk-table td:nth-child(2) {
  width: 40% !important;
}

.hk-modal-dialog .hk-table td:last-child {
  width: 35% !important;
  text-align: right !important;
}


/* === WHERE MODAL === */

.hfse-form-zone-input {
  display: none !important;
}

.hfse-form-zone-city {
  background-color: transparent !important;
  color: #2C3A57 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-align: left;
  border: 1px solid #E4DCCE !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  transition: all 0.2s ease !important;
}

.hfse-form-zone-city:hover {
  border-color: #B56B82 !important;
  background: rgba(197, 124, 142, 0.05) !important;
}

.hfse-form-zone-city.hfse-selected {
  border-color: #B56B82 !important;
  background: rgba(197, 124, 142, 0.1) !important;
  color: #AE6478 !important;
}

.hfse-form-zone-city .name {
  font-weight: 600 !important;
  font-size: 15px !important;
}

.hfse-form-zone-city .subheading {
  font-size: 12px !important;
  color: #9A9385 !important;
}


/* === FILTERS MODAL === */

#hfse-form-additional-filters-modal-1 .hk-modal-dialog {
  max-width: 900px !important;
  width: 95vw !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-header {
  border-bottom: 1px solid #EAE4D8 !important;
  padding: 24px 30px 16px !important;
  background: #fff !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-header .hk-h4 {
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #2C3A57 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-body {
  padding: 28px 30px !important;
  background: #FAF7F1 !important;
}

#hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-footer {
  border-top: 1px solid #EAE4D8 !important;
  padding: 18px 30px !important;
  background: #fff !important;
}

/* Section labels — Reverie eyebrow style */
.hfse-form-additional-filters .hk-h6 {
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #2C3A57 !important;
  margin-bottom: 8px !important;
}

.hfse-form-additional-filters .hk-margin.hk-margin-counter {
  margin-top: 8px !important;
  margin-bottom: 20px !important;
}

.hfse-form-additional-filters .hk-input {
  border: 1px solid #E4DCCE !important;
  background: #fff !important;
  height: 46px !important;
  font-size: 15px !important;
  border-radius: 8px !important;
  padding-left: 40px !important;
}

.hfse-form-additional-filters .hk-input:focus {
  border-color: #B56B82 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(197, 124, 142, 0.2) !important;
}

/* Rooms +/- steppers */
.hfse-number-with-control {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  border: none !important;
  overflow: visible !important;
  background: transparent !important;
}

.hfse-number-with-control .reduce-btn,
.hfse-number-with-control .increase-btn {
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: #2C3A57 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  border: 1px solid #D9CFBC !important;
  border-radius: 50% !important;
  user-select: none !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
}

.hfse-number-with-control .reduce-btn:hover,
.hfse-number-with-control .increase-btn:hover {
  border-color: #B56B82 !important;
  color: #AE6478 !important;
  background: rgba(197, 124, 142, 0.08) !important;
}

.hfse-number-with-control .number-input {
  width: 42px !important;
  height: 36px !important;
  text-align: center !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  -moz-appearance: textfield !important;
  background: transparent !important;
  color: #2C3A57 !important;
}

.hfse-number-with-control .number-input::-webkit-inner-spin-button,
.hfse-number-with-control .number-input::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Amenity checkboxes */
.hfse-form-additional-filters .hk-checkbox {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid #C3BBA9 !important;
  border-radius: 4px !important;
  accent-color: #B56B82 !important;
  cursor: pointer !important;
  margin-right: 10px !important;
  margin-top: 0 !important;
  flex-shrink: 0 !important;
}

.hfse-form-additional-filters label {
  font-size: 15px !important;
  color: #55565B !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  padding: 3px 0 !important;
}

.hfse-form-additional-filters label:hover {
  color: #2C3A57 !important;
}

.hfse-form-additional-filters strong {
  font-weight: 600 !important;
  font-size: 15px !important;
}

.filter-feature.filter-group,
.filter-type {
  margin-bottom: 4px !important;
  padding: 4px 0 !important;
}

.hfse-form-additional-filters .hk-width-xlarge.hk-margin-auto {
  margin-left: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Price slider — rose connect, navy handle */
.hfse-form-price-slider .noUi-connect {
  background: #B56B82 !important;
}

.hfse-form-price-slider .noUi-target {
  background: #EAE4D8 !important;
  border: none !important;
  height: 6px !important;
  border-radius: 3px !important;
}

.hfse-form-price-slider .noUi-handle {
  background: #2C3A57 !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
  width: 22px !important;
  height: 22px !important;
  top: -9px !important;
  right: -11px !important;
  cursor: pointer !important;
}

.hfse-form-price-slider .noUi-handle::before,
.hfse-form-price-slider .noUi-handle::after {
  display: none !important;
}

.hfse-form-price-slider-text {
  font-size: 13px !important;
  color: #9A9385 !important;
  font-weight: 400 !important;
}

.hfse-form-additional-filters hr {
  border: none !important;
  border-top: 1px solid #EAE4D8 !important;
  margin: 24px 0 !important;
}

.hfse-form-additional-filters .hk-grid-divider > :not(.hk-first-column)::before {
  border-left-color: #EAE4D8 !important;
}

.hk-modal-close-default {
  top: 22px !important;
  right: 22px !important;
  padding: 5px !important;
}

.hk-modal-close-default svg line {
  stroke: #2C3A57 !important;
  stroke-width: 1.5 !important;
}


/* === SINGLE PROPERTY (partial — gray strip fix; full pass comes later) === */

/* HomeRunner's default page-body bg is gray — it peeks through around the
   "« All Properties" back-link strip between the white sections. Force white. */
.single-property .hr-page-body,
.single-property #ajax-content-wrap {
  background: #fff !important;
}

.single-property .hr-page-body .hk-container {
  background: transparent !important;
}

/* Salient adds list bullets to all ul li — kill them on HomeRunner lists
   (location/type meta row, amenities lists, etc.) */
.hr-page-body ul.hk-list,
.hr-page-body ul.hk-list > li,
.uk-scope ul.hk-list,
.uk-scope ul.hk-list > li {
  list-style: none !important;
  list-style-type: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.hr-page-body ul.hk-list > li::marker,
.uk-scope ul.hk-list > li::marker {
  content: none !important;
}

.hr-page-body ul.hk-list > li::before,
.uk-scope ul.hk-list > li::before {
  display: none !important;
  content: none !important;
}

/* Back link "« All Properties" — brand it */
.single-property .hr-page-body a.el-content.hk-link-muted {
  color: #B56B82 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

.single-property .hr-page-body a.el-content.hk-link-muted:hover {
  color: #AE6478 !important;
}

.single-property .hr-page-body a.el-content.hk-link-muted svg polyline {
  stroke: #B56B82 !important;
}


/* === CLEAR DATES (When modal footer) === */

.homerunner-clear-dates-btn {
  font-size: 15px !important;
  font-weight: 600 !important;
  border: 1.5px solid #2C3A57 !important;
  border-radius: 8px !important;
  padding: 5px 15px !important;
  background: transparent !important;
  color: #2C3A57 !important;
  transition: all 0.2s ease !important;
  text-transform: none !important;
}

.homerunner-clear-dates-btn:hover {
  background: rgba(44, 58, 87, 0.06) !important;
}


/* === RESPONSIVE — tablet + mobile === */

@media (max-width: 959px) {
  #hr-explorer-1 .hfse-body {
    border-radius: 10px !important;
    padding: 12px !important;
  }

  #hr-explorer-1 .hfse-form-submit-btn {
    font-size: 13px !important;
  }
}

@media (min-width: 640px) and (max-width: 959px) {
  body.post-type-archive-property .hr-explorer {
    padding-top: 20px !important;
  }

  body.post-type-archive-property .hfse-form-meta {
    margin-bottom: 16px !important;
  }

  body.post-type-archive-property .hfse-properties-container {
    margin-top: 10px !important;
  }
}

@media (max-width: 639px) {
  body.post-type-archive-property .hr-explorer {
    padding-top: 20px !important;
  }

  body.post-type-archive-property .hfse-form-meta {
    margin-bottom: 16px !important;
  }

  body.post-type-archive-property .hfse-properties-container {
    margin-top: 10px !important;
  }

  body.post-type-archive-property .hfse .hfse-form-primary-fields,
  body.post-type-archive-property .hfse .hfse-form-secondary-fields {
    padding-bottom: 0 !important;
    margin-top: 20px;
  }

  body.post-type-archive-property .hfse-form-properties-count-container {
    margin-bottom: 15px !important;
  }

  /* Filters modal full width on mobile */
  #hfse-form-additional-filters-modal-1 .hk-modal-dialog {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  #hfse-form-additional-filters-modal-1 .hk-modal-dialog .hk-modal-body {
    padding: 20px 16px !important;
    overflow-x: hidden !important;
  }

  /* Kill grid-divider borders on mobile */
  .hfse-form-additional-filters .hk-grid-divider > :not(.hk-first-column)::before {
    display: none !important;
  }

  .hfse-form-additional-filters .hk-grid-divider {
    margin-left: 0 !important;
  }

  .hfse-form-additional-filters .hk-grid-divider > * {
    padding-left: 0 !important;
  }

  /* Stack all grid columns on mobile */
  .hfse-form-additional-filters [class*="hk-width-1-2@"],
  .hfse-form-additional-filters [class*="hk-width-1-3@"],
  .hfse-form-additional-filters [class*="hk-width-2-3@"] {
    width: 100% !important;
  }

  .hfse-form-additional-filters {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .hfse-form-additional-filters .hk-grid {
    margin-left: 0 !important;
  }

  .hfse-form-additional-filters .hk-grid > * {
    padding-left: 0 !important;
  }

  /* Bedrooms + Bathrooms inline on mobile */
  .hfse-form-additional-filters .hk-child-width-1-2.hk-child-width-1-1\@s {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    justify-content: center !important;
  }

  .hfse-form-additional-filters .hk-child-width-1-2.hk-child-width-1-1\@s > div {
    flex: 0 0 auto !important;
    width: auto !important;
    margin-top: 0 !important;
  }

  .hfse-form-additional-filters .hk-child-width-1-2.hk-child-width-1-1\@s > .hk-grid-margin {
    margin-top: 0 !important;
  }

  /* Zone cities mobile layout */
  .hfse-form-zone-subfield-cities {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .hfse-form-zone-subfield-cities .hfse-form-zone-city {
    margin: 0 !important;
  }

  .hfse-form-modal .hk-modal-footer {
    padding-bottom: 15px !important;
  }
}


/* === MISC === */

.uk-scope .hk-grid-divider.hk-grid-stack > .hk-grid-margin::before {
  left: 0;
}

@media (min-width: 960px) {
  body.post-type-archive-property .hfse-form-secondary-fields-center {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
  }
}

.hfse-form-additional-filters .hk-width-xlarge .hk-grid {
  margin-left: 0 !important;
}

.hfse-form-additional-filters .hk-width-xlarge .hk-grid > * {
  padding-left: 0 !important;
}

@media (min-width: 960px) {
  .hfse-form-additional-filters .filter-features.filter-groups {
    padding-left: 15px !important;
  }
}

/* Card shadow clipping fix (slider mode) */
.hfse-properties {
  margin: -10px !important;
  padding: 10px !important;
}



/* =====================  COMPONENTS (ported from the Salient build)  ===================== */
/** HOMERUNNER BOOKING WIDGET – hero "Reserve Your Stay Now" box on portfolio home pages **/
.reverieBookingWidget .homelocal-booking-widget .hk-form-label {color:rgba(255,255,255,0.85) !important; font-size:13px; letter-spacing:0.04em; text-transform:uppercase;}
.reverieBookingWidget .homelocal-booking-widget .hk-input,
.reverieBookingWidget .homelocal-booking-widget .hk-select {border:1px solid rgba(255,255,255,0.35) !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-input::placeholder {color:rgba(255,255,255,0.7);}
.reverieBookingWidget .homelocal-booking-widget .hk-select option {color:#0f1d30; background:#fff;}
.reverieBookingWidget .homelocal-booking-widget .price-details-modal-button {color:#D0C09D !important; text-decoration:none !important; font-size:12px !important; letter-spacing:.1em; line-height:1.6; padding:0 !important; min-height:0 !important;}
.reverieBookingWidget .homelocal-booking-widget .price-details-modal-button:hover {color:#fff !important;}
/* tighten spacing in the booking box */
.wpb_column:has(.reverieBookingWidget) .vc_column-inner {padding:28px 28px 30px !important;}
.wpb_column:has(.reverieBookingWidget) h4 {margin-bottom:4px !important;}
.reverieBookingWidget .homelocal-booking-widget-body {padding:0 !important; background:transparent !important;}
.reverieBookingWidget .homelocal-booking-widget .rent-unit {margin-bottom:6px !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-grid {margin-top:0 !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-grid > * {margin:12px 0 0 !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-grid > .total-nights {margin-top:0 !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-form-label {margin-bottom:0 !important; line-height:1.3 !important; display:block;}
.reverieBookingWidget .homelocal-booking-widget .hk-form-controls {margin-top:5px !important;}
.reverieBookingWidget .homelocal-booking-widget .hk-button {margin-top:18px !important;}

/** CONCIERGE PAGE – experience menu, category rows, service toggles **/
.conciergeNav {display:flex; justify-content:center; flex-wrap:wrap; gap:14px; max-width:1000px; margin:0 auto;}
.conciergeNav a {flex:1 1 160px; max-width:190px; display:flex; flex-direction:column; align-items:center; gap:12px; padding:26px 12px 22px; border:1px solid #e2ddd5; border-radius:5px; color:#203350; text-decoration:none; font-size:14px; letter-spacing:.06em; text-transform:uppercase; line-height:1.3; transition:all .25s ease;}
.conciergeNav a i {font-size:46px; line-height:1; color:#1c607d;}
.conciergeNav a i:before {font-size:46px !important; margin:0 !important;}
.conciergeNav a:hover {background:#203350; border-color:#203350; color:#fff;}
.conciergeNav a:hover i {color:#fff;}
.conciergeCat {scroll-margin-top:90px;}
.conciergeCat .conciergeIcon {margin-bottom:14px;}
.conciergeCat .conciergeIcon i:before {font-size:54px !important; margin:0 !important;}
.conciergeCat h2 {margin-bottom:14px;}
.conciergeCat .conciergeIntro {margin-bottom:0 !important; padding-bottom:28px; max-width:560px;}
.conciergeCat .conciergeImg img {width:100%; aspect-ratio:4/5; object-fit:cover;}
.conciergeCat .conciergeImgWide img {aspect-ratio:3/2 !important;}
.conciergeCat .toggles .toggle {border-top:1px solid #d9d4cb;}
.conciergeCat .toggles .toggle:last-child {border-bottom:1px solid #d9d4cb;}
.conciergeCat .toggles .toggle h3 a, .conciergeCat .toggles .toggle .toggle-title a {color:#203350 !important; letter-spacing:.05em;}
.conciergeCat .toggles .toggle > div {color:#435362;}
@media (max-width: 999px) {
  .conciergeCat .row_col_wrap_12 {display:flex !important; flex-direction:column !important;}
  .conciergeCat .conciergeImg {order:-1; margin-bottom:30px !important;}
  .conciergeCat .conciergeImg img {aspect-ratio:3/2;}
  .conciergeNav a {flex:1 1 40%; max-width:none; padding:18px 10px;}
}

/** CONCIERGE HERO – script headline "writes" itself in, then the rest fades up **/
.heroScript {animation:heroScriptWrite 2.4s cubic-bezier(.65,0,.35,1) .1s both; text-shadow:0 4px 30px rgba(15,29,48,.35);}
.conciergeHero .heroEyebrow {animation:heroFadeUp 1s ease .1s both;}
.conciergeHero .heroSub {animation:heroFadeUp 1.2s ease 1.9s both;}
.conciergeHero .heroArrow {animation:heroFadeUp 1s ease 2.6s both;}
.conciergeHero .heroEyebrow h5 {margin-bottom:10px;}
@keyframes heroScriptWrite {from {clip-path:inset(-20% 100% -40% 0); opacity:.2;} to {clip-path:inset(-20% -5% -40% 0); opacity:1;}}
@keyframes heroFadeUp {from {opacity:0; transform:translateY(18px);} to {opacity:1; transform:none;}}
@media (max-width: 999px) {
  body .conciergeHero h1.heroScript {font-size:16.5vw !important; line-height:1.05 !important;}
  body .conciergeHero .heroSub h2.vc_custom_heading {font-size:4.6vw !important; line-height:1.45 !important; margin-bottom:14px !important;}
}
@media (prefers-reduced-motion: reduce) {
  .heroScript, .conciergeHero .heroEyebrow, .conciergeHero .heroSub, .conciergeHero .heroArrow {animation:none;}
}

/** GUIDE PAGES (Harbour Island) – steps, dining, cards, seasons, notes **/
.guideSection {scroll-margin-top:90px;}
.guideNav a {flex:1 1 140px; max-width:165px;}
.guideBody p {opacity:.85; margin-bottom:14px !important; padding-bottom:0 !important;}
.guideCenterIcon, .guideDarkIcon {text-align:center; margin-bottom:14px;}
.guideCenterIcon i:before, .guideDarkIcon i:before {font-size:54px !important; margin:0 !important;}
.guideDarkIcon i {color:#BDB09F;}
.guideNote:not(.wpb_column), .guideNote > .vc_column-inner {background:#fff; border:1px solid #e2ddd5; border-radius:5px; padding:24px 28px !important; height:100%;}
.guideNote:not(.wpb_column) {margin-top:20px;}
.guideNote h5 {color:#1c607d; margin-bottom:8px;}
.guideNote ul {margin:0 0 0 18px;} .guideNote li {margin-bottom:6px; opacity:.85;}
.guideNote p {margin:0; opacity:.85;}
.guideNoteDark > .vc_column-inner {background:#203350 !important; border-color:#203350 !important; color:#fff;}
.guideNoteDark h5 {color:#BDB09F;} .guideNoteDark a {color:#fff; text-decoration:underline;}
.guideStep > .vc_column-inner {background:#fff; border-radius:5px; padding:34px 30px 28px !important; position:relative; height:100%;}
.guideStep .guideStepNum {position:absolute; top:22px; right:26px; font-size:44px; line-height:1; color:#E8DECF; font-family:Vogun, "Vogun", serif;}
.guideStep .fontIcon i:before {font-size:54px !important; margin:0 !important;}
.guideStep h3 {margin:14px 0 10px;} .guideStep p {opacity:.85; margin:0;}
.guideDark h5 {color:#BDB09F;}
.guideDine h5 {border-bottom:1px solid rgba(255,255,255,.2); padding-bottom:12px; margin-bottom:18px; letter-spacing:.08em;}
.guideDine p {opacity:.85; font-size:15px; line-height:1.5; margin-bottom:16px;}
.guideDine strong {color:#fff; font-size:17px; letter-spacing:.02em;}
.guideDineNote {opacity:.8;} .guideDineNote a {color:#fff; text-decoration:underline;}
.guideCard img {width:100%; aspect-ratio:3/2; object-fit:cover;}
.guideHome img {aspect-ratio:16/10;}
.guideCard h3 {margin:18px 0 8px;} .guideCard p {opacity:.85;}
.guideSeason > .vc_column-inner {border-top:3px solid #B56B82; background:#F6F6F5; border-radius:0 0 5px 5px; padding:30px 28px !important; height:100%;}
.guideSeason h5 {color:#B56B82; margin-bottom:6px; letter-spacing:.06em;}
.guideSeason h3 {margin-bottom:12px;} .guideSeason p {opacity:.85; margin:0;}
@media (max-width: 999px) {
  .guideStep, .guideSeason, .guideCard, .guideDine {margin-bottom:24px !important;}
  .guideNav a {flex:1 1 40%; max-width:none;}
}

/** HOME PAGES (portfolio) – facts, highlights, rooms, amenities, calendar **/
.hlFacts {display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:6px; padding-top:20px; border-top:1px solid #e2ddd5;}
.hlFacts span {display:inline-flex; align-items:center; gap:8px; font-size:14px; letter-spacing:.04em; text-transform:uppercase; color:#203350;}
.hlFacts i {color:#1c607d; font-size:22px; line-height:1;} .hlFacts i:before {font-size:24px !important; margin:0 !important;}
.hlTile > .vc_column-inner {background:#fff; border-radius:5px; padding:28px 24px 22px !important; height:100%;}
.hlTile .hlIcon i:before {font-size:46px !important; margin:0 !important;}
.hlTile h3 {margin:12px 0 8px; font-size:20px; line-height:1.3;} .hlTile p {opacity:.85; margin:0; font-size:15px; line-height:1.5;}
.roomCard > .vc_column-inner {background:#fff; border-top:3px solid #B56B82; border-radius:0 0 5px 5px; padding:26px 26px 22px !important; height:100%;}
.roomCard .roomTop {display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.roomCard .roomTop i {color:#1c607d;} .roomCard .roomTop i:before {font-size:30px !important; margin:0 !important;}
.roomCard .roomTop h5 {margin:0; color:#B56B82; letter-spacing:.06em;}
.roomCard h3 {margin:0 0 4px;} .roomCard .roomBeds {font-weight:600; color:#1c607d; margin:0 0 8px;}
.roomCard p {opacity:.85; margin:0;}
.amenCol ul {list-style:none !important; margin:0 !important; padding:0 !important;}
.amenCol ul li {list-style:none !important;}
.amenCol li {position:relative; padding:0 0 10px 22px; opacity:.88; font-size:15px; line-height:1.45;}
.amenCol li:before {content:"\2713"; position:absolute; left:0; top:0; color:#BDB09F; font-weight:700;}
.homeCalendar {max-width:900px; margin:0 auto !important; float:none !important;}
.homeGallery .wpb_gallery .flex-control-nav {display:none;}
@media (max-width: 999px) {
  .hlTile, .roomCard, .amenCol {margin-bottom:20px !important;}
}

/** WHY REVERIE PAGE – stats, comparison, notes **/
.whyStats {display:flex; flex-wrap:wrap; justify-content:center; gap:20px; max-width:1000px; margin:0 auto;}
.whyStats div {flex:1 1 180px; border-top:1px solid #e2ddd5; padding-top:18px;}
.whyStats strong {display:block; font-family:Vogun, "Vogun", serif; font-weight:400; font-size:48px; line-height:1.1; color:#203350;}
.whyStats span {display:block; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#435362; margin-top:6px;}
.cmpRow {max-width:1100px; margin:0 auto !important; border-bottom:1px solid #e2ddd5;}
.cmpRow .wpb_column > .vc_column-inner {padding:20px 22px !important;}
.cmpRow h5 {margin:0; letter-spacing:.06em;} .cmpRow p {margin:0;}
.cmpHead {border-bottom:2px solid #203350;}
.cmpHead .cmpTypical h5 {color:#435362;} .cmpHead .cmpReverie h5 {color:#B56B82;}
.cmpLabel h5 {color:#1c607d;}
.cmpTypical p {opacity:.65;}
.cmpReverie > .vc_column-inner {background:#F6F2EA;}
.cmpReverie p {color:#203350; font-weight:500;}
.whyNote {opacity:.7; font-size:14px; max-width:720px; margin:0 auto;}
@media (max-width: 999px) {
  body .heroLongScript h1.heroScript {font-size:13.5vw !important;}
  .cmpHead {display:none !important;}
  .cmpRow .wpb_column > .vc_column-inner {padding:6px 16px !important;}
  .cmpRow {padding:14px 0 !important;}
  .cmpTypical p:before {content:"Typical rental: "; font-weight:600;}
  .cmpReverie p:before {content:"Reverie: "; font-weight:700; color:#B56B82;}
  .whyStats strong {font-size:38px;}
}

/** JOIN PAGE – partnership path cards **/
.pathCard > .vc_column-inner {background:#fff; border:1px solid #e2ddd5; border-radius:5px; padding:34px 34px 26px !important; height:100%; position:relative;}
.pathRecommended > .vc_column-inner {border:2px solid #B56B82;}
.pathBadge {position:absolute; top:-13px; left:34px; background:#B56B82; color:#fff; font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:5px 14px; border-radius:3px;}
.pathCard h5 {color:#1c607d; letter-spacing:.06em; margin-bottom:6px;}
.pathCard h3 {font-size:30px; line-height:1.2; margin-bottom:10px;}
.pathCard p {opacity:.85; margin-bottom:16px;}
.pathCard ul {list-style:none !important; margin:0 !important; padding:16px 0 0 !important; border-top:1px solid #e2ddd5;}
.pathCard li {list-style:none !important; position:relative; padding:0 0 10px 24px; opacity:.88;}
.pathCard li:before {content:"\2713"; position:absolute; left:0; top:0; color:#B56B82; font-weight:700;}
@media (max-width: 999px) { .pathCard {margin-bottom:30px !important;} }

/** PALETTE BANDS – dark Jungle section + photo quote band **/
.jungleBand .o80, .jungleBand p {color:rgba(255,255,255,.85);}
.jungleBand .conciergeNav a {border-color:rgba(255,255,255,.22); color:#fff;}
.jungleBand .conciergeNav a i {color:#BDB09F;}
.jungleBand .conciergeNav a:hover {background:#fff; border-color:#fff; color:#264653;}
.jungleBand .conciergeNav a:hover i {color:#264653;}
.quoteBand .quoteStars {display:flex; justify-content:center; gap:6px; margin-bottom:22px;}
.quoteBand .quoteStars i:before {font-size:16px !important; margin:0 !important; color:#D0C09D;}
.quoteBand .quoteText {font-family:Vogun, "Vogun", serif; font-size:36px; line-height:1.4; color:#fff; border:0; padding:0; margin:0 auto 22px; max-width:960px; quotes:none; font-style:normal;}
.quoteBand .quoteText:before, .quoteBand .quoteText:after {display:none;}
.quoteBand .quoteBy {font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#BDB09F; margin:0;}
@media (max-width: 999px) { .quoteBand .quoteText {font-size:24px;} }
.jungleBand .whyStats div {border-top-color:rgba(255,255,255,.25);}
.jungleBand .whyStats strong {color:#fff;}
.jungleBand .whyStats span {color:#BDB09F;}
.jungleBand .leadin, .jungleBand .leadin p {color:#fff !important;}
.quoteBand .quoteText.noQuote {font-style:normal;}

/** LOCATION MAP – home pages **/
.reverieMap {width:100%; border-radius:5px; overflow:hidden; z-index:1; box-shadow:0 10px 30px rgba(15,29,48,.12);}
.reverieMap .leaflet-tile-pane {filter:saturate(.45) sepia(.12) brightness(1.04) contrast(.94);}
.reverieMapPin span {display:block; width:30px; height:30px; border-radius:50%; background:#B56B82; border:4px solid #fff; box-shadow:0 0 0 8px rgba(181,107,130,.25), 0 4px 10px rgba(0,0,0,.25);}
.locFacts {list-style:none !important; margin:6px 0 0 !important; padding:0 !important; border-top:1px solid #e2ddd5;}
.locFacts li {list-style:none !important; display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #e2ddd5; color:#203350; font-size:15px; letter-spacing:.02em;}
.locFacts li i {color:#1c607d;} .locFacts li i:before {font-size:28px !important; margin:0 !important;}
@media (max-width: 999px) { .locMapCol {margin-top:30px !important;} .reverieMap {height:340px !important;} }

/** STAY FACTS – side panel beside the availability calendar **/
.homeCalendar {max-width:none !important; float:left !important;}
.stayFactsCol > .vc_column-inner {background:#F6F2EA; border-radius:5px; padding:30px 30px 26px !important; height:100%;}
.stayFacts h5 {color:#B56B82; letter-spacing:.1em; margin-bottom:14px;}
.stayFacts ul {list-style:none !important; margin:0 0 18px !important; padding:0 !important; border-top:1px solid #e2ddd5;}
.stayFacts li {list-style:none !important; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:4px; padding:11px 0; border-bottom:1px solid #e2ddd5; font-size:14px; color:#435362;}
.stayFacts li i {color:#1c607d;} .stayFacts li i:before {font-size:24px !important; margin:0 !important;}
.stayFacts li strong {color:#203350; font-weight:600; text-align:right;}
.stayFacts .stayNote {font-size:13px; line-height:1.55; opacity:.75; margin:0 0 18px;}
.stayFacts .stayContact {padding-top:16px; border-top:1px solid #e2ddd5; display:flex; flex-direction:column; gap:4px; font-size:14px;}
.stayFacts .stayContact span {color:#435362;} .stayFacts .stayContact a {color:#B56B82; font-weight:600;}
@media (max-width: 999px) { .stayFactsCol {margin-top:30px !important;} }

/** OUR HOMES LANDING – showcase rows, compare table, search **/
.showRow, .homeSearch {scroll-margin-top:90px;}
.showImg img {width:100%; aspect-ratio:3/2; object-fit:cover;}
.showText h2 {margin-bottom:12px;}
.showText .hlFacts {margin-bottom:6px;}
.showHl {list-style:none !important; margin:16px 0 0 !important; padding:0 !important;}
.showHl li {list-style:none !important; position:relative; padding:0 0 8px 22px; color:#435362; font-size:15px;}
.showHl li:before {content:"\2713"; position:absolute; left:0; color:#B56B82; font-weight:700;}
.showPrice {margin:14px 0 10px !important; color:#435362; font-size:14px; letter-spacing:.04em;}
.showPrice strong {font-family:Vogun, "Vogun", serif; font-weight:400; font-size:30px; color:#203350; letter-spacing:0;}
.homesCompareWrap {overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:1100px; margin:0 auto;}
.homesCompare {width:100%; min-width:720px; border-collapse:collapse; background:#fff; border-radius:5px; overflow:hidden;}
.homesCompare th, .homesCompare td {padding:14px 16px; border-bottom:1px solid #e2ddd5; text-align:left; font-size:14px; vertical-align:top; color:#435362;}
.homesCompare thead th {background:#203350; color:#fff; font-weight:500; letter-spacing:.02em;}
.homesCompare thead th a {color:#fff; text-decoration:none;} .homesCompare thead th a:hover {color:#D0C09D;}
.homesCompare td:first-child {color:#1c607d; font-size:12px; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;}
.homesCompare .cmpPrice td {background:#F6F2EA;} .homesCompare .cmpPrice strong {font-family:Vogun, "Vogun", serif; font-weight:400; font-size:22px; color:#203350;}
@media (max-width: 999px) { .showImg {margin-bottom:26px !important;} }
.conciergeHero > .row-bg-wrap {overflow:hidden;}
@media (max-width: 999px) { body.page-id-1188 #ajax-content-wrap {overflow-x:hidden;} }

/** FOOTER (rebuilt) – newsletter strip, link columns, contact, bottom bar **/
body .footerNews h3.newsTitle {font-family:Vogun, "Vogun", serif; font-weight:400; font-size:34px !important; line-height:1.2 !important; color:#fff; margin:4px 0 8px;}
.footerNews p {color:rgba(255,255,255,.8); margin:0;}
.footerNews .gform_wrapper, .footerNews .gform_wrapper form {margin:0 !important;}
.footerNews .gform_wrapper .gform_body {width:auto !important;}
.footerNews .gform_wrapper form {display:flex; flex-wrap:wrap; gap:10px; align-items:stretch;}
.footerNews .gform_wrapper .gform_body {flex:1 1 380px;}
.footerNews .gform_wrapper.gravity-theme .gform_fields {display:grid !important; grid-template-columns:2fr 3fr !important; gap:10px !important;}
.footerNews .gform_wrapper .gfield {margin:0 !important; padding:0 !important;}
.footerNews .gform_wrapper .gfield {grid-column:auto !important; width:auto !important; max-width:none !important;}
.footerNews .gform_wrapper .gfield_label, .footerNews .gform_wrapper .gfield_required, .footerNews .gform_wrapper .gform_required_legend {position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important;}
.footerNews .gform_wrapper .ginput_container {margin:0 !important;}
.footerNews .gform_wrapper input[type=text], .footerNews .gform_wrapper input[type=email] {width:100% !important; height:50px; padding:0 16px !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.3) !important; border-radius:4px !important; color:#fff !important; font-size:15px !important;}
.footerNews .gform_wrapper input::placeholder {color:rgba(255,255,255,.65);}
.footerNews .gform_wrapper input:focus {border-color:#D0C09D !important; outline:none; background:rgba(255,255,255,.12) !important;}
.footerNews .gform_wrapper .gform_footer {margin:0 !important; padding:0 !important; flex:0 0 auto;}
.footerNews .gform_wrapper .gform_footer .gform_button, .footerNews .gform_wrapper .gform_footer input[type=submit] {height:50px; padding:0 30px !important; margin:0 !important; background:#B56B82 !important; color:#fff !important; border:0 !important; border-radius:4px !important; font-size:13px !important; letter-spacing:.12em; text-transform:uppercase; cursor:pointer;}
.footerNews .gform_wrapper .gform_footer .gform_button:hover {background:#9e5a70 !important;}
.footerNews .gform_wrapper .gfield_validation_message, .footerNews .gform_wrapper .validation_message {background:none !important; border:0 !important; color:#ecc0b8 !important; padding:4px 0 0 !important; font-size:13px !important;}
.footerNews .gform_wrapper .gform_validation_errors {display:none !important;}
.footerNews .gform_confirmation_message, .footerNews .newsThanks {color:#fff; font-size:17px;}
.footerNews .newsPrivacy {font-size:12px; color:rgba(255,255,255,.55) !important; margin-top:10px !important;}
.footerCustom h3 {font-size:13px !important; letter-spacing:.14em; text-transform:uppercase; color:#BDB09F !important; margin-bottom:16px; font-family:inherit !important;}
.footerLinks {list-style:none !important; margin:0 !important; padding:0 !important;}
.footerLinks li {list-style:none !important; margin:0 0 10px; padding:0;}
.footerLinks a, .footerContact a {color:rgba(255,255,255,.85) !important; text-decoration:none; font-size:15px; transition:color .2s;}
.footerLinks a:hover, .footerContact a:hover {color:#D0C09D !important;}
.footerBlurb {color:rgba(255,255,255,.75); font-size:15px; line-height:1.6;}
.footerContact {list-style:none !important; margin:14px 0 0 !important; padding:0 !important;}
.footerContact li {list-style:none !important; display:flex; align-items:center; gap:10px; margin-bottom:8px; color:rgba(255,255,255,.75); font-size:14px;}
.footerContact .fcLabel {display:inline-block; min-width:44px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#BDB09F;}
.footerCta {display:inline-block; margin-top:18px; padding:12px 24px; border:1px solid rgba(255,255,255,.5); border-radius:4px; color:#fff !important; font-size:12px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none;}
.footerCta:hover {background:#9e5a6f; border-color:#B56B82;}
.footerBottom p {margin:0; color:rgba(255,255,255,.6);}
.footerLegal {text-align:right;} .footerLegal a {color:rgba(255,255,255,.7) !important; margin-left:24px; text-decoration:none;} .footerLegal a:hover {color:#fff !important;}
@media (max-width: 999px) {
  .footerNews .gform_wrapper.gravity-theme .gform_fields {grid-template-columns:1fr !important;}
  .footerNews .gform_wrapper .gform_footer {flex:1 1 100%;} .footerNews .gform_wrapper .gform_footer .gform_button {width:100%;}
  .footerNewsText {margin-bottom:22px !important;}
  .footerCol {margin-bottom:24px !important;}
  .footerLegal {text-align:center;} .footerLegal a {margin:0 12px;}
}

/* HOME HERO SEARCH WIDTH */
body.page-id-3102 .hr-explorer {max-width:940px; margin-left:auto; margin-right:auto;}

/* OUR HOMES: MAP BELOW RESULTS */
body.page-id-1188 #availability .hr-explorer.with-map {display:flex !important; flex-direction:column; flex-wrap:nowrap;}
body.page-id-1188 #availability .hr-explorer .hfse-body {order:1; min-height:0 !important; height:auto !important; width:100% !important; max-width:none !important; flex:0 0 auto !important; padding:0 !important;}
body.page-id-1188 #availability .hr-explorer .hfse-sidebar {order:2; width:100% !important; max-width:none !important; flex:0 0 auto !important; margin-top:40px;}
body.page-id-1188 #availability .hr-explorer .hfse-map-container {position:relative !important; top:auto !important; height:460px !important; border-radius:6px; overflow:hidden;}
body.page-id-1188 #availability .hr-explorer form.hfse-form, body.page-id-1188 #availability .hr-explorer .hfse-form-secondary-fields {max-width:940px; margin-left:auto !important; margin-right:auto !important;}
body.page-id-1188 #availability .hr-explorer .hfse-properties {margin:20px 0 0 !important;}
@media (min-width:1000px){ body.page-id-1188 #availability .hr-explorer .hfse-properties > .property-item {width:25% !important; flex:0 0 25% !important; min-width:0 !important; max-width:25% !important;} }
@media (min-width:600px) and (max-width:999px){ body.page-id-1188 #availability .hr-explorer .hfse-properties > .property-item {width:50% !important; flex:0 0 50% !important; min-width:0 !important; max-width:50% !important;} }
@media (max-width:999px){ body.page-id-1188 #availability .hr-explorer .hfse-map-container {height:360px !important;} }

/** CHECKOUT PAGE (page 3208) **/
.checkoutHero .eyebrowLine {display:inline-block; font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:#d0c09d; margin-bottom:14px;}
.checkoutHero h1 {font-family:Vogun, LuxentaBold, serif; color:#fff; font-size:clamp(34px,4.2vw,58px); line-height:1.05; margin:0 0 14px;}
.checkoutHero .checkoutLead {color:rgba(255,255,255,.72); max-width:620px; margin:0 auto 34px; font-size:16px; line-height:1.6;}
.checkoutSteps {display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap; list-style:none; margin:0 !important; padding:0 !important;}
.checkoutSteps li {display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.5); margin:0 !important; padding:0 !important; list-style:none;}
.checkoutSteps li span {width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.35); display:inline-flex; align-items:center; justify-content:center; font-size:12px; letter-spacing:0;}
.checkoutSteps li.done {color:#d0c09d;} .checkoutSteps li.done span {background:#d0c09d; border-color:#d0c09d; color:#0f1d30;}
.checkoutSteps li.current {color:#fff;} .checkoutSteps li.current span {background:#b56b82; border-color:#b56b82; color:#fff;}
.checkoutSteps li.sep {width:44px; height:1px; background:rgba(255,255,255,.25); gap:0;}

body.page-id-3208 .homelocal-checkout {color:#203350; font-size:15px;}
body.page-id-3208 .homelocal-checkout > .hk-margin a {font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#203350 !important; text-decoration:none !important;}
body.page-id-3208 .homelocal-checkout > .hk-margin a:hover {color:#b56b82 !important;}
body.page-id-3208 .homelocal-checkout .hk-card {background:#fff; border:1px solid #e8decf; border-radius:8px; box-shadow:0 10px 30px rgba(15,29,48,.05);}
body.page-id-3208 .homelocal-checkout .hk-card-body.hk-card {padding:38px 40px;}
body.page-id-3208 .homelocal-checkout .hk-card-title {font-family:Vogun, LuxentaBold, serif; font-size:26px; color:#203350; margin:0 0 22px; padding-bottom:16px; border-bottom:1px solid #efe8dc;}
body.page-id-3208 .homelocal-checkout .hk-form-label {font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#7a7366; font-weight:600; margin-bottom:6px; display:block;}
body.page-id-3208 .homelocal-checkout .hk-input,
body.page-id-3208 .homelocal-checkout .hk-select,
body.page-id-3208 .homelocal-checkout .hk-textarea,
body.page-id-3208 .homelocal-checkout textarea,
body.page-id-3208 .homelocal-checkout .iti input,
body.page-id-3208 .homelocal-checkout .StripeElement {background:#f7f3ec !important; border:1px solid #e8decf !important; border-radius:6px !important; color:#203350 !important; min-height:46px; box-shadow:none !important; font-size:15px;}
body.page-id-3208 .homelocal-checkout .StripeElement {padding:13px 14px !important;}
body.page-id-3208 .homelocal-checkout .hk-input:focus,
body.page-id-3208 .homelocal-checkout textarea:focus,
body.page-id-3208 .homelocal-checkout .StripeElement--focus {border-color:#b56b82 !important; background:#fff !important; outline:none;}
body.page-id-3208 .homelocal-checkout ::placeholder {color:#a59d8e !important;}
/* rules list */
body.page-id-3208 .homelocal-checkout .hk-list > li.hk-list-bullet {padding-left:24px !important; position:relative; margin:0 !important; padding-top:10px; padding-bottom:10px; border-bottom:1px solid #f1ebe1; list-style:none;}
body.page-id-3208 .homelocal-checkout .hk-list > li.hk-list-bullet:last-child {border-bottom:0;}
body.page-id-3208 .homelocal-checkout .hk-list > li.hk-list-bullet::before {content:''; position:absolute; left:2px; top:20px; width:8px; height:8px; border-radius:50%; background:#d0c09d; margin:0 !important;}
body.page-id-3208 .homelocal-checkout .rule-description {font-size:15px; line-height:1.55;}
/* summary card */
body.page-id-3208 .homelocal-checkout-overview .hk-card {overflow:hidden;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-media-top img {width:100%; aspect-ratio:16/9; object-fit:cover; display:block;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-header {padding:22px 28px 18px; border-bottom:1px solid #efe8dc;}
body.page-id-3208 .homelocal-checkout-overview .property-overview .hk-text-bold {font-family:Vogun, LuxentaBold, serif; font-weight:400; font-size:22px; line-height:1.2; color:#203350;}
body.page-id-3208 .homelocal-checkout-overview .property-overview .hk-text-small {font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8a8272; margin-top:6px;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-body {padding:22px 28px;}
body.page-id-3208 .homelocal-checkout-overview .homelocal-booking-widget-body {padding:0 !important; background:transparent !important;}
body.page-id-3208 .homelocal-checkout-overview label.hk-text-bold {font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8a8272; font-weight:600;}
body.page-id-3208 .homelocal-checkout-overview .hk-grid .hk-form-controls {font-size:16px; color:#203350; margin-top:2px;}
body.page-id-3208 .homelocal-checkout-overview hr {border-color:#efe8dc; margin:18px 0;}
body.page-id-3208 .homelocal-checkout .coupon-row {display:none !important;}
body.page-id-3208 .homelocal-checkout-overview .total {background:#f7f3ec; border-radius:6px; padding:14px 16px; margin-top:6px !important;}
body.page-id-3208 .homelocal-checkout-overview .total .total-price-label {font-size:12px; letter-spacing:.14em; text-transform:uppercase;}
body.page-id-3208 .homelocal-checkout-overview .total .total-price {font-family:Vogun, LuxentaBold, serif; font-weight:400; font-size:24px; color:#203350;}
body.page-id-3208 .homelocal-checkout .price-details-modal-button {color:#b56b82 !important; text-decoration:none !important; font-size:12px !important; letter-spacing:.14em; padding:0 !important; min-height:0 !important; line-height:1.6;}
body.page-id-3208 .homelocal-checkout .price-details-modal-button::before, body.page-id-3208 .homelocal-checkout .price-details-modal-button::after {display:none !important;}
body.page-id-3208 .homelocal-checkout .price-details-modal-button:hover {color:#203350 !important;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-footer {background:#fbf8f3; border-top:1px solid #efe8dc; padding:18px 28px 20px;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-footer::before {content:'Payment Schedule'; display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#8a8272; font-weight:600; margin-bottom:6px;}
body.page-id-3208 .homelocal-checkout-overview .hk-card-footer li {font-size:13px; color:#4a5468; line-height:1.5; padding:9px 0 !important; margin:0 !important; border-color:#efe8dc !important;}
/* acceptance, notices, button */
body.page-id-3208 .homelocal-checkout .hr-checkout-acceptance-label {font-size:14px; color:#203350;}
body.page-id-3208 .homelocal-checkout .hr-checkout-acceptance-label a {color:#b56b82 !important;}
body.page-id-3208 .homelocal-checkout #hr-checkout-acceptance {accent-color:#b56b82; width:17px; height:17px; vertical-align:-3px; margin-right:8px;}
body.page-id-3208 .homelocal-checkout .checkout-notice {max-width:460px;}
body.page-id-3208 .homelocal-checkout .checkout-notice .hk-alert {background:transparent !important; color:#9a5a6d !important; padding:3px 0 !important; margin:0 !important; font-size:13px; border:0;}
body.page-id-3208 .homelocal-checkout .checkout-notice .hk-alert::before {content:'•'; margin-right:7px; color:#b56b82;}
body.page-id-3208 .homelocal-checkout .checkout-notice:not(:empty) {background:#fbf3f5; border:1px solid #efd9df; border-radius:8px; padding:12px 18px; margin-top:18px;}
body.page-id-3208 .homelocal-checkout button.hk-button-primary {background:#b56b82 !important; color:#fff !important; border:0 !important; border-radius:8px !important; font-size:13px !important; letter-spacing:.2em !important; font-weight:600; min-width:320px; height:58px; margin-top:22px !important; transition:background .25s;}
body.page-id-3208 .homelocal-checkout button.hk-button-primary:hover:not([disabled]) {background:#9e5a6f !important;}
body.page-id-3208 .homelocal-checkout button.hk-button-primary[disabled] {opacity:.5;}
@media (max-width:640px){
  body.page-id-3208 .homelocal-checkout .hk-card-body.hk-card {padding:26px 20px;}
  body.page-id-3208 .homelocal-checkout button.hk-button-primary {min-width:0; width:100%;}
  .checkoutSteps li.sep {width:18px;}
  .checkoutSteps li {font-size:10px; letter-spacing:.1em; gap:6px;}
}
body.page-id-3208 .homelocal-checkout p.hk-text-center img.hk-width-medium {width:280px !important; max-width:100%; height:auto; opacity:.85; margin-top:8px;}
body.page-id-3208 #ajax-content-wrap {overflow-x:hidden;}
body.page-id-3208 .homelocal-checkout-overview .total .total-price-label {white-space:nowrap;}
@media (max-width:640px){
  .checkoutSteps {flex-wrap:nowrap; gap:8px;}
  .checkoutSteps li:not(.current) {font-size:0; gap:0;}
  .checkoutSteps li span {font-size:12px;}
  .checkoutSteps li.sep {width:22px;}
  body.page-id-3208 .homelocal-checkout-overview .total .total-price {font-size:21px;}
  body.page-id-3208 .homelocal-checkout-overview .total .total-price-label {font-size:11px; letter-spacing:.1em;}
}

/** LEGAL PAGES (Terms, Privacy) **/
.legalHero .eyebrowLine {display:inline-block; font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:#d0c09d; margin-bottom:14px;}
.legalHero h1 {font-family:Vogun, LuxentaBold, serif; color:#fff; font-size:clamp(36px,4.5vw,62px); line-height:1.05; margin:0 0 14px;}
.legalHero .legalLead {color:rgba(255,255,255,.75); max-width:620px; margin:0 auto 10px; font-size:17px; line-height:1.6;}
.legalHero .legalDate {color:#bdb09f; font-size:12px; letter-spacing:.16em; text-transform:uppercase; margin:18px 0 0;}
.legalWrap {display:grid; grid-template-columns:240px 1fr; gap:70px; max-width:1100px; margin:0 auto; align-items:start;}
.legalToc {position:sticky; top:110px; border-left:1px solid #e8decf; padding-left:22px;}
.legalToc > span {display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#8a8272; font-weight:600; margin-bottom:12px;}
.legalToc ol {list-style:none; margin:0 !important; padding:0 !important; counter-reset:toc;}
.legalToc li {margin:0 0 9px !important; padding:0 !important; list-style:none; counter-increment:toc; font-size:14px; line-height:1.4;}
.legalToc li::before {content:counter(toc,decimal-leading-zero); color:#d0c09d; font-size:11px; margin-right:9px; letter-spacing:.05em;}
.legalToc a {color:#203350; text-decoration:none;} .legalToc a:hover {color:#b56b82;}
.legalText {max-width:720px; color:#33405a; font-size:16px; line-height:1.75;}
.legalText section {padding:6px 0 30px; margin-bottom:30px; border-bottom:1px solid #f0eae0; scroll-margin-top:110px;}
.legalText section:last-child {border-bottom:0;}
.legalText h3 {font-family:Vogun, LuxentaBold, serif; color:#203350; font-size:26px; line-height:1.2; margin:0 0 14px;}
.legalText ul {margin:0 0 16px 0 !important; padding:0 !important;}
.legalText ul li {list-style:none; position:relative; padding-left:22px; margin-bottom:9px;}
.legalText ul li::before {content:''; position:absolute; left:2px; top:.72em; width:7px; height:7px; border-radius:50%; background:#d0c09d;}
.legalText strong {color:#203350;}
.legalText a {color:#b56b82;}
.legalConfirm {background:#fbf0c9; box-shadow:0 0 0 2px #fbf0c9; border-radius:2px;}
@media (max-width:999px){ .legalWrap {grid-template-columns:1fr; gap:30px;} .legalToc {position:static; border-left:0; padding:20px 22px; background:#f7f3ec; border-radius:8px;} .legalToc ol {columns:2; column-gap:24px;} }
@media (max-width:600px){ .legalToc ol {columns:1;} .legalText h3 {font-size:23px;} }
html:has(body.page-id-3347), html:has(body.page-id-1040), body.page-id-3347, body.page-id-1040 {overflow:visible !important; overflow-x:clip !important;}
.footerCustom .footerParent {margin-bottom:22px !important;}

/* Property pages: below 960px the hero booking box is removed; the sticky bottom bar handles booking */
@media (max-width:959px){ .wpb_column:has(.reverieBookingWidget) {display:none !important;} }
/* Mobile sticky booking bar: brand it and tuck it away while a calendar/modal is open */
.homelocal-sticky-booking-widget-container {background:#0f1d30 !important; border:0 !important; box-shadow:0 -8px 24px rgba(15,29,48,.25) !important; padding-bottom:env(safe-area-inset-bottom);}
.homelocal-sticky-booking-widget {padding:12px 16px !important; gap:12px;}
.homelocal-sticky-booking-widget .price-container {color:rgba(255,255,255,.75); font-size:13px; line-height:1.4;}
.homelocal-sticky-booking-widget .rent-unit, .homelocal-sticky-booking-widget .price {color:#fff; font-size:14px;}
.homelocal-sticky-booking-widget .rent-amount {font-family:Vogun, LuxentaBold, serif; font-size:19px; font-weight:400; color:#fff;}
.homelocal-sticky-booking-widget .total-nights, .homelocal-sticky-booking-widget .dates {color:#d0c09d; font-size:12px; letter-spacing:.04em;}
.homelocal-sticky-booking-widget .modal-button {background:#b56b82 !important; color:#fff !important; border-radius:8px !important; padding:0 16px !important; min-height:44px; line-height:44px !important; font-size:12px !important; letter-spacing:.14em !important; font-weight:600; text-decoration:none !important; white-space:nowrap;}
.homelocal-sticky-booking-widget .modal-button::before, .homelocal-sticky-booking-widget .modal-button::after {display:none !important;}
html.hk-modal-page .homelocal-sticky-booking-widget-container {display:none !important;}
@media (max-width:959px){ body:has(.homelocal-sticky-booking-widget-container) #footer-outer {padding-bottom:84px;} }

/** CONTACT PAGE (3023) + Reverie Contact form (GF 4) **/
.contactAside .eyebrowLine, .contactThanks .eyebrowLine {display:inline-block; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:#b56b82; margin-bottom:8px; font-weight:600;}
.contactBook {background:#0f1d30; color:rgba(255,255,255,.75); border-radius:10px; padding:30px 28px; margin-bottom:28px;}
.contactBook .eyebrowLine {color:#d0c09d;}
.contactBook h4 {font-family:Vogun, LuxentaBold, serif; color:#fff; font-size:26px; line-height:1.15; margin:0 0 10px;}
.contactBook p {font-size:15px; line-height:1.6; margin:0 0 20px;}
.contactBtn {display:inline-block; background:#b56b82; color:#fff !important; border-radius:8px; padding:14px 22px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; text-decoration:none !important; transition:background .25s;}
.contactBtn:hover {background:#9e5a6f;}
.contactList {list-style:none; margin:0 0 24px !important; padding:0 !important;}
.contactList li {list-style:none; display:flex; gap:16px; align-items:baseline; padding:13px 0 !important; margin:0 !important; border-bottom:1px solid #e8decf; font-size:15px;}
.contactList li span {flex:0 0 70px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#8a8272;}
.contactList a, .contactList strong {color:#203350; text-decoration:none; font-weight:500;}
.contactList a:hover {color:#b56b82;}
.contactOwner {font-size:14px; color:#4a5468; line-height:1.6;}
.contactOwner a {color:#b56b82;}
.contactFormCard {background:#fff; border:1px solid #e8decf; border-radius:10px; padding:40px 44px 44px; box-shadow:0 12px 34px rgba(15,29,48,.06);}
.contactFormCard > h3 {font-family:Vogun, LuxentaBold, serif; color:#203350; font-size:30px; margin:0 0 6px;}
.reverieContactForm_wrapper, .gform_wrapper.reverieContactForm_wrapper {margin:0 !important;}
.reverieContactForm_wrapper .gform_fields {row-gap:22px !important; column-gap:18px !important;}
.reverieContactForm_wrapper .gfield_label, .reverieContactForm_wrapper legend.gfield_label {font-size:11px !important; letter-spacing:.16em; text-transform:uppercase; color:#7a7366 !important; font-weight:600 !important; margin-bottom:8px !important;}
.reverieContactForm_wrapper .gfield_required {color:#b56b82 !important; font-size:10px; letter-spacing:.06em; text-transform:none; font-weight:400;}
.reverieContactForm_wrapper input[type=text], .reverieContactForm_wrapper input[type=email], .reverieContactForm_wrapper input[type=tel], .reverieContactForm_wrapper input[type=number], .reverieContactForm_wrapper select, .reverieContactForm_wrapper textarea {background:#f7f3ec !important; border:1px solid #e8decf !important; border-radius:6px !important; color:#203350 !important; min-height:48px; padding:10px 14px !important; font-size:15px !important; box-shadow:none !important; width:100%;}
.reverieContactForm_wrapper textarea {min-height:130px; height:130px;}
.reverieContactForm_wrapper input:focus, .reverieContactForm_wrapper select:focus, .reverieContactForm_wrapper textarea:focus {border-color:#b56b82 !important; background:#fff !important; outline:none;}
.reverieContactForm_wrapper ::placeholder {color:#a59d8e !important;}
.reverieContactForm_wrapper .ginput_complex label, .reverieContactForm_wrapper .gform-field-label--type-sub {font-size:11px !important; color:#a59d8e !important; letter-spacing:.06em;}
/* topic cards */
.reverieContactForm_wrapper .topicCards .gfield_radio {display:grid !important; grid-template-columns:repeat(3,1fr); gap:12px;}
.reverieContactForm_wrapper .topicCards .gchoice {position:relative; margin:0 !important;}
.reverieContactForm_wrapper .topicCards .gchoice input {position:absolute; opacity:0; pointer-events:none;}
.reverieContactForm_wrapper .topicCards .gchoice label {display:flex !important; flex-direction:column; justify-content:flex-end; min-height:108px; height:100%; max-width:none !important; width:100%; margin:0 !important; padding:18px 18px 16px !important; border:1px solid #e8decf; border-radius:8px; background:#fbf8f3; color:#203350 !important; font-family:Vogun, LuxentaBold, serif; font-size:19px !important; line-height:1.2; cursor:pointer; transition:all .2s;}
.reverieContactForm_wrapper .topicCards .gchoice label::before {content:''; width:26px; height:26px; margin-bottom:auto; border-radius:50%; border:1px solid #d0c09d; background:#fff center/12px no-repeat; transition:all .2s;}
.reverieContactForm_wrapper .topicCards .gchoice label:hover {border-color:#d0c09d; background:#fff;}
.reverieContactForm_wrapper .topicCards .gchoice input:checked + label {background:#0f1d30; border-color:#0f1d30; color:#fff !important; box-shadow:0 10px 24px rgba(15,29,48,.18);}
.reverieContactForm_wrapper .topicCards .gchoice input:checked + label::before {background-color:#b56b82; border-color:#b56b82; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E");}
.reverieContactForm_wrapper .topicCards .gchoice input:focus-visible + label {outline:2px solid #b56b82; outline-offset:2px;}
.reverieContactForm_wrapper .plainCheck legend {display:none !important;}
.reverieContactForm_wrapper .plainCheck label {font-size:14px !important; color:#4a5468 !important; text-transform:none; letter-spacing:0;}
.reverieContactForm_wrapper .plainCheck input {accent-color:#b56b82; width:17px; height:17px;}
.reverieContactForm_wrapper .gform_footer {margin-top:26px !important; padding:0 !important;}
.reverieContactForm_wrapper .gform_button {background:#b56b82 !important; color:#fff !important; border:0 !important; border-radius:8px !important; padding:0 38px !important; height:56px; font-size:13px !important; letter-spacing:.2em !important; text-transform:uppercase; font-weight:600 !important; cursor:pointer; transition:background .25s;}
.reverieContactForm_wrapper .gform_button:hover {background:#9e5a6f !important;}
.reverieContactForm_wrapper .gfield_validation_message, .reverieContactForm_wrapper .validation_message {background:transparent !important; border:0 !important; padding:4px 0 0 !important; color:#9a5a6d !important; font-size:13px !important;}
.reverieContactForm_wrapper .gfield_error input, .reverieContactForm_wrapper .gfield_error select, .reverieContactForm_wrapper .gfield_error textarea {border-color:#d9a3b1 !important;}
.contactThanks {text-align:left; padding:10px 0;}
.contactThanks h3 {font-family:Vogun, LuxentaBold, serif; color:#203350; font-size:30px; margin:0 0 12px;}
.contactThanks p {font-size:16px; line-height:1.7; color:#33405a;}
.contactThanks a {color:#b56b82;}
.contactAsideCol > .vc_column-inner {padding-right:30px !important;}
@media (max-width:999px){ .contactAsideCol {order:2;} .contactFormCol {order:1;} .contactBody .row_col_wrap_12 {display:flex; flex-direction:column;} .contactAsideCol > .vc_column-inner {padding-right:0 !important; margin-top:30px;} }
@media (max-width:640px){
  .contactFormCard {padding:28px 20px 30px;}
  .reverieContactForm_wrapper .topicCards .gfield_radio {grid-template-columns:1fr; gap:10px;}
  .reverieContactForm_wrapper .topicCards .gchoice label {min-height:0; flex-direction:row; align-items:center; gap:14px; justify-content:flex-start; font-size:17px !important;}
  .reverieContactForm_wrapper .topicCards .gchoice label::before {margin:0; flex:0 0 26px;}
  .reverieContactForm_wrapper .gform_button {width:100%;}
}
.reverieContactForm_wrapper .gfield_required {font-size:0 !important;}
.reverieContactForm_wrapper .gfield_required::after {content:'*'; font-size:13px; color:#b56b82; margin-left:3px;}
.reverieContactForm_wrapper .ginput_complex .gform-field-label--type-sub, .reverieContactForm_wrapper .ginput_complex label {display:none !important;}
.reverieContactForm_wrapper img.ui-datepicker-trigger, .reverieContactForm_wrapper .ginput_container_date img {display:none !important;}
.reverieContactForm_wrapper .ginput_container_date input {width:100% !important;}
.reverieContactForm_wrapper .gfield_description.instruction {display:none !important;}
.reverieContactForm_wrapper textarea.large, .reverieContactForm_wrapper textarea {height:130px !important; min-height:130px !important;}
.reverieContactForm_wrapper .gform_fields {row-gap:20px !important;}
.reverieContactForm_wrapper .gfield {margin:0 !important;}
.reverieContactForm_wrapper .gfield_required .gfield_required::after {content:none !important;}
.reverieContactForm_wrapper .ginput_container_date img, .reverieContactForm_wrapper .ginput_container_date svg {display:none !important;}
.reverieContactForm_wrapper .ginput_container_date::before, .reverieContactForm_wrapper .ginput_container_date::after {display:none !important;}
.reverieContactForm_wrapper .ginput_container_date {display:block !important;}
.reverieContactForm_wrapper .gform_validation_errors {background:#fbf3f5 !important; border:1px solid #efd9df !important; border-radius:8px !important; box-shadow:none !important; padding:12px 18px !important; margin:0 0 20px !important;}
.reverieContactForm_wrapper .gform_validation_errors h2 {color:#9a5a6d !important; font-family:inherit !important; font-size:14px !important; font-weight:500 !important; line-height:1.4 !important; margin:0 !important; padding:0 !important;}
.reverieContactForm_wrapper .gform_validation_errors h2 .gform-icon, .reverieContactForm_wrapper .gform_validation_errors ol {display:none !important;}
.reverieContactForm_wrapper .gform-datepicker-toggle {display:none !important;}


/** TYPOGRAPHY SYSTEM
   Script  – hero moments only (SimplyArrive, SimplyHosted…)
   Vogun   – hero/page titles, home names in heroes, guest quotes, numbers & prices
   Luxenta SemiBold – section headlines, card titles, sub-headings
   Azo Sans – body, labels, buttons, eyebrows **/
body h2.vc_custom_heading:not([style*="font-size"]), body h2.darkGreen {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:44px !important; line-height:1.15 !important; letter-spacing:-.005em;}
body h2.vc_custom_heading[style*="font-size: 36px"], body h2.vc_custom_heading[style*="font-size: 28px"], body h2.vc_custom_heading[style*="font-size: 2vw"], body h2.vc_custom_heading.o80 {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; letter-spacing:-.005em;}
body h2.vc_custom_heading a {font-family:inherit !important;}
body h3.deepOcean, body h3.dunmore, body h3.bonfireAsh, body h3.jungle {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:23px !important; line-height:1.25 !important;}
.legalText h3, .contactFormCard > h3, .contactBook h4, .contactThanks h3, h3.newsTitle,
.reverieContactForm_wrapper .topicCards .gchoice label,
body.page-id-3208 .homelocal-checkout .hk-card-title,
body.page-id-3208 .homelocal-checkout-overview .property-overview .hk-text-bold {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important;}
@media (max-width:690px){ body h2.vc_custom_heading:not([style*="font-size"]), body h2.darkGreen {font-size:32px !important;} }

/** EYEBROW LABELS (h5.section): lined label replaces Salient's boxed style **/
body h5.section {display:inline-flex !important; align-items:center; gap:14px; border:0 !important; border-radius:0 !important; padding:0 !important; background:none !important; font-family:'Azo Sans', sans-serif !important; font-weight:600 !important; font-size:12px !important; letter-spacing:.28em !important; text-transform:uppercase; color:#b56b82 !important; line-height:1.4 !important; margin-bottom:14px !important;}
body h5.section::before, body h5.section::after {content:''; flex:0 0 34px; width:34px; height:1px; background:#c9b48f;}
body h5.section.light, .light h5.section, [data-using-bg="true"] h5.section.light {color:#d0c09d !important;}
body h5.section.light::before, body h5.section.light::after {background:rgba(208,192,157,.6);}
@media (max-width:690px){ body h5.section {font-size:11px !important; letter-spacing:.22em !important; gap:10px;} body h5.section::before, body h5.section::after {flex-basis:22px; width:22px;} }

/** EYEBROW VARIANTS – add a class to any h5.section in the page builder
   .eyebrowFlower = logo flower between lines, label below (first section on a page)
   .eyebrowScript = hand-script label (use sparingly) **/
body h5.section.eyebrowScript {font-family:LogoFont, cursive !important; font-weight:400 !important; font-size:44px !important; letter-spacing:0 !important; text-transform:lowercase !important; line-height:1 !important; transform:rotate(-3deg); margin-bottom:0 !important; position:relative; z-index:2;}
body h5.section.eyebrowScript::before, body h5.section.eyebrowScript::after {display:none;}
@media (max-width:690px){ body h5.section.eyebrowScript {font-size:34px !important;} }

/* Eyebrow colour: warm neutral text (dirt road) on light, champagne on dark; flower stays berry */
body h5.section {color:#967c6b !important;}
body h5.section.light, .light h5.section {color:#d0c09d !important;}
/* .eyebrowFlower = berry logo flower above the lined label */
body h5.section.eyebrowFlower {padding-top:30px !important; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201080%201080%27%3E%3Cpath%20fill%3D%27%23b56b82%27%20d%3D%27M832.51%2C490.59c61.95%2C14.24%2C282.5%2C173.54%2C242.72%2C278.01-39.78%2C104.47-220.33%2C94.87-317.31-23.49-31.27%2C151.94-95.56%2C233.85-150.15%2C236.56-54.59%2C2.7-199.63-24.18-161.92-299.91-122.55%2C123.89-278.9%2C166.44-310.77%2C99.83-31.87-66.61%2C35.82-156.92%2C165.3-220.33C9.16%2C418.92-20.74%2C301.61%2C9.21%2C206.83c50.26-159.06%2C462.6%2C29.52%2C529.92%2C171.01%2C68.92-241.93%2C148.43-292.66%2C234.87-277.1%2C86.44%2C15.56%2C144.63%2C102.72%2C58.52%2C389.85Z%27/%3E%3C/svg%3E") center top/18px 18px no-repeat !important;}
body h2.vc_custom_heading[style*="font-size: 54px"] {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:44px !important; line-height:1.15 !important;}
@media (max-width:690px){ body h2.vc_custom_heading[style*="font-size: 54px"] {font-size:32px !important;} }
.nectar-fancy-box .text h4 {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:21px !important;}

/** NO MONTSERRAT: theme's h5 font + inheriting elements → Azo Sans **/
body h5, body .nectar-inherit-h5, body a.link_text, body a.link_text .text, body .toggle-title a, body h3.toggle-title {font-family:'Azo Sans', sans-serif !important;}
body h5:not(.section):not(.eyebrowScript), body .nectar-inherit-h5, body a.link_text, body a.link_text .text {font-weight:600 !important; letter-spacing:.14em !important;}

/** CORNER RADIUS SYSTEM: 4px buttons & fields (matches theme buttons), 6px cards & panels, 5px photos (theme) **/
.hfse [class*="-field-control"], .hfse .hfse-form input, .hfse button, .hfse .uk-button, .hfse .hk-button, .hfse select,
.contactBtn, .gform_wrapper .gform_button, .gform_wrapper input[type=text], .gform_wrapper input[type=email], .gform_wrapper input[type=tel], .gform_wrapper input[type=number], .gform_wrapper select, .gform_wrapper textarea,
body.page-id-3208 .homelocal-checkout .hk-input, body.page-id-3208 .homelocal-checkout .hk-select, body.page-id-3208 .homelocal-checkout textarea, body.page-id-3208 .homelocal-checkout .iti input, body.page-id-3208 .homelocal-checkout .StripeElement, body.page-id-3208 .homelocal-checkout button.hk-button-primary,
.homelocal-booking-widget .hk-input, .homelocal-booking-widget .hk-select, .homelocal-booking-widget .hk-button,
.homelocal-sticky-booking-widget .modal-button {border-radius:4px !important;}
.hfse .hfse-body, .contactFormCard, .contactBook, body.page-id-3208 .homelocal-checkout .hk-card, body.page-id-3208 .homelocal-checkout-overview .total, body.page-id-3208 .homelocal-checkout .checkout-notice:not(:empty),
.reverieContactForm_wrapper .topicCards .gchoice label, .reverieContactForm_wrapper .gform_validation_errors, .legalToc {border-radius:6px !important;}
@media (min-width:1000px){ .legalToc {border-radius:0 !important;} }
html body #hr-explorer-1 .hfse-form-primary-fields .field-control, html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-1 .hfse-form button, html body #hr-explorer-1 .hfse-form .hk-input, html body #hr-explorer-1 .hfse-form .hk-button, html body #hr-explorer-2 .hfse-form-primary-fields .field-control, html body #hr-explorer-2 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form button, html body #hr-explorer-2 .hfse-form .hk-input, html body #hr-explorer-2 .hfse-form .hk-button, html body #hr-explorer-3 .hfse-form-primary-fields .field-control, html body #hr-explorer-3 .hfse-form-submit-btn, html body #hr-explorer-3 .hfse-form button, html body #hr-explorer-3 .hfse-form .hk-input, html body #hr-explorer-3 .hfse-form .hk-button {border-radius:4px !important;}
html body #hr-explorer-1 .hfse-body, html body #hr-explorer-2 .hfse-body, html body #hr-explorer-3 .hfse-body {border-radius:6px !important;}
html body.page-id-3102 #hr-explorer-1 .hfse-body, html body.page-id-1188 #hr-explorer-1 .hfse-body {border-radius:6px !important;}
html body .hk-input, html body .hk-select, html body .hk-button, html body .uk-button:not(.uk-button-text), html body .hk-button-default, html body .checkout-button, html body .hfse-modal-next-button, html body .hfse-apply-additional-filters-btn {border-radius:4px !important;}
html body .hk-modal-dialog {border-radius:6px !important;}

/** BUTTON TYPE SYSTEM: Azo Sans 400, all caps, 13px (12px small), tracked; flex-centred so text sits in the vertical middle **/
html body a.nectar-button, html body .nectar-button span, html body .gform_wrapper .gform_button, html body .contactBtn, html body .footerCta,
html body .uk-button:not(.uk-button-text), html body .hk-button:not(.uk-button-text), html body .hfse-form-submit-btn, html body .homelocal-sticky-booking-widget .modal-button,
html body .homelocal-checkout button.hk-button-primary, html body .hr_pc__button, html body a.link_text, html body a.link_text .text, html body .price-details-modal-button {
  font-family:'Azo Sans', sans-serif !important; font-weight:400 !important; text-transform:uppercase !important; letter-spacing:.16em !important; font-size:13px !important;}
html body a.nectar-button.medium, html body a.nectar-button.small, html body .nectar-button.medium span, html body .hr_pc__button, html body .hfse-form-reset-btn, html body .hfse-form-map-toggle-btn, html body .price-details-modal-button {font-size:12px !important;}
/* vertical centring: flex box, single-line height, equal padding */
html body a.nectar-button, html body .gform_wrapper .gform_button, html body .contactBtn, html body .footerCta,
html body .uk-button:not(.uk-button-text):not(.hfse-form-reset-btn):not(.hfse-form-map-toggle-btn), html body .hk-button:not(.uk-button-text):not(.hfse-form-reset-btn):not(.hfse-form-map-toggle-btn),
html body .homelocal-sticky-booking-widget .modal-button, html body .homelocal-checkout button.hk-button-primary {
  display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; padding-top:0 !important; padding-bottom:0 !important; gap:10px;}
html body a.nectar-button.large, html body .gform_wrapper .gform_button, html body .homelocal-checkout button.hk-button-primary {min-height:50px !important; height:50px !important;}
html body a.nectar-button.medium, html body a.nectar-button.small {min-height:42px !important; height:42px !important;}
html body .contactBtn, html body .footerCta {min-height:46px; height:46px;}
html body .reverieBookingWidget .hk-button.uk-button-primary, html body .homelocal-booking-widget .hk-button.uk-button-primary {height:50px !important; width:100%;}
html body .nectar-button span {line-height:1 !important; display:inline-block;}
html body .footerNews .gform_button {height:48px !important; min-height:48px !important;}
html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-1 .hfse-form-submit-field-container .hk-button, html body #hr-explorer-2 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form-submit-field-container .hk-button {font-weight:400 !important; letter-spacing:.16em !important; font-size:13px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important;}
html body #hr-explorer-1 .hfse-form-reset-btn, html body #hr-explorer-1 .hfse-form-map-toggle-btn, html body #hr-explorer-1 .hfse-form-reset-btn *, html body #hr-explorer-1 .hfse-form-map-toggle-btn *, html body #hr-explorer-2 .hfse-form-reset-btn, html body #hr-explorer-2 .hfse-form-map-toggle-btn, html body #hr-explorer-2 .hfse-form-reset-btn *, html body #hr-explorer-2 .hfse-form-map-toggle-btn * {font-size:12px !important; font-weight:400 !important; text-transform:uppercase !important; letter-spacing:.14em !important;}
html body .nectar-cta a.link_text, html body .nectar-cta .link_text {letter-spacing:.16em !important; font-weight:400 !important;}

/** BUTTON OPTICAL CENTRING: trim each label's line box to the capital letters so flex centring is exact **/
html body a.nectar-button span {top:0 !important;}
html body a.nectar-button span, html body a.nectar-button, html body .nectar-cta a.link_text, html body .nectar-cta .link_text .text,
html body button.gform_button, html body .contactBtn, html body .footerCta, html body .hfse button, html body .hk-button, html body .uk-button,
html body .homelocal-sticky-booking-widget .modal-button, html body .homelocal-checkout button.hk-button-primary {text-box:trim-both cap alphabetic;}

/* Button label optical centring (measured): Azo caps sit high, so 2px extra top padding */
html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form-submit-btn, html body .gform_wrapper .gform_button, html body #gform_submit_button_3, html body #gform_submit_button_4, html body .contactBtn, html body .footerCta,
html body .reverieBookingWidget .homelocal-booking-widget .hk-button.uk-button-primary, html body .homelocal-booking-widget .hk-button.uk-button-primary,
html body .homelocal-sticky-booking-widget .modal-button, html body .homelocal-checkout button.hk-button-primary {padding-top:2px !important; padding-bottom:0 !important;}
/* One button pink: Fresh Berry, deeper on hover */
html body #hr-explorer-1 .hfse-form-submit-btn, html body #hr-explorer-2 .hfse-form-submit-btn, html body .uk-button-primary, html body .hk-button-primary, html body .hfse-modal-next-button, html body .hfse-apply-additional-filters-btn {background-color:#b56b82 !important; border-color:#b56b82 !important;}
html body #hr-explorer-1 .hfse-form-submit-btn:hover, html body #hr-explorer-2 .hfse-form-submit-btn:hover, html body .uk-button-primary:hover, html body .hk-button-primary:hover, html body .gform_wrapper .gform_button:hover, html body .contactBtn:hover {background-color:#9e5a6f !important; opacity:1 !important;}
html body.page-id-3102 #hr-explorer-1 .hfse-form-submit-btn, html body.page-id-3102 #hr-explorer-1 .hfse-form-submit-field-container .hk-button {padding-top:2px !important; padding-bottom:0 !important; background-color:#b56b82 !important; font-weight:400 !important; letter-spacing:.16em !important; font-size:13px !important;}
html body.page-id-3102 #hr-explorer-1 .hfse-form-submit-btn:hover {background-color:#9e5a6f !important;}

/** TRAVEL JOURNAL (page 1221) **/
.journalFilter {display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 44px;}
.journalFilter a {font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#203350; text-decoration:none !important; padding:11px 18px 9px; border:1px solid #d9cdb7; border-radius:4px; transition:all .2s; line-height:1;}
.journalFilter a:hover {border-color:#b56b82; color:#b56b82;}
.journalFilter a.on {background:#203350; border-color:#203350; color:#fff;}
.journalGrid {display:grid; grid-template-columns:repeat(3,1fr); gap:32px 28px;}
.journalCard {background:#fff; border:1px solid #e8decf; border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .3s, transform .3s;}
.journalCard:hover {box-shadow:0 18px 40px rgba(15,29,48,.10); transform:translateY(-3px);}
.journalCard .jcImg {display:block; aspect-ratio:3/2; overflow:hidden; background:#e8decf;}
.journalCard .jcImg img {width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease;}
.journalCard:hover .jcImg img {transform:scale(1.04);}
.journalCard .jcBody {padding:26px 28px 28px; display:flex; flex-direction:column; flex:1;}
.journalCard .jcCat {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#967c6b; font-weight:600; margin-bottom:10px;}
.journalCard .jcTitle {font-family:LuxentaSemBd, 'Azo Sans', sans-serif !important; font-weight:400 !important; font-size:23px !important; line-height:1.25 !important; margin:0 0 10px !important;}
.journalCard .jcTitle a {color:#203350 !important; text-decoration:none !important;}
.journalCard .jcTitle a:hover {color:#b56b82 !important;}
.journalCard .jcMeta {font-size:12px; color:#9a9283; letter-spacing:.04em; margin:0 0 14px !important; padding:0 !important;}
.journalCard .jcExcerpt {font-size:15px; line-height:1.65; color:#4a5468; margin:0 0 20px !important; padding:0 !important;}
.journalCard .jcMore {margin-top:auto; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#b56b82 !important; text-decoration:none !important; display:inline-flex; align-items:center; gap:10px;}
.journalCard .jcMore::after {content:''; width:26px; height:1px; background:currentColor; transition:width .3s;}
.journalCard .jcMore:hover::after {width:40px;}
.journalCard.isFeatured {grid-column:1 / -1; display:grid; grid-template-columns:1.35fr 1fr;}
.journalCard.isFeatured .jcImg {aspect-ratio:auto; min-height:420px;}
.journalCard.isFeatured .jcBody {padding:48px 50px; justify-content:center;}
.journalCard.isFeatured .jcTitle {font-size:34px !important;}
.journalCard.isFeatured .jcExcerpt {font-size:16px;}
.journalPages {display:flex; justify-content:center; gap:8px; margin-top:50px;}
.journalPages a {width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d9cdb7; border-radius:4px; color:#203350 !important; text-decoration:none !important; font-size:14px; padding-top:2px;}
.journalPages a.on, .journalPages a:hover {background:#203350; border-color:#203350; color:#fff !important;}
.journalEmpty {text-align:center; color:#6a7385;}
@media (max-width:999px){ .journalGrid {grid-template-columns:repeat(2,1fr);} .journalCard.isFeatured {grid-template-columns:1fr;} .journalCard.isFeatured .jcImg {min-height:0; aspect-ratio:16/10;} .journalCard.isFeatured .jcBody {padding:30px 28px;} .journalCard.isFeatured .jcTitle {font-size:28px !important;} }
@media (max-width:640px){ .journalGrid {grid-template-columns:1fr; gap:22px;} .journalFilter {justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; margin:0 -16px 30px; padding:0 16px 6px;} .journalFilter a {flex:none;} }


/* =====================================================================
   ELEMENTOR SYSTEM (Hello Elementor + Elementor Pro)
   Global colours/fonts/buttons live in Elementor > Site Settings.
   Classes below are added in the editor via Advanced > CSS Classes.
   ===================================================================== */
:root {--rv-ocean:#203350; --rv-ash:#0F1D30; --rv-jungle:#264653; --rv-berry:#B56B82; --rv-berry-deep:#9E5A6F; --rv-champagne:#D0C09D; --rv-dirt:#967C6B; --rv-sand:#E8DECF; --rv-sand-light:#F7F3EC; --rv-text:#4A5468;}
body {background:#fff; color:var(--rv-text);}
.page-header .entry-title, body.elementor-page .page-header {display:none;}
img {max-width:100%; height:auto;}
.elementor-widget-image img.rvRadius, .rvRadius img {border-radius:5px;}

/* Eyebrow labels: Heading widget (h5) + class "eyebrow"; add "eyebrowLight" on dark bands,
   "eyebrowFlower" for a page's first section, "eyebrowScript" for the rare hand-script label */
.eyebrow .elementor-heading-title {display:inline-flex; align-items:center; gap:14px; font-family:'Azo Sans',sans-serif; font-weight:600; font-size:12px; letter-spacing:.28em; text-transform:uppercase; line-height:1.4; color:var(--rv-dirt); margin:0;}
.eyebrow .elementor-heading-title::before, .eyebrow .elementor-heading-title::after {content:''; flex:0 0 34px; width:34px; height:1px; background:#C9B48F;}
.eyebrowLight .elementor-heading-title {color:var(--rv-champagne);}
.eyebrowLight .elementor-heading-title::before, .eyebrowLight .elementor-heading-title::after {background:rgba(208,192,157,.6);}
.eyebrowFlower .elementor-heading-title {padding-top:30px; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201080%201080%27%3E%3Cpath%20fill%3D%27%23b56b82%27%20d%3D%27M832.51%2C490.59c61.95%2C14.24%2C282.5%2C173.54%2C242.72%2C278.01-39.78%2C104.47-220.33%2C94.87-317.31-23.49-31.27%2C151.94-95.56%2C233.85-150.15%2C236.56-54.59%2C2.7-199.63-24.18-161.92-299.91-122.55%2C123.89-278.9%2C166.44-310.77%2C99.83-31.87-66.61%2C35.82-156.92%2C165.3-220.33C9.16%2C418.92-20.74%2C301.61%2C9.21%2C206.83c50.26-159.06%2C462.6%2C29.52%2C529.92%2C171.01%2C68.92-241.93%2C148.43-292.66%2C234.87-277.1%2C86.44%2C15.56%2C144.63%2C102.72%2C58.52%2C389.85Z%27/%3E%3C/svg%3E") center top/18px 18px no-repeat;}
.eyebrowScript .elementor-heading-title {font-family:LogoFont,cursive; font-weight:400; font-size:44px; letter-spacing:0; text-transform:lowercase; line-height:1; transform:rotate(-3deg); position:relative; z-index:2;}
.eyebrowScript .elementor-heading-title::before, .eyebrowScript .elementor-heading-title::after {display:none;}
@media (max-width:767px){ .eyebrow .elementor-heading-title {font-size:11px; letter-spacing:.22em; gap:10px;} .eyebrow .elementor-heading-title::before, .eyebrow .elementor-heading-title::after {flex-basis:22px; width:22px;} .eyebrowScript .elementor-heading-title {font-size:34px;} }

/* Script hero headline: Heading widget + class "heroScript" (writes itself in) */
.heroScript .elementor-heading-title {font-family:LogoFont,cursive; font-weight:400; line-height:1; animation:heroScriptWrite 2.4s cubic-bezier(.65,0,.35,1) .1s both; text-shadow:0 4px 30px rgba(15,29,48,.35);}
.heroFade {animation:heroFadeUp 1.2s ease 1.9s both;}
.heroFadeLate {animation:heroFadeUp 1s ease 2.6s both;}
@media (prefers-reduced-motion:reduce){ .heroScript .elementor-heading-title, .heroFade, .heroFadeLate {animation:none;} }

/* Buttons: flex-centred, label trimmed to cap height so it sits in the exact middle */
.elementor-button {display:inline-flex !important; align-items:center; justify-content:center; min-height:50px; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important;}
.elementor-button .elementor-button-content-wrapper, .elementor-button .elementor-button-text {line-height:1; text-box:trim-both cap alphabetic;}
.btnSmall .elementor-button {min-height:42px; font-size:12px !important; padding-left:24px !important; padding-right:24px !important;}
.btnOutline .elementor-button {background:transparent !important; color:var(--rv-ocean) !important; border:1px solid var(--rv-ocean) !important;}
.btnOutline .elementor-button:hover {background:var(--rv-berry) !important; border-color:var(--rv-berry) !important; color:#fff !important;}
.btnOutlineLight .elementor-button {background:transparent !important; color:#fff !important; border:1px solid #fff !important;}
.btnOutlineLight .elementor-button:hover {background:#fff !important; color:var(--rv-ocean) !important;}
.btnNavy .elementor-button {background:var(--rv-ocean) !important;} .btnNavy .elementor-button:hover {background:var(--rv-berry) !important;}
/* Text-link CTA ("Learn more" style) */
.linkCta a, a.linkCta {display:inline-flex; align-items:center; gap:12px; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--rv-ocean) !important; text-decoration:none !important;}
.linkCta a::after, a.linkCta::after {content:''; width:26px; height:1px; background:currentColor; transition:width .3s;}
.linkCta a:hover::after, a.linkCta:hover::after {width:40px;}

/* Cards & panels: 6px; photos 5px */
.rvCard {background:#fff; border:1px solid var(--rv-sand); border-radius:6px; overflow:hidden;}

/* ===================== HEADER (Elementor Theme Builder) ===================== */
.elementor-location-header {position:fixed; top:0; left:0; right:0; z-index:999;}
body.admin-bar .elementor-location-header {top:32px;}
@media (max-width:782px){ body.admin-bar .elementor-location-header {top:46px;} }
.rvHeader {transition:background-color .35s ease, padding .35s ease, box-shadow .35s ease; background:linear-gradient(180deg, rgba(15,29,48,.45), rgba(15,29,48,0)) !important;}
body.rvScrolled .rvHeader, body:not(.elementor-page) .rvHeader {background:#0F1D30 !important; box-shadow:0 6px 24px rgba(15,29,48,.18); padding-top:12px !important; padding-bottom:12px !important;}
body:not(.elementor-page) .site-main {padding-top:120px;}
.rvLogo img {transition:width .35s ease;}
body.rvScrolled .rvLogo img {width:140px !important;}
/* hamburger */
.rvBurger {display:inline-flex; flex-direction:column; justify-content:center; gap:6px; width:30px; height:30px; cursor:pointer;}
.rvBurger span {display:block; height:1.5px; background:#fff; width:30px; transition:width .3s;}
.rvBurger span:nth-child(2) {width:22px;} .rvBurger:hover span:nth-child(2) {width:30px;}
/* Start Your Journey dropdown */
.rvJourney {position:relative;}
.rvJourneyBtn {display:inline-flex; align-items:center; gap:10px; background:#B56B82; color:#fff; border:0; border-radius:4px; min-height:42px; padding:2px 20px 0; font-family:'Azo Sans',sans-serif; font-size:13px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background .25s;}
.rvJourneyBtn:hover, .rvJourney.open .rvJourneyBtn {background:#9E5A6F;}
.rvChev {width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-3px); transition:transform .25s;}
.rvJourney.open .rvChev {transform:rotate(-135deg) translateY(-1px);}
.rvJourneyList {position:absolute; right:0; top:calc(100% + 10px); min-width:230px; background:#fff; border-radius:6px; box-shadow:0 18px 40px rgba(15,29,48,.22); list-style:none; margin:0; padding:8px 0; opacity:0; visibility:hidden; transform:translateY(-6px); transition:all .25s;}
.rvJourney.open .rvJourneyList {opacity:1; visibility:visible; transform:none;}
@media (hover:hover){ .rvJourney:hover .rvJourneyList {opacity:1; visibility:visible; transform:none;} .rvJourney:hover .rvJourneyBtn {background:#9E5A6F;} .rvJourney::after {content:''; position:absolute; left:0; right:0; top:100%; height:12px;} }
.rvJourneyList li {margin:0; padding:0; list-style:none;}
.rvJourneyList a {display:block; padding:12px 22px; color:#203350 !important; font-size:13px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none !important; transition:background .2s, color .2s;}
.rvJourneyList a:hover {background:#F7F3EC; color:#B56B82 !important;}

/* ===================== SLIDE-OUT MENU (popup) ===================== */
.rvPanel {color:#fff;}
.rvMenu ul {list-style:none; margin:0; padding:0;}
.rvMenu > ul > li {margin:0 0 6px; padding:0; position:relative;}
.rvMenu > ul > li > a {display:inline-block; font-family:'Azo Sans',sans-serif; font-size:26px; line-height:1.5; color:#fff !important; text-decoration:none !important; transition:color .2s;}
.rvMenu > ul > li > a:hover, .rvMenu li.open > a {color:#D0C09D !important;}
.rvSubToggle {position:absolute; right:0; top:8px; width:28px; height:28px; background:none; border:0; padding:0; cursor:pointer;}
.rvSubToggle span {display:block; width:9px; height:9px; margin:6px auto 0; border-right:1.5px solid #fff; border-bottom:1.5px solid #fff; transform:rotate(45deg); transition:transform .25s;}
.rvMenu li.open .rvSubToggle span {transform:rotate(-135deg); margin-top:10px;}
.rvSub {max-height:0; overflow:hidden; transition:max-height .35s ease;}
.rvMenu li.open .rvSub {max-height:400px;}
.rvSub li {margin:0; padding:0;}
.rvSub li:first-child {padding-top:6px;} .rvSub li:last-child {padding-bottom:10px;}
.rvSub a {display:block; padding:6px 0 6px 16px; border-left:1px solid rgba(208,192,157,.4); font-size:16px; color:rgba(255,255,255,.8) !important; text-decoration:none !important;}
.rvSub a:hover {color:#fff !important; border-left-color:#D0C09D;}
.rvMenuSmall {margin-top:26px !important; padding-top:26px !important; border-top:1px solid rgba(255,255,255,.6);}
.rvMenuSmall li {margin:0 0 10px !important;}
.rvMenuSmall a {font-size:16px !important; line-height:1.6 !important;}
.rvMenuFoot {margin-top:40px;}
.rvMenuFoot p {font-size:12px; color:rgba(255,255,255,.7); margin:0;}
.elementor-popup-modal .dialog-close-button {top:28px !important;}

/* ===================== FOOTER adjustments for Elementor ===================== */
.footerNews .newsTitle {color:#fff;}
.footerCustom h3 {font-family:'Azo Sans',sans-serif !important; font-size:12px !important; letter-spacing:.2em; text-transform:uppercase; color:#D0C09D !important; font-weight:400 !important; margin:0 0 18px;}
.footerCustom ul {list-style:none; margin:0; padding:0;}
.footerBottom p {margin:0; font-size:13px; color:rgba(255,255,255,.6);}
.footerBottom .footerLegal a {color:rgba(255,255,255,.75) !important; margin-left:24px; text-decoration:none;}
.footerBottom .footerLegal a:hover {color:#fff !important;}
@media (max-width:767px){ .footerBottom {justify-content:center !important; text-align:center;} .footerBottom .footerLegal a {margin:0 10px;} }

/* button-reset for menu controls (global button style must not apply) */
.rvSubToggle, .rvSubToggle:hover, .rvSubToggle:focus {background:none !important; border:0 !important; box-shadow:none !important; min-height:0 !important; padding:0 !important;}
.rvBurger:focus {outline:none;} .rvBurger:focus-visible {outline:1px solid #D0C09D; outline-offset:6px;}
.footerCustom p, .footerCustom .footerBlurb {color:rgba(255,255,255,.85);} .footerCustom .footerParent {color:rgba(255,255,255,.55) !important; opacity:1 !important;}
.footerNews h3.newsTitle {font-family:LuxentaSemBd,'Azo Sans',sans-serif !important; font-weight:400 !important;}

/* ===================== HOUSE PAGES (Elementor) ===================== */
.rvHead {margin-left:auto !important; margin-right:auto !important; margin-bottom:46px !important; text-align:center;}
.rvHead .elementor-widget-text-editor p {margin:0;}
.rvIntro p {font-size:16px;}
.e-con.e-grid {grid-template-rows:none !important; grid-auto-rows:auto;}
/* hero */
.houseHero .heroTagline p {margin:0 0 4px;}
.houseHero .heroStats {display:flex; flex-wrap:wrap; gap:6px 4px; margin-top:16px;}
.houseHero .heroStats .amenityIcon {color:#fff !important; font-size:13px; letter-spacing:.04em; opacity:.92;}
.houseHero .heroStats .amenityIcon i:before {color:#fff;}
.heroBook {backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);}
.heroBook .elementor-heading-title {margin-bottom:2px;}
.heroBook .homelocal-booking-widget, .heroBook .homelocal-booking-widget .rent-unit, .heroBook .homelocal-booking-widget .total-nights, .heroBook .homelocal-booking-widget .total, .heroBook .homelocal-booking-widget .price {color:#fff !important;}
.heroBook .homelocal-booking-widget .hk-input, .heroBook .homelocal-booking-widget .hk-select, .heroBook .homelocal-booking-widget select {background:rgba(255,255,255,.08) !important; color:#fff !important; border:1px solid rgba(255,255,255,.35) !important;}
.heroBook .homelocal-booking-widget .hk-select option {color:#0F1D30;}
.heroBook .homelocal-booking-widget ::placeholder {color:rgba(255,255,255,.7) !important;}
/* overview */
.overviewText .guideBody p {margin:0 0 14px;}
/* feature tiles */
.hlTile {background:#fff; border-radius:6px; padding:30px 28px 26px !important; transition:transform .3s, box-shadow .3s;}
.hlTile:hover {transform:translateY(-3px); box-shadow:0 16px 34px rgba(15,29,48,.08);}
.hlTile .hlIcon i:before {font-size:52px; color:#1C607D; line-height:1;}
.hlTile .hlIcon {margin-bottom:14px;}
.hlTile h3.deepOcean {margin:0 0 8px !important;}
.hlTile p {font-size:14px; line-height:1.6; color:#5A6476; margin:0;}
/* gallery */
.houseGallery .e-gallery-image {border-radius:5px;}
/* quote band */
.quoteBand .quoteStars, .quoteBand .quoteText, .quoteBand .quoteBy {text-align:center;}
.quoteBand .elementor-widget-html {width:100%;}
.quoteBand > .e-con-inner > .e-con {margin-left:auto !important; margin-right:auto !important;}
/* bedrooms */
.roomGrid > .roomCard {width:calc((100% - 44px) / 3); background:#fff; border-top:3px solid #B56B82; border-radius:0 0 6px 6px; padding:26px 28px 22px !important;}
.roomCard .roomTop h5 {margin:0 0 10px; color:#B56B82 !important;}
.roomCard .roomTop {padding:0 !important;}
.roomCard h3.deepOcean {margin:0 0 4px !important;}
.roomCard .roomBeds {margin:0; font-weight:600; color:#1C607D;}
.roomCard p:not(.roomBeds) {font-size:14px; color:#5A6476; margin:10px 0 0;}
@media (max-width:1024px){ .roomGrid > .roomCard {width:calc((100% - 22px) / 2);} }
@media (max-width:767px){ .roomGrid > .roomCard {width:100%;} }
/* amenities (dark) */
.guideDark .amenCol, .guideDark .amenCol li, .guideDark .amenNote, .guideDark .amenNote p {color:rgba(255,255,255,.82) !important;}
.guideDark .amenCol h5 {color:#D0C09D !important; padding-bottom:12px; border-bottom:1px solid rgba(208,192,157,.35); margin:0 0 14px !important;}
.guideDark .amenCol ul {margin:0; padding:0; list-style:none;}
.guideDark .amenCol li {position:relative; padding:0 0 0 22px; margin:0 0 9px; font-size:14px; line-height:1.5;}
.guideDark .amenCol li:before {content:''; position:absolute; left:2px; top:5px; width:9px; height:5px; border-left:1.5px solid #D0C09D; border-bottom:1.5px solid #D0C09D; transform:rotate(-45deg);}
.guideDark .amenNote {margin-top:36px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); font-size:14px; text-align:center;}
.guideDark .amenNote a {color:#D0C09D !important;}
.guideDark .guideDarkIcon {text-align:center; margin-bottom:10px;} .guideDark .guideDarkIcon i:before {color:#D0C09D;}
/* location + calendar */
.locMapCol .reverieMap {border-radius:6px; overflow:hidden;}
/* explore cards */
.guideCard .elementor-widget-image img {aspect-ratio:3/2; object-fit:cover; width:100%;}
.guideCard h3.deepOcean {margin:14px 0 6px !important;}
.guideCard p {font-size:14px; color:#5A6476; margin:0 0 12px;}

/* ===================== PAGES (Elementor) ===================== */
.rvHead .rvIntro p + p {margin-top:14px;}
.guideStep.e-con {background:#fff; border-radius:6px; padding:34px 30px 28px !important; position:relative; transition:transform .3s, box-shadow .3s;}
.guideStep.e-con:hover {transform:translateY(-3px); box-shadow:0 16px 34px rgba(15,29,48,.08);}
.guideStep .elementor-widget-html {position:static;}
.showText .elementor-widget-shortcode .showPrice {margin:18px 0 6px !important;}
.showText > .e-con-inner > .e-con:last-child, .showText > .e-con:last-child {margin-top:8px;}
.ohHero .elementor-shape-bottom {z-index:1;}
.ohHero > .e-con-inner {position:relative; z-index:2;}
@media (max-width:999px){ .showImg.e-con {margin-bottom:0 !important;} }
@media (max-width:767px){
  .jungleBand .whyStats {gap:26px 18px;} .jungleBand .whyStats div {flex:1 1 40%;}
  .showText .e-con:has(> .elementor-widget-button) {flex-wrap:nowrap !important; gap:10px !important;}
  .showText .e-con:has(> .elementor-widget-button) > .elementor-widget-button {flex:1 1 0; margin:0 !important;}
  .showText .e-con:has(> .elementor-widget-button) .elementor-button {width:100%; padding-left:10px; padding-right:10px;}
}
/* checkout: undo kit button styling on HomeRunner's phone country picker, plain rule bullets */
html body .iti__selected-country, html body .iti__selected-country:hover {background:transparent !important; color:#203350 !important; border:0 !important; box-shadow:none !important; padding:0 8px 0 12px !important; min-height:0; letter-spacing:0; text-transform:none;}
.homelocal-checkout li.hk-list-bullet, .homelocal-checkout .hk-list li {list-style:none !important;}
.checkoutHero .eyebrow {margin-bottom:4px;}
@media (max-width:767px){ .checkoutSteps li.sep {width:18px;} .checkoutSteps {gap:8px;} .checkoutSteps li {font-size:10px; letter-spacing:.1em;} }
.checkout-notice.hk-width-large {width:auto !important; max-width:100% !important;}
/* ---- Home ---- */
.btnLight .elementor-button {background:#fff !important; color:var(--rv-ocean) !important; border:1px solid #fff !important;}
.btnLight .elementor-button:hover {background:var(--rv-berry) !important; border-color:var(--rv-berry) !important; color:#fff !important;}
.rvHeadLeft .elementor-widget-text-editor p {margin:0;}
.homeHero .heroScript .elementor-heading-title {text-shadow:0 4px 30px rgba(15,29,48,.35);}
.homeHeroSearch {width:100%;}
.homeCard .elementor-widget-image img {aspect-ratio:3/2; object-fit:cover; width:100%;}
.homeCard .homeCardTitle {margin-top:10px;}
.homeCard .amenityIcon {color:#203350; display:inline-block; margin:0 0 6px;}
.homeCard .amenityIcon i:before {color:#1C607D;}
.homeTile {position:relative; overflow:hidden; transition:transform .4s;}
.homeTile:hover {transform:translateY(-3px);}
.homeTile .cost {position:absolute; top:18px; left:18px; background:rgba(255,255,255,.18); backdrop-filter:blur(4px); color:#fff; font-size:14px; letter-spacing:.04em; padding:5px 12px; border-radius:4px;}
.homeTile .rating {position:absolute; top:18px; right:18px; background:rgba(255,255,255,.18); backdrop-filter:blur(4px); color:#fff; padding:5px 10px; border-radius:4px; line-height:1;}
.homeTile .rating i:before {font-size:12px; color:#fff; margin:0;}
.homeTile .elementor-widget-html:first-child {position:static;}
.homeTile .tileTitle .elementor-heading-title, .homeTile .tileTitle a {font-family:Vogun,serif; font-weight:400; font-size:34px; color:#fff !important; text-shadow:0 2px 18px rgba(15,29,48,.35);}
.homeTile .tileAmen {text-align:center;} .homeTile .tileAmen .amenityIcon {color:#fff; display:inline-block; padding:0 8px; font-size:12px;} .homeTile .tileAmen i:before {color:#fff;}
.homeTile .elementor-widget-button {align-self:flex-end; margin-top:auto;}
.whyBandInner {border-top:1px solid rgba(255,255,255,.18);}
.whyBandInner .leadin p {font-size:22px; line-height:1.35; margin:0;}
.servIntro h3.bonfireAsh {font-size:22px; margin:6px 0 12px !important; color:#0F1D30;}
.servGrid {padding:42px 0 !important; border-top:1px solid rgba(32,51,80,.15); border-bottom:1px solid rgba(32,51,80,.15);}
.servItem .elementor-widget-html {flex:0 0 64px;}
.servItem .fontIcon i:before {font-size:54px !important; margin:0 !important;}
.servItem h3.dunmore {margin:0 0 8px !important; font-size:21px;}
.servItem p.small {font-size:14px; line-height:1.6; color:#435362; margin:0;}
.servFoot {padding-top:34px !important;}
.servFoot .servClose {flex:1 1 520px;} .servFoot .servClose p {margin:0; color:#435362;}
.rvScroller {overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding-bottom:6px !important;}
.rvScroller::-webkit-scrollbar {display:none;}
.rvScroller > .islCard {flex:0 0 calc((100% - 66px) / 4.3) !important; scroll-snap-align:start; max-width:none !important;}
.islCard .elementor-widget-image img {aspect-ratio:4/5; object-fit:cover; width:100%;}
.islCard h4 {margin:14px 0 6px; font-size:20px;} .islCard p.small {font-size:14px; line-height:1.6; color:#435362; margin:0;}
.rvScrollerNav {display:flex; gap:10px; margin-top:22px;}
.rvScrollerNav button {width:44px; height:44px; border-radius:50% !important; border:1px solid #203350 !important; background:transparent !important; color:#203350 !important; padding:0 !important; font-size:18px; line-height:1; cursor:pointer;}
.rvScrollerNav button:hover {background:#203350 !important; color:#fff !important;}
@media (max-width:1024px){ .rvScroller > .islCard {flex-basis:calc((100% - 22px) / 2.3) !important;} }
@media (max-width:767px){ .rvScroller > .islCard {flex-basis:78% !important;} .homeTile .tileTitle .elementor-heading-title {font-size:28px;} }
.homeQuotes .rvQuotes .elementor-testimonial__content, .homeQuotes .rvQuotes .elementor-testimonial__text {font-family:'Azo Sans',sans-serif; font-size:22px; line-height:1.55; color:#fff !important; font-style:normal;}
.homeQuotes .rvQuotes .elementor-testimonial__name {color:#fff !important; font-size:15px; letter-spacing:.06em; margin-top:18px;}
.homeQuotes .rvQuotes .elementor-testimonial__title {color:#D0C09D !important; font-style:italic; font-size:13px;}
.homeQuotes .rvQuotes .elementor-testimonial__image img {width:64px !important; height:64px !important; border-radius:50%;}
.homeQuotes .rvQuotes .swiper-pagination-bullet {background:#fff; opacity:.4;} .homeQuotes .rvQuotes .swiper-pagination-bullet-active {opacity:1; background:#D0C09D;}
.homeQuotes .rvQuotes .elementor-swiper-button {color:rgba(255,255,255,.7);} .homeQuotes .rvQuotes .elementor-swiper-button svg {fill:rgba(255,255,255,.7);}
.homeQuotes .rvQuotes .swiper {padding-bottom:40px;}
@media (max-width:767px){ .homeQuotes .rvQuotes .elementor-testimonial__text {font-size:17px;} }
.homeQuotes {overflow:hidden;} .homeQuotes .rvQuotes, .homeQuotes .rvQuotes .elementor-main-swiper {overflow:hidden; max-width:100%;}
.whyBandInner .elementor-widget-image img {aspect-ratio:4/3; object-fit:cover; width:100%;}
/* ---- Converted content pages ---- */
.rvLight .elementor-widget-text-editor, .rvLight .elementor-widget-text-editor p, .rvLight .elementor-widget-text-editor li {color:rgba(255,255,255,.85);}
.rvLight .elementor-widget-text-editor h3, .rvLight .elementor-widget-text-editor h4 {color:#fff;}
.rvLight .o80 p, .rvLight .o80 {color:rgba(255,255,255,.82);}
.o80 {opacity:1;} .o80 p {opacity:.85;}
.conciergeHero .leadin p, .conciergeHero p.leadin {color:rgba(255,255,255,.82); font-size:18px; line-height:1.6;}
.conciergeHero .rvHead, .conciergeHero > .e-con-inner > .e-con {margin-bottom:0 !important;}
.heroDown {display:inline-flex; width:46px; height:46px; margin:26px auto 0; border:1px solid rgba(255,255,255,.55); border-radius:50%; align-items:center; justify-content:center; transition:background .3s;}
.heroDown span {width:10px; height:10px; border-right:1.5px solid #fff; border-bottom:1.5px solid #fff; transform:rotate(45deg) translate(-2px,-2px);}
.heroDown:hover {background:rgba(255,255,255,.15);}
.conciergeHero .elementor-widget-html:has(.heroDown) {text-align:center; width:100%;}
.cmpRow.e-con {max-width:1100px; margin:0 auto !important; border-bottom:1px solid #e2ddd5; --gap:0px; gap:0 !important;}
.cmpRow.e-con > .e-con {padding:20px 22px !important;}
.cmpHead.e-con {border-bottom:2px solid #203350;}
.cmpReverie.e-con {background:#F6F2EA;}
.cmpRow .elementor-widget-text-editor p, .cmpRow h5 {margin:0;}
@media (max-width:1024px){ .cmpRow.e-con > .e-con {width:100% !important;} .cmpRow.e-con > .e-con {padding:6px 16px !important;} .cmpRow.e-con {padding:14px 0 !important;} }
.guideStep.e-con, .hlTile.e-con {height:100%;}
.conciergeImg img, .conciergeImg .elementor-widget-image img {width:100%; aspect-ratio:4/5; object-fit:cover;}
@media (max-width:1024px){ .conciergeCat .conciergeImg {order:-1;} .conciergeCat .conciergeImg img {aspect-ratio:3/2;} }
.rvToggles .elementor-tab-title {border-color:#d9d4cb !important; padding:18px 4px !important;}
.rvToggles .elementor-toggle-title {color:#203350; font-family:'Azo Sans',sans-serif; font-weight:500; letter-spacing:.05em;}
.rvToggles .elementor-toggle-item {border-top:1px solid #d9d4cb;} .rvToggles .elementor-toggle-item:last-child {border-bottom:1px solid #d9d4cb;}
.rvToggles .elementor-tab-content {border:0 !important; color:#435362; padding:0 4px 18px !important;}
.rvToggles .elementor-toggle-icon {color:#B56B82;}
.linkCtaLight {color:#fff !important;}
.btnRow .elementor-widget-button {margin:0 !important;}
html body .eyebrowScript .elementor-heading-title {font-family:LogoFont,cursive !important; font-weight:400 !important; letter-spacing:0 !important; text-transform:lowercase !important; font-size:44px !important; color:#967C6B;}
@media (max-width:767px){ html body .eyebrowScript .elementor-heading-title {font-size:34px !important;} }
.eyebrowScript + .elementor-widget-heading {margin-top:-6px;}
html body .cmpRow.e-con + .cmpRow.e-con {margin-top:calc(-1 * var(--gap, 20px)) !important;}
.rvLight .elementor-widget-text-editor p + p, .o80 p + p, .guideBody p + p {margin-top:14px;}
html body .rvToggles .elementor-tab-title {position:relative; display:flex; align-items:center; padding:20px 44px 20px 0 !important; border:0 !important; cursor:pointer;}
html body .rvToggles .elementor-toggle-title, html body .rvToggles .elementor-tab-title a {font-family:'Azo Sans',sans-serif !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:#203350 !important; line-height:1.4 !important;}
html body .rvToggles .elementor-toggle-icon {display:none !important;}
html body .rvToggles .elementor-tab-title::after {content:'+'; position:absolute; right:0; top:50%; width:28px; height:28px; margin-top:-14px; border:1px solid #203350; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; line-height:1; color:#203350; transition:transform .3s, background .3s;}
html body .rvToggles .elementor-tab-title.elementor-active::after {content:'–'; background:#203350; color:#fff;}
html body .rvToggles .elementor-tab-content {font-size:15px; line-height:1.65;}
/* e-con equivalents of WPBakery column-card rules */
.guideNote.e-con {background:#fff; border:1px solid #e2ddd5; border-radius:6px; padding:24px 28px !important; height:100%;}
.guideNoteDark.e-con {background:#203350 !important; border-color:#203350 !important; color:#fff;}
.guideNoteDark.e-con p, .guideNoteDark.e-con h5, .guideNoteDark.e-con li {color:#fff;}
.guideSeason.e-con {border-top:3px solid #B56B82; background:#F6F6F5; border-radius:0 0 6px 6px; padding:30px 28px !important; height:100%;}
.pathCard.e-con {background:#fff; border:1px solid #e2ddd5; border-radius:6px; padding:34px 34px 26px !important; height:100%; position:relative;}
.pathRecommended.e-con {border:2px solid #B56B82;}
.contactAsideCol.e-con {padding-right:30px !important;}
@media (max-width:1024px){ .contactAsideCol.e-con {order:2; padding-right:0 !important;} .contactFormCol.e-con {order:1;} }
.rvHead .elementor-widget-text-editor p + p {margin-top:14px;}
html body .contactFormCard .gfield_radio label.gform-field-label {text-transform:none !important; letter-spacing:0 !important;}
/* ---- Single post (Travel Journal) ---- */
.postHero .postCat .elementor-icon-list-text, .postHero .postCat a {font-family:'Azo Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:#D0C09D !important;}
.postHero .postMeta .elementor-icon-list-text {font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.75);}
.postHero .postMeta .elementor-icon-list-item:not(:last-child):after {border-color:rgba(255,255,255,.35) !important;}
.postHero .postTitle {max-width:900px;}
.postBody {font-size:17px; line-height:1.75; color:#4A5468;}
.postBody p {margin:0 0 1.3em;} .postBody h2 {font-size:34px; margin:1.6em 0 .5em;} .postBody h3 {font-size:26px; margin:1.4em 0 .5em;}
.postBody a {color:#B56B82; text-decoration:underline; text-underline-offset:3px;}
.postBody img {border-radius:5px; height:auto;} .postBody blockquote {border-left:2px solid #B56B82; margin:1.6em 0; padding:4px 0 4px 24px; font-family:Vogun,serif; font-size:24px; line-height:1.45; color:#203350;}
.postNav .elementor-post-navigation {border-color:#e2ddd5 !important; padding:18px 0;}
.postNav .post-navigation__prev--label, .postNav .post-navigation__next--label {font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#967C6B;}
.postNav .post-navigation__prev--title, .postNav .post-navigation__next--title {font-family:LuxentaSemBd,serif; font-size:17px; color:#203350; text-transform:none;}
html body .postNav .post-navigation__prev--label, html body .postNav .post-navigation__next--label {font-family:'Azo Sans',sans-serif !important; font-size:11px !important; line-height:1.4 !important; letter-spacing:.2em !important;}
html body .postNav .post-navigation__prev--title, html body .postNav .post-navigation__next--title {font-family:LuxentaSemBd,serif !important; font-size:17px !important; line-height:1.35 !important; letter-spacing:0 !important; white-space:normal !important;}
html body .postNav .elementor-post-navigation__link a {align-items:center; gap:12px;}
html body .postNav .post-navigation__arrow-wrapper {color:#B56B82; font-size:22px;}
/* ===================== HEADER v2 (matches original Salient behaviour) ===================== */
.elementor-location-header {transition:transform .35s ease;}
body.rvHide .elementor-location-header {transform:translateY(-100%);}
html body .rvHeader {background:transparent !important; box-shadow:none; transition:background-color .3s ease, box-shadow .3s ease; padding-top:22px !important; padding-bottom:22px !important;}
html body.rvScrolled .rvHeader {background:#fff !important; box-shadow:0 0 2px rgba(0,0,0,.14), 0 2px 10px rgba(0,0,0,.05); padding-top:22px !important; padding-bottom:22px !important;}
.rvHeader .rvLogo img, body.rvScrolled .rvHeader .rvLogo img {width:169px !important; height:auto;}
.rvHeader .rvLogoDark {display:none;}
body.rvScrolled .rvHeader .rvLogoDark {display:block;} body.rvScrolled .rvHeader .rvLogoLight {display:none;}
.rvBurger {width:30px; height:21px; gap:0; justify-content:space-between;}
.rvBurger span {height:2px; width:30px !important; background:#fff; transition:background .3s;}
.rvBurger span:nth-child(2) {width:30px;}
body.rvScrolled .rvHeader .rvBurger span {background:#203350;}
/* Start Your Journey button + dropdown */
html body .rvJourneyBtn {font-size:14px; letter-spacing:.5px; font-weight:400; min-height:42px; height:42px; padding:3px 20px 0 20px; gap:12px; border-radius:4px; line-height:1;}
html body .rvJourneyBtn .rvChev {width:6px; height:6px; border-width:0 1.5px 1.5px 0; transform:rotate(45deg) translateY(-2px);}
html body .rvJourney.open .rvJourneyBtn .rvChev {transform:rotate(-135deg) translateY(-1px);}
html body .rvJourneyList {top:100%; left:0; right:0; min-width:0; border:1px solid #A6B8D0; border-radius:4px; box-shadow:0 1px 0 rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.06); padding:0; overflow:hidden; transform:translateY(6px);}
html body .rvJourney::after {height:4px !important;}
html body .rvJourneyList li + li {border-top:1px dotted #ccc;}
html body .rvJourneyList a {font-size:13px; font-weight:500; letter-spacing:normal; line-height:23px; padding:15px 20px; color:#435362 !important;}
html body .rvJourneyList a:hover {background:#F7F3EC; color:#B56B82 !important;}
@media (max-width:767px){
  html body .rvHeader, html body.rvScrolled .rvHeader {padding-top:12px !important; padding-bottom:12px !important;}
  .rvHeader .rvLogo img, body.rvScrolled .rvHeader .rvLogo img {width:145px !important;}
  .rvBurger {width:22px; height:16px;} .rvBurger span {width:22px !important; height:1.5px;}
}
/* Slide-out panel */
#elementor-popup-modal-3396 .dialog-close-button {display:none !important;}
#elementor-popup-modal-3396 .dialog-widget-content {box-shadow:none;}
html body .rvPanel {position:relative;}
html body .rvPanel .rvPanelClose {position:absolute; top:41px; left:28px; z-index:5;}
html body .rvPanel .elementor-widget-html:has(.rvPanelClose) {position:static; height:0; margin:0;}
html body .rvMenu > ul > li {margin:0 0 15px;}
html body .rvMenu > ul > li > a {font-size:24px; line-height:30px;}
html body .rvMenu > ul > li > a:hover, html body .rvMenu li.open > a, html body .rvMenu li.current > a, html body .rvMenu li.hasCurrent > a {color:#B56B82 !important;}
html body .rvSubToggle {top:2px; right:auto; left:calc(100% - 28px);}
html body .rvSub a {border-left:0; padding:5px 0 5px 20px; font-size:16px; line-height:22px; color:#fff !important;}
html body .rvSub a:hover, html body .rvSub li.current a {color:#B56B82 !important;}
html body .rvSub li:first-child {padding-top:10px;} html body .rvSub li:last-child {padding-bottom:4px;}
html body .rvMenuSmall {margin-top:30px !important; padding-top:28px !important; border-top:1px solid rgba(255,255,255,.6);}
html body .rvMenuSmall li {margin:0 0 5px !important;}
html body .rvMenuSmall a {font-size:16px !important; line-height:30px !important;}
html body .rvPanel .elementor-widget-html:has(.rvMenuFoot) {margin-top:auto;}
html body .rvMenuFoot {margin-top:60px;} html body .rvMenuFoot p {font-size:12px; color:#fff; opacity:.9;}
.rvMenu .rvMobOnly {display:none;}
@media (max-width:767px){
  html body .rvPanel .rvPanelClose {top:29px; left:18px;}
  .rvMenu .rvMobOnly {display:block; margin-bottom:40px !important;}
  html body .rvMenuSmall {margin-top:0 !important; padding-top:0 !important; border-top:0;}
  html body .rvMenuSmall li {margin:0 0 5px !important;}
  html body .rvMenuSmall a {font-size:24px !important; line-height:30px !important;}
}

.rvHeadLeft .elementor-widget-html, .rvHeadLeft .elementor-widget-html .elementor-widget-container {line-height:0; display:flex; align-items:center;}
html body .rvPanel .rvMenu {padding-top:26px;}
html body .rvSubToggle {left:178px; right:auto;}
html body .rvMenuSmall {width:88%;}
@media (max-width:767px){
  html body .rvPanel .rvMenu {padding-top:33px;}
  html body .rvMenu > ul > li {margin:0 0 5px;}
  html body .rvSubToggle {left:205px;}
  .rvMenu .rvMobOnly {margin-bottom:44px !important;}
}
