/* Definisikan semua warna, ukuran, dan radius di satu tempat */
:root {
    /* Palet Warna */
    --color-bg-dark-1: #ebdef7;
    --color-bg-dark-2: #f3e1fd;
    --color-bg-dark-3: #1f2c3d;
    --color-bg-input: #2d2121;
    --color-border: #30363d;
    
    --color-text-primary: #c9d1d9;
    --color-text-secondary: #8b949e;
    --color-text-light: #f0f6fc;
    --color-text-white: #ffffff;
    --color-text-dark: #0e0e0e;
    
    --color-accent-blue: #58a6ff;
    --color-accent-blue-dark: #1e6aff;
    --color-accent-blue-gradient: linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    
    --color-label-danger: #da3633;
    --color-label-success: #238636;
    --color-label-info: #1f6feb;

    /* Ukuran & Radius */
    --radius-sm: 5px;
    --radius-md: 8px;
    --radius-lg: 10px;
    --spacing-default: 20px;

    /* Transisi */
    --transition-fast: all 0.3s ease;
}

/* --- Pengaturan Dasar & Latar Belakang --- */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--color-text-primary);
    margin: 0;
    padding: var(--spacing-default);
    padding-top: 50px;
    padding-bottom: 50px; 
    /* Warna dasar tetap ada */
    background-color: var(--color-bg-dark-1); 

    /* Pola ketupat yang lebih halus/blur */
    background-image: 
        repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(0, 0, 0, 0.011) 6px, rgba(0, 0, 0, 0.011) 25px),
        repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(0, 0, 0, 0.011) 6px, rgba(0, 0, 0, 0.011) 25px);
}
.container {
    max-width: 1200px;
    margin: 0 auto;
}
.site-header {
    /* Properti fixed (tidak berubah) */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;

    /* Membuat header lebih kecil */
    padding: 0.1rem 0; /* Padding vertikal diperkecil */
    
    /* Styling tambahan */
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Kontainer di dalam header untuk mengatur layout */
.header-content {
    display: flex;
    justify-content: space-between; /* Mendorong logo ke kiri & jam ke kanan */
    align-items: center;
}

/* Mengatur ukuran logo di header */
.site-header .site-logo {
    height: 45px; /* Ukuran logo diperkecil */
    width: auto;
}

/* Styling untuk jam digital */
.live-clock-container {
    color: var(--color-text-primary);
    font-size: 0.7rem;
    font-weight: bold;
}
/* --- Header & Logo --- */
.main-header {
    position: relative;
    width: 100%;
}
#mainCarousel {
    margin-top: 0;
}
.hero-section {
  background: linear-gradient(160deg, #1e3b8a38 0%, #0d11173f 100%);
  padding: 0.9rem;
  border-radius: var(--radius-md);
}

/* --- Tombol Tab Provider --- */
.nav-tabs {
    /* --- Properti Baru --- */
    background: linear-gradient(160deg, #1e3b8a38 0%, #0d11173f 100%);
    padding: 0.9rem;                           /* Menambah ruang di dalam panel */
    border-radius: var(--radius-md);           /* Membuat sudut membulat */
    margin-bottom: var(--spacing-default);
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
}
.nav-tabs::-webkit-scrollbar { height: 3px; }
.nav-tabs::-webkit-scrollbar-thumb {
    background: var(--color-border);
    border-radius: var(--radius-lg);
}
.nav-tabs .nav-item {
    margin-bottom: -1px;
    flex-shrink: 0;
}
.nav-tabs .nav-link {
    background-color: transparent;
    border: 1px solid transparent;
    color: var(--color-text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    font-weight: bold;
}
.nav-tabs .nav-link:hover {
    color: var(--color-text-primary);
}
.nav-tabs .nav-link.active {
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    
}
.provider-logo-tab {
    /* Mengatur ukuran gambar logo */
    height: 30px;
    width: auto; /* Lebar otomatis menyesuaikan tinggi */

    /* Menambahkan efek bayangan yang mengikuti bentuk logo */
    -webkit-filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.5));
    
    /* Transisi agar animasi hover lebih halus */
    transition: all 0.2s ease-in-out;
}

/* Efek saat mouse diarahkan ke logo */
.nav-link:hover .provider-logo-tab {
    transform: scale(1.1); /* Sedikit memperbesar logo */
    -webkit-filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.4));
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.4));
}
/* --- Konten Tab --- */
.tab-content > .tab-pane {
    background: linear-gradient(160deg, #1e3b8a38 0%, #0d11173f 100%);
    padding: var(--spacing-default);
    /* Mengubah border-radius agar berlaku untuk semua 4 sudut */
    border-radius: var(--radius-md); 
}

/* --- Grid Kartu Game --- */
.games-grid {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 576px) { .games-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) {
    .games-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: var(--spacing-default);
    }
}

