/* ======================================================================= */
/* 1. GLOBAL RESET & UTILITIES */
/* ======================================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--text-dark); /* Teks utama menggunakan biru tua */
    background-color: var(--text-light); /* Latar belakang menggunakan krem */
    line-height: 1.6;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* WARNA PALET */
:root {
    --primary-color: #A33435;     /* Aksen Merah Marun (dari logo) */
    --secondary-color: #383838;   /* Latar belakang gelap kontras (Abu-abu Gelap) */
    --text-light: #F8F5E9;        /* Krem / Putih Gading (Warna Background Utama) */
    --text-dark: #18345D;         /* Biru Tua (Warna Font/Teks Umum) */
    --accent-blue: #256EAC;       /* Biru sekunder untuk hover, dll. */
}

/* Garis pemisah (General Site) */
hr {
    border: 0;
    height: 1px;
    /* Garis pemisah menggunakan warna biru tua */
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), var(--text-dark), rgba(0, 0, 0, 0));
}

.justify-text {
    /* Properti yang membuat teks rata kiri dan kanan */
    text-align: justify; 
    /* Pastikan line-height tetap nyaman dibaca */
    line-height: 1.7; 
    margin-bottom: 15px;
}

/* Pastikan style .about di style.css tidak menimpa text-align */
.about {
    background-color: var(--text-light);
    color: var(--text-dark);
    /* Ganti text-align: left menjadi text-align: initial; atau hapus jika tidak diperlukan */
    text-align: initial; 
}

/* ======================================================================= */
/* 2. TOMBOL (BUTTONS) */
/* ======================================================================= */

.btn {
    display: inline-block;
    padding: 10px 25px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s;
    text-align: center; /* Memastikan teks di tombol selalu di tengah */
    cursor: pointer;
}

.btn.primary {
    background-color: var(--primary-color);
    color: var(--text-light);
}

.btn.primary:hover {
    background-color: #D34142;
}

.btn.secondary {
    background-color: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
}

.btn.secondary:hover {
    background-color: var(--primary-color);
    color: var(--text-light);
}

.btn.third {
    background-color: #007BFF;
    color: white;
    border: 1px solid #007BFF;
}

.btn.third:hover {
    background-color: #0056b3;
    border-color: #0056b3;
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.2);
}

.btn.third:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn.third:active {
    transform: translateY(1px);
    background-color: #004085;
    border-color: #004085;
}

/* Overrides untuk tombol khusus */
.apk-btn {
    background-color: #FCE205; /* WARNA KUNING EMAS */
    color: var(--text-dark); /* Teks menjadi gelap agar kontras */
    font-weight: bold;
}

.apk-btn:hover {
    background-color: #E6CB00; /* Kuning sedikit lebih gelap saat hover */
    border-color: var(--text-dark);
}

.back-btn {
    /* Menggunakan kelas .secondary, kita override warnanya */
    background-color: #FFFFFF; /* WARNA PUTIH */
    color: var(--text-dark); /* Teks gelap agar terbaca */
    border: 1px solid #ccc;
    font-weight: 500;
}

.back-btn:hover {
    background-color: #EFEFEF; /* Putih sedikit lebih gelap saat hover */
}


/* ======================================================================= */
/* 3. HEADER DAN NAVIGASI (Main Site) */
/* ======================================================================= */

header {
    background-color: var(--primary-color); /* Header menggunakan Merah Marun */
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-area a {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.header-logo {
    height: 90px;
    width: auto;
    margin-right: 10px;
}

.logo-text {
    font-size: 1.8em;
    font-weight: 900;
    color: var(--text-light);
    transition: color 0.3s;
}

.logo-area a:hover .logo-text, .logo-area a:hover .tagline {
    color: #FCE205;
}

.logo-area .tagline {
    font-size: 0.6em; /* Ukuran yang jauh lebih kecil */
    font-weight: 400; /* Tidak terlalu tebal */
    margin-top: -5px; /* Sedikit naik agar lebih dekat dengan "Fast5050" */
    color: white; /* Menggunakan warna teks standar (atau sesuai keinginan) */
    transition: color 0.3s;
}

.logo-area .logo-text-wrapper {
    display: flex;
    flex-direction: column; /* Menata Fast5050 di atas pray-eat-play */
    align-items: flex-start; /* Memastikan teks rata kiri di dalam wrapper */
    margin-left: 10px; /* Jarak antara gambar logo dan teks */
}

nav ul {
    list-style: none;
    display: flex;
}

nav ul li {
    margin-left: 20px;
}

nav ul li a {
    color: var(--text-light); /* Teks navigasi berwarna krem */
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

nav ul li a:hover {
    color: #FCE205; /* Hover menggunakan warna kuning */
}

nav ul li a.active-menu {
    color: #FCE205 !important;
    font-weight: bold;
}

/* ======================================================================= */
/* 4. SECTIONS UMUM (General Site) */
/* ======================================================================= */

section {
    padding: 80px 0;
    text-align: center;
}

section h2 {
    font-size: 2.5em;
    margin-bottom: 40px;
    color: var(--primary-color);
}

/* ======================================================================= */
/* 5. STYLE HERO SECTION & SLIDER (Main Site) */
/* ======================================================================= */

.hero-slider-section {
    position: relative;
    min-height: 70vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
	width: 100%;
	max-width: none;
	margin: 0;
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: var(--text-light);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9);
    padding: 40px;
	max-width: 1200px;
	widht: 90%;
}

.hero-content h1 {
    color: var(--text-light);
}

.slider-container-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.8;
}

.slider-container-bg .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slider-container-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(65%);
}

.slider-container-bg .prev,
.slider-container-bg .next {
    cursor: pointer;
    position: absolute;
    top: 0;
    height: 100%;
    width: 10%;
    padding: 0 16px;
    color: white;
    font-weight: bold;
    font-size: 20px;
    transition: 0.6s ease;
    user-select: none;
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}

.slider-container-bg .prev {
    left: 0;
    justify-content: flex-start;
}

.slider-container-bg .next {
    right: 0;
    justify-content: flex-end;
}

.slider-container-bg .prev:hover,
.slider-container-bg .next:hover {
    background-color: rgba(0,0,0,0.4);
}

.hero-content .dot-navigation {
    position: absolute;
    bottom: -230px;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px;
    z-index: 3;
}

.hero-content .dot {
    background-color: rgba(255, 255, 255, 0.5);
    border: 1px solid white;
}

.hero-content .active, .hero-content .dot:hover {
    background-color: var(--primary-color);
}

/* ======================================================================= */
/* 6. IMAGE SLIDER (General Component) */
/* ======================================================================= */

.image-slider {
    padding: 40px 0;
    background-color: var(--text-light);
}

.slider-container {
    max-width: 900px;
    position: relative;
    margin: auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.slide img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

/* Tombol Prev dan Next */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 20px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    background-color: rgba(0,0,0,0.4);
}

.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.8);
}

/* Dot Navigation */
.dot-navigation {
    text-align: center;
    padding: 10px;
    background-color: var(--text-light);
}

.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.active, .dot:hover {
    background-color: var(--primary-color);
}

.slide {
    display: none;
}

.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}


/* ======================================================================= */
/* 7. STYLE HALAMAN UTAMA (INDEX.PHP) */
/* ======================================================================= */

/* ABOUT SECTION */
.about {
    background-color: var(--text-light);
    color: var(--text-dark);
    text-align: left;
}

.about h3 {
    color: var(--primary-color);
    margin-top: 30px;
}

.about ul {
    list-style-position: inside;
    margin-left: 20px;
}

/* EVENT SECTION (Index Page) */
.event-list {
    background-color: var(--secondary-color);
    color: var(--text-light);
}

.event-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.event-card {
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s;
}


/* ======================================================================= */
/* GAYA UNTUK EVENT CARDS (Upcoming) */
/* ======================================================================= */

/* Konfigurasi Grid Event */
.event-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    padding: 20px 0;
}

/* Gaya Dasar Card Event */
.event-card.upcoming {
    background-color: var(--text-dark); /* Latar belakang gelap */
    color: var(--text-light); /* Teks terang */
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-bottom: 5px solid var(--primary-color); /* Aksen warna di bawah */
    position: relative;
    overflow: hidden;
    cursor: default;
}

.event-card.upcoming:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6);
}

