/* ================================================
   AVoER OJS — Full Pro Theme Final (FIXED: icon search hilang)
   Tempel di: Settings → Website → Appearance → Custom CSS
   ================================================ */

/* === FONT === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --avoer-purple: #3B0066;
  --avoer-purple-hover: #4B0082;
  --avoer-link: #6A0DAD;
  --avoer-link-hover: #8A2BE2;
  --avoer-accent: #FAC775;
  --avoer-border: #E8E6F0;
  --avoer-heading: #26215C;

  /* Ubah angka ini jika Announcement dan Article ingin lebih lebar / sempit */
  --content-extra-width: 80px;
}

body,
.pkp_site_name,
.pkp_nav_item,
p,
h1,
h2,
h3,
h4,
a,
li,
span,
div {
  font-family: 'Inter', sans-serif !important;
}

.fa,
.fas,
.far,
.fab,
.fal,
[class*=" fa-"],
[class^="fa-"] {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome", sans-serif !important;
  font-weight: 900 !important;
  -webkit-font-smoothing: antialiased !important;
}

.material-icons,
.material-icons-outlined {
  font-family: "Material Icons", "Material Icons Outlined" !important;
}

/* Icon berbasis SVG (OJS 3.3+/3.4 memakai <svg class="pkp_icon ...">
   dengan fill="currentColor"). Ini yang paling sering jadi biang
   icon search hilang total (bukan cuma jadi kotak), karena kalau
   ke-set display:none / visibility:hidden / width:0 oleh rule lain
   svg-nya beneran tidak tampil sama sekali. */
.pkp_icon,
[class*=" pkp_icon"],
[class^="pkpIcon"],
[class*=" pkpIcon"],
.icon,
[class*=" icon-"],
[class^="icon-"],
svg.pkp_icon,
svg[class*="pkp_icon"] {
  font-family: inherit !important;
  fill: currentColor !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ================================================
   LAYOUT UTAMA
   ================================================ */

.pkp_structure_page {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

.pkp_structure_content {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

.pkp_structure_content.has_sidebar {
  border: none !important;
  background-image: none !important;
}

.pkp_structure_main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: calc(100% - 260px) !important;
  max-width: calc(100% - 260px) !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

.pkp_structure_sidebar {
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

/* Hapus garis pembatas abu-abu bawaan theme */
.pkp_structure_page::before,
.pkp_structure_page::after,
.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_sidebar::before,
.pkp_structure_sidebar::after,
.pkp_head_wrapper::before,
.pkp_head_wrapper::after {
  display: none !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
}

/* ================================================
   HEADER / LOGO
   ================================================ */

/* Pastikan wrapper logo tidak center-kan isinya */
/* Pastikan wrapper logo tidak center-kan isinya */
.pkp_head_wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.pkp_site_name_wrapper {
  width: 100% !important;
  max-width: calc(100% - 260px) !important;
  box-sizing: border-box !important;
  display: block !important;
  text-align: left !important;
  margin: 0 !important;
}

.pkp_site_name {
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  margin: 0 !important;
}

.pkp_site_name a.is_img {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 !important;
}

.pkp_site_name img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
  margin: 0 !important;
  float: none !important;
}

@media (max-width: 768px) {
  .pkp_site_name_wrapper {
    max-width: 100% !important;
  }
}

/* ================================================
   NAVBAR UTAMA
   ================================================ */

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_navigation_primary {
  background: var(--avoer-purple) !important;
}

.pkp_navigation_primary_row {
  padding: 0 24px !important;
  box-shadow: 0 2px 8px rgba(59, 0, 102, 0.25) !important;
}

.pkp_navigation_primary {
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_navigation_primary_row a,
.pkp_navigation_primary_wrapper a,
.pkp_navigation_primary>li>a,
.pkp_nav_item>a {
  color: #FFFFFF !important;
}

.pkp_navigation_primary_row .pkp_nav_item>a,
.pkp_navigation_primary>li>a {
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 14px 16px !important;
  border-bottom: 2px solid transparent !important;
  transition: border-color 0.2s, background 0.2s !important;
}

.pkp_navigation_primary_row a:hover,
.pkp_navigation_primary_wrapper a:hover,
.pkp_navigation_primary>li>a:hover,
.pkp_nav_item>a:hover,
.pkp_nav_item.current>a,
.pkp_navigation_primary_row .pkp_nav_item.current>a {
  color: #FFFFFF !important;
  background: var(--avoer-purple-hover) !important;
  text-decoration: none !important;
  border-bottom-color: var(--avoer-accent) !important;
}

/* Dropdown */
.pkp_navigation_primary ul,
.pkp_navigation_primary .dropdown-menu {
  background: var(--avoer-purple) !important;
  border: none !important;
}

.pkp_navigation_primary ul a,
.pkp_navigation_primary .dropdown-menu a {
  color: #FFFFFF !important;
}

.pkp_navigation_primary ul a:hover,
.pkp_navigation_primary .dropdown-menu a:hover {
  background: var(--avoer-purple-hover) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* ================================================
   SEARCH DI NAVBAR — FIX ICON HILANG
   ================================================
   Icon kaca pembesar bisa hilang karena 2 kemungkinan:
   1) font-family icon font tertimpa Inter (sudah dibenahi
      di blok fix icon paling atas).
   2) Saat kotak search dibuka, background berubah putih,
      tapi warna icon dipaksa putih juga → icon jadi putih
      di atas putih (tidak kelihatan). Ditangani di bawah ini.
   ================================================ */

.pkp_navigation_search_wrapper,
.pkp_navigation_search_wrapper a,
.pkp_search {
  color: #FFFFFF !important;
}

.pkp_navigation_search_wrapper svg,
.pkp_navigation_search_wrapper .fa,
.pkp_navigation_search_wrapper .pkp_icon,
.pkp_search svg,
.pkp_search .fa,
.pkp_search .pkp_icon {
  fill: currentColor !important;
  color: #FFFFFF !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.pkp_navigation_search_wrapper a:hover,
.pkp_search:hover {
  color: #FFFFFF !important;
  background: var(--avoer-purple-hover) !important;
  text-decoration: none !important;
}

/* Saat form search terbuka (input muncul di atas background putih),
   pastikan icon submit/tombol cari ikut kontras gelap, bukan putih */
.pkp_navigation_search_wrapper form,
.pkp_navigation_search_wrapper .search_form {
  background: #FFFFFF !important;
}

.pkp_navigation_search_wrapper form button,
.pkp_navigation_search_wrapper form input[type="submit"],
.pkp_navigation_search_wrapper .search_form button {
  color: var(--avoer-purple) !important;
}

.pkp_navigation_search_wrapper form button svg,
.pkp_navigation_search_wrapper form button .fa,
.pkp_navigation_search_wrapper .search_form button svg {
  fill: var(--avoer-purple) !important;
  color: var(--avoer-purple) !important;
}

/* ================================================
   REGISTER / LOGIN / ADMIN USER MENU
   ================================================ */

#navigationUser {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-top: 10px !important;
}

#navigationUser .profile {
  margin: 0 !important;
  padding: 0 !important;
}

#navigationUser .profile a {
  display: inline-block !important;
  padding: 8px 18px !important;
  border: 2px solid var(--avoer-purple) !important;
  border-radius: 6px !important;
  background: #FFFFFF !important;
  color: var(--avoer-purple) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  transition: all 0.2s ease !important;
}

#navigationUser .profile a:hover {
  background: var(--avoer-purple) !important;
  color: #FFFFFF !important;
  border-color: var(--avoer-purple) !important;
  text-decoration: none !important;
}

