/* ═══════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════ */

/* ─── Tablet (≤ 768px) ─── */
@media (max-width: 768px) {
    .container { padding: 0 16px; }
    .law-content { margin: 24px -16px 0; padding: 32px 24px 40px; }
    .cta-banner { flex-direction: column; text-align: center; }
    .law-header .meta-grid { gap: 16px; }
    .block-heading { font-size: 1rem; }
    .diff-side-by-side { grid-template-columns: 1fr; }
    .footer { padding: 32px 0; }

    /* Sidebar TOC → mobile drawer */
    .law-layout {
        display: block;
        margin: 24px -16px 0;
    }
    .law-sidebar {
        position: fixed;
        top: 0; left: 0; bottom: 0;
        width: 280px;
        z-index: 91;
        background: var(--bg-chrome);
        border-right: 1px solid var(--border-chrome);
        transform: translateX(-100%);
        transition: transform 0.25s ease;
        overflow-y: auto;
    }
    .law-sidebar--open {
        transform: translateX(0);
    }
    .law-sidebar--open ~ .law-toc-backdrop {
        display: block;
    }
    .law-toc {
        position: static;
        max-height: none;
        padding: 20px 0;
    }
    .law-toc-fab {
        display: flex;
    }
}

/* ─── Small screens (≤ 640px) ─── */
@media (max-width: 640px) {
    .landing-stats { gap: 20px; }
    .landing-dev-grid { grid-template-columns: 1fr; }
    .landing-hero { padding: 40px 0 24px; }
    .country-columns { grid-template-columns: 1fr; gap: 16px; }
    .jurisdiction-compact { grid-template-columns: 1fr; }

    /* Hamburger menu */
    .nav-toggle-label { display: flex; }
    .header nav {
        display: none;
        position: absolute;
        top: 52px; left: 0; right: 0;
        flex-direction: column;
        background: var(--bg-chrome);
        border-bottom: 1px solid var(--border-chrome);
        padding: 8px 16px 16px;
        gap: 2px;
    }
    .header nav a {
        padding: 12px 16px;
        font-size: 0.85rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }
    .nav-toggle:checked ~ nav { display: flex; }
    .lang-dropdown { width: 100%; margin: 8px 0 0; margin-left: 0; }
    .dropdown-trigger { width: 100%; justify-content: center; padding: 12px 16px; font-size: 0.85rem; }
    .dropdown-menu { left: 0; right: 0; }
    .header nav a.nav-cta { margin: 8px 0 0; margin-left: 0; justify-content: center; padding: 12px 16px; font-size: 0.85rem; }

    /* Dashboard charts */
    .vchart { height: 120px !important; }
}

/* ─── Small mobile (≤ 480px) ─── */
@media (max-width: 480px) {
    .law-content { padding: 24px 16px 32px; font-size: 0.95rem; }

    /* Stack search form */
    .home-search form { flex-direction: column; }
    .search-country-select {
        min-width: unset;
        border-right: 1px solid var(--border-chrome);
        border-radius: 8px 8px 0 0;
    }
    .home-search .search-input { border-radius: 0 0 8px 8px; }
}
