/* Mobile responsive overrides */

@media (max-width: 768px) {
    /* Revert the desktop fixed-viewport layout: let the whole page scroll, since
       the panels stack vertically here. */
    html, body {
        height: auto;
    }

    body {
        display: block;
        overflow: visible;
    }

    .main-container {
        display: block;
        min-height: 0;
    }

    .chat-container {
        flex-direction: column;
        height: auto;
        min-height: 70vh;
    }

    .sidebar {
        width: 100%;
        order: -1;
        max-height: 200px;
    }

    .container {
        padding: 0 0.5rem;
    }

    .main-container {
        padding: 1rem 0;
    }

    /* Keep the minimal header a single row on mobile too. */
    .header-content {
        flex-direction: row;
        gap: 0.5rem;
    }

    .enhanced-budget-calculator {
        padding: 8px;
    }

    .input-row {
        flex-wrap: wrap;
        gap: 4px;
    }

    .input-row label {
        min-width: auto;
        width: 100%;
        margin-bottom: 4px;
    }

    .slider-container {
        min-width: 100%;
        margin-bottom: 8px;
    }

    .payment-options {
        flex-wrap: wrap;
    }

    .vehicle-links-container {
        flex-direction: column;
    }

    .vehicle-link {
        min-width: auto;
    }
}