/* Responsive CSS for Lenox Property */

/* Mobile (up to 767px) */
@media screen and (max-width: 767px) {

    body.is-dashboard .navbar-default .navbar-toggle#menu-toggle, body.is-dashboard #menu-toggle {
        right: -21px !important;
    }

    main.dashboard-compact-tables .main-content {
        padding: 12px 0 24px !important;
    }

    .upload-container {
        padding: 0px !important;
    }

    .custom-popup .btn-danger, .custom-popup .btn-primary , .custom-popup .btn-cancel {
        padding: 7px 8px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    #propertyOwnerCertificationModal .modal-content.success-custom-box h4 {
        font-size: 15px !important;
        line-height: 24px !important;
    }

    .tab, #realtorFormTab, #landlordFormTab, #businessOwnerFormTab {
        margin: 0;
    }

    #footer .footer-dropdown-menu-box .navbar-custom .navbar-nav>li>a {
        font-size: 15px;
    }

    #footer .footer-dropdown-menu-box .dropdown-menu-custom ul li a {
        font-size: 14px;
    }

    #footer .footer-custom ul>li a {
        font-size: 15px;
    }

    .footer-menu .title {
        font-size: 15px;
    }

    #footer ul li a {
        font-size: 14px;
    }

    #footer .footer-custom a.button {
        font-size: 16px;
    }

    .login-signup-page .row h1 {
        padding: 30px 0 20px;
        color: #000;
    }

    /* Header & Nav */
    .navbar-default { padding: 10px; }
    .has-searchbar .search-box { width: 100%; float: none; margin: 10px 0; padding: 10px 0; }
    .has-searchbar main { margin-top: 100px; }
    
    /* Typography Scaling (scoped — avoids overriding every h1/h2/p site-wide) */
    .landing-banner h1, .innerpages-top-banner h1, .innerpages-top-banner h1 span, h1 span.font-gendy { font-size: 36px !important; line-height: 46px !important; }
    .landing-section2 .left h2, .landing-section4 h2 { font-size: 28px !important; line-height: 38px !important; }
    .innerpage section p { font-size: 14px !important; line-height: 24px !important; }
    
    /* Layout adjustments */
    .container { padding-left: 15px; padding-right: 15px; }
    
    /* Landing Sections */
    .landing-banner .pl-50 { padding-left: 15px; padding-top: 20px; }
    .landing-section3 .row { flex-direction: column; padding: 20px 0; }
    .landing-section3 .left, .landing-section3 .right { width: 100%; padding: 0 15px; margin-bottom: 20px; }
    .landing-section4 .entry-card { margin-bottom: 20px; }
    .landing-section5 .boxes .col-xs-12 { margin-bottom: 20px; }
    .landing-section6 .left-box { padding: 20px; }
    
    /* Search Results */
    .dropdown-wrapper { flex-direction: column; gap: 10px; }
    .search-filter .filter-container { flex-direction: column; width: 100%; }
    .custom-dropdown, .custom-dropdown-toggle { width: 100%; }
    .property-card-map .card { flex: 0 0 100%; margin-bottom: 20px; }
    .property-card-map .slide img { aspect-ratio: 16/9; }
    
    /* Property Detail */
    .property-details-popup { flex-direction: column; gap: 15px; }
    .property-img { width: 100%; flex: none; }
    .inline-property-details { flex-direction: column; gap: 10px; }
    
    /* Inner Pages */
    .sell-buy-top-banner { padding: 30px 0; }
    .info-with-image-block { flex-direction: column; gap: 30px; margin-bottom: 60px; }
    .info-image, .info-container { max-width: 100%; width: 100%; flex: none; }
    .video-container { margin: 30px auto 0; }
    .contact-form-container { padding: 20px; margin: 15px auto; }
    
    /* Footer */
    #footer { padding-top: 30px; }
    .footer-menu .title { margin-top: 0; }
}

/* Tablet (768px to 1024px) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    
    ul.nav.navbar-nav.navbar-right.logged-in .dropdown-menu {
        top: 0px !important;
        right: 0px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Header & Nav */
    .navbar-default .navbar-nav > li > a { padding: 15px 10px; font-size: 14px; }
    
    /* Typography Scaling */
    h2 { font-size: 36px !important; line-height: 46px !important; }
    
    /* Layout Adjustments */
    .landing-section2 .right .row { display: flex; flex-wrap: wrap; }
    .landing-section5 .boxes .col-sm-6 { margin-bottom: 30px; }
    
    /* Search Results */
    .property-card-map .card { flex: 0 0 50%; }
    
    /* Inner Pages */
    .info-with-image-block { gap: 30px; margin-bottom: 80px; }

    #footer .footer-logo {
        margin-bottom: 35px;
        width: 250px;
        height: auto;
    }

    .g-recaptcha {
        margin-bottom: -15px;
        margin-top: 5px;
    }

    .container {
        width: auto;
    }

    .col-sm-4 {
        width: 32.5%;
    }
}

/* Global utility classes for mobile */
@media screen and (max-width: 767px) {
    .hidden-mobile { display: none !important; }
    .w-100-mobile { width: 100% !important; }
    .p-0-mobile { padding: 0 !important; }
    .m-0-mobile { margin: 0 !important; }
    
    /* Mega menu mobile fixes */
    .mega-menu-content { flex-direction: column; padding: 10px; }
    .mega-left, .mega-right { width: 100%; padding: 10px 0; }
    .navbar-nav .dropdown-menu { position: static; float: none; background-color: transparent; border: 0; box-shadow: none; }
    
    /* Sign up form adjustments */
    .sign-up-form .signup-form { display: flex; flex-direction: column; gap: 10px; padding: 15px; }
    .signup-form .form-control { width: 100%; border-radius: 8px; border-right: 1px solid #00C8D7; }
    .signup-form .submit-btn { width: 100%; border-radius: 8px; }
    
    /* Fix recaptcha overflow */
    .g-recaptcha {
        transform: scale(0.92);
        transform-origin: 0 0;
        margin-bottom: -10px;
        margin-top: 5px;
    }

    .login-signup-box {
        border: 1px solid #0000002E;
        border-radius: 20px;
        padding: 15px;
        margin-top: 30px;
    }

    #footer .footer-logo {
        margin-bottom: 35px;
        width: 200px;
        height: auto;
        text-align: center;
    }

    .tab.row.select-user-container.active {
        width: 100%;
    }
}

@media screen and (max-width: 350px) {
    .g-recaptcha {
        transform: scale(0.75);
        transform-origin: 0 0;
        margin-bottom: -15px;
        margin-top: 5px;
    }

    .login-signup-box {
        border: 1px solid #0000002E;
        border-radius: 20px;
        padding: 15px;
        margin-top: 30px;
    }

    #footer .footer-logo {
        margin-bottom: 35px;
        width: 200px;
        height: auto;
        text-align: center;
    }

    .tab.row.select-user-container.active {
        width: 100%;
    }
}
