@media (max-width: 1080px) {
    .post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .content-layout--has-sidebar,
    .content-layout--sidebar-left {
        grid-template-columns: minmax(0, 1fr) 250px;
    }

    .content-layout--sidebar-left {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .site-header__badge {
        display: none;
    }
}

@media (max-width: 900px) {
    .main-navigation {
        position: relative;
        top: auto;
        background: transparent;
        border-bottom: 0;
        box-shadow: none;
    }

    body.admin-bar .main-navigation {
        top: auto;
    }

    .main-navigation::after {
        display: none;
    }

    .main-navigation__inner {
        min-height: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding-block: 0.55rem 0.2rem;
        position: relative;
    }

    .menu-toggle {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        gap: 0.7rem;
        margin-left: 0;
        padding: 0.7rem 1rem;
        color: #fff;
        background: linear-gradient(135deg, var(--kga-accent), #4e7a51);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 999px;
        box-shadow: 0 10px 24px rgba(35, 67, 42, 0.22);
        font-weight: 800;
        cursor: pointer;
    }

    .menu-toggle__icon {
        width: 1.35rem;
        display: grid;
        gap: 4px;
    }

    .menu-toggle__icon span {
        width: 100%;
        height: 2px;
        display: block;
        background: currentColor;
        border-radius: 999px;
        transition: transform 160ms ease, opacity 160ms ease;
    }

    .main-navigation.is-open .menu-toggle__icon span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .main-navigation.is-open .menu-toggle__icon span:nth-child(2) {
        opacity: 0;
    }

    .main-navigation.is-open .menu-toggle__icon span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .primary-menu {
        width: 100%;
        max-height: min(calc(100vh - 8rem), 70vh);
        position: absolute;
        top: calc(100% + 0.35rem);
        left: 0;
        right: 0;
        z-index: 1100;
        display: none;
        overflow-y: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 0.3rem;
        margin-top: 0;
        padding: 0.8rem;
        background: rgba(21, 43, 27, 0.96);
        border: 1px solid rgba(255, 255, 255, 0.12);
        border-radius: 16px;
        box-shadow: 0 18px 45px rgba(20, 35, 24, 0.24);
    }

    .main-navigation.is-open .primary-menu {
        display: flex;
    }

    .primary-menu > li > a {
        min-height: 44px;
        padding-right: 3.1rem;
        border-radius: 10px;
    }

    .primary-menu ul,
    .primary-menu ul ul {
        min-width: 0;
        position: static;
        visibility: visible;
        opacity: 1;
        display: none;
        margin: 0.35rem 0 0 0.75rem;
        padding: 0.35rem;
        background: rgba(255, 253, 247, 0.96);
        border-radius: 11px;
        box-shadow: none;
        transform: none;
    }

    .primary-menu li.is-submenu-open > ul,
    .primary-menu li.current-menu-ancestor > ul,
    .primary-menu li.current-page-ancestor > ul,
    .primary-menu li.current_page_ancestor > ul {
        display: block;
    }

    .primary-menu ul a {
        min-height: 40px;
        padding-right: 2.8rem;
        white-space: normal;
    }

    .primary-menu .menu-item-has-children > a::after,
    .primary-menu .page_item_has_children > a::after {
        display: none;
    }

    .submenu-toggle {
        width: 2.35rem;
        height: 2.35rem;
        position: absolute;
        top: 0.3rem;
        right: 0.35rem;
        z-index: 2;
        display: grid;
        place-items: center;
        padding: 0;
        color: currentColor;
        background: rgba(255, 255, 255, 0.10);
        border: 0;
        border-radius: 50%;
        cursor: pointer;
    }

    .primary-menu ul .submenu-toggle {
        color: var(--kga-accent-dark);
        background: var(--kga-surface-green);
    }

    .submenu-toggle::before {
        width: 0.48rem;
        height: 0.48rem;
        content: "";
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: translateY(-2px) rotate(45deg);
        transition: transform 150ms ease;
    }

    .menu-item-has-children.is-submenu-open > .submenu-toggle::before,
    .page_item_has_children.is-submenu-open > .submenu-toggle::before {
        transform: translateY(2px) rotate(225deg);
    }

    .content-layout--has-sidebar,
    .content-layout--sidebar-left {
        grid-template-columns: minmax(0, 1fr);
    }

    .sidebar-area {
        position: static;
    }

    .content-layout--sidebar-left .sidebar-area {
        order: 2;
    }

    .content-layout--sidebar-left .content-card {
        order: 1;
    }

    .footer-widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .container {
        width: min(calc(100% - 1.25rem), var(--kga-max-width));
    }

    .site-header__inner {
        min-height: 0;
        align-items: flex-start;
        padding-block: 0.9rem;
    }

    .site-branding {
        align-items: center;
        gap: 0.85rem;
    }

    .site-logo img,
    .custom-logo {
        height: min(var(--kga-logo-height), 74px);
    }

    .site-branding__eyebrow {
        display: none;
    }

    .site-title {
        font-size: clamp(1.15rem, 6vw, 1.5rem);
    }

    .site-description {
        font-size: 0.78rem;
    }

    .site-main {
        padding-block: 1.4rem 2.4rem;
    }

    .content-card,
    .error-card,
    .content-none {
        padding: 1.25rem;
        border-radius: 18px;
    }

    .content-card::before,
    .error-card::before {
        left: 1.25rem;
    }

    .post-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .post-navigation .nav-links {
        grid-template-columns: minmax(0, 1fr);
    }

    .footer-widgets {
        grid-template-columns: minmax(0, 1fr);
    }

    .site-footer__top {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-menu {
        justify-content: flex-start;
    }

    .kga-lightbox-prev,
    .kga-lightbox-next {
        width: 2.55rem;
        height: 2.55rem;
        top: auto;
        bottom: 1rem;
        transform: none;
    }

    .kga-lightbox-prev { left: calc(50% - 3.2rem); }
    .kga-lightbox-next { right: calc(50% - 3.2rem); }
}
