/* =====================================================================
   JURNAL AL ISTISHNA - style tambahan (warna biru tetap)
   Upload sebagai "Journal style sheet" jurnal Al Istishna.
   ===================================================================== */
:root {
    --biru: #1e6292;
    --biru-tua: #174e75;
    --biru-gelap: #0f3a58;
    --biru-muda: #e3f1fa;
    --garis: #d3e4ef;
    --teks: #17212b;
    --ease: cubic-bezier(.4, 0, .2, 1);
}
html { scroll-behavior: smooth; }

/* ----- Banner: lebih kecil, rata tengah, muncul halus ----- */
.pkp_site_name_wrapper,
.pkp_head_wrapper {
    height: auto !important;
}
.pkp_site_name .is_img {
    display: block;
    padding: 14px 0 12px;
    line-height: 0;
    text-align: center;
}
.pkp_site_name .is_img img {
    display: block;
    width: 100%;
    max-width: 1040px;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .16);
}

/* ----- Navbar: pil menyala dari tengah + garis bawah menyapu ----- */
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li {
    margin: 0 2px !important;
}
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a {
    position: relative;
    isolation: isolate;
    padding: 14px 18px !important;
    margin: 0 !important;
    transition: color .3s ease;
}
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a::before {
    content: "";
    position: absolute;
    inset: 6px 0;
    z-index: -1;
    border-radius: 8px;
    background: rgba(255, 255, 255, .28);
    opacity: 0;
    transform: scale(.7);
    transition: transform .4s var(--ease), opacity .3s ease;
}
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 9px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .45s var(--ease);
}
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a:hover::before,
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a:focus::before {
    opacity: 1;
    transform: scale(1);
}
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a:hover::after,
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a:focus::after {
    transform: scaleX(1);
    transform-origin: left center;
}

/* menu aktif (halaman yang sedang dibuka) */
body.pkp_page_index .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/index"]::before,
body.pkp_page_announcement .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/announcement"]::before,
body.pkp_page_issue.pkp_op_current .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/issue/current"]::before,
body.pkp_page_about:not(.pkp_op_submissions):not(.pkp_op_contact) .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/about"]::before,
body.pkp_page_issue.pkp_op_archive .pkp_navigation_primary_wrapper .pkp_navigation_primary > li:not(:nth-child(3)) > a[href$="/issue/archive"]::before,
body.pkp_page_issue.pkp_op_view .pkp_navigation_primary_wrapper .pkp_navigation_primary > li:not(:nth-child(3)) > a[href$="/issue/archive"]::before,
body.pkp_page_article .pkp_navigation_primary_wrapper .pkp_navigation_primary > li:not(:nth-child(3)) > a[href$="/issue/archive"]::before,
body.pkp_page_about.pkp_op_submissions .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/about/submissions"]::before,
body.pkp_page_about.pkp_op_contact .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/about/contact"]::before {
    opacity: 1;
    transform: scale(1);
    animation: pil-masuk .5s var(--ease) both;
}
body.pkp_page_index .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/index"]::after,
body.pkp_page_announcement .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/announcement"]::after,
body.pkp_page_issue.pkp_op_current .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/issue/current"]::after,
body.pkp_page_about:not(.pkp_op_submissions):not(.pkp_op_contact) .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/about"]::after,
body.pkp_page_issue.pkp_op_archive .pkp_navigation_primary_wrapper .pkp_navigation_primary > li:not(:nth-child(3)) > a[href$="/issue/archive"]::after,
body.pkp_page_issue.pkp_op_view .pkp_navigation_primary_wrapper .pkp_navigation_primary > li:not(:nth-child(3)) > a[href$="/issue/archive"]::after,
body.pkp_page_article .pkp_navigation_primary_wrapper .pkp_navigation_primary > li:not(:nth-child(3)) > a[href$="/issue/archive"]::after,
body.pkp_page_about.pkp_op_submissions .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/about/submissions"]::after,
body.pkp_page_about.pkp_op_contact .pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a[href$="/about/contact"]::after {
    transform: scaleX(1);
    transform-origin: left center;
    animation: garis-nav .6s var(--ease) .1s both;
}
@keyframes pil-masuk {
    from { opacity: 0; transform: scale(.7); }
    to   { opacity: 1; transform: scale(1); }
}
@keyframes garis-nav {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

/* ----- Jarak isi halaman & sidebar ----- */
.pkp_structure_content {
    padding-top: 30px !important;
}
@media (min-width: 992px) {
    .pkp_structure_sidebar {
        padding: 0 0 0 30px !important;
    }
    .pkp_structure_main {
        padding-right: 8px;
    }
}
.pkp_structure_sidebar .pkp_block {
    margin-bottom: 26px;
}

/* ----- Judul bagian: garis aksen tumbuh ----- */
.page h1,
.homepage_about h2,
.current_issue h2,
.issues_archive h2 {
    position: relative;
    padding-left: 14px;
}
.page h1::before,
.homepage_about h2::before,
.current_issue h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12%;
    bottom: 12%;
    width: 4px;
    border-radius: 4px;
    background: var(--biru);
    transform-origin: top;
    animation: aksen-tumbuh .6s var(--ease) .15s both;
}
@keyframes aksen-tumbuh {
    from { transform: scaleY(0); }
    to   { transform: scaleY(1); }
}

