/* ==========================================================================
   AVA SPACE — HOME PAGE — RESPONSIVE CSS
   Isse apni main site CSS file (jisme header/hero/sections hain) ke
   SABSE END mein paste karein (taake ye existing rules ko override kar sake)
   ========================================================================== */

/* ---------- SCROLL-LOCK SAFETY NET ----------
   Agar mobile hamburger menu (stellarnav) ki JS body/html pe overflow:hidden
   set karke stuck reh jaati hai, to poora page scroll hona band ho jaata hai
   aur full-page screenshot tools same viewport ko baar-baar capture karte
   hain (jaisa screenshot mein "Book Free Consultation" hero block dozens of
   times repeat hua). Ye rule sirf genuine menu-open state (jo aksar body pe
   ek class add karta hai) ko chhodkar, baaki hamesha scroll allow karta hai.
   Apne menu-open class ka actual naam pata karke neeche wale
   ':not(.menu-open)' selector mein replace kar dein agar naam alag ho
   (common names: .nav-open, .no-scroll, .offcanvas-open, .menu-active). */
html, body {
    overflow-x: hidden;
}

/*body:not(.menu-open):not(.nav-open):not(.no-scroll):not(.offcanvas-open):not(.menu-active) {*/
/*    overflow-y: auto !important;*/
/*    height: auto !important;*/
/*    min-height: 100%;*/
/*}*/


 .featured-card-content .schedule-btn-consult{
           padding: 10px 15px !important;
    }
    
    .featured-card-content .btn-outline-light{
            padding: 10px 15px !important;
    }



/* ---------- LAPTOP (<=1200px) ---------- */
@media (max-width: 1200px) {
    .advantage_container {
        grid-template-columns: 300px 1fr;
        gap: 20px;
    }
    
   

    .image-box {
        width: 220px;
    }

    .explore_loanslider {
        padding: 0 45px;
    }
}

/* ---------- TABLET (<=992px) ---------- */
@media (max-width: 992px) {
    /* ---- Header ---- */
    .main_header,
    .main_header.sticky {
        height: auto;
    }
    
    #designers-see_home_like_section {
    margin-top: 160px;
    padding: 30px 0;
}

    .hero-section {
        margin-top: 260px;
    }

    .topmain_section {
        flex-wrap: wrap;
        gap: 8px;
        row-gap: 6px;
    }

    .top_right {
        gap: 15px;
        flex-wrap: wrap;
    }

    .header_mid_section {
        flex-wrap: wrap;
        gap: 15px;
    }

    .header_mid_right {
        gap: 20px;
        flex-wrap: wrap;
        width: 100%;
        justify-content: flex-start;
    }

    /* ---- Hero ---- */
    .hero_banner {
        height: auto;
        min-height: 480px;
        padding: 30px 20px;
    }

    .main-title {
        font-size: 2.2rem;
    }

    /* ---- Transparency section ---- */
    .transparency-container {
        flex-direction: column;
        gap: 30px;
    }

    /* ---- AVA Advantage ---- */
    .advantage_container {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
        top: auto;
    }

    .step-card {
        flex-direction: column;
    }

    .image-box {
        width: 100%;
        height: 200px;
    }

    /* ---- Clarity over guesswork ---- */
    .comparison-grid {
        flex-direction: column;
    }

    .card-left {
        margin-right: 0;
        border-radius: 24px;
        padding-right: 40px;
    }

    /* ---- See homes / project cards ---- */
    .project-card {
        flex-direction: column;
    }

    .image-side {
        min-height: 260px;
    }

    .main-img {
        height: 260px;
    }

    .content-side {
        padding: 25px;
    }

    .btn-row {
        margin-top: 30px;
        flex-wrap: wrap;
    }

    /* ---- Residents-only group ---- */
    .pricing-card {
        max-width: 100%;
        width: 100%;
    }

    /* ---- Deals grid ---- */
    .deals-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    /* ---- Search box ---- */
    .search-left,
    .search-right {
        padding: 35px;
    }
}

