/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 16 2026 | 14:09:37 */
/* ============================================================================
   CUSTOM STYLES — Houzez / Elementor (Header 4)
   ----------------------------------------------------------------------------
   CONTENTS
     1.  Base & Global
     2.  Layout & Containers
     3.  Header (sticky / transparent logic, logo, currency, icons)
     4.  Mobile Menu (trigger + drawer)
     5.  Search & Filters
     6.  Responsive Tweaks (mobile breakpoints)
     7.  Hero & Banners
     8.  Taxonomy / Archive Pages
     9.  Property Listings & Cards
     10. Agents
     11. Carousels
     12. Location CTAs & Locations Grid
     13. Feature Block
     14. Shell Bullets
     15. Booking Calendar
     16. Footer
     17. Fancybox
============================================================================ */


/* ============================================================================
   1. BASE & GLOBAL
============================================================================ */
body {
  background: #fff !important;
}

:root {
	--bip-primary: #389FFE;
	--bip-primary-grey: #666666;
	--bip-light-blue: #9DD0FF;
	--bip-lighter-blue: #c8d8e5; 
	--bip-dark-blue: #0C7CD5;
	--bip-off-white: #F8F5F0
	--bip-light-grey: #CECECE;
}

.top-banner-wrap {
    display: none;
}

/* ============================================================================
   2. LAYOUT & CONTAINERS
============================================================================ */
.e-con > .e-con-inner {
  --bs-gutter-x: 1.5rem;
  --content-width: 1310px;
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  padding-right: calc(var(--bs-gutter-x) * 0.5);
}

/* Content header alignment fix */
.page-title-wrap {
  --bs-gutter-x: 1.5rem;
  --content-width: 1310px;
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  max-width: var(--content-width);
  margin: 0 auto;
  width: 100%;
  order: 10;
}
/* ============================================================================
   2.1 Hero search filters
============================================================================ */

.bip-hero-search__tabs,
.bip-hero-search__shell
{
 transition: all 0.4s;
}

.bip-hero-dropdown__group-label {
	display: none;
}

.bip-hero-dropdown__menu {
    padding: 14px 5px !important;
	max-height: max(400px, 50vh) !important;
	min-width: 240px;
}
label.bip-hero-option {
    font-weight: inherit;
    padding: 6px 8px;
    gap: 8px;
    align-items: center;
}

input.bip-hero-option__input {
    margin: 0;
}

/* ============================================================================
   3. HEADER
   ----------------------------------------------------------------------------
   .transparent-yes → 					transparent header that overlays content (fixed);
                      					becomes solid white when scrolled
   .transparent-no or transparent-  → 	solid white header in the normal flow (takes up space),
                      					sticks on scroll, always shows the scrolled look
   .header-stuck    → 					scrolled state (added by JS); repaints transparent-yes
============================================================================ */

/* Add padding for admin bar */
body.admin-bar:not(.header-stuck) .custom-sticky-header {
    padding-top:32px;
}

header .elementor-social-icon {
    background-color: var(--bip-primary) !important;
}



/* --- Sticky / transparent logic --- */

.custom-sticky-header button.btn.dropdown-toggle {
    color: var(--bip-primary) !important;
}

/* transparent */

.transparent-yes:not(.header-stuck) .custom-sticky-header button.btn.dropdown-toggle {
    color: white !important;
}
.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon svg {
    fill: var(--bip-primary) !important;
}
.transparent-yes:not(.header-stuck) header .elementor-social-icon {
    background-color: white !important;
}

.transparent-yes:not(.header-stuck) #mobile-menu-trigger {
    fill: white;
}

/* Shared base — position is set per-context below */
.custom-sticky-header {
  width: 100%;
  z-index: 9999;
  padding: 12px 0;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  .custom-sticky-header {
    padding: 30px 0;
  }
}

/* Transparent overlay — only "Main Menu Transparent = Yes" pages */
.transparent-yes .custom-sticky-header {
  position: fixed;
  background: transparent;
}

/* Solid header — "Main Menu Transparent = No" pages.
   Uses the same fixed positioning the header is built for, so it
   renders correctly; space is reserved below via body padding. */