/* ----- Sampul terbitan: lebih kecil + zoom halus ----- */
.obj_issue_toc .cover,
.obj_issue_summary .cover {
    display: inline-block;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .14);
}
.obj_issue_toc .cover img,
.obj_issue_summary .cover img {
    display: block;
    width: auto;
    max-width: 190px;
    height: auto;
    transition: transform .6s var(--ease);
}
.obj_issue_toc .cover:hover img,
.obj_issue_summary .cover:hover img {
    transform: scale(1.06);
}

/* ----- Daftar artikel: kartu yang menyala saat di-hover ----- */
.obj_article_summary {
    position: relative;
    margin: 0 0 8px;
    padding: 16px 20px 16px 22px;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: background-color .35s ease, border-color .35s ease, box-shadow .4s ease, transform .4s var(--ease);
}
.obj_article_summary::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--biru);
    transform: scaleY(0);
    transition: transform .4s var(--ease);
}
.obj_article_summary:hover {
    background: var(--biru-muda);
    border-color: var(--garis);
    box-shadow: 0 8px 22px rgba(15, 58, 88, .12);
    transform: translateX(6px);
}
.obj_article_summary:hover::before {
    transform: scaleY(1);
}
.obj_article_summary .title a {
    background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
    text-decoration: none;
    transition: background-size .45s var(--ease), color .3s ease;
}
.obj_article_summary:hover .title a {
    background-size: 100% 2px;
    color: var(--biru-gelap);
}

/* ----- Poster pengumuman: ukuran wajar ----- */
.cmp_announcements img,
.obj_announcement_summary img,
.obj_announcement_full img,
.page_announcement img,
.page_announcements img {
    display: block;
    width: auto !important;
    max-width: min(100%, 420px) !important;
    height: auto !important;
    margin: 14px 0;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    transition: transform .5s var(--ease), box-shadow .5s ease;
}
.cmp_announcements img:hover,
.obj_announcement_summary img:hover,
.obj_announcement_full img:hover,
.page_announcement img:hover,
.page_announcements img:hover {
    transform: scale(1.03);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .26);
}

/* ----- Footer: rapi dan rata tengah ----- */
.pkp_structure_footer_wrapper {
    border-top: 4px solid var(--biru);
}
.pkp_structure_footer_wrapper .pkp_footer_content {
    float: none !important;
    width: auto !important;
    max-width: 760px;
    margin: 0 auto;
    padding: 34px 20px 8px !important;
    text-align: center;
    line-height: 1.75;
}
.pkp_structure_footer_wrapper .pkp_footer_content p {
    margin: 0 0 10px;
}
.pkp_structure_footer_wrapper .pkp_footer_content a {
    background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
    transition: background-size .4s var(--ease);
}
.pkp_structure_footer_wrapper .pkp_footer_content a:hover {
    background-size: 100% 1px;
}
.pkp_structure_footer_wrapper .pkp_brand_footer {
    float: none !important;
    width: auto !important;
    max-width: 1000px;
    margin: 0 auto;
    padding: 6px 24px 26px !important;
    text-align: right;
}
.pkp_structure_footer_wrapper .pkp_brand_footer img {
    width: 120px;
    max-width: 100%;
    height: auto;
    opacity: .65;
    transition: opacity .3s ease, transform .4s var(--ease);
}
.pkp_structure_footer_wrapper .pkp_brand_footer a:hover img {
    opacity: 1;
    transform: scale(1.05);
}

/* tombol PDF: terisi dari bawah */
.obj_galley_link {
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: color .35s ease, border-color .35s ease;
}
.obj_galley_link::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--biru);
    transform: translateY(101%);
    transition: transform .4s var(--ease);
}
.obj_galley_link:hover {
    color: #fff;
    border-color: var(--biru);
}
.obj_galley_link:hover::before {
    transform: translateY(0);
}

