/* 99 GAME — Responsive overrides
   Base styles in global.css/components.css already flex/wrap reasonably;
   this file handles the header's mobile nav toggle, the footer grid, and
   a few spacing/size tweaks so nothing overflows or falls under 44px. */

/* Hide the desktop-only "Search" link duplicate; the nav-search-link is
   only meant to appear once the search box itself is hidden on mobile. */
.nav-search-link { display: none; }

@media (max-width: 860px) {
    .site-header__inner {
        flex-wrap: wrap;
        height: auto;
        padding-block: 10px;
        row-gap: 10px;
    }

    .nav-toggle {
        display: flex;
        width: var(--touch-target);
        height: var(--touch-target);
        align-items: center;
        justify-content: center;
        border-radius: var(--radius-md);
        order: 2;
        margin-left: auto;
    }
    .nav-toggle:hover { background: var(--bg-card); }

    #audio-toggle-btn { order: 3; }

    .site-search { display: none; }
    .nav-search-link { display: block; }

    .primary-nav {
        order: 4;
        flex-basis: 100%;
        display: none;
        border-top: 1px solid var(--border-soft);
        padding-top: 10px;
    }
    .primary-nav.is-open { display: block; }
    .primary-nav ul {
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
    }
    .primary-nav > ul > li { width: 100%; }
    .primary-nav a { padding: 12px 4px; }

    .has-dropdown .dropdown {
        position: static;
        display: none;
        box-shadow: none;
        border: 0;
        background: none;
        padding-left: 14px;
        min-width: 0;
    }
    .has-dropdown.is-expanded .dropdown { display: grid; }

    .audio-panel { right: 12px; left: 12px; width: auto; }

    .site-footer__inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (min-width: 861px) and (max-width: 1080px) {
    .site-footer__inner {
        grid-template-columns: 1.2fr 1fr 1fr;
    }
    .site-footer__col:nth-child(2) { grid-column: 1; }
}

@media (max-width: 600px) {
    .hero { padding: 44px 0 32px; }
    .game-grid { gap: 12px; }
    .home-section__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .game-actions { flex-direction: column; align-items: stretch; }
    .share-widget { justify-content: flex-start; }
    .error-page { padding: 70px 16px 90px; }
    .error-page__code { font-size: 3.6rem; }
}

/* High contrast: strengthen borders for users who request it */
@media (prefers-contrast: more) {
    :root {
        --border: #454c5e;
        --text-muted: #c3c8d4;
    }
}
