/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1776071022
Updated: 2026-04-13 17:03:42

*/

/* ===== MENU BAR AESTHETICS ===== */

/* Header base styling */
.site-header .inside-header.grid-container {
  padding-top: 4px;
  padding-bottom: 4px;
}

/* Subtle header bottom border */
.site-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Nav link styling */
.main-navigation .main-nav ul li a {
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #1a1a2e;
  padding: 12px 20px !important;
  position: relative;
  transition: color 0.3s ease;
}

/* Gold underline hover effect */
.main-navigation .main-nav > ul > li > a::after {
  content: '';
  position: absolute;
  bottom: 5px;
  left: 20px;
  right: 20px;
  height: 2px;
  background: #c9a96e;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

.main-navigation .main-nav > ul > li > a:hover::after,
.main-navigation .main-nav > ul > li.current-menu-item > a::after {
  transform: scaleX(1);
}

/* Link hover color */
.main-navigation .main-nav ul li a:hover {
  color: #c9a96e;
}

/* Active/current page link */
.main-navigation .main-nav ul li.current-menu-item > a {
  color: #c9a96e;
}

/* Dropdown arrow icon color */
.main-navigation .main-nav ul li a .dropdown-menu-toggle {
  transition: color 0.3s ease;
}

/* ===== DROPDOWN SUBMENU STYLING ===== */
.main-navigation ul ul.sub-menu {
  background: #1a1a2e;
  border: none;
  border-radius: 6px;
  padding: 10px 0;
  min-width: 220px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  margin-top: 0;
  overflow: hidden;
}

/* Dropdown links */
.main-navigation .main-nav ul ul.sub-menu li a {
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 10px 24px !important;
  transition: background 0.25s ease, padding-left 0.25s ease;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Remove underline effect on dropdown items */
.main-navigation .main-nav ul ul.sub-menu li a::after {
  display: none;
}

/* Dropdown hover */
.main-navigation .main-nav ul ul.sub-menu li a:hover {
  background: rgba(201, 169, 110, 0.15);
  color: #c9a96e !important;
  padding-left: 30px !important;
}

/* Last dropdown item no border */
.main-navigation .main-nav ul ul.sub-menu li:last-child a {
  border-bottom: none;
}

/* ===== STICKY COMPACT HEADER ===== */

/* Base transition */
.site-header {
  transition: transform 0.3s ease, opacity 0.3s ease, box-shadow 0.3s ease;
}

/* Compact sticky state */
.site-header.header-compact {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  animation: fadeSlideDown 0.35s ease forwards;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Shrink inner header padding */
.site-header.header-compact .inside-header.grid-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between;
  flex-wrap: nowrap;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

/* Shrink logo */
.site-header.header-compact .site-logo {
  float: none !important;
  margin: 0;
  line-height: 0;
  display: flex;
  align-items: center;
}

.site-header.header-compact .site-logo img,
.site-header.header-compact .header-image img {
  max-height: 40px !important;
  width: auto !important;
  transition: max-height 0.3s ease;
}

/* Fix navigation vertical centering */
.site-header.header-compact #site-navigation {
  float: none !important;
  display: flex;
  align-items: center;
}

.site-header.header-compact #site-navigation .inside-navigation {
  display: flex;
  align-items: center;
}

.site-header.header-compact .main-nav > ul {
  display: flex;
  align-items: center;
}

/* Compact nav link overrides */
.site-header.header-compact .main-navigation .main-nav ul li a {
  font-size: 13px;
  letter-spacing: 1.2px;
  padding: 10px 16px !important;
}

.site-header.header-compact .main-navigation .main-nav > ul > li > a::after {
  bottom: 3px;
  left: 16px;
  right: 16px;
}

/* Hide mobile toggle on desktop compact */
.site-header.header-compact #mobile-menu-control-wrapper {
  display: none;
}