.transparent-no .custom-sticky-header,
.transparent- .custom-sticky-header
{
  position: fixed;
  top: 0;
  left: 0;
  padding: 12px 0;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Scrolled state (JS adds .header-stuck) — repaints transparent-yes.
   transparent-no already matches this, so it's a no-op there. */
.header-stuck .custom-sticky-header {
  padding: 12px 0;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Logo / social swap */
.sticky-logo {
  display: none;
}
.header-stuck .sticky-logo,
.header-stuck .sticky-social,
.transparent-no .sticky-logo,
.transparent-no .sticky-social,
.transparent- .sticky-logo,
.transparent- .sticky-social 
{
  display: block;
}
.header-stuck .non-sticky-logo,
.header-stuck .non-sticky-social,
.transparent-no .non-sticky-logo,
.transparent-no .non-sticky-social,
.transparent- .non-sticky-logo,
.transparent- .non-sticky-social
{
  display: none;
}

/* Logo / icon recolour (scrolled look) */
/* .header-stuck header .logo,
.header-stuck header svg,
.header-stuck header .houzez-icon,
.header-stuck header .currency-switcher,
.transparent-no header .logo,
.transparent-no header svg,
.transparent-no header .houzez-icon,
.transparent-no header .currency-switcher,
.transparent- header .logo,
.transparent- header svg,
.transparent- header .houzez-icon,
.transparent- header .currency-switcher
{
  filter: invert(64%) sepia(53%) saturate(1683%) hue-rotate(182deg)
    brightness(101%) contrast(96%);
	
} */

/* --- Logo --- */
.logo,
.logo-splash {
  margin-right: 0;
  text-align: center;
}

/* --- Currency switcher --- */
.currency-switcher-wrap button {
  color: #fff !important;
}
.currency-switcher .btn {
  border-color: transparent;
  padding-left: 8px;
  padding-right: 8px;
}

/* --- Misc header --- */
.houzez-menu-toggle-button {
  justify-content: flex-start;
}
.header-icons {
  width: auto;
}

/* Knockout social icons on the transparent (non-stuck) header. */
/* Each glyph is punched out of its white circle so the hero shows through. */

.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon {
  background-color: #fff;        /* the badge fill that stays — change to taste */
}

/* hide the original inline glyph so it can't fringe the cutout */
.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon svg {
  opacity: 0;
}

.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon-facebook {
  -webkit-mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M504%20256C504%20119%20393%208%20256%208S8%20119%208%20256c0%20123.78%2090.69%20226.38%20209.25%20245V327.69h-63V256h63v-54.64c0-62.15%2037-96.48%2093.67-96.48%2027.14%200%2055.52%204.84%2055.52%204.84v61h-31.28c-30.8%200-40.41%2019.12-40.41%2038.73V256h68.78l-11%2071.69h-57.78V501C413.31%20482.38%20504%20379.78%20504%20256z'/%3E%3C/svg%3E") center / 58% no-repeat;
          mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M504%20256C504%20119%20393%208%20256%208S8%20119%208%20256c0%20123.78%2090.69%20226.38%20209.25%20245V327.69h-63V256h63v-54.64c0-62.15%2037-96.48%2093.67-96.48%2027.14%200%2055.52%204.84%2055.52%204.84v61h-31.28c-30.8%200-40.41%2019.12-40.41%2038.73V256h68.78l-11%2071.69h-57.78V501C413.31%20482.38%20504%20379.78%20504%20256z'/%3E%3C/svg%3E") center / 58% no-repeat;
  -webkit-mask-composite: xor;     /* MUST come after the shorthand above */
          mask-composite: exclude; /* shorthand resets composite otherwise */
}

.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon-instagram {
  -webkit-mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20d='M224.1%20141c-63.6%200-114.9%2051.3-114.9%20114.9s51.3%20114.9%20114.9%20114.9S339%20319.5%20339%20255.9%20287.7%20141%20224.1%20141zm0%20189.6c-41.1%200-74.7-33.5-74.7-74.7s33.5-74.7%2074.7-74.7%2074.7%2033.5%2074.7%2074.7-33.6%2074.7-74.7%2074.7zm146.4-194.3c0%2014.9-12%2026.8-26.8%2026.8-14.9%200-26.8-12-26.8-26.8s12-26.8%2026.8-26.8%2026.8%2012%2026.8%2026.8zm76.1%2027.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9%200-35.8%201.7-67.6%209.9-93.9%2036.1s-34.4%2058-36.2%2093.9c-2.1%2037-2.1%20147.9%200%20184.9%201.7%2035.9%209.9%2067.7%2036.2%2093.9s58%2034.4%2093.9%2036.2c37%202.1%20147.9%202.1%20184.9%200%2035.9-1.7%2067.7-9.9%2093.9-36.2%2026.2-26.2%2034.4-58%2036.2-93.9%202.1-37%202.1-147.8%200-184.8zM398.8%20388c-7.8%2019.6-22.9%2034.7-42.6%2042.6-29.5%2011.7-99.5%209-132.1%209s-102.7%202.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7%209-132.1c7.8-19.6%2022.9-34.7%2042.6-42.6%2029.5-11.7%2099.5-9%20132.1-9s102.7-2.6%20132.1%209c19.6%207.8%2034.7%2022.9%2042.6%2042.6%2011.7%2029.5%209%2099.5%209%20132.1s2.7%20102.7-9%20132.1z'/%3E%3C/svg%3E") center / 58% no-repeat;
          mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20d='M224.1%20141c-63.6%200-114.9%2051.3-114.9%20114.9s51.3%20114.9%20114.9%20114.9S339%20319.5%20339%20255.9%20287.7%20141%20224.1%20141zm0%20189.6c-41.1%200-74.7-33.5-74.7-74.7s33.5-74.7%2074.7-74.7%2074.7%2033.5%2074.7%2074.7-33.6%2074.7-74.7%2074.7zm146.4-194.3c0%2014.9-12%2026.8-26.8%2026.8-14.9%200-26.8-12-26.8-26.8s12-26.8%2026.8-26.8%2026.8%2012%2026.8%2026.8zm76.1%2027.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9%200-35.8%201.7-67.6%209.9-93.9%2036.1s-34.4%2058-36.2%2093.9c-2.1%2037-2.1%20147.9%200%20184.9%201.7%2035.9%209.9%2067.7%2036.2%2093.9s58%2034.4%2093.9%2036.2c37%202.1%20147.9%202.1%20184.9%200%2035.9-1.7%2067.7-9.9%2093.9-36.2%2026.2-26.2%2034.4-58%2036.2-93.9%202.1-37%202.1-147.8%200-184.8zM398.8%20388c-7.8%2019.6-22.9%2034.7-42.6%2042.6-29.5%2011.7-99.5%209-132.1%209s-102.7%202.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7%209-132.1c7.8-19.6%2022.9-34.7%2042.6-42.6%2029.5-11.7%2099.5-9%20132.1-9s102.7-2.6%20132.1%209c19.6%207.8%2034.7%2022.9%2042.6%2042.6%2011.7%2029.5%209%2099.5%209%20132.1s2.7%20102.7-9%20132.1z'/%3E%3C/svg%3E") center / 58% no-repeat;
  -webkit-mask-composite: xor;     /* MUST come after the shorthand above */
          mask-composite: exclude; /* shorthand resets composite otherwise */
}

.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon-youtube {
  -webkit-mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20512'%3E%3Cpath%20d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3E%3C/svg%3E") center / 58% no-repeat;
          mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20512'%3E%3Cpath%20d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3E%3C/svg%3E") center / 58% no-repeat;
  -webkit-mask-composite: xor;     /* MUST come after the shorthand above */
          mask-composite: exclude; /* shorthand resets composite otherwise */
}

.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon-envelope {
  -webkit-mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M502.3%20190.8c3.9-3.1%209.7-.2%209.7%204.7V400c0%2026.5-21.5%2048-48%2048H48c-26.5%200-48-21.5-48-48V195.6c0-5%205.7-7.8%209.7-4.7%2022.4%2017.4%2052.1%2039.5%20154.1%20113.6%2021.1%2015.4%2056.7%2047.8%2092.2%2047.6%2035.7.3%2072-32.8%2092.3-47.6%20102-74.1%20131.6-96.3%20154-113.7zM256%20320c23.2.4%2056.6-29.2%2073.4-41.4%20132.7-96.3%20142.8-104.7%20173.4-128.7%205.8-4.5%209.2-11.5%209.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5%2064%200%2085.5%200%20112v19c0%207.4%203.4%2014.3%209.2%2018.9%2030.6%2023.9%2040.7%2032.4%20173.4%20128.7%2016.8%2012.2%2050.2%2041.8%2073.4%2041.4z'/%3E%3C/svg%3E") center / 58% no-repeat;
          mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M502.3%20190.8c3.9-3.1%209.7-.2%209.7%204.7V400c0%2026.5-21.5%2048-48%2048H48c-26.5%200-48-21.5-48-48V195.6c0-5%205.7-7.8%209.7-4.7%2022.4%2017.4%2052.1%2039.5%20154.1%20113.6%2021.1%2015.4%2056.7%2047.8%2092.2%2047.6%2035.7.3%2072-32.8%2092.3-47.6%20102-74.1%20131.6-96.3%20154-113.7zM256%20320c23.2.4%2056.6-29.2%2073.4-41.4%20132.7-96.3%20142.8-104.7%20173.4-128.7%205.8-4.5%209.2-11.5%209.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5%2064%200%2085.5%200%20112v19c0%207.4%203.4%2014.3%209.2%2018.9%2030.6%2023.9%2040.7%2032.4%20173.4%20128.7%2016.8%2012.2%2050.2%2041.8%2073.4%2041.4z'/%3E%3C/svg%3E") center / 58% no-repeat;
  -webkit-mask-composite: xor;     /* MUST come after the shorthand above */
          mask-composite: exclude; /* shorthand resets composite otherwise */
}

.transparent-yes:not(.header-stuck) .custom-sticky-header .elementor-social-icon-phone-alt {
  -webkit-mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M497.39%20361.8l-112-48a24%2024%200%200%200-28%206.9l-49.6%2060.6A370.66%20370.66%200%200%201%20130.6%20204.11l60.6-49.6a23.94%2023.94%200%200%200%206.9-28l-48-112A24.16%2024.16%200%200%200%20122.6.61l-104%2024A24%2024%200%200%200%200%2048c0%20256.5%20207.9%20464%20464%20464a24%2024%200%200%200%2023.4-18.6l24-104a24.29%2024.29%200%200%200-14.01-27.6z'/%3E%3C/svg%3E") center / 58% no-repeat;
          mask:
    linear-gradient(#000 0 0),
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M497.39%20361.8l-112-48a24%2024%200%200%200-28%206.9l-49.6%2060.6A370.66%20370.66%200%200%201%20130.6%20204.11l60.6-49.6a23.94%2023.94%200%200%200%206.9-28l-48-112A24.16%2024.16%200%200%200%20122.6.61l-104%2024A24%2024%200%200%200%200%2048c0%20256.5%20207.9%20464%20464%20464a24%2024%200%200%200%2023.4-18.6l24-104a24.29%2024.29%200%200%200-14.01-27.6z'/%3E%3C/svg%3E") center / 58% no-repeat;
  -webkit-mask-composite: xor;     /* MUST come after the shorthand above */
          mask-composite: exclude; /* shorthand resets composite otherwise */
}


/* ============================================================================
   4. MOBILE MENU
============================================================================ */

/* --- Trigger button --- */
#mobile-menu-trigger {
  padding: 0 12px;
  @media (max-width: 500px) {
    padding: 0 18px;
  }
}
#mobile-menu-trigger .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
}
@media (max-width: 500px) {
	
#mobile-menu-trigger {
    fill: var(--bip-primary);
}

  #mobile-menu-trigger .elementor-button-text {
    display: none;
  }
}
#mobile-menu-trigger .elementor-button-icon {
  --burger-ratio: 448 / 512;
  --burger-width: 44.8px;
  --burger-height: 51.2px;
  width: 50px;
  padding: 0 10px 0 10px;
  position: relative;
  aspect-ratio: var(--burger-ratio);
  & svg {
    width: 100%;
    height: 100%;
  }
  @media (max-width: 500px) {
    width: 18px;
    padding: 0;
  }
}