/* Login atau tombol terakhir dibuat ungu penuh */
#navigationUser .profile:last-child a {
  background: var(--avoer-purple) !important;
  color: #FFFFFF !important;
}

#navigationUser .profile:last-child a:hover {
  background: var(--avoer-purple-hover) !important;
  border-color: var(--avoer-purple-hover) !important;
  color: #FFFFFF !important;
}

/* Admin menu */
.pkp_navigation_user_wrapper a,
.pkp_navigation_user a {
  color: #FFFFFF !important;
}

.pkp_navigation_user_wrapper,
.pkp_navigation_user {
  border: none !important;
}

/* ================================================
   HOMEPAGE IMAGE
   ================================================ */

.page_index_journal,
.homepage_image,
.homepage_image img {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.homepage_image img {
  display: block !important;
  height: auto !important;
  border: none !important;
}

/* ================================================
   JUDUL / HEADING
   ================================================ */

h1,
h2,
h3,
h4 {
  color: var(--avoer-heading) !important;
  letter-spacing: -0.2px !important;
}

h1 {
  font-size: 24px !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
}

h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}

h3,
h4 {
  font-weight: 600 !important;
}

/* ================================================
   ANNOUNCEMENT — LEBAR SAMPAI DEKAT SIDEBAR
   ================================================ */