/* ---------- MOBILE / SMALL TABLET (<=768px) ---------- */
@media (max-width: 768px) {
    
    
    
    /*.container {*/
    /*    max-width: 100%;*/
    /*}*/

    /* ---- Header ---- */


    .sell_avamartmain p {
        font-size: 11px;
    }

    .link_button {
        gap: 10px;
        flex-wrap: wrap;
    }

    .link_button a {
        font-size: 11px;
        padding: 6px 12px;
    }

    .google_tral .form-select {
        font-size: 12px;
        padding: 10px 35px 10px 10px;
    }

    .mid_cart_section {
        gap: 12px;
    }

    .sign_main a p {
        font-size: 12px;
    }

    /* ---- Hero ---- */

    .hero_banner {
        min-height:100%;
        border-radius: 20px;
        justify-content: center;
        gap: 20px;
    }
    
    i.fa-solid.fa-angle-down.arrow-icon.rotate {
    display: none;
}

    .main-title {
        font-size: 1.7rem;
        margin-bottom: 20px;
    }

    .button-group_hero {
        flex-direction: column;
        width: 100%;
        margin-bottom: 30px;
    }

    .btn_hero {
        width: 100%;
        text-align: center;
        padding: 13px 20px;
    }

    .features-grid {
        flex-wrap: wrap;
        margin-bottom: 0;
    }

    .hero-section .feature-item {
        width: calc(50% - 10px);
    }

    /* ---- Assurance section ---- */
    .assurance-section {
        padding: 50px 10px;
    }

    .assurance_title h2 {
        font-size: 1.75rem;
    }

    /* ---- Content column (transparency) ---- */
    .content-column h2 {
        font-size: 1.6rem;
    }

    /* ---- Everything your home needs ---- */
    .everything_needs_section {
        padding: 40px 0;
        margin-top: 20px;
    }

    .services_title h2 {
        font-size: 1.6rem;
    }

    .top-stats {
        gap: 8px;
    }

    .stat-pill {
        padding: 6px 14px;
        font-size: 12px;
    }

    /* ---- Modular interiors ---- */
    .nav-pills {
        flex-wrap: wrap;
        /*gap: 6px;*/
    }

    .nav-pills .nav-link {
        padding: 10px 16px;
        font-size: 0.95rem;
    }

    .featured-card {
        min-height: 320px;
        padding: 25px;
    }

    .featured-card-content h2 {
        font-size: 20px;
    }

    .step-container {
        overflow-x: auto;
        justify-content: flex-start;
        gap: 20px;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
    }

    .step-container::before {
        display: none;
    }

    .step-item {
        width: auto;
        flex: 0 0 auto;
        min-width: 80px;
    }

    /* gallery cols inside modular tab: 2-up is fine on mobile, just tighten */
    .gallery-item-wrapper {
        height: 150px;
    }

    /* ---- Choose your package ---- */
    .packege_title h2 {
        font-size: 1.6rem;
    }

    .calc-container {
        padding: 14px 16px 16px;
    }

    .estimate-box {
        padding: 16px 20px;
        margin-top: 15px;
    }

    .d-flex.justify-content-center.gap-4.mb-5 {
        flex-direction: column;
        gap: 12px !important;
    }

    .myborder {
        width: 100%;
        text-align: left;
    }

    /* ---- Loan options ---- */
    .loan-section .header-row {
        flex-wrap: wrap;
        gap: 12px;
    }

    .explore_loanslider {
        padding: 0 35px;
    }

    .owl-nav button {
        width: 34px;
        height: 34px;
    }

    /* ---- AVA Advantage ---- */
    .advantage_header h2 {
        font-size: 26px;
    }

    .tracker-card {
        padding: 25px 18px;
    }

    .content-box {
        padding: 20px;
    }

    /* ---- Clarity over guesswork ---- */
    .clarity_guesswork_section {
        padding: 50px 0;
    }

    .clarity_guesswork_header_section h2 {
        font-size: 26px;
    }

    .card {
        padding: 25px;
    }

    .card-left {
        padding-right: 25px;
    }

    .ava_interios_card_header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .card-right .actions {
        flex-direction: column;
    }

    /* ---- See homes like yours ---- */
    .seelike_header h2 {
        font-size: 26px;
    }

    .seehome_filter_section {
        flex-wrap: wrap;
        padding: 16px 20px;
        gap: 12px;
        justify-content: flex-start;
    }

    .seehome_filter_section .filter-item {
        flex: 1 1 45%;
        max-width: none;
        padding: 0;
    }

    .content-side {
        padding: 20px;
    }

    .content h2 {
        font-size: 20px;
    }

    .btn-row {
        flex-direction: column;
    }

    .btn-row .btn {
        width: 100%;
    }

    .thumb-strip {
        overflow-x: auto;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
    }

    .thumb {
        flex: 0 0 100px;
        width: 100px;
        height: 64px;
    }

    .designer-grid {
        grid-template-columns: 1fr;
    }

    /* ---- Real homes real reviews ---- */
    .main-grid {
        grid-template-columns: 1fr;
    }

    .real_title {
        font-size: 26px;
    }

    .filters {
        flex-wrap: wrap;
        gap: 10px;
    }

    .filter-group {
        flex: 1 1 45%;
    }

    .review-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 15px;
    }

    .realhome_inforight {
        text-align: left;
        margin-left: 0;
    }

    /* ---- FAQ ---- */
    .faqtatil_main h3 {
        font-size: 26px;
    }

    .category-btn {
        font-size: 12px;
        padding: 6px 12px;
    }

    .action-btns {
        width: 100%;
        flex-direction: column;
        gap: 10px;
    }

    .action-btns .btn {
        max-width: 100% !important;
        width: 100%;
    }

    /* ---- Also from us ---- */
    .card-title {
        font-size: 20px;
    }

    /* ---- Residents-only group interiors ---- */
    .hero_title_group {
        font-size: 26px;
    }

    .stats-row {
        flex-wrap: wrap;
        gap: 10px 20px;
    }

    .cta-group button,
    .btn-primary-cta,
    .btn-secondary-cta {
        width: 100%;
        text-align: center;
    }

    .section-header {
        flex-wrap: wrap;
        gap: 10px;
    }

    .section-header h2 {
        font-size: 20px;
    }

    .deals-grid {
        grid-template-columns: 1fr;
    }

    /* ---- Search box ---- */
    .search-left,
    .search-right {
        padding: 25px;
    }

    .form-grid {
        flex-direction: column;
        gap: 12px;
    }
}