/* --- Drawer (closed state) --- */
#mobile-menu {
  display: flex !important;
  flex-direction: column;
  width: min(420px, calc(100vw - 24px)) !important;
  max-width: 100vw;
  height: auto;
  top: 0;
  left: 0;
  right: auto !important;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-24px);
  transition:
    transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s ease,
    visibility 0s linear 0.38s;

  z-index: 9999;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.08),
    0 24px 80px rgba(0, 0, 0, 0.18);
  border-right: 3vw solid #e0ebf5;
  border-left: none;
}

/* --- Drawer (open state) --- */
body[data-menu-open="true"] #mobile-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition:
    transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s ease,
    visibility 0s linear 0s;
}

/* --- Overlay --- */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0.3s;
  z-index: 9998;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
body[data-menu-open="true"]::before {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0s;
}

/* --- Lock body scroll when menu open --- */
body[data-menu-open="true"] {
  overflow: hidden;
}

/* --- Drawer responsive widths --- */
@media (max-width: 767px) {
  #mobile-menu {
    width: min(92vw, 380px) !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  #mobile-menu {
    width: min(460px, 88vw) !important;
  }
}
@media (min-width: 1200px) {
  #mobile-menu {
    width: min(520px, 42vw) !important;
  }
}

/* --- Drawer search field sizing --- */
#mobile-menu search,
#mobile-menu form,
#mobile-menu search input,
#mobile-menu search button {
  height: 40px;
}
#mobile-menu search input {
  padding: 0 12px;
}
#mobile-menu search button {
  padding: 0 24px;
}