/* --- Kartu Game --- */
.game-card {
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    border: 1px solid rgba(88, 166, 255, 0.2);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transition: var(--transition-fast);
}
.game-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 30px rgba(88, 166, 255, 0.25);
    border-color: rgba(88, 166, 255, 0.4);
}
.game-thumbnail-container { position: relative; }
.game-card .main-thumbnail {
    width: 100%;
    height: auto;
    display: block;
}

/* --- Overlay di Kartu Game --- */
.game-label-overlay {
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--color-label-danger);
    color: var(--color-text-white);
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 700;
    z-index: 2;
    border-bottom-right-radius: var(--radius-md);
    text-transform: uppercase;
}
.game-label-overlay.top,
.game-label-overlay.promo { background-color: var(--color-label-success); }
.game-label-overlay.new { background-color: var(--color-label-info); }

.provider-logo-overlay {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 36px;  /* Diperbesar dari 28px */
    height: 36px; /* Diperbesar dari 28px */
    z-index: 2;
    object-fit: contain;
    /* Properti background-color, padding, dan border-radius telah dihapus */
}

/* --- Info di Dalam Kartu --- */
.game-card-info {
    padding: 12px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.game-card-title {
    color: var(--color-text-light);
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 10px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rtp-bar {
    background-color: #868686;
    border-radius: var(--radius-lg);
    overflow: hidden;
    height: 22px;
    margin-bottom: 12px;
}
.rtp-progress {
    height: 100%;
    color: var(--color-text-white);
    font-size: 12px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.6);
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.3);

    /* Warna dasar solid dari JS sebagai fallback */
    background-color: var(--rtp-color);

    /* Menggabungkan 3 background: 2 untuk pola panah, 1 untuk gradien dasar */
    background-image:
        /* Lapisan 1 & 2 (Paling Atas): Pola panah bergerak */
        repeating-linear-gradient(
            45deg,
            transparent, transparent 10px,
            rgba(255, 255, 255, 0.1) 10px,
            rgba(255, 255, 255, 0.1) 12px
        ),
        repeating-linear-gradient(
            135deg,
            transparent, transparent 10px,
            rgba(255, 255, 255, 0.1) 10px,
            rgba(255, 255, 255, 0.1) 12px
        ),
        /* Lapisan 3 (Paling Bawah): Gradien elegan yang statis */
        linear-gradient(
            160deg,
            color-mix(in srgb, var(--rtp-color) 80%, #fff),
            var(--rtp-color),
            color-mix(in srgb, var(--rtp-color) 80%, #000)
        );

    background-size: 28px 28px;
    animation: animate-arrows-right 1s linear infinite;
}
@keyframes animate-arrows-right {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 28px 0;
    }
}
.info-row {
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    margin-bottom: 8px;
    color: var(--color-text-secondary);
}
.info-row span:last-child {
    font-weight: bold;
    color: var(--color-text-primary);
    font-size: 11px;
}
.pola-block {
    font-size: 14px;
    color: var(--color-text-secondary);
    text-align: center;
}
.pola-block .pola-details {
    font-weight: bold;
    color: #bfc1c4; /* Warna spesifik, bisa dijadikan variabel jika perlu */
    margin-top: 4px;
    line-height: 1.5;
    font-size: 11px;
}
.card-buttons-container {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
}
.btn-login {
    display: block;
    width: 100%;
    padding: 8px;
    font-size: 14px;
    font-weight: bold;
    border: none;
    border-radius: var(--radius-sm);
    background: var(--color-accent-blue-gradient);
    color: var(--color-text-light);
    cursor: pointer;
    text-decoration: none;
    text-align: center;
}
.site-footer {
  border-top-color: var(--color-border) !important;
}

.site-footer p {
  /* Mengatur warna teks paragraf utama di footer */
  color: var(--color-text-dark);
  margin-bottom: 0.25rem; /* Sedikit jarak antar paragraf */
}

/*
 * -------------------------------------------
 * Styling untuk Info Table (Versi Tabel)
 * -------------------------------------------
 */
.site-info-table {
    width: 100%;
    margin-top: 1rem;
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    border-radius: var(--radius-md);
    border-collapse: separate; /* Memungkinkan border-radius bekerja */
    border-spacing: 0;
    overflow: hidden; /* Memastikan sudut table mengikuti border-radius */
}

.site-info-table th,
.site-info-table td {
    padding: 0.5rem; /* Padding diperkecil */
    text-align: center;
    vertical-align: middle;
}

/* Style untuk Judul Tabel (th) */
.site-info-table th {
    font-size: 0.50rem; /* Font diperkecil */
    font-weight: bold;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid var(--color-border);
}

/* Style untuk Isi Tabel (td) */
.site-info-table td {
    font-size: 0.85rem; /* Font diperkecil */
    font-weight: bold;
    color: var(--color-text-white);
}
/*
 * -------------------------------------------
 * Styling untuk Marquee Modern
 * -------------------------------------------
 */
.modern-marquee {
    width: 100%;
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    border-radius: var(--radius-md);
    padding: 0.5rem;
    margin-bottom: 1rem; /* Jarak ke carousel di bawahnya */
    overflow: hidden; /* Sembunyikan teks yang keluar dari kotak */
    display: flex;
}

.marquee-content {
    display: flex;
    white-space: nowrap; /* Mencegah teks turun ke baris baru */
    /* Menerapkan animasi */
    animation: scroll-left 25s linear infinite;
}

.marquee-content span {
    font-size: 0.9rem;
    color: var(--color-text-white);
    padding-right: 50px; /* Jarak antar teks yang berulang */
}

/* Animasi scroll dari kanan ke kiri */
@keyframes scroll-left {
    from {
        transform: translateX(0%);
    }
    to {
        /* Geser ke kiri sejauh 50% (lebar satu blok teks) */
        transform: translateX(-50%);
    }
}
/*
 * -------------------------------------------
 * Styling untuk Menu Fixed Bawah (Versi Compact)
 * -------------------------------------------
 */
.fixed-bottom-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);

    /* Diubah: Padding diperkecil agar lebih tipis */
    padding: 0.25rem 0; 
}

.menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: var(--color-text-white);
    transition: color 0.2s ease;

    /* Diubah: Ukuran font label diperkecil */
    font-size: 0.65rem; 
}

.menu-item:hover {
    color: var(--color-text-dark);
}

.menu-icon {
    /* Diubah: Ukuran ikon diperkecil */
    font-size: 1.2rem;
    /* Diubah: Jarak bawah dihapus agar lebih rapat */
    margin-bottom: 0; 
}
/*
 * -------------------------------------------
 * Styling untuk Tombol Scroll to Top
 * -------------------------------------------
 */
#scrollToTopBtn {
    position: fixed;
    /* Posisikan di atas menu bawah Anda */
    bottom: 75px; 
    right: 20px;
    z-index: 1010;

    /* Styling Tombol */
    width: 45px;
    height: 45px;
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    color: var(--color-text-white);
    border: none;
    border-radius: 50%; /* Membuatnya bulat */
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);

    /* Untuk display flex agar ikon di tengah */
    display: flex;
    align-items: center;
    justify-content: center;

    /* Sembunyikan tombol secara default */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px); /* Mulai dari posisi sedikit di bawah */
    
    /* Efek transisi untuk muncul secara halus */
    transition: all 0.3s ease-in-out;
}

/* Style saat tombol harus muncul */
#scrollToTopBtn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); /* Kembali ke posisi normal */
}

#scrollToTopBtn:hover {
    background-color: color-mix(in srgb, var(--color-accent-blue) 80%, #fff);
}


/*

/* --- GAYA DEFAULT (UNTUK TAMPILAN HP) --- */

/* 1. Atur Kontainer Pembungkus */
.title-search-wrapper {
    display: flex;
    flex-direction: column; /* Susun atas-bawah di HP */
    gap: 15px;
    margin-bottom: 20px;
}