/* ---------- SMALL MOBILE (<=576px) ---------- */
@media (max-width: 576px) {
    /*.hero-section {*/
    /*    margin-top: 220px;*/
    /*}*/

    .main-title {
        font-size: 1.4rem;
    }

    .hero-section .feature-item {
        width: 100%;
    }

    .cards-container {
        gap: 16px;
    }

    .card_assurance {
        min-width: 100%;
        padding: 25px 20px;
    }

    .services-grid {
        gap: 16px;
    }

    .image-wrapper {
        height: 180px;
    }

    .card-body_everyting {
        padding: 18px;
    }

    .card-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .featured-card {
        min-height: 260px;
        padding: 18px;
    }

    .calc-container .row.g-2 > div {
        margin-bottom: 10px;
    }

    .pricing-card {
        padding: 22px 16px;
    }

    .price-text {
        font-size: 1.4rem;
    }

    .buttons-gp .joinBtn2 {
        padding: 10px 20px !important;
    }

    .seehome_filter_section .filter-item {
        flex: 1 1 100%;
    }

    .status-tag {
        top: 15px;
        right: 15px;
        font-size: 12px;
    }

    .price {
        font-size: 17px;
    }

    .sidebar-card.rating-boxst h2 {
        font-size: 32px;
    }

    .savings-card h3 {
        font-size: 26px;
    }

    .search-left h2,
    .search-right h3 {
        font-size: 20px;
    }

    .promo-box {
        padding: 12px 15px;
    }

    .reward-tier {
        flex-wrap: wrap;
    }
}