/* Fade-in + slide-down animation */
@keyframes fadeSlideDown {
  from {
    opacity: 0;
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hidden state before compact kicks in */
.site-header.header-hidden {
  opacity: 0;
  transform: translateY(-100%);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

/* ===== HIDE CLOSE BUTTON ON DESKTOP ===== */
.nav-panel-close {
  display: none;
}

/* ===== MOBILE STYLES ===== */
@media (max-width: 768px) {

  /* Keep compact sticky working on mobile */
  .site-header.header-compact .inside-header.grid-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  /* Show hamburger menu in compact */
  .site-header.header-compact #mobile-menu-control-wrapper {
    display: flex !important;
    float: none !important;
    margin: 0;
    align-items: center;
  }

  /* Shrink logo on mobile compact */
  .site-header.header-compact .site-logo img,
  .site-header.header-compact .header-image img {
    max-height: 35px !important;
  }

  /* ===== SLIDE-IN NAV PANEL ===== */

  /* Full-width panel from the right */
  #site-navigation {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: 80vw !important;
    max-width: 320px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    background: #1a1a2e !important;
    z-index: 99999 !important;
    transform: translateX(100%);
    transition: transform 0.35s ease !important;
    overflow-y: auto !important;
    padding: 0 !important;
    box-shadow: -5px 0 30px rgba(0, 0, 0, 0.3);
    display: block !important;
  }

  /* Panel open state */
  #site-navigation.nav-open {
    transform: translateX(0) !important;
  }

  /* Inside navigation reset */
  #site-navigation .inside-navigation {
    display: block !important;
    padding: 0 !important;
  }

  /* Hide GP default toggle inside nav */
  #site-navigation .inside-navigation > .menu-toggle {
    display: none !important;
  }

  /* Show menu items always */
  #site-navigation .main-nav,
  #site-navigation #primary-menu {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Main nav reset */
  #site-navigation .main-nav > ul {
    display: block !important;
    padding-top: 80px !important;
  }

  #site-navigation .main-nav > ul > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
  }

  /* Parent menu labels (PROPERTIES, LOCATION, CONTACT) */
  #site-navigation .main-nav > ul > li > a {
    color: rgba(255, 255, 255, 0.45) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    padding: 20px 28px 8px 28px !important;
    border-bottom: none !important;
    display: block !important;
  }

  /* Dropdown arrow styling */
  #site-navigation .main-nav > ul > li > a .dropdown-menu-toggle {
    color: rgba(255, 255, 255, 0.3) !important;
    padding: 0 4px !important;
    font-size: 12px !important;
  }

  /* Remove desktop hover underline on mobile */
  #site-navigation .main-nav > ul > li > a::after {
    display: none !important;
  }

  /* Parent link hover */
  #site-navigation .main-nav > ul > li > a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
    background: none !important;
  }

  /* Sub-menu - always expanded */
  #site-navigation .main-nav ul ul.sub-menu {
    position: relative !important;
    width: 100% !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    transform: none !important;
    clip: auto !important;
  }

  /* Sub-menu links - the actual clickable items */
  #site-navigation .main-nav ul ul.sub-menu li a {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0.3px !important;
    padding: 12px 28px 12px 36px !important;
    border-bottom: none !important;
    display: block !important;
    transition: color 0.2s ease, background 0.2s ease !important;
    border-left: 3px solid transparent !important;
  }

  #site-navigation .main-nav ul ul.sub-menu li a:hover {
    color: #c9a96e !important;
    background: rgba(201, 169, 110, 0.08) !important;
    border-left-color: #c9a96e !important;
    padding-left: 36px !important;
  }

  /* Items without sub-menus (like CONTACT) - style as full link */
  #site-navigation .main-nav > ul > li:not(.menu-item-has-children) > a {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0.3px !important;
    padding: 12px 28px 12px 36px !important;
    margin-top: 12px !important;
    border-left: 3px solid transparent !important;
    transition: color 0.2s ease, background 0.2s ease !important;
  }

  #site-navigation .main-nav > ul > li:not(.menu-item-has-children) > a:hover {
    color: #c9a96e !important;
    background: rgba(201, 169, 110, 0.08) !important;
    border-left-color: #c9a96e !important;
  }

  /* Divider between menu groups */
  #site-navigation .main-nav > ul > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  }

  /* Close button */
  .nav-panel-close {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    color: #ffffff;
    font-size: 20px;
    cursor: pointer;
    width: 36px;
    height: 36px;
    padding: 0;
    line-height: 34px;
    text-align: center;
    z-index: 100000;
    transition: background 0.2s ease, color 0.2s ease;
  }

  .nav-panel-close:hover {
    background: rgba(201, 169, 110, 0.2);
    color: #c9a96e;
  }

  /* Overlay behind panel */
  .nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
  }

  .nav-overlay.active {
    opacity: 1;
    visibility: visible;
  }

  /* Lock body scroll when panel open */
  body.nav-panel-open {
    overflow: hidden;
  }
}

