/* =========================================================================
   Custom OJS 3 – Tema "Pink–Yellow Floral"
   Basis  : Default Theme OJS
   Target : OJS 3.3.x – 3.5.x
   Owner  : anwar dani
   Lisensi: GPL
   Catatan: Dominasi gradasi merah muda -> kuning + ornamen bunga di background
            (SVG ditanam langsung, tanpa file/gambar eksternal).
   ========================================================================= */

@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&family=Poppins:wght@500;600;700&display=swap');

/* ----------------------------- VARIABEL WARNA --------------------------- */
:root {
  --pk-pink:        #ec4899;   /* merah muda utama          */
  --pk-pink-deep:   #be185d;   /* rose tua (judul/aksen)    */
  --pk-pink-soft:   #fbcfe8;   /* pink muda                 */
  --pk-yellow:      #fbbf24;   /* kuning                    */
  --pk-yellow-soft: #fef08a;   /* kuning muda               */
  --pk-text:        #4a2235;   /* teks utama (plum gelap)   */
  --pk-muted:       #9b6b80;   /* teks sekunder             */
  --pk-line:        #f7d6e6;   /* garis halus               */

  /* gradasi merah muda -> kuning */
  --pk-grad:     linear-gradient(120deg, #e84393 0%, #fd79a8 35%, #fdcb6e 75%, #ffeaa7 100%);
  --pk-grad-bar: linear-gradient(120deg, #e84393 0%, #f368a0 45%, #f6a93b 100%);
  --pk-grad-soft:linear-gradient(120deg, #fbcfe8 0%, #fde6c0 60%, #fef08a 100%);
}

/* ------------------------------- TIPOGRAFI ------------------------------ */
html, body, * {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
}
body {
  color: var(--pk-text);
  line-height: 1.6;
  /* ornamen bunga + warna dasar lembut */
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27160%27%20height%3D%27160%27%20viewBox%3D%270%200%20160%20160%27%3E%20%3Cg%20opacity%3D%270.55%27%3E%20%3Cg%20transform%3D%27translate%2838%2C40%29%27%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%27-12%27%20r%3D%279%27%20fill%3D%27%23f9a8d4%27%2F%3E%20%3Ccircle%20cx%3D%2711%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23f9a8d4%27%2F%3E%20%3Ccircle%20cx%3D%277%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23f9a8d4%27%2F%3E%20%3Ccircle%20cx%3D%27-7%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23f9a8d4%27%2F%3E%20%3Ccircle%20cx%3D%27-11%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23f9a8d4%27%2F%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%270%27%20r%3D%276.5%27%20fill%3D%27%23fde047%27%2F%3E%20%3C%2Fg%3E%20%3Cg%20transform%3D%27translate%28120%2C112%29%20scale%280.85%29%27%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%27-12%27%20r%3D%279%27%20fill%3D%27%23fcd34d%27%2F%3E%20%3Ccircle%20cx%3D%2711%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23fcd34d%27%2F%3E%20%3Ccircle%20cx%3D%277%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23fcd34d%27%2F%3E%20%3Ccircle%20cx%3D%27-7%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23fcd34d%27%2F%3E%20%3Ccircle%20cx%3D%27-11%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23fcd34d%27%2F%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%270%27%20r%3D%276.5%27%20fill%3D%27%23f9a8d4%27%2F%3E%20%3C%2Fg%3E%20%3Cg%20transform%3D%27translate%28110%2C30%29%20scale%280.5%29%27%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%27-12%27%20r%3D%279%27%20fill%3D%27%23fbcfe8%27%2F%3E%20%3Ccircle%20cx%3D%2711%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23fbcfe8%27%2F%3E%20%3Ccircle%20cx%3D%277%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23fbcfe8%27%2F%3E%20%3Ccircle%20cx%3D%27-7%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23fbcfe8%27%2F%3E%20%3Ccircle%20cx%3D%27-11%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23fbcfe8%27%2F%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%270%27%20r%3D%276.5%27%20fill%3D%27%23fef08a%27%2F%3E%20%3C%2Fg%3E%20%3Cg%20transform%3D%27translate%2828%2C120%29%20scale%280.55%29%27%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%27-12%27%20r%3D%279%27%20fill%3D%27%23fef08a%27%2F%3E%20%3Ccircle%20cx%3D%2711%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23fef08a%27%2F%3E%20%3Ccircle%20cx%3D%277%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23fef08a%27%2F%3E%20%3Ccircle%20cx%3D%27-7%27%20cy%3D%2710%27%20r%3D%279%27%20fill%3D%27%23fef08a%27%2F%3E%20%3Ccircle%20cx%3D%27-11%27%20cy%3D%27-4%27%20r%3D%279%27%20fill%3D%27%23fef08a%27%2F%3E%20%3Ccircle%20cx%3D%270%27%20cy%3D%270%27%20r%3D%276.5%27%20fill%3D%27%23f9a8d4%27%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E") repeat,
    linear-gradient(180deg, #fff5fa 0%, #fffdf2 100%) fixed !important;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', 'Open Sans', sans-serif;
  color: var(--pk-pink-deep);
  font-weight: 600;
}
a { color: var(--pk-pink); transition: color .15s ease; }
a:hover, a:focus { color: var(--pk-pink-deep); }

/* -------------------------- STRUKTUR HALAMAN ---------------------------- */
.pkp_structure_page {
  margin: auto;
  width: 1170px;
  max-width: 100%;
  padding-bottom: 0 !important;
  /* sedikit transparan agar bunga di background tetap terlihat di tepi */
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 0 30px rgba(190, 24, 93, .12);
}
.pkp_structure_content { padding-top: 25px; }

/* ------------------------- HEADER / NAMA SITUS -------------------------- */
.pkp_head_wrapper {
  background: var(--pk-grad-soft);
  border-bottom: 3px solid var(--pk-pink);
}
.pkp_site_name_wrapper { padding-left: 0; padding-right: 0; }
.pkp_site_name { padding-top: 8px; padding-bottom: 8px; }
.pkp_site_name .is_img img {
  display: block; max-height: 90px; width: auto; height: auto;
}

/* -------------------- NAV ATAS (USER: register/login) ------------------ */
.pkp_navigation_user_wrapper { padding: 0; background: var(--pk-pink-deep); }
.pkp_navigation_user { border-bottom: none; }
.pkp_navigation_user > li > a,
.pkp_navigation_user > li.in_focus > a,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_navigation_user > li.profile > a {
  color: #fff !important; font-weight: 600; line-height: 38px; padding: 0 14px;
}
.pkp_navigation_user > li > a:hover { background: rgba(255,255,255,.15); }
.pkp_navigation_user_wrapper .pkp_navigation_user > li.profile > ul.dropdown-menu {
  border-radius: 4px !important; overflow: hidden;
}

/* ====================== NAV UTAMA (BAR GRADASI + IKON) ==================
   Setiap item nav diberi ikon Font Awesome via data-attribute atau
   dengan selector urutan (nth-child) untuk menu default OJS.
   Ikon muncul di sebelah kiri label teks.
   ======================================================================== */
.pkp_navigation_primary_row { background: var(--pk-grad-bar) !important; border: none; }
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li {
  padding: 0 !important; margin: 0 !important;
}
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li > a {
  margin: 0 !important; padding: 0 16px !important; line-height: 48px !important;
  font-family: 'Poppins', sans-serif; font-weight: 500 !important; font-size: 13.5px;
  color: #fff !important; letter-spacing: .2px;
  text-shadow: 0 1px 2px rgba(140, 20, 70, .35);
  display: inline-flex; align-items: center; gap: 7px;
  transition: background .15s;
}

/* Ikon umum sebelum semua item nav level-1 */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li > a::before {
  font-family: "Font Awesome 5 Free"; font-weight: 900;
  font-size: 13px; opacity: .92; flex-shrink: 0;
}

/* ---- Penetapan ikon per posisi urutan (menu OJS default) ------------- */
/* 1. Home */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(1) > a::before { content: '\f015'; }
/* 2. About  */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(2) > a::before { content: '\f129'; }
/* 3. Current / Archive */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(3) > a::before { content: '\f518'; }
/* 4. Announcements */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(4) > a::before { content: '\f0a1'; }
/* 5. Submissions / Author Guidelines */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(5) > a::before { content: '\f15c'; }
/* 6. Editorial Team / Contact */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(6) > a::before { content: '\f0e0'; }
/* 7+ item tambahan */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(7) > a::before { content: '\f0c9'; }
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li:nth-child(8) > a::before { content: '\f0c9'; }

/* Ikon khusus jika custom block menu punya class / teks tertentu –
   pendekatan cadangan via data-menu-id yang bisa ditambahkan di template */
.pkp_navigation_primary_row [data-menu-id="home"] a::before        { content: '\f015' !important; }
.pkp_navigation_primary_row [data-menu-id="about"] a::before       { content: '\f129' !important; }
.pkp_navigation_primary_row [data-menu-id="current"] a::before     { content: '\f518' !important; }
.pkp_navigation_primary_row [data-menu-id="archives"] a::before    { content: '\f187' !important; }
.pkp_navigation_primary_row [data-menu-id="announcements"] a::before { content: '\f0a1' !important; }
.pkp_navigation_primary_row [data-menu-id="submissions"] a::before { content: '\f15c' !important; }
.pkp_navigation_primary_row [data-menu-id="editorialteam"] a::before { content: '\f0c0' !important; }
.pkp_navigation_primary_row [data-menu-id="contact"] a::before     { content: '\f0e0' !important; }
.pkp_navigation_primary_row [data-menu-id="register"] a::before    { content: '\f234' !important; }
.pkp_navigation_primary_row [data-menu-id="login"] a::before       { content: '\f2f6' !important; }

/* Hover & aktif nav */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li > a:hover,
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li.in_focus > a {
  background: rgba(190, 24, 93, .35) !important;
}
/* Garis bawah aktif */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li.current > a {
  background: rgba(255,255,255,.18) !important;
  border-bottom: 3px solid #fff;
}

/* Submenu dropdown */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul {
  background: var(--pk-pink-deep) !important;
  border-radius: 0 0 6px 6px !important;
  box-shadow: 0 8px 18px rgba(190, 24, 93, .30);
}
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li {
  border-bottom: solid 1px rgba(255,255,255,.15) !important;
}
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li:last-child {
  border-bottom: none !important;
}
/* Ikon submenu item (panah kecil) */
.pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li ul li > a::before {
  content: '\f105' !important; /* chevron kanan */
  font-family: "Font Awesome 5 Free"; font-weight: 900;
  font-size: 11px; opacity: .75;
}
.pkp_navigation_primary_row .pkp_search.is_open input[type="text"] {
  font-family: 'Open Sans', sans-serif; border-radius: 4px;
}

/* Tombol search di nav → ikon kaca pembesar */
.pkp_navigation_primary_row .pkp_search > button::before {
  font-family: "Font Awesome 5 Free"; font-weight: 900;
  content: '\f002';
}

/* -------------------------- HERO / HOMEPAGE --------------------------- */
.pkp_page_index .homepage_image {
  margin-top: 20px; border-radius: 8px; overflow: hidden;
  box-shadow: 0 4px 16px rgba(190, 24, 93, .12);
}

/* =====================================================================
   ARCHIVE / ISSUE – VISUAL GRID CARDS
   Kontainer issue diubah ke CSS Grid 2-kolom; setiap artikel tampil
   sebagai kartu berdiri sendiri dengan aksen gradient atas.
   ===================================================================== */

/* --- Grid wrapper: semua kontainer daftar artikel di halaman archive --- */
.issues_archive .obj_issue_summary,
.pkp_page_catalog .listPanel,
.pkp_page_issue .articles_in_section {
  /* dipakai sebagai sinyal; grid utama di bawah */
}

/* Grid dua kolom untuk issue listing di halaman archive */
.issues_archive {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  padding: 8px 0 24px;
}

/* Kartu tiap issue di archive */
.issues_archive .obj_issue_summary {
  border: none !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 3px 14px rgba(190, 24, 93, .10);
  transition: box-shadow .2s ease, transform .2s ease;
  position: relative;
  display: flex;
  flex-direction: column;
}
.issues_archive .obj_issue_summary::before {
  content: '';
  display: block; height: 4px;
  background: var(--pk-grad-bar);
  flex-shrink: 0;
}
.issues_archive .obj_issue_summary:hover {
  box-shadow: 0 10px 28px rgba(236, 72, 153, .22);
  transform: translateY(-3px);
}

/* Wrapper cover – aspect-ratio 3:4 (portrait buku) */
.issues_archive .obj_issue_summary .cover {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  position: relative;
  background: var(--pk-grad-soft);   /* fallback saat tidak ada cover */
  flex-shrink: 0;
}
/* Placeholder bunga jika tidak ada cover (tampil via background CSS) */
.issues_archive .obj_issue_summary .cover::after {
  content: '\f06e';   /* ikon mata/jurnal placeholder */
  font-family: "Font Awesome 5 Free"; font-weight: 900;
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; color: rgba(190,24,93,.25);
  pointer-events: none;
}
.issues_archive .obj_issue_summary .cover img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;   /* prioritas tampilkan bagian atas (judul) */
  display: block;
  z-index: 1;                    /* tutup placeholder */
}

/* Teks info di bawah cover */
.issues_archive .obj_issue_summary .title {
  padding: 12px 14px 4px;
  font-family: 'Poppins', sans-serif; font-size: 13.5px; font-weight: 600;
  color: var(--pk-pink-deep); line-height: 1.35;
  flex-grow: 1;
}
.issues_archive .obj_issue_summary .title a { color: inherit; }
.issues_archive .obj_issue_summary .title a:hover { color: var(--pk-pink); }
.issues_archive .obj_issue_summary .series,
.issues_archive .obj_issue_summary .published {
  padding: 0 14px 12px; color: var(--pk-muted); font-size: 12px;
}

/* ----------------------- DAFTAR / KARTU ARTIKEL ------------------------
   Di halaman issue (articles listing) → grid 2 kolom responsif
   ----------------------------------------------------------------------- */

/* Wrapper section artikel dalam satu issue */
.pkp_page_issue .section > .articles,
.pkp_page_issue .articles_in_section .articles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  padding: 8px 0;
}

/* Kartu artikel individual */
.obj_article_summary {
  border: none !important;
  border-radius: 10px;
  background: rgba(255,255,255,0.97);
  box-shadow: 0 2px 10px rgba(190, 24, 93, .08);
  transition: box-shadow .2s ease, transform .2s ease;
  overflow: hidden;
  display: flex; flex-direction: column;
  position: relative;
  margin-bottom: 0 !important; /* grid gap menggantikan margin */
}
/* Garis aksen atas setiap kartu artikel */
.obj_article_summary::before {
  content: '';
  display: block; height: 4px;
  background: var(--pk-grad-bar);
  border-radius: 10px 10px 0 0;
}
/* Konten dalam kartu */
.obj_article_summary > *:not(.cover) {
  padding-left: 16px; padding-right: 16px;
}
.obj_article_summary .title {
  padding-top: 14px; padding-bottom: 4px;
}
.obj_article_summary .title a {
  color: var(--pk-pink-deep); font-family: 'Poppins', sans-serif;
  font-weight: 600; font-size: 15px; line-height: 1.4;
}
.obj_article_summary .title a:hover { color: var(--pk-pink); }
.obj_article_summary .authors {
  color: var(--pk-muted); font-size: 13px;
  padding-top: 2px; padding-bottom: 8px;
}
/* Badge section / keyword di kartu */
.obj_article_summary .section {
  display: inline-block;
  background: var(--pk-pink-soft); color: var(--pk-pink-deep);
  border-radius: 20px; font-size: 11px; font-weight: 600;
  padding: 2px 10px; margin-bottom: 8px; margin-left: 16px;
  letter-spacing: .3px; text-transform: uppercase;
}
.obj_article_summary .item.doi { padding: 4px 16px 8px; }
.obj_article_summary .item.doi .label { background: none; color: var(--pk-pink); font-weight: 600; font-size: 12px; }
.obj_article_summary .item.doi .value a { color: var(--pk-muted); font-size: 12px; }

/* -----------------------------------------------------------------------
   Stats row – MINIMALIS SATU BARIS
   OJS 3.3 merender stats sebagai teks plain di dalam .item.stats,
   mis: "Abstract View: 65  PDF Download: 71"
   Kita tampilkan dalam satu baris chip kecil yang compact.
   ----------------------------------------------------------------------- */
.obj_article_summary .item.stats {
  padding: 7px 14px;
  border-top: 1px solid var(--pk-line);
  display: flex;
  align-items: center;
  flex-wrap: nowrap;           /* paksa satu baris */
  gap: 0;
  font-size: 12px;
  color: var(--pk-muted);
  line-height: 1.4;
  background: rgba(251, 207, 232, .12);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* Chip ikon mata sebelum teks Abstract View */
.obj_article_summary .item.stats::before {
  content: '\f06e';
  font-family: "Font Awesome 5 Free"; font-weight: 900;
  color: var(--pk-pink); font-size: 11px;
  margin-right: 5px; flex-shrink: 0;
}
/* Semua elemen anak di dalam stats (span, a, dll) inline kompak */
.obj_article_summary .item.stats *,
.obj_article_summary .item.stats .abstract,
.obj_article_summary .item.stats .galley {
  display: inline;
  font-size: 12px;
  color: var(--pk-muted);
  margin: 0; padding: 0;
  white-space: nowrap;
}
/* Pisah abstract dan galley dengan bullet */
.obj_article_summary .item.stats .galley::before {
  content: ' · ';
  color: var(--pk-line);
  font-family: inherit; font-weight: 400;
  position: static;
}
/* Hapus ::before lama yang pakai position:absolute */
.obj_article_summary .item.stats .abstract::before { display: none; }

/* Galley links (PDF dll) dalam kartu */
.obj_article_summary .item.galleys {
  padding: 10px 16px 14px;
  display: flex; flex-wrap: wrap; gap: 8px;
}

/* Hover efek kartu artikel */
.obj_article_summary:hover {
  box-shadow: 0 8px 24px rgba(236, 72, 153, .20);
  transform: translateY(-2px);
}

/* -------------------------- TOMBOL & GALLEY ---------------------------- */
.cmp_button,
.cmp_button_wire,
.obj_galley_link,
.pkp_block.block_make_submission .content a {
  background: var(--pk-grad-bar);
  border: none;
  color: #fff !important; border-radius: 6px;
  font-family: 'Poppins', sans-serif; font-weight: 500; padding: 8px 18px;
  text-shadow: 0 1px 2px rgba(140,20,70,.3);
  transition: filter .15s ease, transform .15s ease;
}
.cmp_button:hover,
.cmp_button_wire:hover,
.obj_galley_link:hover,
.pkp_block.block_make_submission .content a:hover {
  filter: brightness(1.06); transform: translateY(-1px); color: #fff !important;
}

/* ========================== SIDEBAR / BLOK – VISUAL GRID EFFECT =========
   Sidebar tampil sebagai panel dengan latar grid titik halus (dot-grid)
   dan setiap blok diberi kartu bertingkat.
   ======================================================================== */
.pkp_structure_sidebar {
  /* Grid titik sebagai background motif di area sidebar */
  background-image:
    radial-gradient(circle, rgba(236,72,153,.18) 1.2px, transparent 1.2px);
  background-size: 18px 18px;
  background-color: #fff8fb;
  border-radius: 10px;
  padding: 4px;
}

/* Blok sidebar → kartu dengan bayangan dalam konteks grid */
.pkp_block {
  margin: 0 0 16px !important;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(190,24,93,.09);
  background: #fff;
  position: relative;
}
/* Aksen kiri warna pada setiap blok */
.pkp_block::after {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--pk-grad-bar);
  border-radius: 3px 0 0 3px;
  pointer-events: none;
}

/* Judul blok sidebar */
.pkp_structure_sidebar .pkp_block .title {
  font-family: 'Poppins', sans-serif;
  background: var(--pk-grad-bar);
  color: #fff; padding: 10px 14px;
  border-radius: 0; margin: 0; font-size: 14px; font-weight: 600;
  text-shadow: 0 1px 2px rgba(140,20,70,.3);
  letter-spacing: .3px;
  display: flex; align-items: center; gap: 8px;
}
/* Ikon dekoratif di judul blok (pakai pseudo-element bunga kecil) */
.pkp_structure_sidebar .pkp_block .title::before {
  content: '\f06b'; /* gift/ribbon icon sebagai aksen */
  font-family: "Font Awesome 5 Free"; font-weight: 900;
  font-size: 12px; opacity: .85;
}

/* Konten blok */
.pkp_structure_sidebar .pkp_block .content {
  border: none; border-top: none; padding: 12px 14px;
  background: rgba(255,255,255,0.98);
  text-align: center;           /* FIX 4: semua teks rata tengah */
}

/* FIX 3 & 4: Teks, paragraf, dan link dalam konten sidebar */
.pkp_structure_sidebar .pkp_block .content p,
.pkp_structure_sidebar .pkp_block .content span,
.pkp_structure_sidebar .pkp_block .content div {
  text-align: center;
  color: var(--pk-text);
  font-size: 13.5px;
  line-height: 1.65;
}

/* Efek sederhana pada teks biasa di sidebar: subtle shimmer underline saat hover */
.pkp_structure_sidebar .pkp_block .content a {
  color: var(--pk-pink-deep);
  font-weight: 600;
  font-size: 13px;
  display: inline-block;
  text-align: center;
  position: relative;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
/* Garis bawah animasi slide-in */
.pkp_structure_sidebar .pkp_block .content a::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 50%; right: 50%;
  height: 2px;
  background: var(--pk-grad-bar);
  border-radius: 2px;
  transition: left .2s ease, right .2s ease;
}
.pkp_structure_sidebar .pkp_block .content a:hover {
  color: var(--pk-pink);
  transform: translateY(-1px);
}
.pkp_structure_sidebar .pkp_block .content a:hover::after {
  left: 0; right: 0;   /* garis tumbuh dari tengah ke dua sisi */
}

/* List link dalam sidebar → tampil sebagai chip rata tengah */
.pkp_structure_sidebar .pkp_block .content ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; align-items: center; gap: 5px;
}
.pkp_structure_sidebar .pkp_block .content ul li {
  width: 100%; text-align: center;
}
.pkp_structure_sidebar .pkp_block .content ul li a {
  display: block;
  padding: 6px 10px;
  border-radius: 20px;
  background: rgba(251, 207, 232, .3);
  border: 1px solid var(--pk-line);
  font-size: 12.5px; font-weight: 600;
  color: var(--pk-pink-deep) !important;
  transition: background .18s, color .18s, transform .18s;
}
.pkp_structure_sidebar .pkp_block .content ul li a::after { display: none; }
.pkp_structure_sidebar .pkp_block .content ul li a:hover {
  background: var(--pk-pink) !important;
  color: #fff !important;
  transform: none;
  border-color: transparent;
}

/* Heading di konten sidebar */
.pkp_structure_sidebar .pkp_block .content h3,
.pkp_structure_sidebar .pkp_block .content h4 {
  font-size: 13px; color: var(--pk-pink-deep);
  text-align: center;
  margin: 8px 0 6px;
  letter-spacing: .3px;
}

/* Blok khusus: submit artikel */
.pkp_block.block_make_submission .content {
  border: none; text-align: center !important; padding: 12px !important;
}
.pkp_block.block_make_submission .content a { display: block; }

/* Blok custom sidebar menu → grid tile tombol */
#customblock-Sidebar_menu.pkp_block ul,
#customblock-Sidebar_menu.pkp_block ul li {
  margin: 0 !important; padding: 0 !important; list-style: none;
}
/* Grid 2-kolom untuk item menu sidebar */
#customblock-Sidebar_menu.pkp_block ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 10px 10px 12px !important;
}
#customblock-Sidebar_menu.pkp_block ul li a {
  background: var(--pk-grad-soft) !important;
  display: flex; align-items: center; justify-content: center;
  min-height: 42px;
  padding: 8px 10px;
  color: var(--pk-pink-deep) !important;
  border-radius: 8px;
  font-weight: 600; font-size: 13px;
  text-align: center; line-height: 1.3;
  border: 1px solid var(--pk-line);
  transition: background .15s, color .15s, transform .15s;
}
#customblock-Sidebar_menu.pkp_block ul li a:hover {
  background: var(--pk-grad-bar) !important;
  color: #fff !important;
  transform: scale(1.03);
  border-color: transparent;
}