/* ---------- EXTRA SMALL (<=375px) ---------- */
@media (max-width: 375px) {
    .main-title {
        font-size: 1.2rem;
    }

    .btn_hero {
        padding: 12px 16px;
        font-size: 0.9rem;
    }

    .card-body_everyting h3 {
        font-size: 18px;
    }

    .step-numbermy {
        font-size: 30px;
    }
}

@media (max-width: 480px) {
    
    .top_left { justify-content: space-between; padding: 8px; }


}

@media (max-width: 767px) {

    .top_left {
        display: flex;
        align-items: center;
        gap: 10px;
    }



}

/* ==========================================================================
   HEADER / NAVBAR — RESPONSIVE CSS (cleaned & deduplicated)
   Matches the <header class="main_header"> markup exactly.
   Load this AFTER your main site CSS so these rules win.

   NOTE: the big combined file had the same selector
   (.navbar-custom .navbar-collapse.show) patched THREE separate times
   with conflicting values (one said height:100vh, another said
   height:auto + max-height:calc(100vh - 70px), the last said
   max-height:100vh again) — later rules were silently cancelling the
   earlier fix. Below is ONE final version only (no dead/contradicting
   rules left in).
   ========================================================================== */

/* ---------- ALWAYS (not just mobile) ----------
   Kills a stray "<p>menu</p>" debug text that sits as a direct sibling
   inside .top_menu, and stops meg-menu.css from forcing .top_menu into
   a column layout (which stacks the hamburger icon above that stray
   word at every screen size). */
/*.top_menu > p {*/
/*    display: none !important;*/
/*}*/

/*.top_menu {*/
/*    flex-direction: row !important;*/
/*    align-items: center !important;*/
/*    gap: 10px !important;*/
/*}*/

/* ---------- LAPTOP (<=1200px) ---------- */
@media (max-width: 1200px) {
    .container {
        max-width: 100%;
        /*padding: 0 20px;*/
    }
    
    .overlap-icon{
            position: unset;
                margin: 10px;
    margin-bottom: 0;
    }
    
    .card-body {
    padding: 10px;
}

    .header_mid_right {
        gap: 20px;
    }

    .top_right {
        gap: 16px;
    }
}