/* Aksen Warna untuk Variasi */
.event-card.accent-1 { border-bottom-color: var(--primary-color); } /* Merah Marun */
.event-card.accent-2 { border-bottom-color: #00bcd4; } /* Cyan/Biru Muda */
.event-card.accent-3 { border-bottom-color: #FFC107; } /* Kuning Emas */

/* Header Card */
.event-card-header {
    margin-bottom: 20px;
}

.event-status {
    display: inline-block;
    background-color: var(--primary-color);
    color: #fff;
    padding: 4px 10px;
    border-radius: 5px;
    font-size: 0.7em;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.event-title {
    font-size: 1.6em;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

/* Detail Event (Tanggal, Lokasi) */
.event-details {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 15px 0;
    border-top: 1px dashed rgba(255, 255, 255, 0.1);
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
    margin-bottom: 15px;
}

.detail-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.detail-item i {
    font-size: 1.5em;
    color: var(--primary-color);
}

.detail-item .detail-text {
    display: flex;
    flex-direction: column;
}

.detail-item .detail-text small {
    color: #aaa;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
}

.detail-item .detail-text strong {
    font-size: 1.1em;
    font-weight: 600;
}

.detail-item .detail-text .time-stamp {
    font-size: 0.9em;
    color: #ccc;
    font-weight: 400;
}


/* Deskripsi Event */
.event-description {
    font-size: 0.9em;
    color: #ccc;
    line-height: 1.5;
    margin-bottom: 20px;
    flex-grow: 1; /* Memastikan kartu memiliki tinggi yang sama */
}

/* Tombol Daftar */
.register-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: var(--primary-color) !important;
    color: #fff !important;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s ease;
    width: 100%; /* Membuat tombol selebar card */
}

.register-btn:hover {
    background-color: #7a2829 !important; /* Merah Marun yang sedikit lebih gelap */
}

.register-btn i {
    font-size: 1em;
}

/* MERCHANDISE SECTION (Index Page) */
.merch-store {
    background-color: var(--text-light);
    color: var(--text-dark);
}

.merch-grid {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.merch-item {
    background-color: #EFEBDC;
    color: var(--text-dark);
    padding: 15px;
    border-radius: 8px;
    width: 250px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.merch-item img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    margin-bottom: 10px;
}

.merch-item h4 {
    color: var(--primary-color);
}

/* SOCIAL MEDIA SECTION */
.social-links {
    background-color: var(--secondary-color);
}

.social-icons a {
    font-size: 3em;
    color: var(--primary-color);
    margin: 0 15px;
    transition: color 0.3s;
}

.social-icons a:hover {
    color: var(--text-light);
}


/* ======================================================================= */
/* 8. STYLE HALAMAN KHUSUS (OTHER PAGES) */
/* ======================================================================= */

/* HALAMAN MERCHANDISE (merchandise.php) */
.merchandise-page {
    background-color: var(--text-light);
    color: var(--text-dark);
    padding: 80px 0;
    text-align: center;
}

.merchandise-page h2 {
    color: var(--text-dark);
}

.section-description {
    font-size: 1.1em;
    margin-bottom: 20px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.product-card {
    background-color: #FFFFFF;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    text-align: left;
    transition: box-shadow 0.3s, transform 0.3s;
    position: relative;
    padding-bottom: 15px;
}

.product-card:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

.product-image-container {
    height: 250px;
    overflow: hidden;
    margin-bottom: 10px;
}

.product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-info {
    padding: 0 15px;
}

.product-name {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 5px;
}

.product-description-short {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 10px;
    height: 35px;
    overflow: hidden;
}

.product-price {
    font-size: 1.4em;
    font-weight: 900;
    color: var(--primary-color);
    margin-bottom: 15px;
}

.btn-buy {
    width: 100%;
    text-align: center;
    padding: 8px 15px;
    font-size: 0.9em;
    margin-top: 10px;
}

.badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: var(--accent-blue);
    color: white;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    font-weight: bold;
}

.no-merch {
    font-size: 1.2em;
    color: var(--primary-color);
    padding: 50px;
}

.no-data-merch {
    color: #FCE205;
    font-weight: bold;
    margin-top: 20px;
    font-size: 1.1em;
    padding: 15px;
    border: 1px solid #FCE205;
    border-radius: 5px;
    background-color: #444;
}

/* HALAMAN EVENT (events.php) */
.event-page-section {
    padding-top: 60px;
    padding-bottom: 60px;
}

/* HALAMAN INFORMASI APLIKASI (register_app_info.php) */
.register-info-section {
    padding: 100px 0;
    text-align: center;
    background-color: var(--secondary-color);
    color: var(--text-light);
    min-height: 80vh;
}

.info-box {
    max-width: 600px;
    margin: 0 auto;
    padding: 30px;
    background-color: #3e3e3e;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.info-box h1 {
    color: #FCE205;
    margin-bottom: 10px;
}

.info-box .subtitle {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 20px;
}

.app-links {
    margin: 30px 0;
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.app-btn {
    padding: 12px 25px;
    font-size: 1.1em;
    border-radius: 50px;
    text-decoration: none;
    transition: background-color 0.3s;
}

.playstore-btn {
    background-color: #4CAF50;
    color: white;
}

.playstore-btn:hover {
    background-color: #388E3C;
}

.appstore-btn {
    background-color: #007AFF;
    color: white;
}

.appstore-btn:hover {
    background-color: #0056B3;
}


/* VIDEO GALLERY SECTION */
.video-gallery-section h2 {
    color: #FCE205;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.video-card {
    display: block;
    background-color: #333333;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: var(--text-light);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s;
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.6);
}

.video-thumbnail-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
}

.video-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3em;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(0, 0, 0, 0.7);
    border-radius: 50%;
    padding: 15px 20px;
    border: 3px solid white;
    transition: color 0.3s;
}

.video-card:hover .video-play-icon {
    color: #FCE205;
}

.video-info {
    padding: 15px;
    text-align: left;
}

.video-info h3 {
    color: white;
    font-size: 1.15em;
    margin-bottom: 5px;
}

.video-info p {
    font-size: 0.9em;
    color: #aaa;
}


/* ======================================================================= */
/* 9. DASHBOARD SPECIFIC STYLES */
/* ======================================================================= */

/* HEADER DASHBOARD */
.dashboard-header {
    background: #222;
    border-bottom: 3px solid var(--primary-color, #A33435);
}

.dashboard-header .header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dashboard-header .logo-area a {
    color: var(--text-light, #f4f4f4);
}

.header-logo-dashboard {
    height: 40px;
    width: auto;
    margin-right: 10px;
    filter: brightness(1.2);
}

.logo-text-dashboard {
    font-size: 1.5em;
    font-weight: 700;
    color: var(--text-light, #f4f4f4);
    text-decoration: none;
}

.logo-area a:hover .logo-text-dashboard {
    color: #FCE205;
}

/* CONTAINER DAN JUDUL */
.dashboard-container {
    text-align: left;
    padding: 20px;
    background: #333;
    margin-top: 20px;
    border-radius: 8px;
}

.dashboard-container h2 {
    color: #FFFFFF;
    margin-bottom: 25px
}

.dashboard-container h3 {
    color: var(--primary-color, #A33435);
    margin-top: 20px;
    margin-bottom: 15px
}

/* NAVIGASI DASHBOARD */
.dashboard-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 20px 0 40px;
    justify-content: center;
}

.dashboard-nav a {
    text-decoration: none;
    padding: 12px 20px;
    background-color: var(--secondary-color); /* Warna default non-aktif */
    color: var(--text-light);
    border-radius: 8px;
    font-weight: 600;
    transition: background-color 0.3s, color 0.3s;
    text-align: center;
}

.dashboard-nav a:hover {
    color: #FFFFFF;
}

.dashboard-nav a.active {
    background-color: var(--primary-color); /* Warna latar belakang untuk page aktif */
    color: var(--text-light);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    border: 1px solid var(--text-light); /* Border untuk penekanan */
}

.dashboard-nav a:not(.active):hover {
    background-color: var(--accent-blue);
}

@media (max-width: 600px) {
    .dashboard-nav {
        flex-direction: column;
        align-items: stretch;
    }
    .dashboard-nav a {
        width: 100%;
    }
}

/* NOTIFIKASI */
.alert-success {
    background-color: #1e4d3f;
    color: #00ff80;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

/* FORM STYLES */
.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: var(--primary-color, #A33435); /* Warna label di form dashboard */
}

.form-group input[type="text"],
.form-group input[type="datetime-local"],
.form-group input[type="number"],
.form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #555;
    border-radius: 4px;
    background-color: #444;
    color: #fff;
    box-shadow: none; /* Hilangkan shadow default browser */
}

.form-group small {
    color: #aaa;
    display: block;
    margin-top: 5px;
    font-size: 0.9em;
}

/* TABEL DATA */
.data-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    color: #f4f4f4;
}

.data-table th, .data-table td {
    border: 1px solid #555;
    padding: 10px;
    text-align: center;
    vertical-align: top;
}

.data-table th {
    background-color: #222;
    color: #FCE205; /* Menggunakan kuning aksen untuk header tabel */
}

/* ACTION BUTTONS DALAM TABEL */
.action-btns {
    white-space: nowrap; /* Mencegah tombol wrap ke baris baru */
}

.action-btns .btn {
    padding: 5px 10px; /* Membuat tombol di tabel lebih kecil */
    font-size: 0.9em;
    margin-right: 5px;
}

/* HR DI DASHBOARD */
.dashboard-container hr {
    margin: 40px 0;
    border: 0;
    height: 1px;
    background-color: #555;
}

/* FOTO MEMBER/MERCHANDISE DI TABEL */
.data-table img {
    border-radius: 4px;
}

/* STAR RATING MEMBER */
.star-rating {
    font-size: 1.2em;
    color: #FCE205; /* Warna Kuning Emas untuk bintang penuh/setengah */
    white-space: nowrap; /* Mencegah bintang pindah baris */
}

/* Style spesifik untuk ikon bintang */
.star-rating i {
    margin-right: 1px; /* Jarak kecil antar ikon */
}

/* Bintang Kosong (far fa-star) diubah menjadi abu-abu terang */
.star-rating i.far.fa-star {
    color: #ccc; 
}
/* RESPONSIVE TABLE (Tambahan untuk kerapian pada layar kecil) */
@media screen and (max-width: 768px) {
    .data-table, .data-table tbody, .data-table tr, .data-table td {
        display: block;
    }
    .data-table thead {
        display: none;
    }
    .data-table tr {
        margin-bottom: 15px;
        border: 1px solid #555;
        border-radius: 5px;
    }
    .data-table td {
        border: none;
        border-bottom: 1px solid #555;
        position: relative;
        padding-left: 50%;
        text-align: right;
    }
    .data-table td:before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        width: 50%;
        padding-left: 10px;
        font-weight: bold;
        text-align: left;
        color: #FCE205;
    }
    .dashboard-header .container {
        flex-direction: column;
        align-items: flex-start;
    }
    .dashboard-header .btn.secondary {
        margin-top: 10px;
    }
}


/* ======================================================================= */
/* 10. FOOTER & ICON HATI */
/* ======================================================================= */

footer {
    background-color: #222222;
    color: #aaaaaa;
    padding: 20px 0;
    font-size: 0.9em;
    text-align: center;
}

footer p i.fas {
    margin: 0 2px;
}

.heart-blue {
    color: #1E90FF; /* Warna Biru Terang */
}

.heart-red {
    color: #FF4500; /* Warna Merah Oranye (untuk kontras) */
}

.heart-yellow {
    color: #FCE205; /* Warna Kuning Emas (sesuai aksen Anda) */
}

.heart-white {
    color: #FFFFFF; /* Warna Putih */
}

/* ======================================================================= */
/* 11. STYLE HALAMAN MEMBER (member.php) - DARK/SPORTY THEME */
/* ======================================================================= */

/* Overrides tema gelap untuk halaman member.php */
.member-page-body { 
    background-color: #121212; 
    color: #f4f4f4; 
}

/* Konten Utama (Gaya Sporty Card) */
.member-list-page {
    padding: 50px 0;
    flex-grow: 1;
    background: #1e1e1e;
}

.section-title { 
    color: #00bcd4; 
    text-align: center; 
    margin-bottom: 10px; 
    font-weight: 800; 
}

.section-subtitle {
    font-size: 1.1em;
    color: #EFEBDC; /* Warna Putih Krem */
    text-align: center;
    margin-bottom: 40px;
    opacity: 0.9;
}

.section-description { 
    color: #aaa; 
    text-align: center; 
    margin-bottom: 40px; 
    font-style: italic; 
}

/* ======================================================================= */
/* GAYA UNTUK SQUAD CARD (MENGADOPSI GAYA KARTU PEMAIN) */
/* ======================================================================= */

/* Mengatur ulang grid dan card utama */
.member-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Menggunakan 200px lebar minimum */
    gap: 30px;
    padding: 20px 0;
}

.player-card.card-style-fut {
    /* Dimensi Card */
    width: 210px; /* Lebar tetap untuk tampilan card yang lebih baik */
    height: 320px; /* Tinggi yang lebih proporsional */
    
    /* Gaya Dasar */
    background: linear-gradient(135deg, #fceb9c 0%, #d8ae43 50%, #fceb9c 100%); /* Efek gradasi emas */
    color: #1a1a1a;
    border-radius: 15px; /* Sudut membulat */
    border: 1px solid #c29532; /* Border emas gelap */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5), 0 0 0 5px rgba(255, 223, 150, 0.4); /* Shadow dan glow */
    
    /* Tata Letak Internal */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0; /* Menghapus padding default */
    overflow: hidden;
    position: relative;
    transform: perspective(1000px) rotateY(0deg); /* Untuk efek 3D ringan */
    transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
}

.player-card.card-style-fut:hover {
    transform: perspective(1000px) rotateY(5deg) scale(1.03);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.7), 0 0 0 5px rgba(255, 223, 150, 0.8);
}

.player-card.clickable-card {
            text-decoration: none; /* Hilangkan garis bawah default link */
            color: inherit; /* Pertahankan warna teks kartu */
            display: block; /* Penting agar <a> mengisi seluruh area kartu */
        }
.player-card.clickable-card:hover {
            opacity: 0.9;
            transform: perspective(1000px) scale(1.02); /* Efek hover yang sedikit lebih ringan */
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.7);
        }
.primary-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-weight: 600;
            color: var(--text-dark); /* Menggunakan biru tua */
            transition: color 0.2s;
        }