/* =====================================================================
   SIDEBAR - kartu .sb-istishna (Custom Block Manager)
   ===================================================================== */
.pkp_block:has(.sb-istishna) {
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--garis);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 58, 88, .08);
}
.sb-istishna {
    margin: 0;
    padding: 0 0 12px;
}
.sb-istishna .sm-kepala {
    display: block;
    padding: 20px 24px 18px;
    color: #fff;
    background: var(--biru);
    border-bottom: 4px solid var(--biru-gelap);
}
.sb-istishna .sm-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    opacity: .85;
}
.sb-istishna .sm-judul {
    display: block;
    margin-top: 4px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}
.sb-istishna .sm-grup {
    margin: 20px 24px 8px;
    padding-bottom: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--biru-tua);
    border-bottom: 1px solid var(--garis);
}
.sb-istishna .sm-menu {
    list-style: none;
    margin: 0;
    padding: 0 14px;
}
.sb-istishna .sm-menu li {
    margin: 0;
    padding: 0;
}
.sb-istishna .sm-menu a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    overflow: hidden;
    z-index: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--teks);
    text-decoration: none;
    border-radius: 6px;
    transition: color .35s ease, padding-left .4s var(--ease);
}
.sb-istishna .sm-menu a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--biru);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .45s var(--ease);
}
.sb-istishna .sm-menu a::after {
    content: "\203A";
    font-size: 18px;
    line-height: 1;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity .3s ease, transform .4s var(--ease);
}
.sb-istishna .sm-menu a:hover,
.sb-istishna .sm-menu a:focus-visible {
    color: #fff;
    padding-left: 18px;
}
.sb-istishna .sm-menu a:hover::before,
.sb-istishna .sm-menu a:focus-visible::before {
    transform: scaleX(1);
}
.sb-istishna .sm-menu a:hover::after,
.sb-istishna .sm-menu a:focus-visible::after {
    opacity: 1;
    transform: translateX(0);
}
.sb-istishna .sm-kotak {
    margin: 0 24px;
    padding: 8px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--garis);
    border-radius: 8px;
}
.sb-istishna .sm-kotak img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 6px;
}
.sb-istishna .sm-template {
    padding: 0;
    overflow: hidden;
    transition: transform .4s var(--ease), box-shadow .4s ease;
}
.sb-istishna .sm-template a { display: block; }
.sb-istishna .sm-template img {
    width: 100%;
    border-radius: 0;
    transition: transform .6s var(--ease);
}
.sb-istishna .sm-template:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(30, 98, 146, .28);
}
.sb-istishna .sm-template:hover img {
    transform: scale(1.05);
}

/* =====================================================================
   ANIMASI MASUK (bervariasi)
   ===================================================================== */
@media (prefers-reduced-motion: no-preference) {
    @keyframes banner-masuk {
        from { opacity: 0; transform: scale(.97); }
        to   { opacity: 1; transform: none; }
    }
    @keyframes dari-kanan {
        from { opacity: 0; transform: translateX(34px); }
        to   { opacity: 1; transform: none; }
    }
    @keyframes dari-bawah {
        from { opacity: 0; transform: translateY(22px); }
        to   { opacity: 1; transform: none; }
    }
    @keyframes dari-kiri {
        from { opacity: 0; transform: translateX(-26px); }
        to   { opacity: 1; transform: none; }
    }
    @keyframes naik-scroll {
        from { opacity: 0; translate: 0 22px; }
        to   { opacity: 1; translate: 0 0; }
    }
    @keyframes zoom-masuk {
        from { opacity: 0; transform: scale(.88); }
        to   { opacity: 1; transform: none; }
    }

    .pkp_site_name .is_img img { animation: banner-masuk .8s var(--ease) both; }
    .pkp_structure_sidebar .pkp_block { animation: dari-kanan .7s var(--ease) .15s both; }
    .sb-istishna .sm-menu li { animation: dari-kiri .5s var(--ease) both; }
    .sb-istishna .sm-menu li:nth-child(1) { animation-delay: .25s; }
    .sb-istishna .sm-menu li:nth-child(2) { animation-delay: .31s; }
    .sb-istishna .sm-menu li:nth-child(3) { animation-delay: .37s; }
    .sb-istishna .sm-menu li:nth-child(4) { animation-delay: .43s; }
    .sb-istishna .sm-menu li:nth-child(5) { animation-delay: .49s; }
    .sb-istishna .sm-menu li:nth-child(6) { animation-delay: .55s; }
    .homepage_about,
    .page { animation: dari-bawah .7s var(--ease) .1s both; }

    /* saat di-scroll: artikel naik, sampul membesar (Chrome/Edge/Safari baru) */
    @supports (animation-timeline: view()) {
        .obj_article_summary,
        .cmp_announcements > li,
        .obj_issue_summary {
            animation: naik-scroll linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 55%;
        }
        .obj_issue_toc .cover,
        .obj_issue_summary .cover {
            animation: zoom-masuk linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 70%;
        }
    }

    /* geser halaman saat pindah */
    @view-transition { navigation: auto; }
    ::view-transition-old(root) { animation: .28s ease both vt-keluar; }
    ::view-transition-new(root) { animation: .4s var(--ease) both vt-masuk; }
    @keyframes vt-keluar {
        to { opacity: 0; transform: translateX(-24px); }
    }
    @keyframes vt-masuk {
        from { opacity: 0; transform: translateX(24px); }
    }
}
@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
}
@media (hover: none) {
    .sb-istishna .sm-menu a:hover { padding-left: 12px; }
}

