/* Diambil dari <style> inline template.php situs asli — biar konsisten sama tampilan asal. */
#toolbarContainer { display: none; }
.of-game { width: 23%; display: inline-block; padding: 10px; vertical-align: top; margin: 7px; }
.of-game img { border-radius: 18px; }
.of-game p { line-height: 18px; font-size: 13px; color: #333; }
.cursor-pointer { cursor: pointer; }
.card-number {
    position: absolute; width: 45px; height: 45px; text-align: center; line-height: 38px;
    border-radius: 50%; font-size: 18px; font-weight: bold; border: 5px solid #fff; margin-top: -50px; margin-left: -5px;
}
.card-name { margin-top: -20px; margin-left: 45px; margin-bottom: 15px; }
.produk-list, .category-list { height: auto; padding: 10px; border-radius: 6px !important; }
.metode-list { border-radius: 6px !important; overflow: hidden !important; }
.hide { display: none; }
.carousel-control-next, .carousel-control-prev { border: none; background: transparent; }
.nav-item .nav-link { background: transparent; }
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active { border-bottom: 1px solid #dee2e6 !important; }
button { outline: none !important; }

/* ---------------------------------------------------------------------------
   Menu sidebar: ikon & teks harus SEJAJAR
   ---------------------------------------------------------------------------
   Theme aslinya dibikin buat feather-icons yang berupa <svg> — kotaknya fix
   21x21, jadi 'vertical-align: text-top' aman. Kita ganti pakai bootstrap-icons
   yang berupa FONT: tiap glyph tinggi kotaknya beda-beda (bandingin '#' sama
   ikon orang), dan text-top ngikutin ascender font — hasilnya tiap baris ikon
   naik-turun sendiri dan teksnya ikut ga rata.

   Solusinya berhenti pakai perataan baseline: <a> dijadiin flexbox yang
   rata tengah, ikon dikasih kolom lebar tetap. Apa pun ikonnya, titik tengah
   ikon selalu ketemu titik tengah teks, dan semua teks mulai di x yang sama.
   --------------------------------------------------------------------------- */
.page-sidebar .accordion-menu > li > a {
    display: flex;
    align-items: center;      /* ikon & teks rata tengah vertikal */
    gap: 15px;                /* gantiin margin-right di ikon */
    min-height: 45px;         /* dulu line-height:45px yang bikin tingginya */
    line-height: 1.35;        /* biar label 2 baris tetap rapi, bukan renggang 45px */
    padding: 0 15px;
}
.page-sidebar .accordion-menu > li > a > i.bi {
    flex: 0 0 21px;           /* kolom ikon lebarnya KUNCI -> teks selalu selurus */
    width: 21px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;  /* glyph sempit ('#') & lebar ketengah di kotak yg sama */
    font-size: 19px;
    line-height: 1;
    margin-right: 0;          /* jaraknya sekarang dipegang gap */
    color: #5b5b5b;
    transition: color .2s ease-in-out;
}
.page-sidebar .accordion-menu > li.active-page > a > i.bi { color: #FFAA2B !important; }

/* Kalau ada item bersubmenu, panahnya tetap nempel kanan walau induknya flex
   (float: right dari theme gak ngefek di dalam flex container). */
.page-sidebar .accordion-menu > li > a .dropdown-icon { margin-left: auto; float: none; }

/* Pemisah antar grup menu — sebelumnya <hr> bawaan browser kelebaran & kegelapan. */
.page-sidebar .accordion-menu > li > hr { margin: 10px 15px; border-color: rgba(0,0,0,.08); }

@media only screen and (max-width: 768px) {
    #rincian-game { display: none; }
    .margin-none-m:nth-child(odd) { padding-right: 7px; }
    .margin-none-m:nth-child(even) { padding-left: 7px; }
    .produk-list, .category-list { padding: 12px; }
    #btn-cek { margin-top: 15px; }
}
@media only screen and (max-width: 425px) {
    .of-game { width: 32%; margin: 0; }
}

/* =====================================================================
   POLESAN TAMPILAN — dirapatkan biar mirip store.ecommercebooster.id.
   Versi Nuxt sempat kelewat renggang: tiap baris kategori/metode jadi
   kartu tebal, jadi step 1-4 gak muat sekali layar. Aslinya baris tipis.
   Ditaruh di paling bawah supaya menang atas main.min.css tanpa !important
   di mana-mana.
   ===================================================================== */

/* --- Kartu langkah: padding lebih ringkas --- */
.main-wrapper .card { margin-bottom: 18px; }
.main-wrapper .card .card-body { padding: 20px 22px; }
.card + .card.mt-4 { margin-top: 18px !important; }

/* --- Accordion kategori: baris tipis, bukan kartu gemuk --- */
#categoryAccordion .accordion-item { margin-bottom: 8px; border: none; }
#categoryAccordion .accordion-button {
    padding: 13px 18px;
    font-size: 14px;
    border-radius: 10px !important;
    box-shadow: 0 0 0 1px #eceef3 inset;
}
#categoryAccordion .accordion-button:focus { box-shadow: 0 0 0 1px #eceef3 inset; }
#categoryAccordion .accordion-body { padding: 12px 18px; font-size: 13px; color: #6b7280; }

/* Kategori terpilih — teks TETAP kebaca (tema bikin teksnya oranye,
   jadi latarnya cukup tint tipis, bukan oranye pekat). */
#categoryAccordion .kategori-terpilih .accordion-button {
    background-color: #fff6e8;
    box-shadow: 0 0 0 1px #ffd79a inset;
    border-left: 4px solid #FFAA2B;
    font-weight: 600;
}

/* --- Grid nominal: kotak lebih ringkas --- */
.produk-list {
    padding: 12px 10px !important;
    font-size: 13px;
    line-height: 1.35;
    border-radius: 10px !important;
    border-color: #eceef3 !important;
    transition: all .15s ease-in-out;
    min-height: 62px;
    display: flex; align-items: center; justify-content: center;
}
.produk-list:hover { border-color: #FFAA2B !important; }
.produk-list.bg-primary { border-color: #FFAA2B !important; }

/* --- Metode pembayaran: header grup + baris tipis berlogo --- */
.metode-list {
    padding: 10px 14px !important;
    margin-bottom: 6px !important;
    border-color: #eceef3 !important;
    transition: all .15s ease-in-out;
}
.metode-list:hover { border-color: #FFAA2B !important; }
.metode-list img { max-height: 26px; width: auto !important; object-fit: contain; }

/* --- Kartu langkah bernomor --- */
.card-number { width: 38px; height: 38px; line-height: 30px; font-size: 15px; margin-top: -42px; }
.card-name { margin-top: -14px; margin-left: 48px; margin-bottom: 14px; font-size: 15px; }

/* --- Bar "Beli Sekarang" nempel di bawah (persis situs asli) --- */
.beli-sticky {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
    background: #FFAA2B; color: #fff; border: none;
    padding: 15px; font-weight: 600; font-size: 15px;
    box-shadow: 0 -2px 12px rgba(0,0,0,.12);
}
.beli-sticky:disabled { background: #d9d9d9; color: #8a8a8a; }
/* ruang ekstra di bawah konten biar gak ketutup bar-nya */
.main-wrapper { padding-bottom: 80px; }

/* --- Panel "Cara Order" di kolom kiri --- */
.cara-order { font-size: 13px; line-height: 1.6; padding-left: 18px; margin-bottom: 0; }
.cara-order li { margin-bottom: 4px; }
.cara-order ul { padding-left: 16px; margin-top: 2px; }

/* --- Mobile: rapatkan lagi --- */
@media (max-width: 767px) {
    .main-wrapper .card .card-body { padding: 16px; }
    .main-wrapper .card { margin-bottom: 14px; }
    .card-name { margin-left: 44px; font-size: 14px; }
    .produk-list { min-height: 56px; font-size: 12px; }
    .list-group-item { padding: 12px 14px; }

    /* Tombol kategori (accordion "Pilih Kategori Layanan") kerasa nabrak
       satu sama lain di HP — jarak antar tombol cuma 8px dan teksnya
       mepet ke chevron di kanan. Dilonggarkan khusus mobile. */
    #categoryAccordion .accordion-item { margin-bottom: 12px; }
    #categoryAccordion .accordion-button {
        padding: 13px 40px 13px 14px; /* padding-right ekstra buat kasih napas ke chevron */
        font-size: 13px;
    }

    /* Grid nominal (langkah 3): gutter default Bootstrap dirasa masih
       ngepas kalau nama produknya panjang — ditambah dikit di HP. */
    .produk-list { padding: 12px 8px !important; }
}

/* --- Profil: tab jadi pil horizontal di HP ---
   Sebelumnya list-group vertikal setinggi ~4 baris + tombol Logout ngabisin
   satu layar penuh sebelum kontennya kelihatan. */
@media (max-width: 767px) {
    .profil-tab {
        flex-direction: row;
        overflow-x: auto;
        gap: 6px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .profil-tab::-webkit-scrollbar { display: none; }
    .profil-tab .list-group-item {
        border-radius: 999px !important;
        border: 1px solid #eceef3;
        white-space: nowrap;
        flex: 0 0 auto;
        padding: 8px 16px;
        font-size: 13px;
    }
    /* Kartu statistik dirapatkan biar muat berdampingan */
    .main-wrapper .card .card-body h4 { font-size: 18px; }
    .main-wrapper .card .card-body p.text-muted { font-size: 12px; margin-bottom: 2px; }
}

/* --- Perbaikan hasil cek di lebar HP --- */
@media (max-width: 767px) {
    /* Badge nomor langkah nabrak elemen di atasnya (alert/kartu sebelumnya),
       karena offset negatifnya dihitung buat padding desktop. */
    .card-number {
        width: 32px; height: 32px; line-height: 24px;
        font-size: 13px; margin-top: -30px;
    }
    .card-name { margin-left: 40px; margin-top: -12px; }
    .main-wrapper .alert { margin-bottom: 22px; }

    /* Pil tab profil: .list-group-item defaultnya width:100% jadi pil pertama
       makan seluruh baris dan sisanya kedorong keluar layar. */
    .profil-tab .list-group-item { width: auto !important; padding: 8px 14px; font-size: 12.5px; }
    .profil-tab { flex-wrap: wrap; overflow-x: visible; }
}

/* =====================================================================
   PASS "BIAR GAK KAKU"
   Tema aslinya rapi tapi kaku: semua sudut sama, tabel garis keras,
   tombol datar, gak ada respons pas disentuh. Ini nglembutin tanpa
   ngubah identitas warnanya.
   ===================================================================== */

/* Kartu: sudut lebih lembut + bayangan halus, naik dikit pas di-hover */
.main-wrapper .card {
    border-radius: 16px;
    border: 1px solid #f0f1f5;
    box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 4px 16px rgba(16,24,40,.03);
    transition: box-shadow .18s ease, transform .18s ease;
}
.main-wrapper .card:hover {
    box-shadow: 0 2px 4px rgba(16,24,40,.05), 0 10px 28px rgba(16,24,40,.06);
}

/* Tombol: transisi + sedikit terangkat, gak lagi kaku */
.btn {
    border-radius: 10px;
    transition: all .16s ease-in-out;
    font-weight: 500;
}
.btn:not(:disabled):hover { transform: translateY(-1px); }
.btn:not(:disabled):active { transform: translateY(0); }
.btn-primary { box-shadow: 0 2px 6px rgba(255,170,43,.28); }
.btn-primary:hover { box-shadow: 0 4px 12px rgba(255,170,43,.36); }
.btn-sm { border-radius: 8px; }

/* Input: fokus dengan cincin lembut, bukan garis keras */
.form-control, .form-select {
    border-radius: 10px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus, .form-select:focus {
    border-color: #FFAA2B;
    box-shadow: 0 0 0 3px rgba(255,170,43,.14);
}

/* Tabel: garis tipis, header lembut, baris merespons hover */
.table { --bs-table-border-color: #f2f3f7; }
.table > thead th {
    font-size: 11.5px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #8b93a7;
    font-weight: 600;
    border-bottom: 1px solid #eef0f4;
    padding-top: 12px; padding-bottom: 12px;
    background: transparent;
}
.table > tbody > tr { transition: background-color .12s ease; }
.table > tbody > tr:hover > td { background-color: #fcfcfd; }
.table > tbody > td, .table > tbody > tr > td { border-color: #f5f6f9; padding: 12px 8px; }

/* Badge status: pill lembut, bukan kotak pekat */
.badge {
    border-radius: 999px;
    padding: 5px 11px;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .01em;
}

/* Alert: lebih kalem */
.alert { border-radius: 12px; border-width: 1px; }

/* Menu sidebar: transisi halus */
.page-sidebar .accordion-menu > li > a { transition: color .15s ease, background-color .15s ease; }

/* Progress bar drip-feed */
.progress { border-radius: 999px; background: #f1f2f6; }
.progress-bar { border-radius: 999px; transition: width .4s ease; }

/* Modal & list-group ikut dilembutin */
.modal-content { border-radius: 16px; border: none; }
.list-group-item:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; }
.list-group-item:last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }

/* Empty state biar gak cuma teks abu nyangkut di tengah tabel */
.empty-state { padding: 34px 16px; text-align: center; color: #98a2b3; }
.empty-state i { font-size: 30px; display: block; margin-bottom: 8px; opacity: .5; }