.primary-link:hover {
            color: var(--primary-color); /* Berubah menjadi merah marun saat hover */
            text-decoration: underline;
        }
		
/* GAYA UNTUK LINK "primary-link" */
.primary-link-member {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    /* UBAH WARNA TEKS DARI var(--primary-color) MENJADI PUTIH */
    color: var(--text-light, #ffffff); 
    text-decoration: none;
    padding: 10px 20px;
    /* Ubah border agar cocok dengan warna latar belakang */
    border: 2px solid var(--primary-color);
    /* TAMBAH LATAR BELAKANG */
    background-color: var(--primary-color);
    border-radius: 8px;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.primary-link-member:hover {
    /* Saat di-hover, balikkan warna */
    background-color: var(--text-light, #ffffff);
    color: var(--primary-color); /* Teks kembali menjadi Merah Marun */
    border-color: var(--primary-color); 
    text-decoration: none;
}

/* Rank Badge dihilangkan atau diganti */
.player-card .rank-badge {
    display: none; /* Menyembunyikan badge peringkat lama */
}

/* --- Bagian Header: Rating dan Posisi --- */

.card-top-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px 5px;
    position: relative;
    z-index: 10;
}

.card-rating {
    font-size: 1.5em;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 0 5px #000;
    background-color: var(--primary-color); /* Warna merah dari palet Anda */
    border-radius: 5px;
    padding: 2px 8px;
    line-height: 1;
}

.card-position {
    font-size: 0.8em;
    font-weight: 700;
    color: var(--primary-color);
    letter-spacing: 1px;
}

/* --- Bagian Profile: Foto dan Nama --- */

.card-profile-area {
    position: relative;
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 5px;
}

/* Foto Profil */
.card-profile-img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 50%; /* Membuat foto bulat */
    border: 3px solid #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 5;
    margin-bottom: 5px;
}

/* Overlay ID Member */
.member-id-overlay {
    position: absolute;
    top: 0px;
    left: 10px;
    font-size: 0.9em;
    font-weight: 600;
    color: #333;
    z-index: 5;
    opacity: 0.7;
}

/* Nama Member */
.card-member-username {
    font-size: 1.2em;
    font-weight: 800;
    margin: 5px 0 10px;
    color: #1a1a1a;
    text-align: center;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    width: 90%;
    padding: 0 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Bagian Footer: Stats dan Bio --- */

.card-stats-footer {
    width: 100%;
    padding: 10px 15px 15px;
    background-color: rgba(255, 255, 255, 0.3); /* Sedikit transparan */
    /* Membuat lekukan dasar kartu */
    clip-path: polygon(0 20%, 100% 0%, 100% 100%, 0% 100%);
    margin-top: -20px; /* Menarik ke atas */
    position: relative;
    z-index: 2;
    background: #d8ae43; /* Warna dasar footer */
    box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.2);
}

.stat-row {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 5px;
}

.stat-item-fut {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 50%;
    padding: 0 5px;
}

.stat-item-fut strong {
    font-size: 1.4em;
    font-weight: 800;
    line-height: 1.1;
    color: var(--text-dark); /* Biru Tua */
}

.stat-item-fut small {
    font-size: 0.7em;
    font-weight: 600;
    color: #333;
    letter-spacing: 0.5px;
}

/* Rating Bintang */
.stat-item-fut .star-rating {
    font-size: 0.2em;
    color: gold; /* Warna bintang */
}

.card-member-bio {
    font-size: 0.75em;
    text-align: center;
    margin-top: 10px;
    color: #555;
    border-top: 1px dashed #c29532;
    padding-top: 5px;
}

/* Font Awesome Star Icons (pastikan Font Awesome terhubung di <head>) */
.star-rating .fas.fa-star, 
.star-rating .fas.fa-star-half-alt {
    color: #FFD700; /* Emas */
}
.star-rating .far.fa-star {
    color: #aaa; /* Abu-abu untuk bintang kosong */
}


/* ============================================================= */
/* STYLING TABEL LEADERBOARD (member-list-table) */
/* ============================================================= */

.dynamic-leaderboard {
    width: 100%;
    border-collapse: separate; /* Penting untuk border-radius */
    border-spacing: 0 10px;    /* Jarak antar baris */
    margin-top: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden; /* Memastikan sudut tabel ikut terpotong */
}

.dynamic-leaderboard thead th {
    background-color: #333; /* Warna dasar header gelap */
    color: #f7f7f7;
    padding: 15px 12px;
    text-align: center;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9em;
    letter-spacing: 0.5px;
}

.dynamic-leaderboard tbody tr {
    background-color: #f9f9f9;
    transition: all 0.3s ease;
    border-radius: 8px; /* Sudut tumpul untuk setiap baris */
}

.dynamic-leaderboard tbody tr:hover {
    background-color: #e0e7ff; /* Hover effect */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.dynamic-leaderboard tbody td {
    padding: 15px 12px;
    border: none;
    color: #333;
    font-size: 0.95em;
    vertical-align: middle;
}

/* Sel Rank */
.dynamic-leaderboard .rank-cell {
    font-weight: 800;
    text-align: center;
    width: 50px;
}

/* Sel Partisipasi */
.dynamic-leaderboard .participation-cell {
    font-weight: 600;
    color: #4CAF50; /* Hijau yang lebih profesional */
}

/* Ikon Bintang Rating */
.dynamic-leaderboard .star-rating .fas {
    color: #FFC107; /* Emas untuk bintang penuh */
    margin-right: 2px;
}
.dynamic-leaderboard .star-rating .far {
    color: #ccc;
    margin-right: 2px;
}

/* Efek Peringkat Emas (Rank 1) */
.dynamic-leaderboard tr.rank-gold {
    background: linear-gradient(to right, #FFD70030, #f9f9f9); /* Gradasi background */
    border: 2px solid #FFD700;
    font-weight: 700;
}
.dynamic-leaderboard tr.rank-gold .rank-cell {
    color: #FFD700;
    font-size: 1.2em;
}

/* Efek Peringkat Perak (Rank 2) */
.dynamic-leaderboard tr.rank-silver {
    background-color: #C0C0C020;
    border: 1px solid #C0C0C0;
    font-weight: 600;
}
.dynamic-leaderboard tr.rank-silver .rank-cell {
    color: #C0C0C0;
    font-size: 1.1em;
}

/* Efek Peringkat Perunggu (Rank 3) */
.dynamic-leaderboard tr.rank-bronze {
    background-color: #CD7F3220;
    border: 1px solid #CD7F32;
}
.dynamic-leaderboard tr.rank-bronze .rank-cell {
    color: #CD7F32;
    font-size: 1.05em;
}

/* Ikon Medali untuk Top 3 */
.dynamic-leaderboard .rank-cell .fa-medal {
    margin-right: 5px;
    font-size: 1em;
}
.dynamic-leaderboard tr.rank-gold .fa-medal { color: #FFD700; }
.dynamic-leaderboard tr.rank-silver .fa-medal { color: #C0C0C0; }
.dynamic-leaderboard tr.rank-bronze .fa-medal { color: #CD7F32; }

/* ============================================================= */
/* Responsiveness (Mobile View) */
/* ============================================================= */

@media screen and (max-width: 768px) {
    .dynamic-leaderboard {
        border-spacing: 0 5px;
    }
    .dynamic-leaderboard thead {
        display: none; /* Sembunyikan header tabel di mobile */
    }
    .dynamic-leaderboard tr {
        display: block;
        margin-bottom: 10px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }
    .dynamic-leaderboard td {
        display: block;
        text-align: right !important;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50%;
        font-size: 1em;
    }
    .dynamic-leaderboard td:before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: 600;
        color: #555;
    }
    .dynamic-leaderboard .rank-cell {
        text-align: right !important;
        background-color: #eee;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        padding-right: 10px;
    }
}

/* ============================================================= */
/* STYLING TABEL LEADERBOARD RATING (dynamic-rating-leaderboard) */
/* ============================================================= */

/* Judul khusus untuk Rating */
.rating-title {
    color: #FFC107; /* Warna utama rating */
}

/* Tabel Rating: Mirip dengan Partisipasi, tapi menggunakan warna berbeda */
.dynamic-rating-leaderboard {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
    margin-top: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden;
}

.dynamic-rating-leaderboard thead th {
    background-color: #007bff; /* Biru terang sebagai warna utama rating */
    color: #fff;
    padding: 15px 12px;
    text-align: center;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9em;
    letter-spacing: 0.5px;
}

.dynamic-rating-leaderboard tbody tr {
    background-color: #f9f9f9;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.dynamic-rating-leaderboard tbody tr:hover {
    background-color: #e6f7ff; /* Hover effect biru muda */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.dynamic-rating-leaderboard tbody td {
    padding: 15px 12px;
    border: none;
    color: #333;
    font-size: 0.95em;
    vertical-align: middle;
}

/* Sel Rank */
.dynamic-rating-leaderboard .rank-cell {
    font-weight: 800;
    text-align: center;
    width: 50px;
}

/* Sel Rating */
.dynamic-rating-leaderboard .rating-cell {
    font-weight: 600;
    color: #007bff; /* Biru */
}

/* Ikon Trofi untuk Top 3 Rating */
.dynamic-rating-leaderboard .rank-cell .fa-trophy {
    margin-right: 5px;
    font-size: 1em;
}

/* Efek Peringkat Emas (Rank 1) Rating */
.dynamic-rating-leaderboard tr.rank-gold {
    background: linear-gradient(to right, #FFD70030, #f9f9f9); 
    border: 2px solid #FFD700;
    font-weight: 700;
}
.dynamic-rating-leaderboard tr.rank-gold .rank-cell,
.dynamic-rating-leaderboard tr.rank-gold .fa-trophy {
    color: #FFD700;
    font-size: 1.2em;
}

/* Efek Peringkat Perak (Rank 2) Rating */
.dynamic-rating-leaderboard tr.rank-silver {
    background-color: #C0C0C020;
    border: 1px solid #C0C0C0;
    font-weight: 600;
}
.dynamic-rating-leaderboard tr.rank-silver .rank-cell,
.dynamic-rating-leaderboard tr.rank-silver .fa-trophy {
    color: #C0C0C0;
    font-size: 1.1em;
}

/* Efek Peringkat Perunggu (Rank 3) Rating */
.dynamic-rating-leaderboard tr.rank-bronze {
    background-color: #CD7F3220;
    border: 1px solid #CD7F32;
}
.dynamic-rating-leaderboard tr.rank-bronze .rank-cell,
.dynamic-rating-leaderboard tr.rank-bronze .fa-trophy {
    color: #CD7F32;
    font-size: 1.05em;
}

/* Tambahkan Media Query untuk Responsifitas (Ulangi seperti pada dynamic-leaderboard) */
@media screen and (max-width: 768px) {
    .dynamic-rating-leaderboard thead {
        display: none; 
    }
    .dynamic-rating-leaderboard tr {
        display: block;
        margin-bottom: 10px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }
    .dynamic-rating-leaderboard td {
        display: block;
        text-align: right !important;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50%;
        font-size: 1em;
    }
    .dynamic-rating-leaderboard td:before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: 600;
        color: #555;
    }
    .dynamic-rating-leaderboard .rank-cell {
        text-align: right !important;
        background-color: #eee;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        padding-right: 10px;
    }
}


/* ============================================================= */
/* STYLING KELOLA BERITA (DASHBOARD) */
/* ============================================================= */

/* Container utama editor: Lebihkan width agar TinyMCE terlihat bagus */
.news-editor-container {
    max-width: 1000px; /* Lebar maksimum form */
    margin: 30px auto; /* Pusat form di tengah */
    padding: 30px;
    background-color: #383838; /* Background form sedikit berbeda */
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Mengatur jarak antar Judul, Gambar URL, dan Konten */
.news-form-group {
    margin-bottom: 20px;
}

.news-form-group label {
    display: block; /* Pastikan label berada di baris sendiri */
    font-weight: 600;
    margin-bottom: 8px;
    color: #fff;
}

/* Input text dan URL */
.news-form-group input[type="text"],
.news-form-group input[type="url"],
.news-form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #555;
    border-radius: 5px;
    background-color: #444;
    color: #fff;
    box-sizing: border-box; /* Pastikan padding tidak menambah lebar */
    transition: border-color 0.3s;
}

.news-form-group input:focus {
    border-color: var(--primary-color, #00ff80); /* Warna fokus */
    outline: none;
}

/* Tombol Aksi di bagian bawah form */
.action-buttons-footer {
    display: flex;
    justify-content: flex-end; /* Posisikan tombol di kanan */
    gap: 10px; /* Jarak antar tombol */
    padding-top: 15px;
    border-top: 1px solid #444;
}

/* ============================================================= */
/* STYLING NEWS SECTION */
/* ============================================================= */

.news-section {
    padding: 60px 0;
    background-color: #2a2a2a; /* Latar belakang untuk section ini */
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* 3 kolom di desktop */
    gap: 30px;
    margin-top: 30px;
}

.news-card {
    background-color: #333;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
}

.news-image-container {
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-color: #444; /* Fallback color */
}

.news-content h3 {
    font-size: 1.4em;
    margin-top: 5px;
    margin-bottom: 10px;
    color: var(--primary-color, #00ff80);
    line-height: 1.3;
}

.news-date {
    display: block;
    color: #999;
    font-size: 0.85em;
    margin-bottom: 5px;
}

.news-content p {
    color: #ccc;
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 1.5em;
}

.read-more {
    display: inline-block;
    color: #E0FFFF;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.3s;
}

.read-more:hover {
    color: #00BCD4;
}

/* Responsive */
@media (max-width: 768px) {
    .news-grid {
        grid-template-columns: 1fr; /* Satu kolom di tampilan mobile */
    }
}

        .all-news-section {
            padding: 80px 0 60px;
            background-color: #1e1e1e;
            min-height: 100vh;
        }

        .news-list {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); /* Kolom yang lebih lebar */
            gap: 40px;
            margin-top: 50px;
        }

        .news-item {
            background-color: #2a2a2a;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
            transition: transform 0.3s;
        }

        .news-item:hover {
            transform: translateY(-8px);
        }

        .news-img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            background-color: #333;
        }

        .news-details {
            padding: 25px;
        }

        .news-details h2 {
            font-size: 1.6em;
            color: var(--primary-color, #00ff80);
            margin-top: 0;
            margin-bottom: 10px;
        }

        .news-details .date {
            display: block;
            color: #999;
            font-size: 0.9em;
            margin-bottom: 15px;
        }
        
        .news-summary {
            color: #ccc;
            line-height: 1.6;
            margin-bottom: 20px;
        }

        .news-details .read-more {
            font-size: 1em;
            padding: 8px 15px;
            border-radius: 5px;
            background-color: var(--secondary-color, #00bcd4);
            color: #1e1e1e;
            font-weight: bold;
            text-decoration: none;
            display: inline-block;
        }

        .news-details .read-more:hover {
            background-color: #fff;
        }
        
        /* Judul Section Utama */
        .all-news-section h1 {
            color: #EFEBDC; /* Warna putih krem */
            text-align: center;
            font-size: 3em;
            margin-bottom: 10px;
        }

        .all-news-section p.section-subtitle {
            color: #EFEBDC;
            text-align: center;
            margin-bottom: 50px;
        }

.no-data-msg {
    color: #ff4d4d;
    text-align: center;
            padding: 50px;
            font-size: 1.2em;
            background: #333;
            border-radius: 10px;
            margin: 50px auto;
            max-width: 600px;
        }
		
		
		
/* ======================================= */
/* TAMPILAN DEFAULT (Desktop) */
/* ======================================= */

.main-header .container {
    padding: 10px 20px;
}

/* Sembunyikan Tombol Toggle di Desktop */
.menu-toggle {
    display: none; 
}

/* Styling dasar yang sudah Anda berikan */
.nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex; 
    align-items: center; 
}

.nav-item {
    margin: 0 5px;
    border-radius: 5px;
    transition: background-color 0.3s;
}

/* 1. Kondisi Tidak Aktif (Default) */
.nav-item a {
    color: #fff; 
    padding: 10px 15px;
    text-decoration: none;
    display: block; 
    transition: color 0.3s, background-color 0.3s;
    font-weight: 500;
}

.nav-item:hover:not(.active) {
    background-color: rgba(255, 255, 255, 0.1); 
}

.nav-item.active {
    /* Menggunakan RGBA untuk Abu-abu Putih (238, 238, 238) dengan Opacity 70% (0.7) */
    background-color: rgba(238, 238, 238, 0.2); 
    
    /* Box-shadow tetap sama */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); 
}

/* Pastikan warna font kuning di link tetap dipertahankan */
.nav-item.active a {
    color: #ffc107; 
    font-weight: bold;
}


/* ======================================= */
/* MEDIA QUERY (Tampilan Mobile) */
/* ======================================= */
@media (max-width: 768px) {
    
    /* *PERBAIKAN KRUSIAL*: Atur container header menjadi Flexbox */
    .main-header .container {
        display: flex;
        justify-content: space-between; /* Memisahkan Logo dan Tombol Toggle */
        align-items: center;
        padding: 10px 20px;
        position: relative; /* Penting untuk z-index di bawah */
        z-index: 1002; /* Pastikan container header di atas nav */
    }
    
    /* Tampilkan Tombol Toggle */
    .menu-toggle {
        display: block;
        background: none;
        border: none;
        color: #fff;
        font-size: 1.5em;
        cursor: pointer;
        padding: 5px;
        z-index: 1003; /* Pastikan di atas navigasi dan container */
    }

    /* Sembunyikan Navigasi secara Default */
    .main-nav {
        display: none; /* Sembunyikan saat layar kecil */
        
        /* Navigasi akan muncul sebagai overlay vertikal */
        position: absolute;
        top: 60px; /* Jarak dari header/logo (sesuaikan tinggi header) */
        left: 0;
        width: 100%;
        background-color: #222; /* Latar belakang menu mobile */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
        z-index: 1000; /* Z-Index di bawah toggle button */
        /* Tambahan: Pastikan area menu bisa di-scroll jika item terlalu banyak */
        max-height: calc(100vh - 60px); 
        overflow-y: auto; 
    }

    /* Navigasi Saat Aktif/Terbuka */
    .main-nav.active {
        display: block; /* Tampilkan navigasi saat kelas 'active' ditambahkan oleh JS */
    }

    /* Ubah daftar menu menjadi vertikal */
    .nav-list {
        flex-direction: column;
        width: 100%;
        padding: 10px 0;
    }

    .nav-item {
        margin: 0;
        width: 100%;
        border-bottom: 1px solid #444; /* Garis pemisah antar menu */
    }
    
    .nav-item:last-child {
        border-bottom: none;
    }

    .nav-item a {
        padding: 15px 20px; /* Padding yang lebih besar untuk area sentuh mobile */
        text-align: left;
    }

    /* Koreksi styling aktif untuk tampilan mobile */
    .nav-item.active {
        background-color: rgba(238, 238, 238, 0.2); 
        box-shadow: none; /* Hilangkan shadow agar terlihat rapi */
    }
}

/* ======================================= */
/* FOOTER STYLING */
/* ======================================= */
footer {
    background-color: #222; /* Latar belakang gelap, kontras dengan konten */
    color: #fff; /* Teks putih */
    padding: 30px 20px;
    border-top: 3px solid #ffc107; /* Garis pemisah kuning yang tegas */
    text-align: center;
    font-size: 0.9em;
}

footer p {
    margin: 0;
    line-height: 1.8;
}

/* Styling untuk Ikon Hati */
footer .fas.fa-heart {
    margin: 0 3px;
    /* Efek animasi denyutan yang halus */
    animation: pulse 1.5s infinite; 
    display: inline-block;
}

/* Atur Warna Spesifik untuk Setiap Hati */
.heart-blue { color: #00bcd4; }
.heart-red { color: #ff4d4d; animation-delay: 0.2s; } /* Delay untuk variasi */
.heart-yellow { color: #ffc107; animation-delay: 0.4s; }
.heart-white { color: #fff; animation-delay: 0.6s; }


/* Keyframes untuk Animasi Denyutan */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}


/* ======================================= */
/* SCROLL TO TOP BUTTON STYLING */
/* ======================================= */
#scrollToTopBtn {
    display: none; 
    position: fixed; 
    bottom: 25px; 
    right: 25px; 
    z-index: 1050; /* Z-Index tinggi, pastikan di atas semua elemen */
    
    /* Gaya Visual */
    border: none;
    outline: none;
    background-color: #ffc107; /* Latar Belakang Kuning */
    color: #1a1a1a; /* Ikon gelap/hitam agar kontras */
    cursor: pointer;
    width: 45px;
    height: 45px;
    border-radius: 50%; /* Bentuk Lingkaran sempurna */
    font-size: 20px;
    line-height: 45px; /* Pusatkan ikon */
    text-align: center;
    
    /* Efek dan Transisi */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4); /* Bayangan yang dalam */
    transition: all 0.3s ease-in-out;
}

#scrollToTopBtn:hover {
    background-color: #f7b300; /* Kuning lebih gelap saat hover */
    transform: translateY(-3px); /* Sedikit naik saat di-hover */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.5);
}

/* Penyesuaian Mobile: Tombol sedikit lebih kecil */
@media (max-width: 600px) {
    #scrollToTopBtn {
        bottom: 15px;
        right: 15px;
        width: 40px;
        height: 40px;
        font-size: 18px;
        line-height: 40px;
    }
}

/* ======================================= */
/* NEWS DETAIL PAGE STYLING (detail_news.php) */
/* ======================================= */
.detail-news-section {
    padding: 40px 0;
    min-height: 70vh; /* Agar footer tidak terlalu naik jika konten sedikit */
}

.news-title {
    color: var(--text-dark);
    margin-bottom: 5px;
    font-size: 2.2em;
    line-height: 1.3;
}

.news-date {
    color: #666;
    font-size: 0.9em;
    margin-bottom: 15px;
}

.detail-news-img {
    width: 100%;
    max-height: 450px;
    object-fit: cover; /* Memastikan gambar tetap proporsional */
    border-radius: 8px;
    margin: 20px 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.news-content {
    line-height: 1.8;
    color: #333;
    font-size: 1.1em;
    margin-bottom: 40px;
    padding: 20px;
    flex-grow: 1; /* Konten memenuhi sisa ruang */
	text-align: justify;
}

/* Memastikan elemen-elemen dari TinyMCE terlihat baik */
.news-content p { margin-bottom: 1.5em; }
.news-content h2 { margin-top: 1.5em; margin-bottom: 0.5em; color: var(--accent-blue); }
.news-content img { max-width: 100%; height: auto; border-radius: 6px; display: block; margin: 20px auto; }
.news-content ul, .news-content ol { margin-left: 25px; margin-bottom: 1.5em; }

.btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: var(--secondary-color);
    padding: 10px 20px;
    font-weight: bold;
    margin-top: 20px;
}

/* Media query untuk mobile */
@media (max-width: 768px) {
    .news-title {
        font-size: 1.8em;
    }
    .detail-news-img {
        max-height: 250px;
    }
}


/* ======================================================================= */
/* 12. STYLE HALAMAN LOGIN (login.php) */
/* ======================================================================= */

body.login-page { 
    /* Menggunakan body.login-page agar tidak mengganggu style body utama (jika body utama memiliki style global) */
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 100vh; 
    background-color: var(--secondary-color); /* Ambil dari :root */
    font-family: 'Poppins', sans-serif;
    /* Catatan: Karena body sudah diset di style.css, kita hanya perlu memastikan properti ini berlaku.
       Jika body di style.css tidak menggunakan 'display: flex', maka body di login harus di-override.
       Namun, untuk amannya, kita gunakan selector yang lebih spesifik jika diperlukan. */
}

/* Jika tidak menggunakan class body.login-page di HTML: */
/*
body { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 100vh; 
    background-color: var(--secondary-color);
    font-family: 'Poppins', sans-serif;
}
*/

.login-box { 
    background: #2a2a2a; 
    padding: 40px; 
    border-radius: 10px; 
    width: 350px; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); 
    text-align: center; 
}

.login-box h2 { 
    color: var(--primary-color, #A33435); /* Menggunakan var() yang sudah ada */
    margin-bottom: 25px; 
}

.login-box input { 
    width: 100%; 
    padding: 12px; 
    margin-bottom: 15px; 
    border: 1px solid #444; 
    border-radius: 5px; 
    background-color: #333; 
    color: #fff; 
    outline: none; 
    transition: border-color 0.3s;
}

.login-box input:focus {
    border-color: var(--primary-color); /* Menggunakan var() yang sudah ada */
}

/* Tombol .btn sudah ada di style.css (Bagian 2), kita tambahkan override untuk hover primary */
.btn.primary:hover { 
    /* Overwrite dari style.css Anda: background-color: #D34142; */
    background-color: #8c2e2e; /* Menggunakan hover yang lebih gelap dari inline style login.php */
}

/* Pesan Notifikasi (Notification Messages) */
.error-msg, .info-msg, .koneksi-msg { 
    margin-bottom: 15px; 
    padding: 10px; 
    border-radius: 5px; 
    font-weight: 500;
    text-align: left;
}

.error-msg { 
    color: #ff4d4d; 
    background: rgba(255, 77, 77, 0.1); 
    border: 1px solid #ff4d4d;
}

.info-msg {
    color: #00bcd4; 
    background: rgba(0, 188, 212, 0.1); 
    border: 1px solid #00bcd4;
}

.koneksi-msg {
    color: #ffc107; 
    background: rgba(255, 193, 7, 0.1); 
    border: 1px solid #ffc107;
}

/* Lupa Password Link/Tombol */
.forgot-link-btn {
    background: none;
    border: none;
    cursor: pointer;
    display: block;
    margin-top: 5px;
    color: #ccc;
    text-decoration: none;
    font-size: 0.9em;
    width: auto; 
    margin: 5px auto 0;
    padding: 0;
    font-family: inherit;
}

.forgot-link-btn:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

/* ======================================= */
/* Tambahan Gaya untuk Video Inline */
/* ======================================= */

/* Mengganti kursor menjadi pointer pada kartu yang bisa diklik */
.video-card.click-to-play {
    cursor: pointer;
}

/* Memastikan kartu video tidak terlalu tinggi saat iframe muncul */
.video-card {
    display: flex; /* Jika card Anda menggunakan flex/grid untuk layout internal */
    flex-direction: column;
    overflow: hidden; /* Penting untuk menampung iframe responsif */
}

/* Kontainer untuk membuat Iframe YouTube responsif 16:9 */
.video-responsive-container-inline {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 ratio */
    height: 0;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}

.video-responsive-container-inline iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Sembunyikan ikon play dan thumbnail setelah video diklik */
.video-card:not(.click-to-play) .video-play-icon,
.video-card:not(.click-to-play) .video-thumbnail-container {
    /* Gaya ini tidak diperlukan jika JS mengganti innerHTML, 
       tapi berguna untuk style transisi jika Anda ingin menyempurnakannya. */
}

/* ======================================= */
/* Gaya Tambahan untuk all_member.php */
/* ======================================= */

/* --- Grid untuk Semua Member (4 kolom) --- */
.member-grid.all-members-grid {
    /* Mengubah grid agar menampilkan lebih banyak kolom di desktop */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); 
    gap: 20px;
    margin-top: 30px;
}

/* --- Form Pencarian --- */
.search-form-member {
    display: flex;
    max-width: 600px;
    margin: 20px auto;
    border: 2px solid var(--primary-color);
    border-radius: 8px;
    overflow: hidden;
}

.search-form-member input[type="text"] {
    flex-grow: 1;
    padding: 10px 15px;
    border: none;
    font-size: 1em;
    outline: none;
}

.search-button-member {
    background-color: var(--primary-color);
    color: var(--text-light);
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.search-button-member:hover {
    background-color: var(--secondary-color);
}

.reset-search-btn {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    background-color: #ddd;
    color: var(--text-dark);
    text-decoration: none;
    font-size: 0.9em;
    transition: background-color 0.2s;
}

.reset-search-btn:hover {
    background-color: #ccc;
}


/* --- Pagination --- */
.pagination-container {
    text-align: center;
    margin-top: 40px;
}

.pagination-links {
    display: inline-flex;
    gap: 10px;
    padding: 10px 0;
}

.page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 15px;
    border: 1px solid var(--accent-blue);
    background-color: var(--text-light);
    color: var(--accent-blue);
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    transition: background-color 0.2s, color 0.2s;
}

.page-link:hover {
    background-color: var(--accent-blue);
    color: var(--text-light);
}

.page-link.active {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--text-light);
    cursor: default;
}

