/* Global Mobile Menu Fix for Models */
.menu-toggle {
    display: none;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    z-index: 2000;
}

.menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: 0.3s;
}

@media (max-width: 992px) {
    .menu-toggle {
        display: flex;
    }

    /* Hide desktop-only elements */
    .desktop-only {
        display: none !important;
    }

    /* Standardized Nav Links for Mobile */
    .nav-links,
    .nav-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: inherit;
        /* inherit works for background colors usually defined on header/body */
        background-color: rgba(10, 10, 12, 0.98);
        backdrop-filter: blur(15px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 30px;
        transition: 0.4s ease;
        z-index: 1500;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    /* Fix for light background models */
    body[style*="background: white"] .nav-links,
    body[style*="background: #f8f9fa"] .nav-links,
    .light-theme .nav-links {
        background-color: rgba(255, 255, 255, 0.98) !important;
    }

    .nav-links.active,
    .nav-menu.active {
        right: 0 !important;
        display: flex !important;
    }

    .nav-links li,
    .nav-menu li {
        width: 100%;
        text-align: center;
    }

    .nav-links a,
    .nav-menu a {
        font-size: 1.2rem !important;
        display: block;
        padding: 15px;
        color: white !important;
    }

    /* Hero Text Responsiveness */
    h1 {
        font-size: clamp(2rem, 10vw, 3.8rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 20px !important;
    }

    /* Prevent Section Overlaps */
    section {
        padding: 80px 20px !important;
        overflow: hidden;
    }

    .hero,
    .hero-section {
        height: auto !important;
        min-height: 80vh !important;
        padding-top: 120px !important;
        padding-bottom: 60px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .hero-content {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .cta-group,
    .hero-btns {
        flex-direction: column !important;
        gap: 15px !important;
    }

    /* Fix image overlaps */
    .hero-img,
    .hero-image,
    .chef-img {
        display: none !important;
        /* Hide secondary hero images on small mobile if they overlap text */
    }

    .mobile-only {
        display: block !important;
    }

    /* Universal Responsive Grids */
    .grid-2,
    .grid-3,
    .grid-4,
    .menu-grid,
    .product-grid,
    .cat-grid,
    .specialty-grid,
    .property-grid,
    .chef-grid,
    .why-grid,
    .footer-grid,
    .footer-main,
    .stats-grid,
    .stats-banner,
    .stats-strip,
    .hero-stats,
    .plans-grid,
    .features-grid,
    .services-grid,
    .projects-grid,
    .project-grid,
    .portfolio-grid,
    .team-grid,
    .cta-section,
    .cta-box,
    .quote-section,
    .form-grid,
    .booking-form .form-row {
        grid-template-columns: 1fr !important;
        display: grid !important;
        gap: 30px !important;
    }

    .hero-stats {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    .cta-box {
        flex-direction: column !important;
        text-align: center !important;
        gap: 30px !important;
    }

    /* Form Rows */
    .form-row {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    /* Container Adjustments */
    .container,
    .container-fluid,
    .nav-container,
    .footer-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Search Complex (Imobiliária specific but useful) */
    .search-complex {
        grid-template-columns: 1fr !important;
        margin-top: 20px !important;
        padding: 25px !important;
        width: calc(100% - 40px) !important;
        gap: 15px !important;
    }

    .search-complex .btn,
    .search-complex button {
        width: 100% !important;
        margin-top: 10px !important;
    }

    /* Image Overlaps & Heights */
    .chef-img,
    .about-img,
    .featured-img {
        height: 300px !important;
        margin-bottom: 20px !important;
    }

    /* General Typography Fixes for Mobile */
    h2 {
        font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
        line-height: 1.2 !important;
    }

    h3 {
        font-size: 1.5rem !important;
    }

    p {
        font-size: 0.95rem !important;
    }

    /* Padding Adjustments */
    .section-padding {
        padding: 60px 0 !important;
    }

    /* Header adjustments */
    header {
        padding: 15px 0 !important;
    }

    header .logo {
        font-size: 1.2rem !important;
    }
}