/* Logo styles - now using image instead of text */
/* Hide Central Park logo between md (956px) and 1208px */
@media (min-width: 956px) and (max-width: 1208px) {
    .flex-shrink-0 img {
        display: none !important;
    }
}

/* Popup Modal Styles */
#popup-modal {
    display: none; /* Initially hidden */
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Popup modal content animation */
#popup-modal .bg-white {
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Prevent text wrapping in navigation */
.nav-link {
    white-space: nowrap;
}

/* Prevent horizontal scrolling on mobile */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}

/* Ensure all elements stay within viewport */
* {
    max-width: 100%;
    box-sizing: border-box;
}

/* Additional mobile overflow prevention */
@media (max-width: 768px) {
    * {
        max-width: 100vw !important;
    }
    
    /* Force all containers to stay within viewport */
    div, section, nav, main, article, aside, header, footer {
        max-width: 100vw;
        overflow-x: hidden;
    }
    
    /* Prevent any element from extending beyond screen */
    img, video, iframe, embed, object {
        max-width: 100% !important;
        height: auto;
    }
}

/* Fix mobile menu positioning and prevent horizontal scroll */
.mobile-menu {
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    max-width: 320px; /* Fixed max width instead of percentage */
    width: 75vw; /* Use viewport width for better control */
}

.mobile-menu.open {
    transform: translateX(0);
}

/* Ensure mobile menu overlay covers entire screen */
#mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    z-index: 40;
}

/* Prevent body scroll when mobile menu is open */
body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

/* Ensure images don't overflow on mobile */
img {
    max-width: 100%;
    height: auto;
}

/* Prevent grid and flex items from overflowing */
.grid, .flex {
    min-width: 0;
}

/* Ensure containers stay within viewport on mobile */
@media (max-width: 768px) {
    .max-w-7xl, .max-w-6xl, .max-w-5xl, .max-w-4xl, .max-w-3xl {
        max-width: 100vw;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    /* Prevent text overflow */
    .text-4xl, .text-5xl, .text-6xl {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    /* Ensure buttons and forms don't overflow */
    button, input, select, textarea {
        max-width: 100%;
    }
    
    /* Fix any potential iframe overflow */
    iframe {
        max-width: 100%;
        width: 100%;
    }
    
    /* Fix grid layouts that might overflow */
    .grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    
    /* Override specific grid layouts for mobile */
    .md\\:grid-cols-2, .lg\\:grid-cols-3, .lg\\:grid-cols-4, .lg\\:grid-cols-5 {
        grid-template-columns: 1fr !important;
    }
    
    /* Ensure all content cards fit properly */
    .bg-gray-50, .bg-white {
        max-width: 100%;
        overflow: hidden;
        word-wrap: break-word;
    }
    
    /* Fix long text in cards */
    .text-sm, .text-lg, .text-xl {
        word-break: break-word;
        overflow-wrap: break-word;
    }
    
    /* Ensure RERA text doesn't overflow */
    .md\\:col-span-2, .lg\\:col-span-1 {
        grid-column: span 1 !important;
    }
    
    /* Fix tab content and overview section specifically */
    .tab-content {
        overflow: hidden;
    }
    
    .tab-content .bg-white {
        margin: 0;
        padding: 1rem !important;
    }
    
    /* Ensure tab navigation wraps properly */
    .flex-wrap {
        flex-wrap: wrap !important;
    }
    
    /* Fix button spacing in tab navigation */
    .tab-btn {
        margin-bottom: 0.5rem;
        font-size: 0.875rem;
        padding: 0.5rem 1rem;
    }
    
    /* Fix section padding on mobile */
    .py-16, .py-20 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    
    .px-4, .px-6, .px-8 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

.hamburger-line {
    transition: all 0.3s ease;
}

.hamburger.open .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.open .hamburger-line:nth-child(2) {
    opacity: 0;
}

.hamburger.open .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}