.page-link i {
    margin: 0 5px;
}

/* ======================================================================= */
/* 10. STYLE HALAMAN DETAIL MEMBER (detail_member.php) */
/* ======================================================================= */

.member-detail-card {
    display: flex;
    /* Ubah alignment agar kontainer informasi dan gambar berorientasi ke atas */
    align-items: flex-start; 
    flex-direction: row;
    background-color: #FFFFFF; 
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    margin: 40px auto;
    max-width: 900px;
    text-align: left;
    border: 3px solid var(--primary-color);
}

.member-image-container {
    width: 35%;
    flex-shrink: 0;
    position: relative;
    background-color: #f4f4f4;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    /* Tentukan TINGGI TETAP agar gambar tidak memanjang */
    height: 450px; 
}

.member-profile-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.member-info-overlay {
    position: absolute;
    top: 10px;
    right: 10px;
}

.member-id-badge {
    background-color: var(--text-dark);
    color: var(--text-light);
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 0.8em;
    font-weight: bold;
}

.member-info-content {
    width: 65%;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.member-username {
    font-size: 2.5em;
    color: var(--primary-color);
    margin-bottom: 5px;
}

.member-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #ccc;
}

.member-rating .rating-label {
    font-size: 1.1em;
    font-weight: 600;
    color: var(--secondary-color);
}