/* FOOTER WRAPPER */
.mh-footer {
    font-size: 14px;
    line-height: 1.7;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: #2d3436;
    color: #c8cdd0;
}
.mh-footer-inner {
    display: grid;
    max-width: 1200px;
    grid-template-columns: 1.4fr 0.9fr 1.1fr 1fr;
    gap: 44px;
    margin: 0 auto;
    padding: 52px 24px 44px;
}
.mh-logo-row {
    margin-bottom: 18px;
}
.mh-logo-row a {
    display: inline-block;
}
.mh-footer-logo {
    -moz-transition: opacity 0.2s;
    -webkit-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
    transition: opacity 0.2s;
    max-width: 240px;
    height: auto;
    opacity: 0.95;
}
.mh-footer-logo:hover {
    opacity: 1;
}
.mh-footer-brand > p {
    font-size: 13px;
    line-height: 1.8;
    max-width: 300px;
    color: #9ba3a7;
    margin: 0 0 24px;
}
.mh-btn-join {
    display: inline-block;
    -moz-transition: all 0.25s;
    -webkit-transition: all 0.25s;
    -o-transition: all 0.25s;
    transition: all 0.25s;
    font-size: 13px;
    border: 2px solid rgba(255, 255, 255, 0.25);
    font-weight: 600;
    background-color: transparent;
    text-decoration: none !important;
    color: #fff !important;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
    letter-spacing: 0.5px;
    padding: 10px 28px;
}
.mh-btn-join:hover {
    background-color: rgba(255, 255, 255, 0.08);
    color: #4caf50 !important;
    -moz-transform: translateY(-1px);
    -webkit-transform: translateY(-1px);
    -o-transform: translateY(-1px);
    transform: translateY(-1px);
    border-color: #4caf50;
}
.mh-footer-heading {
    font-size: 16px;
    padding-bottom: 14px;
    font-weight: 600;
    position: relative;
    color: #fff;
    letter-spacing: 0.3px;
    margin: 0 0 10px;
}
.mh-footer-heading::after {
    width: 36px;
    background-color: #4caf50;
    position: absolute;
    height: 3px;
    bottom: 0;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    left: 0;
    content: '';
}
.mh-footer-follow .mh-socials {
    margin-top: 16px;
}
.mh-socials {
    display: flex;
    gap: 14px;
}
.mh-socials a {
    display: flex;
    -moz-transition: all 0.25s;
    -webkit-transition: all 0.25s;
    -o-transition: all 0.25s;
    transition: all 0.25s;
    width: 42px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background-color: rgba(255, 255, 255, 0.06);
    height: 42px;
    text-decoration: none;
    color: #9ba3a7;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
}
.mh-socials a:hover {
    -moz-transform: translateY(-2px);
    -webkit-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
}
.mh-socials a[aria-label="Facebook"]:hover {
    background-color: #1877f2;
    color: #fff;
    border-color: #1877f2;
}
.mh-socials a[aria-label="Instagram"]:hover {
    background-color: #e4405f;
    color: #fff;
    border-color: #e4405f;
}
.mh-socials a[aria-label="YouTube"]:hover {
    background-color: #f00;
    color: #fff;
    border-color: #f00;
}
.mh-socials a[aria-label="TikTok"]:hover {
    background-color: #000;
    color: #fff;
    border-color: #69c9d0;
}
.mh-contact {
    display: flex;
    flex-direction: column;
    list-style: none;
    gap: 14px;
    margin: 16px 0 0;
    padding: 0;
}
.mh-contact li {
    display: flex;
    font-size: 14px;
    align-items: center;
    gap: 10px;
}
.mh-contact li svg {
    color: #4caf50;
    flex-shrink: 0;
}
.mh-contact li a {
    -moz-transition: color 0.2s;
    -webkit-transition: color 0.2s;
    -o-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    color: #c8cdd0;
}
.mh-contact li a:hover {
    color: #4caf50;
}
.mh-footer-cta > p {
    font-size: 14px;
    color: #9ba3a7;
    margin: 16px 0 22px;
}
.mh-btn-chat {
    display: inline-flex;
    -moz-transition: all 0.25s;
    -webkit-transition: all 0.25s;
    -o-transition: all 0.25s;
    transition: all 0.25s;
    font-size: 13px;
    font-weight: 600;
    background-color: #25d366;
    text-decoration: none !important;
    color: #fff !important;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
    -moz-box-shadow: 0 4px 15px rgba(37, 211, 102, 0.25);
    -webkit-box-shadow: 0 4px 15px rgba(37, 211, 102, 0.25);
    -o-box-shadow: 0 4px 15px rgba(37, 211, 102, 0.25);
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.25);
    align-items: center;
    gap: 8px;
    letter-spacing: 0.5px;
    padding: 12px 28px;
}
.mh-btn-chat:hover {
    background-color: #1ebe5d;
    color: #fff !important;
    -moz-box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    -webkit-box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    -o-box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    -moz-transform: translateY(-2px);
    -webkit-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
}
.mh-footer-bottom {
    display: flex;
    font-size: 13px;
    max-width: 1200px;
    color: #646e73;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin: 0 auto;
    padding: 20px 24px;
}
.mh-footer-bottom a {
    -moz-transition: color 0.2s;
    -webkit-transition: color 0.2s;
    -o-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    color: #646e73;
}
.mh-footer-bottom a:hover {
    color: #4caf50;
}
@media (max-width: 960px) {
.mh-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 36px 40px;
}
}
@media (max-width: 600px) {
.mh-footer-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 40px 20px 32px;
}
.mh-footer-logo {
    max-width: 200px;
}
.mh-socials {
    gap: 12px;
}
.mh-socials a {
    width: 40px;
    height: 40px;
}
.mh-footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 8px;
    padding: 16px 20px;
}
}