/* --- Drawer nav links --- */
div#mobile-menu a.nav-link {
  color: var(--e-global-color-text) !important;
  font-weight: 500;
  font-size: 18px;
}

/* --- Drawer search styling --- */
div#mobile-menu input#search-d3372cb,
div#mobile-menu button.e-search-submit {
  border-radius: 1rem;
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}
div#mobile-menu button.e-search-submit {
  background: #fff !important;
  border: solid 2px #0c7cd5 !important;
}
div#mobile-menu button.e-search-submit span {
  color: #0c7cd5 !important;
  font-weight: 500;
}


/* ============================================================================
   5. SEARCH & FILTERS
   Blue background, white text for search/filter buttons.
============================================================================ */
.e-search-submit,
.elementor-widget-search .e-search .e-search-submit,
.bip-btn-search {
  background-color: #0c7cd5 !important;
  color: #ffffff !important;
  border-color: #0c7cd5 !important;
}
.e-search-submit:hover,
.bip-btn-search:hover {
  background-color: #0a65b2 !important;
  border-color: #0a65b2 !important;
  color: #ffffff !important;
}
.e-search-submit span {
  color: #ffffff !important;
}

.bip-btn-filters {
  background-color: #0c7cd5 !important;
  color: #ffffff !important;
  border-color: #0c7cd5 !important;
}
.bip-btn-filters:hover {
  background-color: #0a65b2 !important;
  border-color: #0a65b2 !important;
  color: #ffffff !important;
}


/* ============================================================================
   6. RESPONSIVE TWEAKS (mobile breakpoints)
============================================================================ */

/* Override plugin's 900px breakpoint — keep single-line search layout
   down to 600px before switching to the stacked mobile layout. */
@media (max-width: 900px) and (min-width: 601px) {
  .bip-row-main {
    grid-template-columns: 1.6fr 1.6fr 1.4fr 1fr 1fr 0.9fr 0.9fr !important;
  }
}