.member-rating .stars-display {
    color: gold;
    font-size: 1.2em;
}

.member-rating .rating-value {
    font-weight: bold;
    color: var(--text-dark);
}

.detail-group {
    margin-bottom: 30px;
    border: 1px solid #eee;
    padding: 15px;
    border-radius: 8px;
    background-color: var(--text-light);
}

.detail-item-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dotted #ddd;
}

.detail-item-row:last-child {
    border-bottom: none;
}

.detail-label {
    font-weight: 600;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.detail-value {
    font-weight: 400;
    color: #333;
}

.member-biography {
    margin-bottom: 30px;
}

.member-biography h3 {
    color: var(--text-dark);
    font-size: 1.3em;
    margin-bottom: 10px;
}

.member-biography p {
    color: #555;
    line-height: 1.7;
    white-space: pre-wrap;
	text-align: justify;
}

.edit-member-btn {
    width: 100%;
    /* margin-top: auto; *//* Ini dihapus karena tombol edit sudah dihilangkan */
    font-size: 1em;
    padding: 12px;
}

/* Responsif */
@media (max-width: 768px) {
    .member-detail-card {
        flex-direction: column;
        max-width: 95%;
    }

    .member-image-container {
        width: 100%;
        /* Sesuaikan tinggi tetap untuk mode mobile */
        height: 250px; 
    }

    .member-info-content {
        width: 100%;
        padding: 20px;
    }

    .member-username {
        font-size: 2em;
    }
}

/* ======================================= */
/* Gaya untuk Tag Berita */
/* ======================================= */

.news-tag {
    display: inline-block;
    padding: 4px 10px;
    margin-bottom: 10px; /* Jarak ke bawah */
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    
    /* Ganti warna sesuai palet Anda */
    background-color: var(--accent-blue); 
    color: var(--text-light); 
}

/* Penyesuaian tag di halaman detail agar lebih menonjol */
.news-tag-detail {
    font-size: 0.9em;
    padding: 6px 12px;
    margin-top: 10px; /* Jarak dari Judul */
    /* Opsional: Ubah warna jika ingin berbeda di halaman detail */
    /* background-color: var(--primary-color); */
}

/* Jaga agar tag tidak menempel di bagian bawah card berita (all_news.php) */
.news-card .news-details {
    padding-top: 5px; 
}

.news-tag-item {
    display: inline-block;
    padding: 3px 8px;
    /* MENGURANGI JARAK ANTAR TAG: 5px -> 3px */
    margin-right: 1px; 
    /* WARNA BARU: Biru Muda (#00bcd4 atau #81d4fa, saya pilih yang lebih cerah) */
    background-color: #81d4fa; 
    /* WARNA TEKS BARU: Hitam/Gelap agar kontras dengan latar biru muda */
    color: #212529; 
    border-radius: 3px;
    font-size: 0.8em;
    /* FONT WEIGHT: Tetap bold */
    font-weight: bold; 
}

/* ======================================= */
/* Gaya Layout Detail Berita (detail_news.php) */
/* ======================================= */

.news-layout {
    display: flex;
    gap: 30px; /* Jarak antara konten utama dan sidebar */
}

/* Konten Utama (Berita) */
.main-content {
    flex: 3; /* Mengambil 3/4 bagian atau sekitar 70% lebar */
    padding-right: 20px; /* Sedikit padding untuk memisahkan secara visual */
}

.detail-news-img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 20px;
}