/* JOIN OUR TEAM */

/* ── Strip GP defaults ── */
body[class*="join-our-team"] .entry-header,
body[class*="join-our-team"] .page-header {
  display: none !important;
}

body[class*="join-our-team"] .inside-article,
body[class*="join-our-team"] .entry-content,
body[class*="join-our-team"] .site-main > article {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

body[class*="join-our-team"] .content-area {
  width: 100% !important;
  float: none !important;
}

body[class*="join-our-team"] #right-sidebar,
body[class*="join-our-team"] #left-sidebar {
  display: none !important;
}
/* ── Fix header gap ── */
body[class*="join-our-team"] .inside-header.grid-container {
  padding: 20px 40px !important;
}

body[class*="join-our-team"] #page,
body[class*="join-our-team"] .site,
body[class*="join-our-team"] .site-content,
body[class*="join-our-team"] #content,
body[class*="join-our-team"] .inside-content,
body[class*="join-our-team"] .content-area,
body[class*="join-our-team"] .site-main,
body[class*="join-our-team"] .hentry,
body[class*="join-our-team"] .inside-article,
body[class*="join-our-team"] #page > .site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ── Hero ── */
.join-hero {
  background: #1b1f24 !important;
  padding: 60px 24px 80px !important;
  text-align: center !important;
  margin: 0 calc(-50vw + 50%) !important;
  width: 100vw !important;
}

