.solis-catalogue-intro{max-width:1280px;margin:auto;padding:44px 28px 26px;color:#18283b}
.solis-catalogue-intro h1{margin:0 0 12px;font:500 clamp(30px,4vw,48px)/1.12 "DM Sans",sans-serif;letter-spacing:-.8px}
.solis-catalogue-intro p{max-width:760px;margin:0;color:#536173;font:400 17px/1.6 "DM Sans",sans-serif}
.guesty-search .guesty-search__submit{background:#f7c008!important;color:#142333!important;border-color:#f7c008!important;font-weight:700}
.guesty-search .guesty-search__submit:hover{background:#e8b308!important}
.gls-search-form button,.gls-sidebar button{color:#162536}
.gls-button.gls-button--primary,.gls-button.gls-button--secondary{color:#17283b!important}
.elementor .solis-focus-link:focus-visible,.guesty-search button:focus-visible,.gls-wrap button:focus-visible{outline:3px solid #175d9b;outline-offset:3px}
@media(max-width:767px){.solis-catalogue-intro{padding:28px 18px 20px}.solis-catalogue-intro p{font-size:16px}}

@media(min-width:1025px){.elementor-4969 .menu-item-2927>.sub-menu{left:auto!important;right:0!important}}

/* Keep the existing TranslatePress control in the header's normal layout. */
.elementor-location-header{position:relative;z-index:1000}
.solis-language-row{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:18px!important}
.solis-language-row>.elementor-widget-jkit_nav_menu,.solis-language-row>.elementor-widget-nav-menu{flex:1 1 auto!important;min-width:0;width:auto!important;margin-left:auto}
.trp-floating-switcher{position:relative!important;inset:auto!important;margin:0!important;z-index:10!important}
.solis-language-row>.solis-language-inline{flex:0 0 124px;width:124px!important;max-width:124px;align-self:center;--switcher-width:124px!important;--border-radius:8px!important;--switcher-padding:4px 0!important}
.solis-language-inline,.solis-language-inline .trp-language-switcher-inner{overflow:visible!important}
.solis-language-inline .trp-language-switcher-inner{position:relative}
.solis-language-inline .trp-switcher-dropdown-list{position:absolute!important;top:100%!important;left:auto!important;right:0!important;width:160px!important;min-width:150px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:6px;box-shadow:0 5px 18px #0002}
.solis-language-inline .trp-switcher-dropdown-list[hidden]{display:none!important}
.solis-language-inline .trp-switcher-dropdown-list .trp-language-item{width:100%;padding:10px 12px;box-sizing:border-box}
.solis-property-title{scroll-margin-top:24px}
.solis-booking-shortcut{display:none}
@media(max-width:1024px){
 .solis-language-row{gap:10px!important}
 .solis-language-row>.solis-language-inline{order:1;flex-basis:90px;width:90px!important;max-width:90px;--switcher-width:90px!important;--font-size:12px!important;--switcher-padding:4px 0!important}
 .solis-language-row>.elementor-widget-jkit_nav_menu,.solis-language-row>.elementor-widget-nav-menu{order:2;flex:0 0 44px!important;width:44px!important;margin:0!important}
 .solis-language-row>.elementor-widget-image{margin-right:auto!important;width:106px!important;max-width:106px!important;flex:0 0 106px}
 .solis-language-inline .trp-language-item__current{padding:8px!important;gap:6px!important}
 .solis-language-row .elementor-menu-toggle,.solis-language-row button.jkit-hamburger-menu,.solis-language-row button.jkit-close-menu{width:44px!important;height:44px!important;min-width:44px;display:inline-flex!important;align-items:center;justify-content:center;padding:8px!important;margin:0!important}
 .solis-language-row .jkit-menu-wrapper{position:fixed!important;inset:0 auto 0 0!important;width:min(88vw,390px)!important;max-width:100vw;height:100dvh!important;margin:0!important;z-index:100!important;overflow-y:auto;visibility:hidden;pointer-events:none;transform:translateX(-110%)!important;transition:transform .2s ease,visibility .2s}
 .solis-language-row .jkit-menu-wrapper.active{transform:none!important;visibility:visible;pointer-events:auto}
 .solis-language-row .jkit-menu-container{min-height:100%;padding-bottom:70px}
 .elementor-4969 .elementor-element-57f17f5{display:flex;flex-wrap:nowrap!important;justify-content:flex-end;gap:12px!important;padding:3px 16px!important;min-height:24px}
 .elementor-4969 .elementor-element-57f17f5>.elementor-element-f573a62,.elementor-4969 .elementor-element-57f17f5>.elementor-element-c9a5cd2{width:auto!important;flex:0 0 auto!important;min-width:0;padding:0!important;margin:0!important}
 .elementor-4969 .elementor-element-57f17f5 a{white-space:nowrap}
 body.solis-menu-open{overflow:hidden}
 body.solis-menu-open::before{content:"";position:fixed;inset:0;background:#0008;z-index:100050}
 body.solis-menu-open .elementor-location-header{z-index:100100}
 body.solis-menu-open .solis-language-inline{visibility:hidden}
}
@media(max-width:767px){
 .solis-property-page .solis-property-title{width:100%!important;flex-basis:auto!important;padding:8px 4px 0!important;gap:8px!important}
 .solis-property-page .solis-property-title h1{font-size:28px!important;line-height:1.15!important;margin:0}
 .solis-property-page .elementor-element-4ff596b>.e-con-inner{gap:16px!important}
 .solis-property-page #solis-booking-form{scroll-margin-top:20px}
 body.solis-property-page{padding-bottom:82px}
 .solis-booking-shortcut{display:block;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;padding:14px 18px;min-height:48px;text-align:center;border:1px solid #a87900;border-radius:26px;background:#f4c52d;color:#17283b!important;font:700 16px/1.2 "DM Sans",sans-serif;box-shadow:0 3px 18px #0002;z-index:990;text-decoration:none!important}
 .solis-booking-shortcut--form-visible,body.solis-menu-open .solis-booking-shortcut,body.glightbox-open .solis-booking-shortcut,body:has(dialog[open]) .solis-booking-shortcut{visibility:hidden;pointer-events:none}
 .solis-property-page .solis-privacy-reopen{bottom:78px!important}
 .solis-content-page .elementor[data-elementor-type="wp-page"]>.e-con:not(:first-child){margin-top:0!important;margin-bottom:40px!important;padding-top:24px!important;padding-bottom:24px!important}
 .solis-content-page .elementor[data-elementor-type="wp-page"]>.e-con:not(:first-child)>.e-con-inner{padding-top:0!important;padding-bottom:0!important;row-gap:24px!important}
 .solis-content-page .elementor[data-elementor-type="wp-page"]>.e-con:first-child{margin-bottom:24px!important}
 .solis-content-page:not(.home):not(.solis-policy-page):not(.page-id-5333) .elementor[data-elementor-type="wp-page"]>.e-con:first-child{min-height:290px!important;padding:0!important}
 .solis-content-page:not(.home):not(.solis-policy-page):not(.page-id-5333) .elementor[data-elementor-type="wp-page"]>.e-con:first-child>.e-con-inner{min-height:290px!important;padding:135px 20px 36px!important}
 .solis-content-page:not(.home):not(.solis-policy-page):not(.page-id-5333) .elementor[data-elementor-type="wp-page"]>.e-con:first-child h1{font-size:clamp(28px,8vw,36px)!important;line-height:1.15!important}
 body.home .elementor-2053>.elementor-element-3a3e7c01{min-height:620px!important;margin-bottom:32px!important;padding-top:100px!important}
 .solis-policy-page .elementor[data-elementor-type="wp-page"]>.e-con:first-child{min-height:180px!important;padding:0!important}
 .solis-policy-page .elementor[data-elementor-type="wp-page"]>.e-con:first-child img{height:180px!important;width:100%;object-fit:cover}
}

/* Keep the home property-management action inside narrow mobile columns. */
@media (max-width: 767px) {
  .elementor-2053 .elementor-element.elementor-element-5929c314 .jkit-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .elementor-2053 .elementor-element.elementor-element-5929c314 .jkit-button-wrapper > i {
    flex-shrink: 0;
    margin-left: 0;
  }
}

@media(max-width:480px){.pdgs-fact__text{min-width:0;white-space:normal;overflow-wrap:anywhere}}

/* Long translated portal labels keep a single line on desktop as on mobile. */
.elementor-4969 .elementor-element-57f17f5{display:flex;flex-wrap:nowrap!important;justify-content:flex-end;align-items:center;gap:12px!important;min-height:24px}
.elementor-4969 .elementor-element-57f17f5>.elementor-element-f573a62,.elementor-4969 .elementor-element-57f17f5>.elementor-element-c9a5cd2{width:auto!important;flex:0 0 auto!important;min-width:0;margin:0!important}
.elementor-4969 .elementor-element-57f17f5 a{white-space:nowrap}

/* Catalogue dropdowns share the Guests control's surface and proportions.
   Native selects retain keyboard navigation, form values and filter handlers. */
.gls .gls-field select:is([name="category"], [name="city"], [name="state"],
  [name="bedrooms"], [data-gls-state-key="bedrooms"], [name="bathrooms"], [name="amenities"]) {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  box-sizing: border-box;
  padding: 11px 34px 11px 12px;
  border: 1px solid #cbd5df;
  border-radius: 8px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23182b3a' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  color: #182b3a;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  text-overflow: ellipsis;
  cursor: pointer;
}
.gls .gls-field select:is([name="category"], [name="city"], [name="state"],
  [name="bedrooms"], [data-gls-state-key="bedrooms"], [name="bathrooms"], [name="amenities"]):focus-visible {
  outline: 3px solid #176b91;
  outline-offset: 2px;
  border-color: #cbd5df;
  box-shadow: none;
}
@media (max-width: 767px) {
  /* A 16px mobile font avoids focus zoom in native phone selects. */
  .gls .gls-field select:is([name="category"], [name="city"], [name="state"],
    [name="bedrooms"], [data-gls-state-key="bedrooms"], [name="bathrooms"], [name="amenities"]),
  .gls .solis-guests summary { font-size: 16px; }
}
@media (forced-colors: active) {
  .gls .gls-field select:is([name="category"], [name="city"], [name="state"],
    [name="bedrooms"], [data-gls-state-key="bedrooms"], [name="bathrooms"], [name="amenities"]) {
    appearance: auto;
    background-image: none;
  }
}

/* TP blocks can omit Elementor's text span; keep translated footer links readable. */
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item.translation-block > a:not(:has(.elementor-icon-list-text)) {
  color: var(--e-global-color-secondary, #f7c008);
}
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item.translation-block > a:not(:has(.elementor-icon-list-text)):is(:hover, :focus-visible) {
  color: #fff;
}
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item.translation-block > a:not(:has(.elementor-icon-list-text)):focus-visible {
  outline: 2px solid var(--e-global-color-secondary, #f7c008);
  outline-offset: 3px;
}

/* The catalogue starts with search, so it does not need hero spacing. */
@media(max-width:767px){
 body.solis-content-page.page-id-5333 .elementor.elementor-5333[data-elementor-type="wp-page"]>.e-con.elementor-element-7163e68:first-child{min-height:0!important}
 body.solis-content-page.page-id-5333 .elementor.elementor-5333[data-elementor-type="wp-page"]>.e-con.elementor-element-7163e68:first-child>.e-con-inner{min-height:0!important;padding:20px 20px 28px!important}
}

/* Long translated footer headings must fit narrow tablet columns. */
.elementor-location-footer .elementor-widget-heading .elementor-heading-title{overflow-wrap:anywhere;hyphens:auto}