/* Blok info / custom HTML → motif grid ringan di dalam blok */
.sidebar-block {
  background: var(--pk-grad-soft);
  border-left: none;                /* aksen kiri sudah via ::after */
  padding: 10px 14px;
  color: var(--pk-pink-deep); margin: 12px 0; border-radius: 8px;
  /* dot-grid mikro di dalam blok custom */
  background-image:
    radial-gradient(circle, rgba(190,24,93,.10) 1px, transparent 1px),
    var(--pk-grad-soft);
  background-size: 14px 14px, auto;
}

/* ----------------------------- PENGUMUMAN ------------------------------ */
.cmp_announcements .obj_announcement_summary.full_width { width: 100% !important; }
.cmp_announcements .obj_announcement_summary .summary p { line-height: 1.45em; margin: 0 0 1em !important; }

/* ------------------------------ FOOTER --------------------------------- */
.pkp_structure_footer_wrapper { border-bottom: none !important; }
.pkp_structure_footer,
.pkp_structure_footer_wrapper { background: var(--pk-pink-deep); }
.pkp_structure_footer .pkp_footer_content {
  background: var(--pk-pink-deep); color: #ffe6f1; padding: 28px 20px !important;
}
.pkp_structure_footer .pkp_footer_content a { color: #ffd9ea; }
.pkp_structure_footer .pkp_footer_content a:hover { color: #fff; }
.pkp_structure_footer .pkp_footer_content h2,
.pkp_structure_footer .pkp_footer_content h3 {
  color: #fff; font-size: 16px; border-bottom: 2px solid var(--pk-yellow);
  padding-bottom: 6px; margin-bottom: 12px; display: inline-block;
}
.pkp_structure_footer .pkp_footer_content p { margin: 0 0 8px; }
.pkp_structure_footer .pkp_footer_content img { max-width: 100%; height: auto; }
.pkp_structure_footer .pkp_brand_footer,
.pkp_brand_footer { display: none; }

/* ------------------------------ RESPONSIVE ----------------------------- */
@media (max-width: 1199px) { .pkp_structure_page { width: 100%; } }
@media (max-width: 991px) {
  .pkp_navigation_primary_row .pkp_navigation_primary_wrapper ul li > a { line-height: 42px !important; }
  .pkp_page_index .homepage_image,
  .pkp_page_index .additional_content { margin-left: 0; margin-right: 0; }
  /* Grid issue archive → 2 kolom di tablet */
  .issues_archive { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  /* Grid artikel → 1 kolom di tablet */
  .pkp_page_issue .section > .articles,
  .pkp_page_issue .articles_in_section .articles { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .pkp_structure_footer .pkp_footer_content { text-align: left; }
  /* Grid issue → 1 kolom di mobile */
  .issues_archive { grid-template-columns: 1fr; gap: 14px; }
  /* Grid sidebar menu → 2 kolom tetap di mobile */
  #customblock-Sidebar_menu.pkp_block ul { grid-template-columns: 1fr 1fr; }
  /* Nav ikon: sembunyikan teks, tampilkan ikon saja di mobile (opsional) */
  .pkp_navigation_primary_row .pkp_navigation_primary_wrapper > ul > li > a {
    padding: 0 11px !important; font-size: 12.5px;
  }
}