/* Mobile improvements (≤ 600px) */
@media (max-width: 600px) {

  /* Stack all search fields vertically, full-width */
  .bip-row-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .bip-row-main .bip-field {
    width: 100% !important;
  }
  .bip-search-form .bip-select,
  .bip-search-form .bip-input,
  .bip-search-form .bip-btn-search,
  .bip-btn-filters {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    border-radius: 6px !important;
  }
  #bip-search-wrap {
    padding: 0 12px !important;
  }
  .bip-search-form {
    padding: 16px !important;
    border-radius: 12px !important;
  }

  .elementor-heading-title {
    font-size: clamp(1.4rem, 6.5vw, 3rem) !important;
    line-height: 1.2 !important;
  }

  body,
  .elementor-section,
  .elementor-container {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  .elementor-posts-container {
    grid-template-columns: 1fr !important;
  }

  .elementor-menu-toggle,
  .elementor-nav-menu--toggle {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}


/* ============================================================================
   7. HERO & BANNERS
============================================================================ */
.home-hero-section {
  position: relative;
  z-index: 1;
}

.banner-inner {
  background-position: center center !important;
}
.banner-subtitle {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}

/* Hide the BIP hero search field labels */
.bip-hero-field__label {
  display: none !important;
}

.bip-hero .e-con-inner {
    padding-top: 80px;
    justify-content: center !important;
}

.bip-hero .e-con-inner .elementor-widget-heading {
        background-color: var(--bip-primary);
    padding: 10px 25px;
    border-style: solid;
    border-width: 3px;
    border-color: var(--bip-lighter-blue);
    border-radius: 15px;
    text-align: center;
}


/* ============================================================================
   8. TAXONOMY / ARCHIVE PAGES
============================================================================ */
.tax-property_type .property-browser-results {
  padding-top: 48px !important;
}

/* Taxonomy page hero */
.status-hero {
  position: relative;
  height: 400px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  @media (min-height: 700px) {
    height: 600px;
    max-height: 100dvh;
  }
}
.status-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}
.status-hero__inner {
  position: relative;
  z-index: 2;
  color: #fff;
}
.status-hero__title {
  margin: 0 0 12px;
  color: #fff;
  text-align: center;
}
.status-hero__description {
  max-width: 760px;
}


/* ============================================================================
   9. PROPERTY LISTINGS & CARDS
============================================================================ */

/* Hide the property card footer (agent info + posted date) on all listings */
.item-footer {
  display: none !important;
}

.item-wrap-v9 .item-body {
  border-bottom: 1px solid #dce0e0;
}

.property-wrap.property-detail-v6 {
  display: flex;
  flex-direction: column;
}

.property-banner .justify-content-between:has(.page-title-wrap) {
  justify-content: flex-end !important;
}