.join-hero h1,
.join-hero h2,
.join-hero h3 {
  color: #fff !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

.join-hero p {
  color: #9ba3a7 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* ── Form card ── */
.join-form-wrap {
  max-width: 660px !important;
  margin: -50px auto 60px !important;
  padding: 44px 40px !important;
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.1) !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ══ WPFORMS MASTER RESET ══ */

/* Reset all containers */
.join-form-wrap div[class*="wpforms"],
.join-form-wrap form[class*="wpforms"] {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* Force EVERY field to full width regardless of WPForms size class */
.join-form-wrap .wpforms-field,
.join-form-wrap .wpforms-container-full .wpforms-form .wpforms-field,
.join-form-wrap [class*="wpforms-field-medium"],
.join-form-wrap [class*="wpforms-field-large"],
.join-form-wrap [class*="wpforms-field-small"],
.join-form-wrap .wpforms-container-full .wpforms-form .wpforms-field-row {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin-bottom: 22px !important;
}

/* ── Labels ── */
.join-form-wrap label,
.join-form-wrap .wpforms-field-label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1b1f24 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.join-form-wrap .wpforms-field-sublabel,
.join-form-wrap span.wpforms-sublabel {
  font-size: 11px !important;
  color: #999 !important;
  margin-top: 4px !important;
}

/* ══ NAME FIELD — SIDE BY SIDE, FULL WIDTH ══ */
.join-form-wrap .wpforms-field-name .wpforms-field-row {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 0 !important;
}

.join-form-wrap .wpforms-one-half {
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
  float: none !important;
  padding: 0 8px 0 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.join-form-wrap .wpforms-one-half:last-child,
.join-form-wrap .wpforms-one-half + .wpforms-one-half {
  padding: 0 0 0 8px !important;
}

.join-form-wrap .wpforms-one-half input {
  width: 100% !important;
  max-width: 100% !important;
}

/* ══ ALL INPUT FIELDS ══ */
.join-form-wrap input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.join-form-wrap select,
.join-form-wrap textarea,
.join-form-wrap .wpforms-container-full input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.join-form-wrap .wpforms-container-full select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  border: 1.5px solid #dde2e6 !important;
  border-radius: 8px !important;
  background: #f7f8f9 !important;
  color: #1b1f24 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  height: auto !important;
  line-height: 1.5 !important;
}

.join-form-wrap input:focus,
.join-form-wrap select:focus,
.join-form-wrap textarea:focus {
  border-color: #4caf50 !important;
  box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.12) !important;
  background: #fff !important;
}

/* ── Remove number field spinner arrows ── */
.join-form-wrap input[type="number"]::-webkit-inner-spin-button,
.join-form-wrap input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  display: none !important;
  margin: 0 !important;
}

.join-form-wrap input[type="number"] {
  -moz-appearance: textfield !important;
}

/* ── Dropdown arrow ── */
.join-form-wrap select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='%23999'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}

/* ══ RADIO BUTTONS AS HORIZONTAL PILLS ══ */
.join-form-wrap .wpforms-field-radio ul,
.join-form-wrap .wpforms-field-checkbox ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
}

