/* Custom Fixes CSS
   Add any custom style overrides here
*/


/* Ensure scroll-content-wrap has proper structure for share-holder positioning */
.scroll-content-wrap {
    position: relative;
    padding-left: 100px;
}

/* Share holder - use CSS sticky positioning (no jQuery plugin) */
.share-holder {
    position: absolute;
    left: 0;
    top: 0;
    width: 70px;
    z-index: 100;
    padding: 5px 0;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #eee;
    box-shadow: 0 10px 44px 0px rgba(0, 0, 0, .08);
}

/* When scrolling, make share holder sticky */
@supports (position: sticky) {
    .share-holder {
        position: sticky;
        position: -webkit-sticky;
        top: 110px;
        left: 0;
        float: left;
        margin-left: -100px;
        margin-top: 0;
    }
}

/* Fix for share container - stack icons vertically */
.share-container.isShare {
    display: block;
    width: 50px;
    border: 1px solid #eee;
    border-radius: 10px;
    overflow: hidden;
    margin: 0 auto;
}

.share-container .share-icon {
    display: block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background: #f9f9f9;
    border-top: 1px solid #eee;
    font-size: 1.3em;
    transition: all 100ms linear;
}

.share-container .share-icon:first-child {
    border-top: none;
}

.share-container .share-icon:hover {
    background: #fff;
    color: var(--main-color);
}

/* Mobile: hide or adjust share holder */
@media (max-width: 1067px) {
    .share-holder {
        position: relative;
        float: none;
        margin-left: 0;
        margin-bottom: 20px;
        width: auto;
    }

    .scroll-content-wrap {
        padding-left: 0;
    }

    .share-container.isShare {
        display: flex;
        flex-direction: row;
        width: auto;
    }

    .share-container .share-icon {
        border-top: none;
        border-left: 1px solid #eee;
    }

    .share-container .share-icon:first-child {
        border-left: none;
    }
}

/* =========================================
   Sidebar Sticky - for useful-tips and similar pages
   ========================================= */

/* Fix parent containers to allow sticky to work */
.col-lg-4 {
    overflow: visible !important;
}

.sb-container {
    height: 100%;
    overflow: visible !important;
}

.boxed-container {
    overflow: visible !important;
}

.sidebar-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 110px;
    z-index: 50;
    transition: top 0.3s ease;
}

/* scrollToFixed sidebar: smooth top transition when header shows/hides */
.scroll-to-fixed-fixed {
    transition: top 0.3s ease !important;
}

/* When header slides up, stick sidebar closer to top */
body.header-is-hidden .sidebar-sticky {
    top: 20px;
}

/* Request Information panel: CSS sticky (replaces scrollToFixed which had disappearing bug) */
.sb-container .fixed-form-wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 110px;
    z-index: 112;
    transition: top 0.3s ease;
}

body.header-is-hidden .sb-container .fixed-form-wrap {
    top: 20px;
}

@media (max-width: 1067px) {
    .sb-container .fixed-form-wrap {
        position: relative !important;
        top: 0 !important;
    }
}

/* Mobile: disable sticky on small screens — !important overrides any JS-set inline style */
@media (max-width: 1067px) {
    .sidebar-sticky {
        position: relative !important;
        top: 0 !important;
        margin-top: 0 !important;
        transition: none;
    }
}

/* FAQ page: remove top padding from boxed-container when sidebar stacks (<1064px) */
@media (max-width: 1063px) {
    .faq-layout .boxed-container {
        padding-top: 0 !important;
    }
}

/* Contacts page: phone/email label spacing on mobile */
@media (max-width: 767px) {
    .contacts-card-item p {
        clear: both;
        padding-bottom: 5px;
        margin-top: 16px;
    }

    .contacts-card-item p:first-of-type {
        margin-top: 0;
    }
}

/* Mobile social block — hidden by default, shown on mobile */
.contacts-mobile-social {
    display: none;
}

