@media (min-width: 769px) and (max-width: 1024px) {
    .ak-topbar-inner,
    .ak-header-inner,
    .ak-navigation-inner,
    .ak-footer-inner,
    .ak-hero-inner,
    .ak-content-shell {
        width: calc(100% - 3rem);
    }

    .ak-header-inner {
        gap: 1rem;
    }

    .ak-navigation-primary > ul > li > a {
        padding: 0.72rem 0.6rem;
        font-size: 0.82rem;
    }

    .ak-search-trigger {
        padding: 0.35rem 0.55rem;
        font-size: 0.82rem;
    }

    /* Kolom footer diatur di footer.css (992px / 768px, sesuai prototype) */

    /* Tablet: sidebar turun ke bawah body konten, TIDAK disembunyikan */
    .pkp_structure_content,
    .pkp_structure_content:has(> .ak-sidebar) {
        display: block;
        width: calc(100% - 3rem);
    }

    .ak-sidebar {
        margin-top: var(--ak-content-gap);
    }

    /* Widget berjajar dua kolom saat sidebar melebar */
    .ak-sidebar,
    .ak-home-sidebar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
}

@media (max-width: 768px) {
    .ak-topbar-inner,
    .ak-header-inner,
    .ak-navigation-inner,
    .ak-footer-inner,
    .ak-hero-inner,
    .ak-content-shell {
        width: calc(100% - 2rem);
    }

    .ak-topbar-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35rem;
        padding: 0.55rem 0;
    }

    .ak-header-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 1rem 0;
    }

    .ak-header-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    /* Mobile: satu kolom, sidebar tetap tampil di bawah konten */
    .pkp_structure_content,
    .pkp_structure_content:has(> .ak-sidebar) {
        display: block;
        width: calc(100% - 2rem);
    }

    body:not(.pkp_page_index) .pkp_structure_content {
        padding: 1.5rem 0 2.5rem;
    }

    .ak-sidebar {
        margin-top: 1.5rem;
    }

    .ak-sidebar,
    .ak-home-sidebar {
        display: flex;
        flex-direction: column;
    }

    .page {
        width: 100%;
        padding: 1.25rem 1.1rem 1.75rem;
    }

    .page > h1,
    .page > h2,
    .page .page_title {
        font-size: 1.3rem;
    }
}

@media (min-width: 1440px) {
    .ak-navigation-primary > ul > li > a {
        padding: 0.72rem 1rem;
    }
}
