/* ============================================================
   NYT-Inspired Mobile Menu & Header Responsive Styles
   ============================================================ */

/* ---- Header layout base ---- */
.nyt-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: var(--nyt-bg, #ffffff);
    transition: background-color 0.3s ease;
}

[data-theme="dark"] .nyt-header {
    background-color: var(--nyt-bg, #121212);
}

/* ---- Body padding for sticky header ---- */
body {
    padding-top: 0;
}

/* ---- Mobile Menu Toggle ---- */
.mobile-menu-toggle {
    display: none !important;
}

/* ---- Mobile Responsive ---- */
@media screen and (max-width: 768px) {
    .nyt-header__nav {
        display: none;
    }

    .nyt-header__logo {
        font-size: 1.6rem;
    }

    .nyt-header__masthead {
        padding: 6px 0 4px;
        border-bottom-width: 1px;
    }

    .nyt-header__utility-inner {
        min-height: 28px;
    }

    .nyt-header__login-btn {
        font-size: 0.65rem;
        padding: 5px 10px;
    }

    .nyt-header__theme-toggle {
        width: 28px;
        height: 28px;
    }

    .nyt-header__theme-toggle svg {
        width: 14px;
        height: 14px;
    }
}

/* ---- Desktop: Hamburger triggers slide-out panel ---- */
@media screen and (min-width: 769px) {
    .nyt-mobile-menu {
        width: 300px;
    }
}

/* ---- Legacy mobile menu classes (disabled) ---- */
.navigation:not(.nyt-header__nav) {
    /* Don't touch the new NYT nav */
}

.nav-list:not(.nyt-nav__list) {
    /* Legacy nav list — unused now */
}

/* ---- Dark theme mobile menu ---- */
[data-theme="dark"] .nyt-mobile-menu {
    background-color: var(--nyt-bg, #121212);
}

[data-theme="dark"] .nyt-mobile-menu__list a {
    color: var(--nyt-text-primary, #e8e8e8);
    border-bottom-color: var(--nyt-border, #333);
}

[data-theme="dark"] .nyt-mobile-menu__list a:hover {
    color: var(--nyt-accent, #7eb8da);
}

[data-theme="dark"] .nyt-mobile-menu__divider {
    background: var(--nyt-border, #333);
}