.join-form-wrap .wpforms-field-radio li,
.join-form-wrap .wpforms-field-checkbox li {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

/* Hide radio circle */
.join-form-wrap .wpforms-field-radio input[type="radio"],
.join-form-wrap .wpforms-field-checkbox input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* Pill style */
.join-form-wrap .wpforms-field-radio li label,
.join-form-wrap .wpforms-field-checkbox li label {
  display: inline-block !important;
  padding: 10px 32px !important;
  background: #f7f8f9 !important;
  border: 1.5px solid #dde2e6 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1b1f24 !important;
  transition: all 0.2s !important;
  user-select: none !important;
}

.join-form-wrap .wpforms-field-radio li label:hover,
.join-form-wrap .wpforms-field-checkbox li label:hover {
  border-color: #4caf50 !important;
  background: #f0faf0 !important;
}

/* Selected */
.join-form-wrap .wpforms-field-radio li input[type="radio"]:checked + label,
.join-form-wrap .wpforms-field-radio li input[type="radio"]:checked ~ label,
.join-form-wrap .wpforms-field-checkbox li input[type="checkbox"]:checked + label,
.join-form-wrap .wpforms-field-checkbox li input[type="checkbox"]:checked ~ label {
  border-color: #4caf50 !important;
  background: #e8f5e9 !important;
  color: #2e7d32 !important;
  font-weight: 600 !important;
}

/* ── Required asterisk ── */
.join-form-wrap .wpforms-required-label,
.join-form-wrap abbr[title="Required"] {
  color: #e53935 !important;
  text-decoration: none !important;
}

/* ══ SUBMIT BUTTON ══ */
.join-form-wrap .wpforms-submit-container {
  margin-top: 12px !important;
  padding: 0 !important;
  display: block !important;
  text-align: center !important;
}

.join-form-wrap .wpforms-submit-container .wpforms-submit-spinner {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

.join-form-wrap .wpforms-submit,
.join-form-wrap button.wpforms-submit {
  --wpforms-button-background-color: #4caf50 !important;
  --wpforms-button-background-color-alt: #4caf50 !important;
  --wpforms-button-text-color: #fff !important;
  --wpforms-button-size-height: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 15px 32px !important;
  height: auto !important;
  background: #4caf50 !important;
  background-color: #4caf50 !important;
  background-image: none !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  text-align: center !important;
  letter-spacing: 1px !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: all 0.25s !important;
  box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3) !important;
  -webkit-appearance: none !important;
  line-height: 1.4 !important;
}

.join-form-wrap .wpforms-submit:hover,
.join-form-wrap button.wpforms-submit:hover {
  --wpforms-button-background-color-alt: #43a047 !important;
  background: #43a047 !important;
  background-color: #43a047 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4) !important;
}

/* ── Success message ── */
.join-form-wrap .wpforms-confirmation-container-full {
  background: #e8f5e9 !important;
  border: 1px solid #a5d6a7 !important;
  border-radius: 8px !important;
  padding: 24px !important;
  color: #2e7d32 !important;
  font-size: 15px !important;
  text-align: center !important;
}

/* ── Error messages ── */
.join-form-wrap .wpforms-error,
.join-form-wrap label.wpforms-error {
  color: #e53935 !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
  .join-hero {
    padding: 48px 20px 68px !important;
  }

  .join-hero h1,
  .join-hero h2,
  .join-hero h3 {
    font-size: 26px !important;
  }

  .join-hero p {
    font-size: 14px !important;
  }

  .join-form-wrap {
    margin: -40px 16px 40px !important;
    padding: 28px 20px !important;
    border-radius: 10px !important;
  }

  .join-form-wrap .wpforms-field-name .wpforms-field-row {
    flex-direction: column !important;
  }

  .join-form-wrap .wpforms-one-half {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
  }

  .join-form-wrap .wpforms-one-half:last-child,
  .join-form-wrap .wpforms-one-half + .wpforms-one-half {
    padding: 0 !important;
  }

  .join-form-wrap .wpforms-field-radio ul,
  .join-form-wrap .wpforms-field-checkbox ul {
    flex-direction: column !important;
    gap: 8px !important;
  }
}

/* HERO SECTION */

/* Text column wrapper - dark panel behind text */
.hero-text-column {
  position: relative;
  padding: 48px 40px !important;
}

.hero-text-column::before {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  right: -20px;
  bottom: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 15, 30, 0.75) 0%,
    rgba(10, 15, 30, 0.55) 60%,
    rgba(10, 15, 30, 0.25) 100%
  );
  border-radius: 12px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: -1;
}

/* Eyebrow text - "Start Your Search" */
.hero-eyebrow {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #E4A853 !important;
  margin-bottom: 20px !important;
  line-height: 1 !important;
  display: inline-block !important;
  position: relative !important;
  padding-left: 50px !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

.hero-eyebrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 40px;
  height: 2px;
  background-color: #E4A853;
  transform: translateY(-50%);
}

