/* ============================================================
   ZIKZAKZOE
   RESPONSIVE DESIGN
============================================================ */


/* ============================================================
   LARGE TABLETS / SMALL DESKTOP
============================================================ */

@media (max-width: 1050px) {

    .container {
        width: min(100% - 40px, 1180px);
    }

    .desktop-nav {
        gap: 18px;
    }

    .hero-grid {
        grid-template-columns: 1.35fr 0.85fr;
    }

    .hero-image {
        height: 450px;
    }

    .article-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .category-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .latest-layout {
        gap: 35px;
    }

    .footer-top {
        grid-template-columns: 1.4fr 1fr 1fr 1fr;
        gap: 30px;
    }
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 820px) {

    .top-bar-inner {
        padding: 7px 0;
        min-height: auto;
        text-align: center;
    }

    .top-bar-inner a {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .desktop-nav {
        display: none;
    }

    .mobile-menu-button {
        display: flex;
    }

    .header-inner {
        min-height: 70px;
    }

    .hero-section {
        padding-top: 32px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-image {
        height: 500px;
    }

    .hero-side {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .side-story {
        border-bottom: 0;
    }

    .latest-layout {
        grid-template-columns: 1fr;
    }

    .sidebar {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }

    .footer-top {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-brand {
        grid-column: span 2;
    }

    .featured-strip-inner {
        grid-template-columns: 1fr;
    }

    .featured-strip-image {
        min-height: 320px;
    }
}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 600px) {

    .container {
        width: min(100% - 30px, 1180px);
    }

    .brand-name {
        font-size: 15px;
    }

    .brand-mark {
        width: 34px;
        height: 34px;
        font-size: 19px;
    }

    .header-search {
        width: 38px;
        height: 38px;
    }

    .hero-section {
        padding: 24px 0 25px;
    }

    .hero-image {
        height: 365px;
    }

    .hero-title {
        font-size: 41px;
    }

    .hero-excerpt {
        font-size: 14px;
    }

    .hero-side {
        grid-template-columns: 1fr;
    }

    .side-story-image {
        height: 220px;
    }

    .article-grid {
        grid-template-columns: 1fr;
    }

    .article-card-image {
        height: 240px;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 20px;
    }

    .section-heading h2 {
        font-size: 36px;
    }

    .section-link {
        margin-top: -7px;
    }

    .featured-strip-content {
        padding: 35px 25px;
    }

    .featured-strip-content h2 {
        font-size: 40px;
    }

    .featured-strip-image {
        min-height: 270px;
    }

    .latest-item {
        grid-template-columns: 1fr;
    }

    .latest-item-image {
        height: 225px;
    }

    .sidebar {
        display: flex;
    }

    .category-grid {
        grid-template-columns: 1fr;
    }

    .category-card {
        min-height: 250px;
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 35px 25px;
    }

    .footer-brand {
        grid-column: span 2;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* ============================================================
   VERY SMALL SCREENS
============================================================ */

@media (max-width: 390px) {

    .container {
        width: calc(100% - 24px);
    }

    .hero-title {
        font-size: 35px;
    }

    .hero-image {
        height: 320px;
    }

    .newsletter-card {
        padding: 21px;
    }

    .newsletter-card h3 {
        font-size: 27px;
    }
}