/* ---------- TABLET (<=992px) ---------- */
@media (max-width: 992px) {
    .topmain_section {
        flex-wrap: wrap;
        row-gap: 8px;
    }
    
    .top_menu > p {
    display: none !important;
}

    .top_right {
        gap: 14px;
        flex-wrap: wrap;
    }

    .header_mid_section {
        padding: 12px 0;
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .header_mid_right {
        gap: 16px;
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .main_header .navbar-brand img {
        max-width: 130px;
    }

    .navbar-custom .navbar-nav {
        min-width: 100% !important;
    }
}

/* ---------- MOBILE (<=767px) ---------- */
@media (max-width: 767px) {
    /* .menu-container is the desktop mega-menu (hamburger + tab panel
       with Solutions/Quick Links/About/Partners/Community) — hidden on
       mobile in favour of navbar-custom's own collapse menu. */
    .menu-container {
        display: none !important;
    }
    
    .copy_mainse {
    display: block;
    justify-content: space-between;
    gap: 10px;
}

.lang_but {
    text-align: center;
    margin-bottom: 45px;
    display: flex;
    align-items: center;
    justify-content: normal !important;
    gap: 20px;
}

    /* .menu_mainsection is a SECOND, separate stellarnav mobile menu
       that sits right below the header. It's redundant with
       navbar-custom (which already handles mobile nav) and was the
       cause of a stray "☰ Menu" bar + extra gap before the hero. */
    .menu_mainsection {
        display: none !important;
    }

    .navbar-custom {
        display: block;
    }

    /* .navbar-custom carries BOTH "fixed-top" and its own inline
       positioning — this detaches the toggle from the header row and
       makes it float at a random left offset instead of sitting
       inline. Pin it back into normal flow. */
    .navbar-custom.fixed-top {
        left: auto !important;
        top:-2px;
    }

    .navbar-custom .navbar-toggler {
        padding: 0;
        border: none;
        box-shadow: none;
        position: relative;
        z-index: 10001;
    }

    /* keep just the hamburger icon, hide the "Menu" text label so it
       doesn't wrap/overflow next to the logo */
    .navbar-custom .menu-icon.mobl p {
        display: none;
    }

    .navbar-custom .menu-icon.mobl span {
        background: #fff;
    }

    /* animate hamburger -> "✕" when the panel is open, so there's an
       obvious way to close it again */
    .navbar-custom .navbar-toggler[aria-expanded="true"] .menu-icon.mobl span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
        background: #242424;
    }
    .navbar-custom .navbar-toggler[aria-expanded="true"] .menu-icon.mobl span:nth-child(2) {
        opacity: 0;
    }
    .navbar-custom .navbar-toggler[aria-expanded="true"] .menu-icon.mobl span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
        background: #242424;
    }

    /* Open panel: cover the full screen (both while animating -
       ".collapsing" - and once fully open - ".show" - so it doesn't
       visibly "snap" partway through the animation). Sized to content
       with its own scroll, not forced to a dead-space-leaving 100vh. */
    .navbar-custom .navbar-collapse.collapsing,
    .navbar-custom .navbar-collapse.show {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-height: calc(100vh - 70px) !important;
        overflow-y: auto !important;
        background: #fff !important;
        z-index: 10000 !important;
        padding: 70px 15px 30px !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
    }

    .navbar-custom .navbar-nav {
        min-width: 100% !important;
        margin-top: 0 !important;
        box-shadow: none !important;
    }

    .navbar-custom .navbar-nav .nav-link {
        padding: 0.7rem 1rem;
        margin: 5px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: solid 1px #ddd;
        background: #F2F3F7;
    }

    /* remove the small decorative grid icon next to every menu label —
       it doesn't mean anything to users, just clutter */
    .navbar-custom .nav-link .fa-th,
    .navbar-custom .nav-link i.fa-th {
        display: none !important;
    }

    /* sub-menu links (e.g. "AVA Property", "AVA Space"...) — indent +
       shrink so they read clearly as children of the row above */
    .navbar-custom .dropdown-menu {
        padding-left: 14px !important;
    }

    .navbar-custom .dropdown-item {
        font-size: 14px !important;
        padding: 0.65rem 1rem !important;
        border-bottom: solid 1px #eee !important;
    }

    .header_mid_right {
        /*justify-content: flex-end;*/
        gap: 12px;
    }

    .sign_main a p {
        display: none;
    }

    .mid_cart_section {
        gap: 12px;
    }
}

/* ---------- SMALL MOBILE (<=480px) ---------- */
@media (max-width: 480px) {
    .topmain_section {
        display: block;
    }

    .top_left {
        display: flex;
        align-items: center;
        gap: 10px;
        justify-content: space-between;
        padding: 8px;
    }

    /* "How it Works / Support" links + language switcher hidden on the
       smallest screens to keep the top bar to one compact row */
    .top_right {
        display: none;
    }

    .header_mid_right {
        gap: 12px;
    }

    .dropdown-toggle {
        padding: 8px 10px 8px 14px;
        font-size: 12px;
    }
}

/* ---------- EXTRA SMALL (<=360px) ---------- */
@media (max-width: 360px) {
    .navbar-custom .navbar-nav {
        min-width: 100%;
    }

    .main_header .navbar-brand img {
        max-width: 110px;
    }
}













