/* ==========================================================================
   Responsive adjustments.
   Mobile-first base styles live in component files; this file handles
   tablet and desktop breakpoints plus mobile-specific header behavior.
   ========================================================================== */

/* Tablet and below */
@media (max-width: 1023px) {
    .cas-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--cas-space-lg);
    }
    .cas-footer__brand {
        grid-column: 1 / -1;
    }
}

/* Mobile */
@media (max-width: 767px) {
    :root {
        --cas-header-height: 60px;
    }

    .cas-section {
        padding: var(--cas-space-xl) 0;
    }

    /* Show hamburger, hide inline nav */
    .cas-header__toggle {
        display: inline-flex;
    }

    .cas-header__nav {
        display: none;
    }

    .cas-header__branding {
        margin-right: auto;
    }

    .cas-header__inner {
        gap: var(--cas-space-sm);
    }

    .cas-footer__grid {
        grid-template-columns: 1fr;
    }

    .cas-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .cas-search-panel form,
    .cas-search-panel .search-form {
        flex-direction: column;
    }
}

/* Desktop: ensure mobile drawer never shows */
@media (min-width: 768px) {
    .cas-mobile-nav,
    .cas-overlay {
        display: none !important;
    }
}
