@media (max-width: 991px) {
    .np-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .np-col-8,
    .np-col-6,
    .np-col-4 {
        grid-column: span 4;
    }

    .np-col-12 {
        grid-column: span 8;
    }

    .np-col-3 {
        grid-column: span 2;
    }

    .np-desktop-news-grid {
        grid-template-columns: 1fr;
    }

    .np-desktop-news-grid__rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .np-foundation {
        padding-bottom: calc(var(--np-mobile-nav-height) + env(safe-area-inset-bottom));
    }

    .np-container {
        width: min(100% - 24px, var(--np-container));
    }

    .np-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--np-space-3);
    }

    .np-col-12,
    .np-col-8,
    .np-col-6,
    .np-col-4,
    .np-col-3 {
        grid-column: span 4;
    }

    .np-desktop-news-grid__rail {
        display: flex;
        gap: var(--np-space-3);
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .np-desktop-news-grid__rail > * {
        flex: 0 0 min(82vw, 320px);
        scroll-snap-align: start;
    }

    .np-mobile-bottom-nav {
        position: fixed;
        z-index: 1040;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        min-height: calc(var(--np-mobile-nav-height) + env(safe-area-inset-bottom));
        padding: 6px 6px env(safe-area-inset-bottom);
        color: var(--np-color-text);
        background: var(--np-color-surface);
        border-top: 1px solid var(--np-color-border);
        box-shadow: 0 -8px 24px rgba(20, 27, 35, 0.12);
    }

    .np-mobile-bottom-nav__item {
        display: flex;
        min-width: 0;
        min-height: 52px;
        padding: 5px 2px;
        flex-direction: column;
        gap: 4px;
        align-items: center;
        justify-content: center;
        color: var(--np-color-text-muted);
        background: transparent;
        border: 0;
        font-size: 11px;
        line-height: 1.1;
        text-align: center;
    }

    .np-mobile-bottom-nav__item:hover,
    .np-mobile-bottom-nav__item:focus,
    .np-mobile-bottom-nav__item[aria-current="page"] {
        color: var(--np-color-brand);
    }

    .np-mobile-bottom-nav__item i {
        font-size: 19px;
    }
}

@media (max-width: 359px) {
    .np-mobile-bottom-nav__item {
        font-size: 10px;
    }
}