/* Sidebar (Berita Lainnya) */
.sidebar {
    flex: 1; /* Mengambil 1/4 bagian atau sekitar 30% lebar */
    padding: 20px;
    background-color: #f0f0f0; /* Latar belakang abu-abu muda */
    border-radius: 8px;
    align-self: flex-start; /* Memastikan sidebar tidak meregang ke bawah */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.sidebar-title {
    font-size: 1.4em;
    color: var(--primary-color);
    margin-bottom: 15px;
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: 5px;
}

.related-news-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.related-news-list li {
    margin-bottom: 15px;
}

.related-news-item {
    display: block; /* Ganti dari flex/grid menjadi block agar title mengambil semua lebar */
    text-decoration: none;
    color: var(--text-dark);
    transition: color 0.3s;
    /* Tambahkan garis pemisah di bawah setiap item */
    border-bottom: 1px solid #ddd; 
    padding-bottom: 10px;
    margin-bottom: 10px; /* Jarak antar item */
}

.related-news-item:hover {
    color: var(--primary-color);
}

.related-title {
    font-size: 1em;
    font-weight: 500;
    margin: 0 0 3px 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Batasi judul menjadi 2 baris */
    -webkit-box-orient: vertical;  
    overflow: hidden;
}

.related-date {
    font-size: 0.85em;
    color: #6c757d;
}

/* Responsif untuk Layar Kecil */
@media (max-width: 992px) {
    .news-layout {
        flex-direction: column; /* Ubah menjadi satu kolom saat layar kecil */
    }
    
    .main-content {
        flex: auto;
        padding-right: 0;
    }

    .sidebar {
        flex: auto;
        order: -1; /* Pindahkan sidebar ke atas konten utama di layar kecil */
        margin-bottom: 20px;
    }
}


/* ======================================= */
/* Gaya Editor Teks Kustom */
/* ======================================= */

#editor-toolbar {
    background-color: #f1f1f1;
    border: 1px solid #ccc;
    border-bottom: none;
    padding: 5px;
    border-radius: 5px 5px 0 0;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

#content_editor_html {
    /* Menerapkan gaya yang sama dengan editor visual */
    font-family: monospace; /* Menggunakan font monospace agar kode terlihat rapi */
    resize: vertical; /* Izinkan user mengubah ukuran tinggi */
    min-height: 300px;
	background-color: #000;
    /* Tambahkan class custom-editor agar memiliki border dan padding yang sama */
}