@media (max-width: 767px) {
    .contacts-mobile-social {
        display: block;
        margin-top: 70px;
        padding-top: 16px;
        border-top: 1px solid #eee;
        clear: both;
    }

    .contacts-desktop-social {
        display: none;
    }
}

.contacts-mobile-social-title {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
}

.contacts-mobile-social-icons {
    display: flex;
    gap: 12px;
    align-items: center;
}

.cms-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    font-size: 22px;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.cms-icon:hover {
    opacity: 0.85;
    transform: translateY(-2px);
}

.cms-line     { background: #06C755; color: #fff; }
.cms-wechat   { background: #07C160; color: #fff; }
.cms-whatsapp { background: #25D366; color: #fff; }

.cms-icon i {
    color: #fff;
    font-size: 22px;
    line-height: 1;
    display: block;
}

/* =========================================
   Mobile Header Fixes - Make navbar less cramped
   ========================================= */

/* Hide header dividers for all mobile sizes */
@media (max-width: 1068px) {
    .main-header .header-divider,
    .main-header .header-right-items .header-divider {
        display: none !important;
    }

    /* Hide left border on hamburger menu */
    .nav-button-wrap {
        border: none !important;
    }
}

/* Tablet adjustments */
@media (max-width: 1068px) {

    /* Reduce logo size on mobile */
    .logo-holder {
        margin-left: 10px;
        height: 32px;
    }

    .logo-holder img {
        height: 100%;
        width: auto;
        max-width: 230px;
        object-fit: contain;
    }

    /* Adjust header padding */
    .header-inner {
        padding: 0 5px 0 5px;
        gap: 5px;
    }

    /* Search button - smaller */
    .header-search-btn {
        width: 40px;
        min-width: 40px;
        font-size: 16px;
    }

    /* Language switcher - more compact */
    .header-lang-switcher {
        margin: 0;
    }

    /* Hamburger menu - smaller */
    .nav-button-wrap {
        width: 60px;
        margin-left: 12px;
    }
}

/* Mobile phone adjustments */
@media (max-width: 768px) {
    .main-header .header-divider,
    .main-header .header-right-items .header-divider {
        display: none !important;
    }

    .nav-button-wrap {
        border: none !important;
    }

    .header-inner {
        height: 70px;
        padding: 0;
    }

    .logo-holder {
        margin-left: 12px;
        height: 28px;
    }

    .logo-holder img {
        max-width: 220px;
    }

    /* Smaller search button */
    .header-search-btn {
        width: 36px;
        min-width: 36px;
        height: 70px;
        line-height: 70px;
        font-size: 15px;
    }

    /* Hamburger menu - more compact */
    .nav-button-wrap {
        width: 55px;
        height: 70px;
        margin-left: 10px;
    }

    .nav-button span {
        width: 20px;
    }

    /* Adjust wrapper margin for smaller header */
    .wrapper {
        margin-top: 70px;
    }
}

/* =========================================
   Hero Slide - Mobile: restore yellow accent line above subtitle badge
   On mobile, margin-top:0 on hs_align-title + swiper overflow:hidden
   clips the :before pseudo-element (top:-20px). Adding padding-top
   pushes content down so the yellow line stays inside the swiper.
   ========================================= */
@media (max-width: 1068px) {
    .home-hero-section .hero-carousel_item {
        padding-top: 30px;
    }
}


/* Extra small mobile */
@media (max-width: 480px) {
    .main-header .header-divider,
    .main-header .header-right-items .header-divider {
        display: none !important;
    }

    .nav-button-wrap {
        border: none !important;
    }

    .header-inner {
        height: 60px;
        padding: 0;
    }

    .logo-holder {
        margin-left: 10px;
        height: 24px;
    }

    .logo-holder img {
        max-width: 210px;
    }

    /* Even smaller search button */
    .header-search-btn {
        width: 32px;
        min-width: 32px;
        height: 60px;
        line-height: 60px;
        font-size: 14px;
        padding: 0;
    }

    /* Compact hamburger */
    .nav-button-wrap {
        width: 50px;
        height: 60px;
        margin-left: 8px;
    }

    .nav-button span {
        width: 18px;
    }

    /* Adjust wrapper */
    .wrapper {
        margin-top: 60px;
    }
}

/* =========================================
   HOME HERO QUICK SEARCH - THEME ICON COLOR
   Keep icon tint aligned with website yellow accent
   ========================================= */
.home-hero-section .quick-search-form-v2 .quick-search-location-icon,
.home-hero-section .quick-search-form-v2 .quick-search-select-arrow,
.home-hero-section .quick-search-form-v2 .quick-search-input-wrap > i,
.home-hero-section .quick-search-form-v2 .quick-search-area-popup-close i {
    color: var(--main-color) !important;
}

/* All dropdown chevrons: gray — matching listing page format */
.home-hero-section .hero_home_search .quick-search-form-v2 .quick-search-range-trigger-arrow,
.home-hero-section .hero_home_search .quick-search-form-v2 .chevron-icon {
    color: #9ca3af !important;
    font-size: 14px !important;
}

/* Ensure all interactive quick-search boxes keep the same visible border (desktop only) */
@media (min-width: 992px) {
    .home-hero-section .quick-search-form-v2 .quick-search-multi-trigger,
    .home-hero-section .quick-search-form-v2 .quick-search-range-trigger {
        border: 1px solid #d9dee7 !important;
    }
}

.home-hero-section .quick-search-form-v2 .quick-search-filter-select:disabled ~ .quick-search-location-icon,
.home-hero-section .quick-search-form-v2 .quick-search-filter-select:disabled ~ .quick-search-select-arrow {
    color: rgba(251, 191, 36, 0.5) !important;
}

/* Make hero quick-search icons slightly larger */
.home-hero-section .quick-search-form-v2 .quick-search-location-icon,
.home-hero-section .quick-search-form-v2 .quick-search-select-arrow,
.home-hero-section .quick-search-form-v2 .quick-search-input-wrap > i,
.home-hero-section .quick-search-form-v2 .quick-search-area-popup-close i {
    font-size: 16px !important;
}

/* Hero quick-search submit button: black -> yellow theme */
.home-hero-section .quick-search-form-v2 .quick-search-submit {
    background: var(--main-color) !important;
    color: #fff !important;
}

.home-hero-section .quick-search-form-v2 .quick-search-submit:hover {
    background: var(--main-color) !important;
    color: #111827 !important;
}

/* Desktop: keyword + search button row */
@media (min-width: 992px) {
    .home-hero-section .quick-search-form-v2 .quick-search-keyword-submit-row {
        grid-template-columns: minmax(0, 1fr) 240px;
    }

    .home-hero-section .quick-search-form-v2 .quick-search-inline-submit {
        height: 46px !important;
        line-height: 46px !important;
        min-height: 46px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Mobile/tablet: keep full-width primary action */
@media (max-width: 991px) {
    .home-hero-section .quick-search-form-v2 .quick-search-inline-submit {
        width: 100% !important;
        min-width: 0;
        max-width: none;
        max-height: 48px;
    }
}

/* Desktop/tablet: keep hero quick-search like original (no "Use Quick Search" header row) */
@media (min-width: 992px) {
    .home-hero-section .hero_home_search .list-searh-input-wrap-title_wrap {
        display: none !important;
    }

    .home-hero-section .hero-notifer {
        display: none !important;
    }
}

/* Mobile polish for hero quick-search block to match old spacing */
@media (max-width: 991px) {
    .home-hero-section .hero_home_search.list-searh-input-wrap {
        padding: 16px 10px 14px !important;
        border-radius: 22px;
        background-color: #fff3;
        
    }

    .home-hero-section .hero_home_search .list-searh-input-wrap-title_wrap {
        padding-bottom: 12px !important;
        margin-bottom: 12px !important;
    }

    .home-hero-section .hero_home_search .list-searh-input-wrap-title {
        top: 0 !important;
        font-size: 1.06rem;
        font-weight: 700;
        display: flex;
        align-items: center;
    }

    .home-hero-section .hero_home_search .list-searh-input-wrap-title i {
        margin-right: 9px;
        font-size: 15px;
    }

    .home-hero-section .hero_home_search .quick-search-v2-grid {
        gap: 0;
    }
}

/* =========================================
   Header Typography Tuning
   Make nav and language switcher text slightly lighter
   ========================================= */
.main-header .nav-holder nav > ul > li > a {
    font-weight: 500 !important;
}

.main-header .nav-holder nav ul ul li a {
    font-weight: 400 !important;
}

.main-header .language-switcher .language-switcher-btn {
    font-weight: 500 !important;
    font-size: 1.167em !important;
    letter-spacing: 0 !important;
    font-family: var(--main-font) !important;
}

.main-header .language-switcher .lang-short-name,
.main-header .language-switcher .dropdown-header,
.main-header .language-switcher .lang-info .lang-name,
.main-header .language-switcher .language-option {
    font-weight: 500 !important;
}

.main-header .language-switcher .language-switcher-btn .lang-name {
    text-transform: uppercase;
    
    letter-spacing: 0 !important;
   
}


/* Home hero: remove straight horizontal line under Scroll Down block */
.home-hero-section .hs-scroll-down-wrap:before {
    display: none !important;
    content: none !important;
    width: 0 !important;
}

/* Home first section seam fix under Scroll Down */
.home-hero-section + .container .main-content > .boxed-container {
    border-top: 0 !important;
    padding-top: 20px !important;
    margin-top: 30px !important;
}

.home-hero-section + .container .main-content#sec1 .hot-properties-header {
    position: relative;
    justify-content: center !important;
    margin-bottom: 24px !important;
}

.home-hero-section + .container .main-content#sec1 .hot-properties-header h3 {
    font-size: 34px !important;
    font-weight: 800 !important;
    line-height: 1.25;
    text-align: center;
    margin: 0 !important;
}

.home-hero-section + .container .main-content#sec1 .hot-properties-nav {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

@media (max-width: 991px) {
    .home-hero-section + .container .main-content#sec1 .hot-properties-header h3 {
        font-size: 28px !important;
    }
}

@media (max-width: 768px) {
    .home-hero-section + .container .main-content > .boxed-container {
        padding-top: 14px !important;
    }

    .home-hero-section + .container .main-content#sec1 .hot-properties-header h3 {
        font-size: 22px !important;
    }
}

/* =========================================
   Homepage Section Title Unification
   Latest Properties
   Find the Right Business Location
   Find Your Ideal Property in 4 Simple Steps
   Why Clients Choose Us
   Credentials & Compliance
   ========================================= */
.home-hero-section + .container .main-content#sec1 .hot-properties-header h3,
.smart-map-section .smart-map-title,
.how-it-works-title,
.why-choose-title-wrap h2,
.trusted-partners-section .section-title h2 {
    color: #1e293b !important;
    font-weight: 600 !important;
    font-size: 35px !important;
}

/* Mobile balance: keep homepage section headings visually aligned with hero heading */
@media (max-width: 767px) {
    .home-hero-section + .container .main-content#sec1 .hot-properties-header h3,
    .smart-map-section .smart-map-title,
    .how-it-works-title,
    .why-choose-title-wrap h2,
    .trusted-partners-section .section-title h2 {
        font-size: clamp(24px, 7vw, 29px) !important;
        line-height: 1.28 !important;
        letter-spacing: -0.01em !important;
        font-weight: 700 !important;
    }
}

@media (max-width: 420px) {
    .home-hero-section + .container .main-content#sec1 .hot-properties-header h3,
    .smart-map-section .smart-map-title,
    .how-it-works-title,
    .why-choose-title-wrap h2,
    .trusted-partners-section .section-title h2 {
        font-size: clamp(22px, 6.6vw, 26px) !important;
        line-height: 1.3 !important;
    }
}

/* =========================================
   Why Choose Us Cards - Desktop
   Icon left, title + detail on right, larger text
   ========================================= */
@media (min-width: 992px) {
    .why-choose-cards-section .why-choose-card {
        display: grid !important;
        grid-template-columns: 110px 1fr;
        column-gap: 14px;
        align-items: start;
        padding: 20px !important;
        border-radius: 10px !important;
    }

    .why-choose-cards-section .why-choose-card .why-choose-icon {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: 110px !important;
        height: 110px !important;
        margin: 0 !important;
        border-radius: 10px !important;
        align-self: center;
    }

    .why-choose-cards-section .why-choose-card h4 {
        grid-column: 2;
        margin: 2px 0 8px !important;
        font-size: 18px !important;
        line-height: 1.35;
        font-weight: 600 !important;
        text-align: left !important;
    }

    .why-choose-cards-section .why-choose-card p {
        grid-column: 2;
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #64748b !important;
        text-align: left !important;
    }

    .why-choose-cards-section .why-choose-card .why-choose-icon i {
        font-size: 50px !important;
    }
}

/* =========================================
   Prevent iOS Safari auto-zoom on input focus
   Safari zooms in when a focused input has font-size < 16px.
   Force 16px on mobile so the viewport stays locked.
   ========================================= */
@media (max-width: 991px) {


    /* Exception: compact SingleSelectDropdown trigger inputs use 13px
    and are never focused for typing (read-only display), so iOS zoom
       is not triggered. Override the blanket 16px rule here. */
    .single-select-dropdown.compact .trigger-input,
    .single-select-dropdown.compact .trigger-text {
        font-size: 13px !important;
    }
}

/* =========================================
   QuickSearch Dropdowns — Mobile Full Width
   Make all multi-select menus and range popups
   stretch to the full width of their trigger on mobile.
   ========================================= */
@media (max-width: 991px) {
    /* Multi-select menus (district, sub-district, zone, features) */
    .home-hero-section .quick-search-form-v2 .quick-search-multi-menu {
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        max-width: none !important;
    }

    /* Range popups (area size, price, clear height) */
    .home-hero-section .quick-search-form-v2 .quick-search-area-popup {
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        max-width: none !important;
    }
}

/* =========================================
   Location Picker Modal — Mobile Search Input Sizing
   Province / district / sub-district search boxes were 56px tall
   (border-radius: 16px), which looked inconsistent with the rest of
   the mobile search UI that uses 46px / 10px. This aligns them.
   ========================================= */
@media (max-width: 991px) {
    .quick-search-location-search-wrap {
        height: 46px !important;
        border-radius: 10px !important;
        padding: 0 14px !important;
    }
}

/* =========================================
   FAQ category heading — color + mobile fixes
   Default .help-item-title has no color → inherits black which blends in.
   On mobile the :before/:after decorators (template's pill "toggle" icons)
   overlap with the text and the 1.2em size looks smaller than the question
   text. Fix both.
   ========================================= */
.help-item-title {
    color: var(--main-color, #f59e0b);
}

@media (max-width: 991px) {
    .help-item-title::before,
    .help-item-title::after {
        display: none !important;
    }

    .help-item-title {
        font-size: 1.05rem !important;
        font-weight: 700 !important;
        padding-right: 20px !important;
    }
}

/* =========================================
   .cs-intputwrap — iOS Safari icon overlap fix
   iOS Safari ignores or overrides template padding/background on inputs
   even with -webkit-appearance:none, causing the absolute-positioned icon
   to overlap placeholder text. These declarations force the correct values.
   ========================================= */
.cs-intputwrap input[type="text"],
.cs-intputwrap input[type="email"],
.cs-intputwrap input[type="password"],
.cs-intputwrap input[type="tel"],
.cs-intputwrap input[type="search"],
.cs-intputwrap input[type="number"] {
    padding-left: 50px !important;
    background: #f9f9f9 !important;
    -webkit-appearance: none !important;
}