/* 2. Atur area Judul */
.provider-title-container {
    display: flex;
    align-items: center;
    gap: 12px; /* Jarak konsisten antara logo, judul, dan bintang */
    width: 100%;
    min-width: 0;
    background:linear-gradient(160deg, #4a044e 0%, #21052e 100%);
    padding: 8px 15px;
    border-radius: 8px;
}

.provider-logo-title {
    height: 28px;
    width: auto;
    flex-shrink: 0; /* Mencegah logo gepeng */
}

#activeProviderTitle {
    margin: 0;
    font-size: 1rem; /* Sedikit lebih besar agar terbaca di HP */
    color: var(--color-text-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* Gaya untuk rating bintang di header */
.header-provider-rating {
    font-size: 1.2rem;
    color: var(--accent-color-gold);
    line-height: 1;
    white-space: nowrap;
}

/* Atur setiap bintang (span) */
.header-provider-rating span {
    display: inline-block;
    opacity: 0; /* Awalnya transparan */

    /* Menerapkan DUA animasi sekaligus */
    animation: 
        fadeIn 0.5s forwards, /* Animasi untuk muncul (sekali) */
        tada-effect 2.5s infinite; /* Animasi tada (berulang terus) */
}

/* --- Keyframes untuk animasi FADE-IN --- */
@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/* --- Keyframes untuk animasi TADA (tetap sama) --- */
@keyframes tada-effect {
    0%, 100% { transform: scale(1) rotate(0); }
    15%, 55% { transform: scale(1.2) rotate(5deg); }
    35%, 75% { transform: scale(1.2) rotate(-5deg); }
}

/* --- Atur Jeda (Delay) untuk Setiap Bintang --- */
/* Jeda ini berlaku untuk kedua animasi */
.header-provider-rating span:nth-child(1) { animation-delay: 0.2s; }
.header-provider-rating span:nth-child(2) { animation-delay: 0.4s; }
.header-provider-rating span:nth-child(3) { animation-delay: 0.6s; }
.header-provider-rating span:nth-child(4) { animation-delay: 0.8s; }
.header-provider-rating span:nth-child(5) { animation-delay: 1.0s; }


/* 3. Kotak Pencarian */
.search-container {
    width: 100%;
}

.search-container .form-control {
    background-color: var(--color-bg-dark-2);
    padding: 0.75rem 1rem;
    width: 100%;
    border-radius: 8px;
    border: 1px solid var(--color-bg-dark-2);
    color: var(--color-text-dark);
}

/* --- GAYA DESKTOP (UNTUK LAYAR LEBAR >= 768px) --- */

@media (min-width: 768px) {
    .title-search-wrapper {
        flex-direction: row; /* Kembali ke tata letak kiri-kanan */
    }

    .provider-title-container {
        width: 40%;
        padding: 6px 12px;
    }
    
    #activeProviderTitle {
        font-size: 0.9rem; /* Kembali ke ukuran font lebih kecil di desktop */
    }

    .search-container {
        width: 60%;
    }
    
    .search-container .form-control {
        padding: 0.5rem 1rem;
    }
}
/* Container pembungkus */
.d-flex {
    flex-direction: column; /* Mengubah arah menjadi kolom */
    align-items: flex-start; /* Mengatur item rata kiri */
}

/* Style untuk teks "Pilih Provider:" */
.provider-label {
    /* Hapus properti background pada background teks lama */
    /* background: linear-gradient(90deg, #1e3a8a, #0d1117, #1e3a8a); */
    
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    margin-right: 0 !important;
    margin-bottom: 0.5rem;

    /* Background Gradasi Warna Keren */
    background: linear-gradient(90deg, #ffd700, #ff8c00, #ffd700); /* Kuning-Jingga */
    background-size: 200% 100%;
    
    /* Trik untuk membuat gradasi pada teks */
    -webkit-background-clip: text; /* Wajib untuk browser berbasis WebKit */
    -webkit-text-fill-color: transparent;
    
    /* Animasi Pergeseran Background */
    animation: gradient-text-shift 3s ease-in-out infinite alternate;
}

@keyframes gradient-text-shift {
    from {
        background-position: 0% 50%;
    }
    to {
        background-position: 100% 50%;
    }
}


/* Scroll horizontal untuk tab */
#providerTabs {
    width: 100%;
    overflow-x: auto; /* Memungkinkan gulir horizontal */
    flex-wrap: nowrap; /* Mencegah tab melompat ke baris baru */
}

/* Style untuk scrollbar agar lebih rapi */
#providerTabs::-webkit-scrollbar {
    height: 8px;
}
#providerTabs::-webkit-scrollbar-thumb {
    background-color: #4b5563;
    border-radius: 4px;
}
#providerTabs::-webkit-scrollbar-track {
    background-color: #30363d;
}