#editor-toolbar button {
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 14px;
    border-radius: 3px;
    transition: background-color 0.2s;
}

#editor-toolbar button:hover {
    background-color: #e0e0e0;
}

.custom-editor {
    min-height: 300px;
    border: 1px solid #ccc;
    padding: 15px;
    line-height: 1.6;
    font-size: 1em;
    background-color: #fff;
    cursor: text;
    border-radius: 0 0 5px 5px;
    text-align: justify;
    
    /* BARIS PENTING UNTUK WARNA TEKS */
    color: var(--text-dark, #18345D); /* Menggunakan warna teks gelap utama */
    font-family: 'Poppins', sans-serif; /* Pastikan font-nya sama dengan form lain */
}

/* Style untuk tag yang dibuat oleh editor (misalnya spasi antar paragraf) */
.custom-editor p {
    margin-bottom: 1.5em; 
}

    .news-layout-container {
        display: flex;
        gap: 30px; /* Jarak antara main content dan sidebar */
        margin: 30px auto;
        max-width: 1200px; /* Sesuaikan dengan lebar container utama Anda */
        padding: 0 15px;
    }

    .news-main {
        flex: 3; /* Kolom utama mengambil 75% lebar */
    }

    .news-sidebar {
        flex: 1; /* Kolom sidebar mengambil 25% lebar */
        padding-top: 10px;
    }

    .sidebar-box {
        background-color: #f7f7f7;
        border-radius: 8px;
        padding: 20px;
        margin-bottom: 25px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

    .sidebar-box h4 {
        margin-top: 0;
        margin-bottom: 15px;
        border-bottom: 2px solid #ddd;
        padding-bottom: 5px;
        color: #333;
    }

    .tag-list {
        list-style: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .tag-list li a {
        display: inline-block;
        padding: 5px 10px;
        background-color: #007bff; /* Warna tombol utama Anda */
        color: white;
        border-radius: 15px;
        text-decoration: none;
        font-size: 0.9em;
        transition: background-color 0.3s;
    }

    .tag-list li a:hover, .tag-list li a.active-tag {
        background-color: #0056b3;
    }

    .search-form-news input[type="text"] {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        margin-bottom: 10px;
    }
    .search-form-news button {
        width: 100%;
        padding: 10px;
        background-color: #28a745; /* Warna hijau */
        color: white;
        border: none;
        border-radius: 4px;
        cursor: pointer;
    }
    .search-form-news button:hover {
        background-color: #1e7e34;
    }

    .filter-status {
        padding: 15px;
        background-color: #fff3cd;
        color: #856404;
        border: 1px solid #ffeeba;
        border-radius: 4px;
        margin-bottom: 20px;
        font-size: 0.9em;
    }
    .reset-filter-link {
        color: #007bff;
        text-decoration: none;
        font-weight: bold;
    }

    @media (max-width: 768px) {
        .news-layout-container {
            flex-direction: column;
        }
        .news-main, .news-sidebar {
            flex: auto;
            width: 100%;
        }
    }
	
/* ======================================================================= */
/* MEMBER LIST & PAGINATION STYLES (dari all_member.php) */
/* ======================================================================= */

/* --- Kontrol Bar (Search & Limit) --- */
.control-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.limit-form-member, .search-form-member {
    display: flex;
    gap: 10px;
    align-items: center;
}

.form-select-limit, 
.search-form-member input[type="text"] {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.search-button-member, .reset-search-btn {
    padding: 8px 12px;
    border-radius: 4px;
}


/* --- Pagination Styles --- */
.pagination-container {
    margin-top: 30px;
    text-align: center;
}

.pagination-links {
    display: inline-flex;
    gap: 5px;
    flex-wrap: wrap; /* Agar responsif */
    justify-content: center;
}

.page-link {
    padding: 8px 12px;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s, color 0.2s;
    font-size: 0.9em;
}

.page-link:hover:not(.active) {
    background-color: var(--accent-blue);
    color: white;
    border-color: var(--accent-blue);
}

.page-link.active {
    background-color: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

.page-dots {
    padding: 8px 0;
    color: #555;
    align-self: center;
    font-weight: bold;
}

/* Mengubah warna font label "Tampilkan" menjadi putih (sesuai permintaan) */
.limit-form-member label {
    color: white; 
    font-weight: 600; /* Opsional: membuat lebih tebal */
}

/* Memperbaiki tampilan control bar secara keseluruhan */
.control-bar {
    background-color: var(--secondary-color); /* Beri latar belakang gelap */
    padding: 10px 20px; /* Tambahkan padding agar lebih rapi */
    border-radius: 8px;
    margin-bottom: 20px;
    /* Pastikan flex properties sudah ada di kode sebelumnya */
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; 
    gap: 15px; /* Jarak antar form */
}

/* Memastikan elemen-elemen di dalamnya terlihat */
.form-select-limit {
    background-color: white;
    color: var(--text-dark);
}

/* Tambahan: Memperbaiki jarak pada pagination dots */
.pagination-links .page-dots {
    padding: 8px 5px;
}

/* ======================================================================= */
/* 9. DETAIL MERCHANDISE */
/* ======================================================================= */

.product-detail .container {
    padding: 40px 0;
}

.detail-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.detail-image-box {
    flex: 1;
    position: relative;
    max-width: 400px; /* Batasi lebar gambar */
}

.detail-image-box img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.sold-out-large {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-15deg);
    background-color: var(--primary-color);
    color: white;
    padding: 10px 25px;
    border-radius: 5px;
    font-size: 1.5em;
    font-weight: 700;
    opacity: 0.9;
    pointer-events: none;
}

.detail-info-box {
    flex: 2;
    padding-top: 10px;
}

.product-name-detail {
    font-size: 2.5em;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.product-price-detail {
    font-size: 2em;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 25px;
    border-bottom: 2px solid var(--text-light);
    padding-bottom: 15px;
}

.product-description-detail h3 {
    font-size: 1.2em;
    color: var(--accent-blue);
    margin-top: 0;
    margin-bottom: 10px;
}

.description-content p {
    margin-bottom: 15px;
    line-height: 1.7;
}

.product-stock-status {
    margin: 20px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.stock-ready {
    color: #28a745; /* Green */
}

.stock-empty {
    color: var(--primary-color); /* Red/Maroon */
}

.product-action-detail .btn-lg {
    padding: 15px 30px;
    font-size: 1.2em;
    margin-top: 10px;
}

.back-link {
    display: block;
    margin-top: 30px;
    color: var(--accent-blue);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s;
}

.back-link:hover {
    color: var(--primary-color);
}

/* Responsif */
@media (max-width: 768px) {
    .detail-wrapper {
        flex-direction: column;
        gap: 20px;
    }
    .detail-image-box {
        max-width: 100%;
    }
    .product-name-detail {
        font-size: 1.8em;
    }
    .product-price-detail {
        font-size: 1.5em;
    }
}

/* style.css (Tambahkan di bagian bawah file yang sudah ada) */

/* ======================================================================= */
/* 9. PENGECUALIAN MERCHANDISE & DETAIL */
/* ======================================================================= */

/* 1. Untuk merchandise.php: Agar link tidak merusak tampilan */
.product-card a.product-link {
    text-decoration: none; /* Hapus garis bawah default */
    color: inherit; /* Warisi warna teks dari parent */
    display: block; /* Agar link menempati seluruh ruang yang dibungkus */
    /* Hapus flex/height 100% jika tidak diperlukan oleh layout lama */
}

/* Mengembalikan efek hover card (opsional, jika hilang) */
.product-card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); /* Efek bayangan saat dihover */
    /* Pastikan transform: translateY(-5px); tetap berfungsi di CSS utama */
}


/* 2. Untuk detail_merchandise.php: Batasi Ukuran Gambar */

/* Batasi lebar kotak gambar dan pastikan gambar di dalamnya responsif */
.detail-image-box {
    flex: 1;
    /* Batasi lebar maksimal di desktop agar gambar tidak terlalu besar */
    max-width: 400px; 
    position: relative; 
}

/* Style untuk tag <img> di halaman detail */
.product-image-large {
    width: 100%; /* Ambil 100% dari .detail-image-box (max 400px) */
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Gaya detail_merchandise (Jika belum ada, tambahkan ini) */
.detail-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}
.detail-info-box {
    flex: 2;
    padding-top: 10px;
}
@media (max-width: 768px) {
    .detail-wrapper {
        flex-direction: column;
        gap: 20px;
    }
    .detail-image-box {
        max-width: 100%;
    }
}

/* ======================================================================= */
/* 10. LEADERBOARD / DATA TABLE RESPONSIVE STYLE (Mobile Optimization) */
/* ======================================================================= */

@media screen and (max-width: 768px) {
    /* Mengubah tabel menjadi layout bertumpuk (stacked card layout) */
    .data-table, .data-table tbody, .data-table tr, .data-table td {
        display: block;
        width: 100%;
        text-align: right; 
    }
    
    /* Menyembunyikan header tabel asli */
    .data-table thead {
        display: none; 
    }
    
    /* Styling untuk setiap baris (menjadi kartu) */
    .data-table tr {
        margin-bottom: 15px;
        border: 1px solid #555;
        border-radius: 8px;
        background-color: #3e3e3e; /* Latar belakang card per baris (gelap) */
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        padding: 5px 0;
    }
    
    /* Styling untuk setiap sel data (dengan label) */
    .data-table td {
        border: none;
        border-bottom: 1px solid #444; /* Garis pemisah antar data di dalam card */
        position: relative;
        /* Padding: 12px atas/bawah, 10px kanan, 50% kiri (ruang untuk label) */
        padding: 12px 10px 12px 50% !important; 
        text-align: right;
        font-size: 1em;
    }

    /* Menampilkan Label menggunakan pseudo-element dan atribut data-label */
    .data-table td:before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%; 
        padding-right: 10px;
        white-space: nowrap;
        text-align: left; /* Teks label rata kiri */
        font-weight: 600;
        color: var(--primary-color); /* Warna yang menonjol untuk label (Merah Marun) */
        font-size: 0.9em;
    }
    
    /* Hapus garis pemisah di elemen terakhir setiap kartu */
    .data-table tr td:last-child {
        border-bottom: none;
    }

    /* --- Visual Enhancements for Leaderboard Cells --- */
    
    /* PENYESUAIAN KHUSUS UNTUK RANK CELL (PERBAIKAN TUMPukan) */
    .rank-cell {
        /* Menggunakan Flexbox untuk mengatur ikon dan angka secara inline */
        display: flex !important;
        /* Mengatur agar konten (ikon dan angka) berada di ujung kanan */
        justify-content: flex-end !important;
        align-items: center !important;
        /* Memberi jarak 5px antara ikon dan angka */
        gap: 10px; 
        
        /* Menaikkan padding kanan agar tidak menempel di tepi */
        padding-right: 20px !important; 
        
        font-weight: bold;
        color: #FCE205; /* Kuning Emas untuk nilai */
        font-size: 1.1em;
        text-align: right; /* Memastikan label tetap di kiri */
    }
    
    /* Penyesuaian Ikon Medali/Trofi */
    .rank-cell i.fas.fa-medal, .rank-cell i.fas.fa-trophy {
        /* Hapus margin kanan sebelumnya karena sudah diganti dengan 'gap' */
        margin-right: 0 !important; 
        font-size: 1.2em;
        color: var(--primary-color); 
    }
    
    /* Highlight untuk nilai penting lainnya */
    .participation-cell, .rating-cell {
        font-weight: bold;
        color: #FCE205; /* Kuning Emas untuk nilai */
        font-size: 1.1em;
    }

    /* Penyesuaian Ikon Partisipasi */
    .participation-cell i.fas.fa-running {
        color: #00ff80; /* Hijau untuk Partisipasi */
        margin-right: 5px;
    }
    
    /* Penyesuaian Rating Bintang */
    .rating-cell .star-rating i {
        font-size: 1.1em;
    }
    .rating-cell span {
        display: block; /* Pisahkan bintang dan nilai rating di mobile */
        margin-top: 5px;
    }
    .rating-cell span:first-child {
        margin-top: 0;
    }
}