/* ============================================================================
   10. AGENTS
============================================================================ */
.agent-grid-image-wrap {
  width: 100%;
}
.agent-grid-image {
  aspect-ratio: 1 / 1;
  position: relative;
  display: block;
  width: 50%;
  margin: 0 auto;
  & img {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}


/* ============================================================================
   11. CAROUSELS
============================================================================ */

/* Keep "three-one" carousels (which overflow the screen edges) clipped */
.no-overflow .e-con-inner {
  overflow: hidden;
}

.bip-carousel.three-one {
  margin-left: -45%;
  margin-right: -45%;
  width: 190% !important;
  max-width: 190% !important;
}
.bip-carousel.three-one .elementor-swiper-button.elementor-swiper-button-prev {
  left: 26% !important;
}
.bip-carousel.three-one .elementor-swiper-button.elementor-swiper-button-next {
  right: 26% !important;
}
.bip-carousel.three-one .swiper-slide {
  opacity: 0.3;
  transition: opacity 0.5s;
}
.bip-carousel.three-one .swiper-slide.swiper-slide-next {
  opacity: 1;
}


/* ============================================================================
   12. LOCATION CTAs & LOCATIONS GRID
============================================================================ */
.bip-location-cta {
  margin-top: 10px;
  width: 100%;
}
.bip-location-cta > .elementor-shortcode {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.bip-location-cta > .elementor-shortcode > * {
  flex: 1 1 250px;
}

.locations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.locations-grid__card {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 120px;
  padding: 24px 16px;
  background: #cfe2f3;          /* light blue fill */
  border: 2px solid #3d7cc9;    /* blue border */
  border-radius: 12px;
  color: #444;
  font-size: 1.25rem;
  line-height: 1.3;
  text-decoration: none;
  transition: background .15s ease, transform .15s ease;
}
.locations-grid__card:hover {
  background: #bcd6ee;
  transform: translateY(-2px);
}


/* ============================================================================
   13. FEATURE BLOCK
============================================================================ */
.feature-block {
  align-self: stretch;
  display: flex;
  align-items: center;
  border-radius: 2px;
}


/* ============================================================================
   14. SHELL BULLETS
   Custom shell-icon bullets for lists.
============================================================================ */
.shell-bullets {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.shell-bullets i {
  display: none;
}
.shell-bullets li {
  position: relative;
  padding-left: 1.8em;
}
.shell-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.22em;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M19.1029736%2C9.2393558%20L19.5072416%2C9.38676028%20C20.8012617%2C9.85731306%2021.4688139%2C11.287782%2020.9982611%2C12.5818022%20C20.8874215%2C12.8866113%2020.7181722%2C13.1668648%2020.5%2C13.4068542%20L20.3362673%2C13.5869602%20C18.7878409%2C15.2902293%2016.9883338%2C16.7469929%2015%2C17.9068542%20L12.0503871%2C19.6274618%20C12.0192509%2C19.6456246%2011.9807491%2C19.6456246%2011.9496129%2C19.6274618%20L9%2C17.9068542%20C7.01166619%2C16.7469929%205.21215913%2C15.2902293%203.66373272%2C13.5869602%20L3.5%2C13.4068542%20C2.57378354%2C12.3880161%202.64886822%2C10.8112379%203.66770633%2C9.88502142%20C3.90769576%2C9.6668492%204.18794928%2C9.49759997%204.49275841%2C9.38676028%20L4.89759122%2C9.23813236%20M8.69408049%2C15.2487992%20L5.4973666%2C10.9866764%20C4.50325405%2C9.66119298%204.7718832%2C7.78078893%206.0973666%2C6.78667638%20C6.35532363%2C6.59320861%206.64278389%2C6.44259295%206.9486833%2C6.34062648%20L7.5%2C6.15685425%20C7.88099972%2C6.02985434%208.26603169%2C5.91941964%208.65404401%2C5.82555014%20L8.83624687%2C5.78266122%20C8.50982528%2C6.38522784%208.41465234%2C7.10813745%208.61429512%2C7.80688716%20L10.4532794%2C14.2438294%20M13.5462927%2C14.2436904%20L15.3857049%2C7.80688716%20C15.585236%2C7.10852825%2015.4902811%2C6.38603646%2015.1643006%2C5.78367235%20C15.6137746%2C5.88537675%2016.0595813%2C6.01004801%2016.5%2C6.15685425%20L17.0513167%2C6.34062648%20C18.6231467%2C6.8645698%2019.4726266%2C8.56352972%2018.9486833%2C10.1353597%20C18.8467168%2C10.4412591%2018.6961012%2C10.7287193%2018.5026334%2C10.9866764%20L15.3053581%2C15.2483041%20M10.4532794%2C14.2438294%20L8.61429512%2C7.80688716%20C8.25810919%2C6.5602364%208.84034262%2C5.23668294%2010%2C4.65685425%20C11.2590292%2C4.02733964%2012.7409708%2C4.02733964%2014%2C4.65685425%20C15.1596574%2C5.23668294%2015.7418908%2C6.5602364%2015.3857049%2C7.80688716%20L13.5462927%2C14.2436904%22/%3E%3Cpath%20d%3D%22M16.9997745%2C16.5937589%20L17%2C18.5%20C17%2C19.3284271%2016.3284271%2C20%2015.5%2C20%20L8.5%2C20%20C7.67157288%2C20%207%2C19.3284271%207%2C18.5%20L6.99904865%2C16.5928936%20C7.64151174%2C17.0652931%208.30936513%2C17.5039839%209%2C17.9068542%20L11.9496129%2C19.6274618%20C11.9807491%2C19.6456246%2012.0192509%2C19.6456246%2012.0503871%2C19.6274618%20L15%2C17.9068542%20C15.6902132%2C17.5042299%2016.3576727%2C17.0658287%2016.9997745%2C16.5937589%22/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M19.1029736%2C9.2393558%20L19.5072416%2C9.38676028%20C20.8012617%2C9.85731306%2021.4688139%2C11.287782%2020.9982611%2C12.5818022%20C20.8874215%2C12.8866113%2020.7181722%2C13.1668648%2020.5%2C13.4068542%20L20.3362673%2C13.5869602%20C18.7878409%2C15.2902293%2016.9883338%2C16.7469929%2015%2C17.9068542%20L12.0503871%2C19.6274618%20C12.0192509%2C19.6456246%2011.9807491%2C19.6456246%2011.9496129%2C19.6274618%20L9%2C17.9068542%20C7.01166619%2C16.7469929%205.21215913%2C15.2902293%203.66373272%2C13.5869602%20L3.5%2C13.4068542%20C2.57378354%2C12.3880161%202.64886822%2C10.8112379%203.66770633%2C9.88502142%20C3.90769576%2C9.6668492%204.18794928%2C9.49759997%204.49275841%2C9.38676028%20L4.89759122%2C9.23813236%20M8.69408049%2C15.2487992%20L5.4973666%2C10.9866764%20C4.50325405%2C9.66119298%204.7718832%2C7.78078893%206.0973666%2C6.78667638%20C6.35532363%2C6.59320861%206.64278389%2C6.44259295%206.9486833%2C6.34062648%20L7.5%2C6.15685425%20C7.88099972%2C6.02985434%208.26603169%2C5.91941964%208.65404401%2C5.82555014%20L8.83624687%2C5.78266122%20C8.50982528%2C6.38522784%208.41465234%2C7.10813745%208.61429512%2C7.80688716%20L10.4532794%2C14.2438294%20M13.5462927%2C14.2436904%20L15.3857049%2C7.80688716%20C15.585236%2C7.10852825%2015.4902811%2C6.38603646%2015.1643006%2C5.78367235%20C15.6137746%2C5.88537675%2016.0595813%2C6.01004801%2016.5%2C6.15685425%20L17.0513167%2C6.34062648%20C18.6231467%2C6.8645698%2019.4726266%2C8.56352972%2018.9486833%2C10.1353597%20C18.8467168%2C10.4412591%2018.6961012%2C10.7287193%2018.5026334%2C10.9866764%20L15.3053581%2C15.2483041%20M10.4532794%2C14.2438294%20L8.61429512%2C7.80688716%20C8.25810919%2C6.5602364%208.84034262%2C5.23668294%2010%2C4.65685425%20C11.2590292%2C4.02733964%2012.7409708%2C4.02733964%2014%2C4.65685425%20C15.1596574%2C5.23668294%2015.7418908%2C6.5602364%2015.3857049%2C7.80688716%20L13.5462927%2C14.2436904%22/%3E%3Cpath%20d%3D%22M16.9997745%2C16.5937589%20L17%2C18.5%20C17%2C19.3284271%2016.3284271%2C20%2015.5%2C20%20L8.5%2C20%20C7.67157288%2C20%207%2C19.3284271%207%2C18.5%20L6.99904865%2C16.5928936%20C7.64151174%2C17.0652931%208.30936513%2C17.5039839%209%2C17.9068542%20L11.9496129%2C19.6274618%20C11.9807491%2C19.6456246%2012.0192509%2C19.6456246%2012.0503871%2C19.6274618%20L15%2C17.9068542%20C15.6902132%2C17.5042299%2016.3576727%2C17.0658287%2016.9997745%2C16.5937589%22/%3E%3C/g%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

/* ============================================================================
   14. FAQs
============================================================================ */

.faq-container {
  --faq-blue:   #0057C7;
  --faq-light-blue: #b3dff6;/* brand blue — match to your logo if needed   */
  --faq-cream:  #f5f0e8;  /* card background                              */
  --faq-answer: #6f6f6f;  /* answer paragraph grey                        */
  --faq-radius: 22px;     /* card corner radius                           */
}

/* ---------- Card / tabs wrapper ------------------------------------- */
.faq-container .e-n-tabs {
  background: var(--faq-cream) !important;
  border-radius: var(--faq-radius);
  padding: clamp(20px, 4vw, 40px);
    border: 3px solid var(--faq-light-blue) !important;
}

/* ---------- Tab buttons row ----------------------------------------- */
.faq-container .e-n-tabs-heading {
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  align-items: center;
  border: 0 !important;
  border-bottom: 3px solid var(--faq-answer) !important;  /* divider line */
  padding-bottom: 22px;
  margin-bottom: 26px;
}

/* individual tab pill (inactive) */
.faq-container .e-n-tab-title {
  flex: 0 0 auto;
  background: #ffffff !important;
  border: 2px solid var(--faq-blue) !important;
  border-radius: 40px !important;
  padding: 9px 22px !important;
  margin: 0 !important;
  transition: background-color .15s ease, color .15s ease;
}
.faq-container .e-n-tab-title .e-n-tab-title-text {
  color: var(--faq-blue) !important;
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
}
.faq-container .e-n-tab-title:hover {
  background: rgba(26, 154, 223, .08) !important;
}

/* active tab pill (solid blue) */
.faq-container .e-n-tab-title[aria-selected="true"],
.faq-container .e-n-tab-title.e-active {
  background: var(--faq-blue) !important;
  border-color: var(--faq-blue) !important;
}
.faq-container .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text,
.faq-container .e-n-tab-title.e-active .e-n-tab-title-text {
  color: #ffffff !important;
}

/* ---------- Tab content area ---------------------------------------- */
.faq-container .e-n-tabs-content {
  background: transparent !important;
}

.faq-container .e-con-full{
  background: transparent !important;
}
.faq-container .e-n-tabs-content > .e-active {
  padding: 0 !important;
}

/* ---------- Accordion ----------------------------------------------- */
.faq-container .e-n-accordion {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.faq-container .e-n-accordion-item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* clickable question row */
.faq-container .e-n-accordion-item-title {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 14px;
  background: transparent !important;
  border: 0 !important;
  padding: 14px 0 !important;
  cursor: pointer;
}

/* question text */
.faq-container .e-n-accordion-item-title-text {
  color: var(--faq-blue) !important;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 500;
  line-height: 1.3;
}

/* put the +/- icon on the LEFT of the text */
.faq-container .e-n-accordion-item-title-header {
  order: 0;
  flex: 0 1 auto;
}
.faq-container .e-n-accordion-item-title-icon {
  order: -1;
  position: relative;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 0 !important;   /* kills Elementor's margin-left:auto */
}

/* hide Elementor's default open/close icons — we draw our own +/- */
.faq-container .e-n-accordion-item-title-icon > * {
  display: none !important;
}

/* draw a "+" from two bars */
.faq-container .e-n-accordion-item-title-icon::before,
.faq-container .e-n-accordion-item-title-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--faq-blue);
  border-radius: 1px;
}
.faq-container .e-n-accordion-item-title-icon::before { width: 2px;  height: 18px; } /* vertical  */
.faq-container .e-n-accordion-item-title-icon::after  { width: 18px; height: 2px;  } /* horizontal */

/* when the item is open, drop the vertical bar -> becomes "-" */
.faq-container .e-n-accordion-item[open] .e-n-accordion-item-title-icon::before {
  display: none;
}

/* ---------- Answer body --------------------------------------------- */
/* indent left so the answer aligns under the question text, not the icon */
.faq-container .e-n-accordion-item > [role="region"] {
  padding: 0 0 16px 34px !important;
}
.faq-container .e-n-accordion-item > [role="region"],
.faq-container .e-n-accordion-item > [role="region"] p {
  color: var(--faq-answer) !important;
  font-size: 16px;
  line-height: 1.75;
}
.faq-container .e-n-accordion-item > [role="region"] a {
  color: var(--faq-blue) !important;
  text-decoration: none;
}
.faq-container .e-n-accordion-item > [role="region"] a:hover {
  text-decoration: underline;
}

:where( .elementor-element > .e-n-accordion > .e-n-accordion-item ) > .e-con {
	    background: transparent !important;
}

/* ---------- Mobile -------------------------------------------------- */
@media (max-width: 767px) {
  .faq-container .e-n-tabs-heading {
    gap: 8px;
    justify-content: flex-start;
  }
  .faq-container .e-n-tab-title { padding: 7px 16px !important; }
  .faq-container .e-n-tab-title .e-n-tab-title-text { font-size: 13px; }
  .faq-container .e-n-accordion-item > [role="region"] { padding-left: 0 !important; }
}

/* ============================================================================
   15. BOOKING CALENDAR (WP Booking Calendar)
============================================================================ */

/* --- Design tokens --- */
:root {
  /* === BRAND === */
  --wpbc-primary: #0c7cd5;
  --wpbc-primary-light: #4fa6e8;
  --wpbc-primary-dark: #075a9c;
  --wpbc-primary-soft: #e6f2fb;

  /* === STATUS === */
  --wpbc-available: var(--wpbc-primary);
  --wpbc-available-hover: var(--wpbc-primary-light);
  --wpbc-selected: var(--wpbc-primary-dark);

  --wpbc-unavailable: #d9dee3;
  --wpbc-unavailable-text: #9ca3af;

  --wpbc_cal-approved-text-color: #9ca3af;
  --wpbc_cal-approved-day-color: #d9dee3;

  --wpbc-pending: #f2b84b;
  /* 	--wpbc_cal-pending-text-color: */
  --wpbc_cal-pending-day-color: #f2b84b;

  /* === TEXT === */
  --wpbc-text-main: #1f2a37;
  --wpbc-text-muted: #6b7280;
  --wpbc-text-on-primary: #ffffff;

  /* === UI === */
  --wpbc-radius: 10px;
  --wpbc-radius-sm: 6px;
  --wpbc-border: #e5e7eb;
}

/* --- Calendar container --- */
.bk_calendar_frame .datepick-inline {
  border-radius: var(--wpbc-radius);
  overflow: hidden;
  border: 1px solid var(--wpbc-border);
  background: #fff;
}

/* --- Available days --- */
.datepick-days-cell.date_available {
  --wpbc_cal-available-day-color: var(--wpbc-available);
  color: var(--wpbc-text-on-primary) !important;
  border-radius: var(--wpbc-radius-sm);
}
.datepick-days-cell.date_available:hover {
  --wpbc_cal-available-day-color: var(--wpbc-available-hover);
}

/* --- Selected day --- */
.datepick-days-cell.is_selected,
.datepick-days-cell.datepick-current-day {
  --wpbc_cal-available-day-color: var(--wpbc-selected);
  color: var(--wpbc-text-on-primary) !important;
  border-radius: var(--wpbc-radius);
}

/* --- Unavailable --- */
.datepick-days-cell.date_unavailable,
.datepick-days-cell.date_booked {
  background: var(--wpbc-unavailable) !important;
  color: var(--wpbc-unavailable-text) !important;
  border-radius: var(--wpbc-radius-sm);
}

/* --- Pending --- */
.datepick-days-cell.date_pending {
  background: var(--wpbc-pending) !important;
  color: #fff !important;
  border-radius: var(--wpbc-radius-sm);
}

/* --- Today --- */
.datepick-days-cell.date_today {
  outline: 2px solid var(--wpbc-primary);
  outline-offset: -2px;
  border-radius: var(--wpbc-radius-sm);
}

/* --- Header --- */
.datepick-header {
  background: var(--wpbc-primary) !important;
  color: var(--wpbc-text-on-primary) !important;
  border: none !important;
}

/* --- Navigation --- */
.datepick-cmd {
  color: var(--wpbc-text-on-primary) !important;
}

/* --- Legend --- */
.wpbc-legend-item-available .wpbc-legend-color {
  background: var(--wpbc-available);
  border-radius: 50%;
}
.wpbc-legend-item-unavailable .wpbc-legend-color {
  background: var(--wpbc-unavailable);
  border-radius: 50%;
}
.wpbc-legend-item-pending .wpbc-legend-color {
  background: var(--wpbc-pending);
  border-radius: 50%;
}


/* ============================================================================
   16. FOOTER
============================================================================ */
.footer-widget img {
  max-width: 100px;
}


/* ============================================================================
   17. FANCYBOX
============================================================================ */
.fancybox__backdrop {
  --fancybox-bg: white;
  --fancybox-opacity: 0.7;
}

.locations-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
}