/* =====================================================================
   SEARCH: tombol berbentuk pil + kotak cari yang meluncur turun
   ===================================================================== */
/* hilangkan garis bawah bawaan tema pada menu */
.pkp_navigation_primary_wrapper .pkp_navigation_primary > li > a {
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* keadaan tertutup: tombol "Search" */
/* wadah bawaan tema memakai overflow-x:hidden -> muncul scrollbar naik/turun; dimatikan */
.pkp_head_wrapper form.pkp_search_desktop:not(.is_open) {
    overflow: visible !important;
    height: auto !important;
}
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt,
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt:hover,
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt:focus {
    position: relative;
    isolation: isolate;
    top: 5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 18px !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 999px;
    color: #fff;
    background: transparent;
    text-decoration: none;
    outline: 0;
    transition: border-color .45s var(--ease), box-shadow .45s ease;
}
/* latar putih menyapu dari kiri ke kanan saat hover */
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 999px;
    background: rgba(255, 255, 255, .22);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .5s var(--ease);
}
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt:hover,
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt:focus {
    border-color: #fff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
}
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt:hover::after,
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt:focus::after {
    transform: scaleX(1);
}
/* ikon kaca pembesar ikut bergerak halus */
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt::before {
    transition: transform .45s var(--ease);
}
.pkp_head_wrapper form.pkp_search:not(.is_open) .search_prompt:hover::before {
    transform: scale(1.18) rotate(-8deg);
}

/* keadaan terbuka: kotak cari */
.pkp_head_wrapper form.pkp_search.is_open input[name="query"] {
    padding-left: 26px !important;
    font-size: 15px;
    color: var(--teks);
    border: 0 !important;
    border-radius: 999px 0 0 999px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
}
.pkp_head_wrapper form.pkp_search.is_open input[name="query"]::placeholder {
    color: #8aa0b3;
}
.pkp_head_wrapper form.pkp_search.is_open > button[type="submit"] {
    border: 0 !important;
    border-radius: 0 999px 999px 0 !important;
    background: var(--biru-gelap) !important;
    color: #fff !important;
    font-weight: 600;
    letter-spacing: .4px;
    transition: background-color .3s ease, padding .3s var(--ease);
}
.pkp_head_wrapper form.pkp_search.is_open > button[type="submit"]:hover {
    background: var(--biru-tua) !important;
}
.pkp_head_wrapper form.pkp_search.is_open .search_cancel {
    transition: transform .4s var(--ease), opacity .3s ease;
}
.pkp_head_wrapper form.pkp_search.is_open .search_cancel:hover {
    transform: rotate(90deg);
}
@media (prefers-reduced-motion: no-preference) {
    @keyframes cari-turun {
        from { opacity: 0; transform: translateY(-10px) scale(.97); }
        to   { opacity: 1; transform: none; }
    }
    .pkp_head_wrapper form.pkp_search.is_open input[name="query"],
    .pkp_head_wrapper form.pkp_search.is_open > button[type="submit"] {
        animation: cari-turun .45s var(--ease) both;
    }
    .pkp_head_wrapper form.pkp_search.is_open > button[type="submit"] {
        animation-delay: .08s;
    }
}

/* =====================================================================
   FOOTER: logo OJS/PKP pindah ke tengah & kecil
   ===================================================================== */