.menu-icon {
    width: 30px;
    height: auto;
    position: relative;
    cursor: pointer;
    z-index: 100;
    /*top: 6px;*/
}



.top_menu {
    display: flex;
    gap: 32px;
    flex-direction: column;
}






























/* ==========================================================================
   AVA ADVANTAGE — "From Idea to Handover" STEPS — RESPONSIVE SLIDER CSS
   Isse apni site CSS ke end mein paste karein.
   Matches: .advantage_container > .sidebar (tracker card) + .steps-list
   (6x .step-card with .image-box + .content-box)
   ========================================================================== */

/* ---------- TABLET (<=992px) ----------
   Fixed 350px sidebar column breaks on tablets — stack sidebar above
   the steps, let it size naturally instead of being sticky-pinned. */
@media (max-width: 992px) {
    .advantage_container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .sidebar {
        position: static;
        top: auto;
        max-width: 420px;
        margin: 0 auto;
    }
}

/* ---------- MOBILE (<=767px) ----------
   Turn the 6 stacked step-cards into a horizontal swipeable slider
   instead of one very long vertical list. Pure CSS scroll-snap — no
   JS/library needed, works with native touch swipe on every phone. */
@media (max-width: 767px) {
    .steps-list {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 16px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 4px 4px 16px;
        margin: 0 -4px;
        scrollbar-width: none;       /* Firefox: hide scrollbar */
        -ms-overflow-style: none;    /* old Edge/IE */
    }

    .steps-list::-webkit-scrollbar {
        display: none;               /* Chrome/Safari: hide scrollbar */
    }

    .step-card {
        flex: 0 0 82%;
        max-width: 340px;
        scroll-snap-align: center;
        flex-direction: column;      /* image on top, content below, per-card */
    }

    .step-card .image-box {
        width: 100%;
        height: 170px;
    }

    .step-card .content-box {
        padding: 20px;
    }

    .step-numbermy {
        font-size: 30px;
    }

    .content-box h3 {
        font-size: 18px;
        margin: 14px 0 8px 0;
    }

    .content-box p {
        font-size: 14px;
    }

    /* small hint so users know it's swipeable, since there are no
       visible arrows/dots in this pure-CSS version */
    .steps-list::after {
        content: "";
        flex: 0 0 4px;
    }
}

/* ---------- DOT INDICATORS (below the slider) ----------
   Generated automatically by the small JS snippet at the bottom of
   this file — no HTML changes needed. Hidden by default; only shown
   on mobile once JS adds them (so nothing appears on desktop). */
.steps-slider-dots {
    display: none;
    justify-content: center;
    gap: 8px;
    margin-top: 4px;
}

@media (max-width: 767px) {
    .steps-slider-dots {
        display: flex;
    }
}

.steps-slider-dots button {
    width: 9px;
    height: 9px;
    border: 0;
    border-radius: 50%;
    background: var(--mylight-blue, #f0f7ff);
    border: 1px solid rgba(0, 69, 158, 0.25);
    padding: 0;
    cursor: pointer;
    transition: all 0.25s ease;
}

.steps-slider-dots button.active {
    width: 24px;
    border-radius: 20px;
    background: var(--myprimary-blue, #00459E);
    border-color: var(--myprimary-blue, #00459E);
}

/* ---------- SMALL MOBILE (<=480px) ---------- */
@media (max-width: 480px) {
    .step-card {
        flex: 0 0 88%;
    }

    .step-card .image-box {
        height: 150px;
    }

    .step-card .content-box {
        padding: 16px;
    }

    .pill-group {
        gap: 6px;
    }

    .pill {
        font-size: 11px;
        padding: 6px 12px;
    }
}

#menuIcon i {
    font-size: 30px;
    color: #fff;
    margin-left: -4px;
}


@media (max-width: 480px) {
    .wa-float-btn {
        width: 50px;
        height: 50px;
        bottom: 65px !important;
        right: 0px !important;
    }
}













