/* =============================================================================
   Resident Properties — Public Styles
   Migrated from WPCode snippets 12869, 13413, 16795
   ============================================================================= */

/* ── Responsive iframes / Google Maps ───────────────────────────────────── */

/* Elementor Google Maps widget */
.elementor-widget-google_maps .elementor-google-maps,
.elementor-widget-google_maps .elementor-google-maps iframe {
  width: 100% !important;
  max-width: 100%;
}

/* Catch-all: raw <iframe> embeds (HTML widgets, etc.) */
.elementor-widget-html iframe,
.elementor-widget-text-editor iframe {
  max-width: 100%;
  width: 100% !important;
}

/* On mobile: ensure the iframe height doesn't overflow or collapse */
@media (max-width: 767px) {
  .elementor-widget-google_maps .elementor-google-maps iframe {
    min-height: 280px;
  }

  .elementor-widget-html iframe,
  .elementor-widget-text-editor iframe {
    min-height: 260px;
    height: auto;
  }
}

/* ── Back-to-Top Button ──────────────────────────────────────────────────── */

#res-back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #9a8c4d;
  color: #fff;
  border: none;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, background 0.2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

#res-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#res-back-to-top:hover {
  background: #7d7240;
}

/* ── Google / Social Login (snippet 12869) ───────────────────────────────── */