.pkp_structure_footer_wrapper .pkp_brand_footer a {
    float: none !important;
    display: inline-block !important;
    max-width: 120px !important;
}
.pkp_structure_footer_wrapper .pkp_footer_content {
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}

/* =====================================================================
   BLOK SIDEBAR BAWAAN (Current Issue, Information, Language, dll.)
   ===================================================================== */
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) {
    padding: 20px 24px 18px !important;
    border: 1px solid var(--garis);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 58, 88, .08);
    transition: box-shadow .4s ease, transform .4s var(--ease);
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)):hover {
    box-shadow: 0 8px 22px rgba(15, 58, 88, .15);
    transform: translateY(-2px);
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .title {
    position: relative;
    margin: 0 0 14px;
    padding-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--biru-tua);
    border-bottom: 1px solid var(--garis);
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 36px;
    height: 3px;
    border-radius: 3px;
    background: var(--biru);
    transition: width .5s var(--ease);
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)):hover .title::after {
    width: 72px;
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content ul li {
    padding: 0;
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content ul li a {
    position: relative;
    display: block;
    padding: 8px 0 8px 14px;
    font-weight: 600;
    color: var(--teks);
    transition: color .3s ease, padding-left .4s var(--ease);
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content ul li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-radius: 50%;
    background: var(--biru);
    transition: transform .4s var(--ease);
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content ul li a:hover,
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content ul li a:focus-visible {
    color: var(--biru-tua);
    padding-left: 22px;
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content ul li a:hover::before {
    transform: scale(1.5);
}
/* badge RSS / Atom */
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content img {
    display: block;
    transition: transform .35s var(--ease), filter .3s ease;
}
.pkp_structure_sidebar .pkp_block:not(:has(.sb-istishna)) .content a:hover img {
    transform: translateX(4px);
    filter: saturate(1.2);
}

/* =====================================================================
   FOOTER: tata letak dua kolom (.ft-istishna, dari Page Footer OJS)
   ===================================================================== */
.pkp_structure_footer_wrapper .pkp_footer_content:has(.ft-istishna) {
    max-width: 1000px;
    text-align: left;
    padding: 38px 24px 18px !important;
}
.ft-istishna {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 36px;
    align-items: start;
}
.ft-istishna .ft-nama {
    display: block;
    font-size: 19px;
    line-height: 1.3;
    color: var(--biru-gelap);
}
.ft-istishna .ft-nama::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin: 10px 0 12px;
    border-radius: 3px;
    background: var(--biru);
    transition: width .5s var(--ease);
}
.ft-istishna:hover .ft-nama::after {
    width: 96px;
}
.ft-istishna .ft-penerbit {
    display: block;
    font-size: 14px;
    line-height: 1.65;
    color: #3a4651;
}
.ft-istishna .ft-lisensi {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(0, 0, 0, .1);
    font-size: 12.5px;
    line-height: 1.6;
    color: #4b5560;
}
.ft-istishna .ft-lisensi img {
    display: block;
    margin-bottom: 8px;
    transition: transform .4s var(--ease);
}
.ft-istishna .ft-lisensi a:hover img {
    transform: translateY(-2px) scale(1.04);
}
.ft-istishna .ft-lisensi p {
    margin: 0;
}

/* daftar kontak dengan ikon */
.ft-istishna .ft-kontak {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.ft-istishna .ft-kontak li {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--teks);
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: 10px;
    overflow-wrap: anywhere;
    transition: transform .4s var(--ease), background-color .3s ease, box-shadow .4s ease;
}
.ft-istishna .ft-kontak li:hover {
    transform: translateX(6px);
    background: #fff;
    box-shadow: 0 6px 16px rgba(15, 58, 88, .14);
}
.ft-istishna .ft-kontak li::before {
    content: "";
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    background: var(--biru-tua);
    -webkit-mask: var(--ikon) center / contain no-repeat;
    mask: var(--ikon) center / contain no-repeat;
    transition: transform .4s var(--ease);
}
.ft-istishna .ft-kontak li:hover::before {
    transform: scale(1.2) rotate(-8deg);
}
.ft-istishna .ft-alamat { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 10-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.ft-istishna .ft-telp   { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6A19.8 19.8 0 012.1 4.2 2 2 0 014.1 2h3a2 2 0 012 1.7c.1 1 .4 1.9.7 2.8a2 2 0 01-.5 2.1L8.1 9.9a16 16 0 006 6l1.3-1.3a2 2 0 012.1-.4c.9.3 1.8.6 2.8.7a2 2 0 011.7 2z'/%3E%3C/svg%3E"); }
.ft-istishna .ft-web    { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 010 20M12 2a15 15 0 000 20'/%3E%3C/svg%3E"); }
.ft-istishna .ft-email  { --ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M22 7l-10 6L2 7'/%3E%3C/svg%3E"); }

@media (max-width: 767px) {
    .ft-istishna {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .pkp_structure_footer_wrapper .pkp_footer_content:has(.ft-istishna) {
        text-align: left;
    }
}
@media (prefers-reduced-motion: no-preference) {
    @keyframes ft-kiri  { from { opacity: 0; translate: -28px 0; } to { opacity: 1; translate: 0 0; } }
    @keyframes ft-kanan { from { opacity: 0; translate: 28px 0; }  to { opacity: 1; translate: 0 0; } }
    @supports (animation-timeline: view()) {
        .ft-istishna .ft-identitas {
            animation: ft-kiri linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 80%;
        }
        .ft-istishna .ft-kontak {
            animation: ft-kanan linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 80%;
        }
    }
}

/* ----- Gambar besar di bagian About: diperkecil ----- */
.homepage_about img,
.additional_content img {
    display: block;
    width: auto !important;
    max-width: min(100%, 520px) !important;
    height: auto !important;
    margin: 16px 0;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    transition: transform .5s var(--ease), box-shadow .5s ease;
}
.homepage_about img:hover,
.additional_content img:hover {
    transform: scale(1.03);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .26);
}

/* ----- Sidebar: kisi logo indeksasi & tool ----- */
.sb-istishna .sm-logo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0 24px;
}
.sb-istishna .sm-logo a,
.sb-istishna .sm-logo span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--garis);
    border-radius: 10px;
    transition: transform .4s var(--ease), box-shadow .4s ease, border-color .3s ease;
}
.sb-istishna .sm-logo img {
    display: block;
    width: 100%;
    height: 44px;
    object-fit: contain;
    transition: transform .5s var(--ease);
}
.sb-istishna .sm-logo a:hover,
.sb-istishna .sm-logo span:hover {
    transform: translateY(-3px);
    border-color: var(--biru);
    box-shadow: 0 8px 18px rgba(30, 98, 146, .22);
}
.sb-istishna .sm-logo a:hover img,
.sb-istishna .sm-logo span:hover img {
    transform: scale(1.06);
}

/* ----- Poster/gambar utama di beranda (Homepage Image): diperkecil ----- */
.homepage_image {
    margin: 0 0 28px;
    text-align: center;
}
.homepage_image img {
    display: block;
    width: auto !important;
    max-width: min(100%, 420px) !important;
    height: auto !important;
    margin: 0 auto;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 58, 88, .25);
    transition: transform .6s var(--ease), box-shadow .6s ease;
}
.homepage_image img:hover {
    transform: scale(1.025);
    box-shadow: 0 14px 34px rgba(15, 58, 88, .32);
}
@media (prefers-reduced-motion: no-preference) {
    @keyframes poster-masuk {
        from { opacity: 0; transform: translateY(16px) scale(.96); }
        to   { opacity: 1; transform: none; }
    }
    .homepage_image img { animation: poster-masuk .8s var(--ease) both; }
}

/* =====================================================================
   SIDEBAR: jeda animasi untuk item ke-7 s/d ke-10 (menu 9 item)
   ===================================================================== */
@media (prefers-reduced-motion: no-preference) {
    .sb-istishna .sm-menu li:nth-child(7)  { animation-delay: .61s; }
    .sb-istishna .sm-menu li:nth-child(8)  { animation-delay: .67s; }
    .sb-istishna .sm-menu li:nth-child(9)  { animation-delay: .73s; }
    .sb-istishna .sm-menu li:nth-child(10) { animation-delay: .79s; }
}

/* =====================================================================
   SIDEBAR: jarak antar item menu lebih lega
   ===================================================================== */
.sb-istishna .sm-menu {
    padding: 8px 14px 0;
}
.sb-istishna .sm-menu li {
    margin: 0 0 8px;
}
.sb-istishna .sm-menu li:last-child {
    margin-bottom: 0;
}
.sb-istishna .sm-menu a {
    padding: 13px 14px;
    line-height: 1.35;
}
.sb-istishna .sm-menu a:hover,
.sb-istishna .sm-menu a:focus-visible {
    padding-left: 20px;
}
@media (hover: none) {
    .sb-istishna .sm-menu a:hover { padding-left: 14px; }
}