.cmp_announcements,
.cmp_announcements.highlight_first {
  width: calc(100% + var(--content-extra-width)) !important;
  max-width: calc(100% + var(--content-extra-width)) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.cmp_announcements .obj_announcement_summary,
.cmp_announcements.highlight_first .obj_announcement_summary {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
  margin-right: 0 !important;
}

.pkp_announcement,
.pkp_block_information,
.obj_announcement_summary {
  background: #FFFFFF !important;
  border: 1px solid var(--avoer-border) !important;
  border-left: 4px solid var(--avoer-link) !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin-bottom: 20px !important;
  transition: box-shadow 0.2s !important;
  box-sizing: border-box !important;
}

.obj_announcement_summary_details,
.obj_announcement_summary .summary {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.obj_announcement_summary .summary p {
  max-width: 100% !important;
  width: 100% !important;
}

.obj_announcement_summary img,
.summary img {
  max-width: 100% !important;
  height: auto !important;
}

.pkp_announcement:hover,
.obj_announcement_summary:hover {
  box-shadow: 0 4px 16px rgba(106, 13, 173, 0.08) !important;
}

/* ================================================
   CURRENT ISSUE — DISAMAKAN DENGAN ANNOUNCEMENT
   ================================================ */

.current_issue {
  width: calc(100% + var(--content-extra-width)) !important;
  max-width: calc(100% + var(--content-extra-width)) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.current_issue .current_issue_title,
.current_issue .obj_issue_toc,
.current_issue .heading,
.current_issue .sections,
.current_issue .section {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.current_issue_title {
  font-weight: 600 !important;
  color: #111111 !important;
  margin-bottom: 24px !important;
}

.current_issue .published {
  margin-bottom: 32px !important;
}

/* Garis Articles */
.current_issue .section h3 {
  color: #777777 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  margin: 28px 0 16px !important;
}

/* ================================================
   ARTICLES — KARTU FULL LEBAR SAMA DENGAN ANNOUNCEMENT
   ================================================ */

.current_issue .cmp_article_list,
.current_issue .articles,
.cmp_article_list.articles {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

.current_issue .cmp_article_list>li,
.current_issue .articles>li,
.cmp_article_list.articles>li {
  width: 100% !important;
  max-width: 100% !important;
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

.obj_article_summary,
.current_issue .obj_article_summary,
.current_issue .articles .obj_article_summary,
.current_issue .cmp_article_list .obj_article_summary {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  background: #FFFFFF !important;
  border: 1px solid var(--avoer-border) !important;
  border-left: 4px solid var(--avoer-link) !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin-bottom: 20px !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.2s !important;
}

.obj_article_summary:hover,
.current_issue .obj_article_summary:hover {
  box-shadow: 0 4px 16px rgba(106, 13, 173, 0.08) !important;
}

.current_issue .obj_article_summary .title,
.current_issue .obj_article_summary .meta,
.current_issue .obj_article_summary .authors,
.current_issue .obj_article_summary .pages,
.current_issue .obj_article_summary .galleys_links {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.obj_article_summary .title,
.obj_article_summary h4.title {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.obj_article_summary .title a,
.obj_article_summary h4.title a {
  color: var(--avoer-link) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  line-height: 1.45 !important;
}

.obj_article_summary .meta {
  color: #333333 !important;
  font-size: 13px !important;
}

.obj_article_summary .authors {
  margin-bottom: 8px !important;
}

.obj_article_summary .pages {
  float: right !important;
  color: #666666 !important;
}

/* Tombol PDF */
.obj_galley_link,
.obj_galley_link.pdf {
  display: inline-block !important;
  padding: 7px 14px !important;
  border: 1px solid var(--avoer-link) !important;
  border-radius: 4px !important;
  background: #FFFFFF !important;
  color: var(--avoer-link) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.obj_galley_link:hover,
.obj_galley_link.pdf:hover {
  background: var(--avoer-link) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* ================================================
   LINK UMUM
   ================================================ */

a {
  color: var(--avoer-link) !important;
  text-decoration: none !important;
  transition: color 0.15s, background 0.15s !important;
}

a:hover {
  color: var(--avoer-link-hover) !important;
  text-decoration: underline !important;
}

/* Link navbar tetap putih */
.pkp_navigation_primary_row a,
.pkp_navigation_primary_wrapper a,
.pkp_navigation_primary a,
.pkp_navigation_search_wrapper a {
  color: #FFFFFF !important;
}

/* ================================================
   TOMBOL UMUM
   ================================================ */

.pkp_button,
.btn,
input[type="submit"],
button[type="submit"] {
  background: var(--avoer-link) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 10px 22px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}

.pkp_button:hover,
.btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--avoer-link-hover) !important;
  color: #FFFFFF !important;
}

/* ================================================
   SIDEBAR
   ================================================ */

.pkp_block {
  background: #FAFAFA !important;
  border: 1px solid var(--avoer-border) !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
  box-sizing: border-box !important;
}

.pkp_block .title {
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #888780 !important;
  margin-bottom: 10px !important;
}

/* ================================================
   FOOTER
   ================================================ */

.pkp_structure_footer_wrapper,
.pkp_structure_footer {
  background: var(--avoer-heading) !important;
  border: none !important;
  box-shadow: none !important;
}

.pkp_structure_footer {
  color: #CECBF6 !important;
  padding: 18px 24px !important;
  margin-top: 20px !important;
  font-size: 13px !important;
  text-align: center !important;
}

.pkp_footer_content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  color: #CECBF6 !important;
  line-height: 1.3 !important;
}

.pkp_footer_content center {
  display: block !important;
  text-align: center !important;
}

/* Rapatkan jarak antar baris teks di footer (logo, judul, alamat, dll) */
.pkp_footer_content div {
  margin: 2px 0 !important;
}

.pkp_footer_content img {
  width: 60px !important;
  height: auto !important;
  margin: 0 auto 6px !important;
  display: block !important;
}

.pkp_footer_content h2 {
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 4px 0 !important;
  line-height: 1.3 !important;
}

.pkp_footer_content hr {
  margin: 6px 0 !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.pkp_structure_footer a,
.pkp_footer_content a {
  color: #CECBF6 !important;
  text-decoration: none !important;
}

.pkp_structure_footer a:hover,
.pkp_footer_content a:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

/* Hilangkan logo "Platform & workflow by OJS/PKP" */
.pkp_brand_footer {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Pastikan tidak ada ruang kosong bekas logo PKP */
.pkp_structure_footer .pkp_brand_footer+*,
.pkp_structure_footer:after {
  display: none !important;
}
/* ================================================
   TABEL
   ================================================ */

table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
}

th {
  background: #F3E8FF !important;
  color: var(--avoer-link) !important;
  font-weight: 600 !important;
  padding: 10px 14px !important;
  text-align: left !important;
}

td {
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--avoer-border) !important;
}

tr:hover td {
  background: #FAF5FF !important;
}

/* ================================================
   RESPONSIF MOBILE
   ================================================ */

@media (max-width: 768px) {
  .pkp_structure_page {
    max-width: 100% !important;
    padding: 0 12px !important;
  }

  .pkp_structure_content {
    flex-direction: column !important;
    gap: 20px !important;
  }

  .pkp_structure_main {
    width: 100% !important;
    max-width: 100% !important;
  }

  .pkp_structure_sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .cmp_announcements,
  .cmp_announcements.highlight_first,
  .current_issue {
    width: 100% !important;
    max-width: 100% !important;
  }

  .cmp_announcements .obj_announcement_summary,
  .cmp_announcements.highlight_first .obj_announcement_summary,
  .current_issue .obj_article_summary {
    width: 100% !important;
    max-width: 100% !important;
  }

  #navigationUser {
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  #navigationUser .profile a {
    padding: 8px 14px !important;
    font-size: 13px !important;
  }

  .pkp_navigation_primary_row {
    padding: 0 12px !important;
  }

  .pkp_navigation_primary_row .pkp_nav_item>a,
  .pkp_navigation_primary>li>a {
    padding: 12px 14px !important;
    font-size: 13px !important;
  }

  .obj_article_summary .pages {
    float: none !important;
    display: block !important;
    margin-top: 6px !important;
  }
}

/* ================================================
   FIX ARTICLE META — AUTHOR & PAGE TIDAK SEBARIS
   ================================================ */

.obj_article_summary .meta,
.current_issue .obj_article_summary .meta {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

.obj_article_summary .authors,
.current_issue .obj_article_summary .authors {
  order: 1 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  clear: both !important;
  line-height: 1.6 !important;
}

.obj_article_summary .pages,
.current_issue .obj_article_summary .pages {
  order: 2 !important;
  float: none !important;
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  clear: both !important;
  margin: 0 !important;
  padding: 3px 10px !important;
  border-radius: 4px !important;
  background: #F3E8FF !important;
  color: var(--avoer-link) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.obj_article_summary .galleys_links,
.current_issue .obj_article_summary .galleys_links {
  clear: both !important;
  display: block !important;
  margin-top: 14px !important;
}

/* ================================================
   AVoER 18 — BIAYA REGISTRASI TANPA TAG TABLE
   Aman untuk OJS Announcement
   ================================================ */

.avoer-fee-section {
  width: 100% !important;
  margin: 28px 0 34px !important;
  font-family: 'Inter', sans-serif !important;
  box-sizing: border-box !important;
}

.avoer-fee-title {
  text-align: center !important;
  margin-bottom: 18px !important;
}

.avoer-fee-title h3 {
  margin: 0 0 8px !important;
  color: var(--avoer-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.avoer-fee-title p {
  margin: 0 !important;
  color: #555555 !important;
  font-size: 14px !important;
}

.avoer-fee-box {
  width: 100% !important;
  border: 1px solid var(--avoer-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 4px 16px rgba(106, 13, 173, 0.08) !important;
  box-sizing: border-box !important;
}

.avoer-fee-row {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.avoer-fee-row:not(:last-child) {
  border-bottom: 1px solid var(--avoer-border) !important;
}

.avoer-fee-cell {
  padding: 13px 16px !important;
  border-right: 1px solid var(--avoer-border) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

.avoer-fee-cell:last-child {
  border-right: none !important;
}

.avoer-fee-head .avoer-fee-cell {
  background: var(--avoer-purple) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.avoer-fee-head .avoer-fee-cell:first-child {
  text-align: left !important;
}

.avoer-fee-head .avoer-fee-cell:nth-child(2) {
  background: #6a0dad !important;
}

.avoer-fee-head .avoer-fee-cell:nth-child(3) {
  background: #3b0066 !important;
}

.avoer-fee-sub {
  display: block !important;
  margin-top: 4px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #f8efff !important;
}

.avoer-fee-body .avoer-fee-row:nth-child(even) .avoer-fee-cell {
  background: #faf7ff !important;
}

.avoer-fee-body .avoer-fee-row:hover .avoer-fee-cell {
  background: #f3e8ff !important;
}

.avoer-fee-body .avoer-fee-cell:first-child {
  font-weight: 600 !important;
  color: var(--avoer-heading) !important;
}

.avoer-fee-price {
  text-align: center !important;
  font-weight: 700 !important;
  color: var(--avoer-link) !important;
  white-space: nowrap !important;
}

.avoer-fee-note {
  margin-top: 10px !important;
  font-size: 13px !important;
  color: #666666 !important;
  line-height: 1.6 !important;
}

/* Responsif tabel biaya registrasi */
@media (max-width: 768px) {
  .avoer-fee-title h3 {
    font-size: 19px !important;
  }

  .avoer-fee-box {
    border-radius: 10px !important;
  }

  .avoer-fee-head {
    display: none !important;
  }

  .avoer-fee-row {
    display: block !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--avoer-border) !important;
  }

  .avoer-fee-cell {
    display: block !important;
    border-right: none !important;
    padding: 5px 0 !important;
    font-size: 13px !important;
  }

  .avoer-fee-price {
    text-align: left !important;
    white-space: normal !important;
  }

  .avoer-fee-price::before {
    content: attr(data-label) ": " !important;
    font-weight: 700 !important;
    color: var(--avoer-heading) !important;
  }
}

/* ======================================================
   FIX PAKSA RADIO / CHECKBOX REVIEW FORM OJS — HORIZONTAL
   Versi tanpa ketergantungan body class / wrapper #app,
   karena form review biasanya dimuat lewat AJAX/modal
   sehingga selector yang terlalu spesifik tidak pernah kena.
   Pakai flexbox supaya otomatis menyesuaikan jumlah pilihan
   (tidak harus selalu 10 opsi).
   ====================================================== */

/* Container utama pertanyaan */
ul.checkbox_and_radiobutton,
.checkbox_and_radiobutton {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

/* Teks pertanyaan tetap di atas, full width */
ul.checkbox_and_radiobutton > label,
.checkbox_and_radiobutton > label {
  flex: 1 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  line-height: 1.5 !important;
}

/* Ini kunci utama: fieldset dibuat seolah hilang agar li jadi item flex langsung */
ul.checkbox_and_radiobutton > fieldset,
.checkbox_and_radiobutton > fieldset,
.checkbox_and_radiobutton fieldset[role="radiogroup"] {
  display: contents !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
}

/* Setiap pilihan angka dibuat horizontal */
ul.checkbox_and_radiobutton fieldset > li,
.checkbox_and_radiobutton fieldset > li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
}

/* Radio dan angka sejajar kiri-kanan */
ul.checkbox_and_radiobutton fieldset > li > label,
.checkbox_and_radiobutton fieldset > li > label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* Input radio/checkbox normal */
.checkbox_and_radiobutton input[type="radio"],
.checkbox_and_radiobutton input[type="checkbox"] {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

/* Mobile: tetap horizontal, tapi boleh turun baris kalau sempit */
@media (max-width: 768px) {
  ul.checkbox_and_radiobutton,
  .checkbox_and_radiobutton {
    column-gap: 14px !important;
    row-gap: 10px !important;
  }
}