/* Main headline */
.hero-headline {
  font-size: 56px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.5px !important;
  color: #ffffff !important;
  margin: 0 0 24px 0 !important;
  text-shadow: 
    0 2px 4px rgba(0, 0, 0, 0.5),
    0 8px 24px rgba(0, 0, 0, 0.4) !important;
}

/* Paragraph */
.hero-paragraph {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  max-width: 520px !important;
  margin-bottom: 36px !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
}

/* Search form wrapper - premium glass effect */
.hero-search .wp-block-search__inside-wrapper {
  background: rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 12px !important;
  padding: 8px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25) !important;
}

/* Search input field */
.hero-search .wp-block-search__input {
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 15px !important;
  padding: 14px 18px !important;
  outline: none !important;
  box-shadow: none !important;
}

.hero-search .wp-block-search__input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Search button */
.hero-search .wp-block-search__button {
  background: #E4A853 !important;
  color: #1a1a1a !important;
  border: none !important;
  padding: 14px 32px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  margin-left: 8px !important;
}

.hero-search .wp-block-search__button:hover {
  background: #d4982a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(228, 168, 83, 0.4) !important;
}

/* ===== Mobile responsive ===== */
@media (max-width: 800px) {
  .hero-text-column {
    padding: 32px 24px !important;
  }
  
  .hero-text-column::before {
    left: -12px;
    right: -12px;
  }
  
  .hero-headline {
    font-size: 36px !important;
  }
  
  .hero-paragraph {
    font-size: 15px !important;
  }
  
  .hero-eyebrow {
    font-size: 12px !important;
    padding-left: 40px !important;
  }
  
  .hero-eyebrow::before {
    width: 30px !important;
  }
  
  .hero-search .wp-block-search__button {
    padding: 12px 20px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 540px) {
  .hero-headline {
    font-size: 28px !important;
  }
}

/* Hide portrait image on mobile */
@media (max-width: 800px) {
  .hero-portrait {
    display: none !important;
  }
}

/* Fix hero background on mobile */
@media (max-width: 800px) {
  .hero-section {
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* TRUST SECTION */

.trust-section {
  background-color: #f7f7f7 !important;
  padding: 80px 40px !important;
}

.trust-grid {
  max-width: 1200px !important;
  margin: 0 auto !important;
  gap: 40px !important;
}

.trust-card {
  text-align: center !important;
  padding: 20px !important;
  transition: transform 0.3s ease !important;
}

.trust-card:hover {
  transform: translateY(-4px);
}

/* Icon styling */
.trust-icon {
  color: #1a2a3a !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 auto 20px auto !important;
  display: block !important;
  transition: color 0.3s ease !important;
}

.trust-card:hover .trust-icon {
  color: #E4A853 !important;
}

/* Title */
.trust-title {
  font-size: 19px !important;
  font-weight: 600 !important;
  color: #1a2a3a !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.2px !important;
}

/* Description */
.trust-desc {
  font-size: 15px !important;
  color: #666666 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  max-width: 320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== Mobile responsive ===== */
@media (max-width: 800px) {
  .trust-section {
    padding: 50px 24px !important;
  }
  
  .trust-grid {
    gap: 30px !important;
  }
  
  .trust-title {
    font-size: 17px !important;
  }
  
  .trust-desc {
    font-size: 14px !important;
  }
}

/* CONTACT PAGE */
.contact-card {
  transition: all 0.2s ease;
}

.contact-card:hover {
  border-color: #c8a96e !important;
  box-shadow: 0 4px 20px rgba(200, 169, 110, 0.15);
  transform: translateY(-2px);
  cursor: pointer;
}

@media (max-width: 600px) {
  .contact-card {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
}

/* Stretch page background full width */
.site-main,
.content-area,
body.page {
  background-color: #ffffff;
}

/* PROPERTY TYPES SECTION */

/* Outer container */
.property-types-section {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 80px 40px 60px !important;
  box-sizing: border-box !important;
}

/* Section title */
.property-types-title {
  font-size: 29px !important;
  font-weight: 600 !important;
  line-height: 1.2em !important;
  color: #1a1a1a !important;
  margin: 0 0 12px 0 !important;
  text-align: center !important;
}

/* Section subtitle */
.property-types-subtitle {
  font-size: 16px !important;
  color: #555 !important;
  line-height: 1.6 !important;
  margin: 0 0 40px 0 !important;
  text-align: center !important;
}

/* Grid gap between columns */
.property-types-grid {
  gap: 50px !important;
}

/* Each property card */
.property-card {
  padding: 0 0 36px 0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

.property-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
  transform: translateY(-4px) !important;
}

/* Property images */
.property-card img {
  width: 100% !important;
  border-radius: 0 !important;
  transition: transform 0.3s ease !important;
}

.property-card:hover img {
  transform: scale(1.03) !important;
}

/* Headings */
.property-card-title {
  font-size: 26px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 28px 28px 14px 28px !important;
  letter-spacing: 0.2px !important;
  line-height: 1.3 !important;
}

/* Gold divider */
.divider-gold {
  width: 50px !important;
  height: 3px !important;
  background-color: #E4A853 !important;
  border: none !important;
  margin: 0 0 20px 28px !important;
  opacity: 1 !important;
}

/* Description text */
.property-card-desc {
  font-size: 15px !important;
  color: #555555 !important;
  line-height: 1.7 !important;
  margin: 0 28px 28px 28px !important;
}

/* CTA links */
.property-cta,
a.property-cta {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 28px !important;
  transition: gap 0.3s ease, opacity 0.3s ease !important;
}

.property-cta:hover,
a.property-cta:hover {
  gap: 10px !important;
  opacity: 0.85 !important;
  text-decoration: none !important;
}

/* Gold CTA */
.property-cta-gold,
.property-cta-gold a {
  color: #E4A853 !important;
  text-decoration: none !important;
}

.property-cta-gold:hover,
.property-cta-gold a:hover,
.property-cta-gold:hover a {
  color: #E4A853 !important;
  text-decoration: none !important;
}

/* ===== Mobile responsive ===== */
@media (max-width: 800px) {
  .property-types-section {
    padding: 50px 24px 40px !important;
  }
  .property-types-grid {
    gap: 30px !important;
  }
  .property-types-title {
    font-size: 24px !important;
  }
  .property-types-subtitle {
    font-size: 15px !important;
    margin-bottom: 30px !important;
  }
  .property-card-title {
    font-size: 22px !important;
    margin: 24px 20px 12px 20px !important;
  }
  .divider-gold {
    margin: 0 0 16px 20px !important;
  }
  .property-card-desc {
    font-size: 14px !important;
    margin: 0 20px 24px 20px !important;
  }
  .property-cta {
    margin-left: 20px !important;
  }
}

@media (max-width: 540px) {
  .property-types-section {
    padding: 40px 16px 32px !important;
  }
}

/* Divider wrapper - sits between sections */
.section-divider-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 40px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

/* Side lines */
.section-divider-wrap::before,
.section-divider-wrap::after {
  content: "";
  width: 140px;
  height: 1px;
  background-color: #e0e0e0;
}

/* Center gold line */
.section-divider {
  width: 80px;
  height: 3px;
  background-color: #E4A853;
  border: none;
  margin: 0;
  opacity: 1;
  flex-shrink: 0;
}

/* Mobile */
@media (max-width: 800px) {
  .section-divider-wrap {
    padding: 16px 24px;
    gap: 16px;
  }
  
  .section-divider-wrap::before,
  .section-divider-wrap::after {
    width: 80px;
  }
}

/* CEBU PAGE */

/* LOCATION HERO SECTION */
.ypsph-hero {
  position: relative;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* iOS/mobile fallback — fixed backgrounds break on touch devices */
@media (max-width: 768px) {
  .ypsph-hero {
    background-attachment: scroll !important;
  }
}

.ypsph-hero-title {
  letter-spacing: -0.5px;
  line-height: 1.1;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

.ypsph-hero-subtitle {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}