div.nsl-container.nsl-container-block .nsl-container-buttons { width: 100% !important; }
div.nsl-container .nsl-button-google[data-skin="light"] { box-shadow: 0 0 0 0 rgba(0,0,0,0) !important; }
div.nsl-container div.nsl-container-buttons a[data-plugin="nsl"] { border: 1px solid #ccc !important; }

/* ── Ultimate Member forms ───────────────────────────────────────────────── */

.um-form {
  font-family: Montserrat, sans-serif;
  margin: 0 auto;
  padding: 20px;
  background-color: transparent;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0);
}
.um-form form { margin: 20px 0; }
.um-form .um-field-label label {
  display: block;
  margin-bottom: 5px;
  text-transform: uppercase;
  color: #333;
  font-weight: 400;
  font-size: 16px;
}
.um-form input[type="text"],
.um-form input[type="password"],
.um-form select {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
input[type="submit"].um-button {
  background-color: #9a8c4d !important;
  color: #fff !important;
  padding: 10px 20px;
  border: none;
  text-transform: uppercase !important;
  cursor: pointer;
  font-size: 16px;
  border-radius: 0 !important;
}
.um .um-button.um-alt {
  padding: 10px 20px;
  border: none;
  text-transform: uppercase !important;
  cursor: pointer;
  font-size: 16px;
  border-radius: 0 !important;
}
.um .um-button.um-alt:hover,
input[type="submit"].um-button:hover {
  color: #fff !important;
  background-color: #222 !important;
}
.um-form .um-account-meta { display: none; }
.um-form img { border-radius: 50%; width: 120px; height: 120px; }
.um-form .um-account-profile-link a { color: #007bff; text-decoration: none; }
.um-form .um-account-profile-link a:hover { text-decoration: underline; }
.um-account-side li { background: transparent !important; }
.um-form .um-account-heading { font-size: 18px; color: #333; margin-bottom: 15px; display: none !important; }
span.um-account-icon { display: none; }
.um-field-checkbox-option { font-weight: 400 !important; }
.um-form .um-account-nav a,
.um-form .um-field-export_data a.um-request-button {
  display: inline-block;
  background-color: #007bff;
  color: #fff;
  padding: 5px 10px;
  border-radius: 4px;
  text-decoration: none;
  margin-top: 10px;
}
.um-form .um-account-nav a:hover,
.um-form .um-field-export_data a.um-request-button:hover { background-color: #0056b3; }
.um-form .um-field-error { font-size: 14px; }

/* ── Navigation & Layout ─────────────────────────────────────────────────── */

.site-footer,
.has-header-image.home.blog .headroom--not-top .navbar,
.has-header-image.inspiro-front-page .headroom--not-top .navbar,
.has-header-video.home.blog .headroom--not-top .navbar,
.has-header-video.inspiro-front-page .headroom--not-top .navbar,
.navbar,
.headroom--not-top .navbar {
  background: #0a2038;
}
.bg-dark { background: #0a2038 !important; }
.headroom--not-top .navbar { background: rgba(10,32,56,0.9); }

.navbar-nav ul {
  left: 50%;
  width: 280px !important;
  margin-top: 15px !important;
  border-top: 0 !important;
  background: #255770 !important;
  transform: translate(-50%, 0);
}
.current-menu-item a { color: #7DA2A9; }
#site-navigation { background: #0A2038; }

.side-nav__scrollable-container { background-color: #255770; }

#search-1 { display: none; }

/* ── Typography ──────────────────────────────────────────────────────────── */

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small,
.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small { font-weight: 200; }
h3 small { font-weight: 400 !important; }

h1.hotel-title { font-size: 3rem; }
h1.hotel-title, h3.hotel-title { font-weight: 900; line-height: 1.0; }

.page .entry-title, .page-title { margin-top: 0; text-align: left; }
p.hero { font-size: 18px; }
.home-hero p { color: #fff; text-align: center; font-size: 90%; line-height: 28px; }

/* ── Entry cover image ───────────────────────────────────────────────────── */

.entry-cover-image { display: none !important; }

/* ── Utility / Components ────────────────────────────────────────────────── */

.custom-logo-link { max-width: 300px !important; }
.gallery img { border-radius: 20px; }
.gallery-images img { width: 100%; height: 160px !important; object-fit: cover; }

.shadow,
.ays-popup-box-main-box {
  box-shadow: 3px 10px 22px -5px rgba(0,0,0,0.3);
  -webkit-box-shadow: 3px 10px 22px -5px rgba(0,0,0,0.3);
}

.call-to-action {
  position: relative;
  overflow: hidden;
  padding: 0;
  padding-left: 30px;
  margin-bottom: 30px;
}
.book-me p { color: #242424; }

a#qodef-back-to-top { margin-bottom: 60px; }
#qodef-back-to-top .qodef-back-to-top-icon { background-color: transparent; }

.popmake-content, .popmake-title { padding: 30px; }
.frm_form_title, #frm_form_1_container h3.frm_form_title { display: none; }
span.socicon, #text-2 p { color: #fff !important; }
a.privacy-policy-link { display: none; }

/* ── Accordion ───────────────────────────────────────────────────────────── */

.qodef-qi-accordion .qodef-e-title-holder {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 26px 0;
}
.qodef-qi-accordion.qodef-style--standard .qodef-e-title-holder.ui-state-active { background-color: transparent; }

/* ── Elementor overrides ─────────────────────────────────────────────────── */

.elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; }
.elementor-image-box-content { padding: 0 20px 20px; }
.elementor-7661 .elementor-element.elementor-element-e01aa99 > .elementor-container { text-align: center; }

/* ── Offcanvas ───────────────────────────────────────────────────────────── */

.wpr-offcanvas-content-right { width: 600px; }
.ekit-wid-con .elementskit-info-image-box.style-modern .elementskit-box-body { border-radius: 0; }

/* ── Misc Elementor sub-menu colours ─────────────────────────────────────── */

.elementskit-navbar-nav-default .elementskit-submenu-panel > li > a:hover { background: transparent !important; }
.elementskit-submenu-panel .elementskit-submenu-indicator { margin-top: 5px !important; }
.qodef-grid-item { box-shadow: -36px -22px 30px -28px rgba(0,0,0,0.25); }

/* ── Availability / location selectors ──────────────────────────────────── */

.hidden { display: none; }
#menu-item-14144 { display: none; }
.availibility-fields select { border: 0 !important; }
.availibility-fields select option { height: 40px; }
.disabled { pointer-events: none; opacity: 0.5; }
.availibility-fields { float: left; }
#location, #apartments { line-height: 12px; height: 10px; margin-bottom: 10px; }

/* ── Global input / select / textarea ────────────────────────────────────── */

input,
textarea,
select {
  color: #242424 !important;
  border: 1px solid #242424 !important;
  box-sizing: border-box !important;
  padding: 12px 15px !important;
  font-size: 16px !important;
  transition: all .1s ease-in-out !important;
  outline: none !important;
  border-radius: 0 !important;
  height: 40px !important;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #242424 !important;
  border-color: #242424 !important;
  outline: none !important;
}
select {
  padding: 5px 45px 5px 15px !important;
  border: 1px solid #242424 !important;
  color: #242424 !important;
  cursor: pointer !important;
  -moz-appearance: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNSIgdmlld0JveD0iMCAwIDEwIDUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNNC41MDQ5NSA0LjgyMDExTDAuMjA1MjQxIDEuMDQ4NTZDLTAuMDY4NDEzNyAwLjgwODY0NiAtMC4wNjg0MTM3IDAuNDE5NjYzIDAuMjA1MjQxIDAuMTc5ODY0QzAuNDc4NjUyIC0wLjA1OTk1NDcgMC45MjIwOTggLTAuMDU5OTU0NyAxLjE5NTQ5IDAuMTc5ODY0TDUuMDAwMDcgMy41MTcxTDguODA0NTIgMC4xNzk5NjFDOS4wNzgwNSAtMC4wNTk4NTc3IDkuNTIxNDUgLTAuMDU5ODU3NyA5Ljc5NDg2IDAuMTc5OTYxQzEwLjA2ODQgMC40MTk3OCAxMC4wNjg0IDAuODA4NzQzIDkuNzk0ODYgMS4wNDg2Nkw1LjQ5NTA4IDQuODIwMkM1LjM1ODMxIDQuOTQwMTEgNS4xNzkyNSA1IDUuMDAwMDkgNUM0LjgyMDg1IDUgNC42NDE2NSA0Ljk0IDQuNTA0OTUgNC44MjAxMVoiIGZpbGw9IiM3Njc2NzYiLz4NCjwvc3ZnPg0K");
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) 50%;
  transition: .1s;
  padding-right: 40px;
}
select:focus {
  border-color: #242424;
  outline: none;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNSIgdmlld0JveD0iMCAwIDEwIDUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNNC41MDQ5NSA0LjgyMDExTDAuMjA1MjQxIDEuMDQ4NTZDLTAuMDY4NDEzNyAwLjgwODY0NiAtMC4wNjg0MTM3IDAuNDE5NjYzIDAuMjA1MjQxIDAuMTc5ODY0QzAuNDc4NjUyIC0wLjA1OTk1NDcgMC45MjIwOTggLTAuMDU5OTU0NyAxLjE5NTQ5IDAuMTc5ODY0TDUuMDAwMDcgMy41MTcxTDguODA0NTIgMC4xNzk5NjFDOS4wNzgwNSAtMC4wNTk4NTc3IDkuNTIxNDUgLTAuMDU5ODU3NyA5Ljc5NDg2IDAuMTc5OTYxQzEwLjA2ODQgMC40MTk3OCAxMC4wNjg0IDAuODA4NzQzIDkuNzk0ODYgMS4wNDg2Nkw1LjQ5NTA4IDQuODIwMkM1LjM1ODMxIDQuOTQwMTEgNS4xNzkyNSA1IDUuMDAwMDkgNUM0LjgyMDg1IDUgNC42NDE2NSA0Ljk0IDQuNTA0OTUgNC44MjAxMVoiIGZpbGw9IiMxZjFmMWYiLz4NCjwvc3ZnPg0K");
}
.with_frm_style textarea { padding: 15px !important; height: 150px !important; }

/* ── Formidable Forms ────────────────────────────────────────────────────── */

.frm_style_formidable-style.with_frm_style .frm_submit button {
  border-radius: 25px;
  background: var(--e-global-color-accent);
  color: #fff;
  border: 0;
}
.frm_style_formidable-style.with_frm_style .frm_submit button:hover { background: #0A2038; }

/* ── Everest Forms ───────────────────────────────────────────────────────── */

.everest-forms label {
  display: block;
  line-height: 1.7;
  margin: 0 0 10px;
  color: #494d50;
  font-size: 14px;
  text-align: left;
}
.everest-forms input,
.everest-forms textarea {
  color: #242424 !important;
  border: 1px solid #ccc !important;
  box-sizing: border-box !important;
  padding: 12px 15px !important;
  font-size: 16px !important;
  transition: all .1s ease-in-out !important;
  outline: none !important;
  border-radius: 0 !important;
  height: 40px !important;
}
.everest-forms select { background: #fff !important; border: 1px solid #ccc !important; }
.everest-forms textarea { min-height: 100px; }
.everest-forms button[type="submit"],
.everest-forms button.button:not(.button-large) {
  float: left;
  font-family: "Cabin", sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  line-height: 1.2em !important;
  letter-spacing: 2px !important;
  color: #fff !important;
  background-color: var(--e-global-color-secondary) !important;
  border-radius: 0 !important;
  padding: 15px 40px !important;
}

/* Radio-as-button style for Everest Forms */
.evf-frontend-row input[type="radio"] { display: none; }
.evf-frontend-row input[type="radio"] + label {
  display: inline-block;
  padding: 10px 20px;
  border: 2px solid #9d9053;
  background-color: #fff;
  color: #9d9053;
  cursor: pointer;
  border-radius: 0;
  transition: all 0.3s ease;
  margin-right: 10px;
}
.evf-frontend-row input[type="radio"]:checked + label { background-color: #9d9053; color: #fff; }
.everest-forms .evf-field-container .evf-frontend-row .evf-frontend-grid .evf-field.evf-field-radio ul li .everest-forms-field-label-inline { width: 100%; }

/* ── WhatsApp button ─────────────────────────────────────────────────────── */

#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle {
  border-radius: 50px;
  height: 60px;
  white-space: nowrap;
  padding: 20px;
  width: 60px;
}
#qlwapp.qlwapp-button .qlwapp-toggle { background-color: #0A2038; }
#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon { margin: 0; font-size: 30px; }

/* ── List icons ──────────────────────────────────────────────────────────── */

.list-icon.list-icon-colored li::before,
.list-icon.icon-list-colored i { color: #fff; display: none; }
.list-icon.list-icon-caret li::before { content: " - "; font-family: "Font Awesome 5 Free"; }
.list-icon li::before {
  margin-left: -20px;
  position: absolute;
  font-size: 12px;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 900;
}
ul.list-icon.list-icon-colored { margin: 1.5em 0; }

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  .ekit_menu_responsive_tablet .elementskit-submenu-indicator { border: 0; }
  .ekit-nav-dropdown-hover .elementskit-dropdown-has .elementskit-dropdown {
    box-shadow: 0 10px 30px 0 rgba(45,45,45,0);
    background: #0A2038;
    border-radius: 20px !important;
    border: 0 !important;
  }
  h1.hotel-title, h3.hotel-title { font-size: 2rem; }
  .call-to-action { text-align: center; padding: 20px; }
  .call-to-action .btn, [class*="col-"] > .call-to-action .btn { float: none; width: 100%; }
  p.hero { font-size: 14px; }
  .navbar-nav ul { background: #255770 !important; }
  .attachment-thumbnail { height: auto !important; }
  .inner-wrap, footer .inner-wrap { padding: 0 20px !important; }
}

@media (max-width: 767px) {
  #menu-item-14144 { display: block !important; }
  .wpr-offcanvas-content-right { max-width: 100%; }
  .hide-on-mobile, .hidden-on-mobile { display: none !important; }
  .um-form .um-account-nav a { background-color: transparent !important; width: 100% !important; }
  .um-account-name, .um-account-nav a.current, .um-account-nav span.ico, .um-form .um-account-meta-img { display: none !important; }
  .um-form form { margin: 0 !important; }
  h1.hotel-title, h3.hotel-title { font-size: 2rem; }
  .inner-wrap, footer .inner-wrap { padding: 0 20px !important; }
  select { font-size: 12px; max-width: 100%; padding: 12px 45px 12px 25px !important; }
  .elementor-15057 .elementor-element.elementor-element-5bedda14 .elementskit-menu-container { width: auto; }
}

@media (max-width: 810px) {
  .ekit-nav-dropdown-hover .elementskit-dropdown-has .elementskit-dropdown { background: transparent; }
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-menu-container { max-width: 100%; }
  .elementskit-menu-offcanvas-elements { height: 1000px !important; overflow: hidden; }
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-navbar-nav .elementskit-submenu-panel > li.current-menu-item > a,
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-navbar-nav .elementskit-submenu-panel > li.current-menu-item > a:hover,
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-navbar-nav .elementskit-submenu-panel > li > a { color: #fff !important; background: transparent !important; }
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-navbar-nav .elementskit-submenu-panel > li:hover > a { color: #7DA2A9 !important; background: transparent; }
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-navbar-nav .elementskit-submenu-panel > li,
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-navbar-nav .elementskit-submenu-panel > li > a { color: #7DA2A9; }
  .elementor-12446 .elementor-element.elementor-element-544bce1f .elementskit-menu-container { background-color: #0A2038; }
  .elementskit-navbar-nav-default .elementskit-submenu-indicator { border: 0; }
}
