/* css/responsive.css - Media Queries for Mobile, Tablet & Desktop Optimization */

/* ==========================================
   FRONTEND RESPONSIVE STYLES
   ========================================== */

@media (max-width: 1024px) {
    .nav-links {
        display: none; /* Collapsed by default, toggled via JS */
        margin-left: 0;
        margin-right: 0;
    }
    
    .room-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .about-section {
        flex-direction: column-reverse;
        gap: 40px;
    }
    
    .about-image {
        max-width: 100%;
        height: 400px;
    }
}

@media (max-width: 768px) {
    .hero-slider h1 {
        font-size: 2.2rem;
    }
    
    .hero-slider p {
        font-size: 1rem;
    }
    
    .room-grid {
        grid-template-columns: 1fr;
    }
    
    .nearby-grid {
        grid-template-columns: 1fr;
    }
    
    .gallery-masonry {
        column-count: 2;
    }
    
    .booking-split {
        flex-direction: column;
    }
    
    .contact-container {
        grid-template-columns: 1fr;
    }
    
    /* Mobile Menu styles */
    .mobile-menu-btn {
        display: block;
        font-size: 1.5rem;
        cursor: pointer;
        color: var(--white);
    }
    
    .nav-container {
        position: relative;
    }
    
    .nav-links.mobile-active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--bg-card);
        border-bottom: 1px solid var(--border-color);
        padding: 20px;
        z-index: 1000;
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .hero-slider h1 {
        font-size: 1.8rem;
    }
    
    .gallery-masonry {
        column-count: 1;
    }
    
    .stat-counter-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================
   ADMIN PORTAL RESPONSIVE STYLES
   ========================================== */

@media (max-width: 992px) {
    .admin-layout {
        flex-direction: column;
    }
    
    .admin-sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding: 10px 0;
    }
    
    .sidebar-nav {
        flex-direction: row;
        overflow-x: auto;
        padding: 0 20px 5px 20px;
        gap: 10px;
        scrollbar-width: none; /* Hide scrollbar for clean UI */
    }
    
    .sidebar-nav::-webkit-scrollbar {
        display: none;
    }
    
    .nav-link {
        padding: 8px 14px;
        white-space: nowrap;
    }
    
    .dashboard-container {
        padding: 20px 15px;
    }
}

@media (max-width: 768px) {
    .admin-header {
        padding: 10px 15px;
        flex-direction: column;
        height: auto;
        gap: 10px;
        text-align: center;
    }
    
    .admin-layout {
        min-height: calc(100vh - 120px);
    }
    
    .header-actions {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .welcome-text {
        width: 100%;
        margin-bottom: 5px;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .charts-container {
        grid-template-columns: 1fr;
    }
    
    .chart-box {
        height: 300px;
    }
    
    .content-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .content-header div:last-child {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    .content-header input,
    .content-header select {
        width: 100%;
    }
    
    .modal-content {
        padding: 20px 15px;
        width: 95%;
    }
}
