/* ==========================================================================
   RESPONSIVE DESIGN BREAKPOINTS
   ========================================================================== */

/* Large screens (up to 1200px) */
@media (max-width: 1200px) {
    .container {
        padding: 0 20px;
    }
    .calculator-grid {
        gap: 24px;
    }
}

/* Medium screens / Tablets (up to 992px) */
@media (max-width: 992px) {
    :root {
        --header-height: 64px;
    }

    .calculator-grid {
        grid-template-columns: 1fr;
    }

    /* Hide desktop nav, reveal hamburger */
    .nav-menu {
        position: fixed;
        top: var(--header-height);
        left: -100%;
        width: 280px;
        height: calc(100vh - var(--header-height));
        background-color: var(--bg-card);
        backdrop-filter: var(--glass-blur);
        border-right: 1px solid var(--border);
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 24px;
        gap: 20px;
        transition: var(--transition);
        z-index: 999;
    }

    .nav-menu.active {
        left: 0;
    }

    .mobile-menu-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        color: var(--text-main);
        width: 40px;
        height: 40px;
        border-radius: var(--radius-sm);
        border: 1px solid var(--border);
    }

    .search-container {
        width: 180px;
    }
    
    .search-container:focus-within {
        width: 220px;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-brand {
        grid-column: span 2;
    }
}

/* Small screens / Phones (up to 768px) */
@media (max-width: 768px) {
    .search-container {
        display: none; /* Hide standard header search bar on very small devices */
    }

    .nav-actions {
        gap: 8px;
    }

    .results-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: span 1;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .ai-assistant-panel {
        width: calc(100vw - 40px);
        height: 400px;
        bottom: 65px;
        right: -10px;
    }

    .ai-assistant-widget {
        bottom: 20px;
        right: 20px;
    }

    .result-val {
        font-size: 1.8rem;
    }
}

/* Very Small screens (up to 480px) */
@media (max-width: 480px) {
    .btn-row {
        grid-template-columns: 1fr;
    }
    
    .logo-link span {
        display: none; /* Icon/Logo only */
    }
}
