/* ACTA DIURNA — Responsive Header */

.pkp_structure_head {
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;

    /* tinggi mengikuti rasio gambar */
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1920 / 440 !important;

    position: relative !important;
    overflow: hidden !important;
}

.pkp_head_wrapper {
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.pkp_site_name_wrapper {
    display: none !important;
}

.pkp_navigation_primary_wrapper {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    min-height: 44px !important;
    background: rgba(9, 55, 92, 0.94) !important;
    z-index: 20 !important;
}

.pkp_navigation_primary {
    padding-left: 40px !important;
}

.pkp_navigation_user_wrapper {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 30 !important;
}

.pkp_site_nav_menu {
    margin: 0 !important;
}

/* =========================================================
   STEP 1 — DESKTOP DROPDOWN ONLY
   Do not add mobile rules yet.
   ========================================================= */

@media (min-width: 992px) {

    /* Allow the desktop submenu to extend outside the header */
    .pkp_structure_head {
        overflow: visible !important;
    }

    .pkp_navigation_primary_wrapper,
    .pkp_site_nav_menu {
        overflow: visible !important;
    }

    /* Keep the submenu above the page content */
    .pkp_navigation_primary > li {
        position: relative !important;
    }

    .pkp_navigation_primary > li > ul,
    .pkp_navigation_primary .dropdown-menu {
        z-index: 9999 !important;
    }
}


/* =========================================================
   STEP 10 — FORCE HEADER FULL WIDTH
   Based directly on STEP 1.
   Only fixes the header width on desktop.
   ========================================================= */

@media (min-width: 992px) {

    html,
    body {
        width: 100% !important;
    }

    body > .pkp_structure_page,
    .pkp_structure_page {
        width: 100% !important;
        max-width: none !important;
    }

    .pkp_structure_head {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .pkp_head_wrapper {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .pkp_site_nav_menu {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .pkp_navigation_primary_wrapper {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .pkp_navigation_primary_row {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }
}


/* =========================================================
   STEP 11 — USER MENU / LOGIN / REGISTER
   Based on STEP 10.
   Keeps the OJS user menu responsive without hiding it.
   ========================================================= */

/* Desktop */
@media (min-width: 992px) {

    .pkp_navigation_user_wrapper {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        transform: none !important;

        width: auto !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 18px 0 0 !important;

        z-index: 10001 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .pkp_navigation_user {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;

        text-align: right !important;
        white-space: nowrap !important;
    }

    .pkp_navigation_user > li {
        display: inline-block !important;
        position: relative !important;
        width: auto !important;
    }

    .pkp_navigation_user > li > a {
        display: block !important;
        padding: 6px 8px !important;
        line-height: 20px !important;
        white-space: nowrap !important;
        color: #fff !important;
    }

    /* Login/Register links */
    .pkp_navigation_user > li > a:hover,
    .pkp_navigation_user > li > a:focus {
        color: #fff !important;
        text-decoration: underline !important;
    }

    /* Account dropdown */
    .pkp_navigation_user > li > ul,
    .pkp_navigation_user .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        z-index: 10002 !important;

        width: 180px !important;
        min-width: 180px !important;

        background: #fff !important;
        box-shadow: 0 3px 10px rgba(0,0,0,.25) !important;
    }

    .pkp_navigation_user > li:hover > ul,
    .pkp_navigation_user > li:focus-within > ul,
    .pkp_navigation_user > li > .dropdown-menu.show {
        display: block !important;
    }

    .pkp_navigation_user > li > ul a,
    .pkp_navigation_user .dropdown-menu a {
        display: block !important;
        padding: 10px 12px !important;
        color: #006798 !important;
        background: #fff !important;
        white-space: normal !important;
    }
}

/* Mobile */
@media (max-width: 991px) {

    .pkp_navigation_user_wrapper {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        transform: none !important;

        width: auto !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 8px !important;

        z-index: 100003 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .pkp_navigation_user {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;

        white-space: nowrap !important;
        text-align: right !important;
    }

    .pkp_navigation_user > li {
        display: inline-block !important;
        position: relative !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_navigation_user > li > a {
        display: block !important;
        padding: 8px 6px !important;
        line-height: 20px !important;
        white-space: nowrap !important;
        color: #fff !important;
    }

    .pkp_navigation_user > li > ul,
    .pkp_navigation_user .dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;

        width: 180px !important;
        min-width: 180px !important;

        background: #fff !important;
        z-index: 100004 !important;
        box-shadow: 0 3px 10px rgba(0,0,0,.25) !important;
    }

    .pkp_navigation_user > li > ul a,
    .pkp_navigation_user .dropdown-menu a {
        display: block !important;
        padding: 10px 12px !important;
        color: #006798 !important;
        background: #fff !important;
    }
}
