/* ==========================================================================
   Responsive Queries
   ========================================================================== */

/* Tablet & Smaller Devices (max-width: 991px) */
@media screen and (max-width: 991px) {
    .grid-3, .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-links {
        gap: 2rem;
    }

    /* Tablet navbar adjusts to hamburger menu at <=991 */
    .mobile-menu-toggle {
        display: flex;
        order: 2;
        margin-left: auto;
    }

    .logo {
        order: 1;
    }

    .top-nav,
    .auth-nav,
    .desktop-nav {
        display: none !important;
    }

    .navbar {
        width: min(98%, 1140px);
        left: 50%;
        transform: translateX(-50%);
        border-radius: 28px;
        padding: 0.6rem 0.75rem;
        top: 0.85rem;
    }

    .navbar-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    /* Hide desktop nav lists on tablet so hamburger is exclusive */
    .desktop-nav,
    .top-nav,
    .auth-nav {
        display: none !important;
    }

    .nav-links {
        gap: 0.45rem !important;
    }

    .nav-link {
        font-size: 0.78rem;
        padding: 0.26rem 0.4rem;
        letter-spacing: 0.4px;
        white-space: nowrap;
    }

    .btn-elegant {
        font-size: 0.75rem;
        padding: 0.28rem 0.6rem;
        min-width: auto !important;
        white-space: nowrap;
    }

    .nav-cta {
        min-width: auto;
    }

    .nav-cta-text-full {
        display: inline;
    }

    .nav-cta-text-short {
        display: none;
    }
}

/* Narrower tablets: shorten CTA text */
@media screen and (max-width: 900px) {
    .nav-links {
        gap: 0.35rem;
    }

    .nav-cta-text-full {
        display: none;
    }

    .nav-cta-text-short {
        display: inline;
    }

    .nav-link {
        font-size: 0.73rem;
        padding: 0.22rem 0.33rem;
    }

    .btn-elegant {
        font-size: 0.72rem;
        padding: 0.25rem 0.5rem;
    }

    .auth-nav .btn-elegant {
        font-size: 0.7rem;
        padding: 0.2rem 0.45rem;
        min-width: auto;
        white-space: nowrap;
    }
}

/* Small tablets crowding: compress to fit */
@media screen and (max-width: 840px) {
    .navbar-container {
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    .top-nav, .auth-nav {
        gap: 0.24rem;
    }

    .nav-link {
        font-size: 0.7rem;
        letter-spacing: 0.3px;
        padding: 0.18rem 0.28rem;
    }

    .nav-cta {
        padding: 0.22rem 0.45rem;
    }

    .auth-nav .btn-elegant {
        font-size: 0.66rem;
        padding: 0.18rem 0.35rem;
    }
}


@media screen and (max-width: 768px) {
    .desktop-nav {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
        order: 2;
    }

    .logo {
        order: 1;
    }

    .navbar-container {
        justify-content: space-between;
    }

    .top-nav, .auth-nav {
        display: none;
    }

    .section {
        padding: 4rem 0;
    }

    .hero {
        padding: 4rem 0 5rem;
    }

    .hero-title {
        font-size: clamp(2rem, 8vw, 2.5rem);
    }

    .grid-2, .benefits-grid {
        grid-template-columns: 1fr;
    }
    
    .why-content {
        order: 2; /* Put text below image on mobile */
    }
    
    .why-graphic {
        order: 1; /* Image first on mobile */
        margin-bottom: 2rem;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .footer-container {
        flex-direction: column;
        gap: 2rem;
    }
}

/* Ensure desktop nav unchanged above tablet range */
@media screen and (min-width: 992px) {
    .mobile-menu-toggle {
        display: none !important;
    }

    .top-nav,
    .auth-nav {
        display: flex !important;
    }

    .navbar-container {
        flex-wrap: nowrap;
        gap: 1rem;
    }

    .nav-links {
        gap: 1.5rem !important;
    }

    .nav-link,
    .btn-elegant {
        font-size: 0.9rem;
        padding: 0.5rem 0.8rem;
    }
}

/* Portrait Phones (max-width: 576px) */
@media screen and (max-width: 576px) {
    .grid-3, .features-grid {
        grid-template-columns: 1fr;
    }

    .nav-links {
        gap: 1rem;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

    .hero-actions .btn {
        width: 100%;
    }
    
    .section-title {
        font-size: 1.75rem;
        margin-bottom: 2rem;
    }
    
    .step-card {
        padding: 1.5rem;
    }
    
    .why-graphic {
        max-width: 100%;
    }
}

/* ==========================================================================
   Responsive Updates for Dashboard
   ========================================================================== */

/* Tablet & Smaller Devices (max-width: 991px) */
@media screen and (max-width: 991px) {
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Landscape Phones & Smaller Tablets (max-width: 768px) */
@media screen and (max-width: 768px) {
    .dashboard-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    
    .toolbar-search {
        border-bottom: 1px solid var(--clr-neutral-200);
        padding: 0.5rem 1rem;
    }
    
    .toolbar-filters {
        border-left: none;
    }

    /* Simple responsive tables: allow scrolling on x */
    .table-card {
        overflow-x: auto;
    }
    
    .data-table {
        min-width: 600px;
    }
}

/* Portrait Phones (max-width: 576px) */
@media screen and (max-width: 576px) {
    .grid-4 {
        grid-template-columns: 1fr;
    }
    
    .dashboard-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .dashboard-header .btn {
        width: 100%;
    }
}
