/* BOTANIK-KOMPAS GIGA ULTIMATE - FIXED VERSION */
:root { 
    --red-portal: #c0392b; 
    --dark-portal: #1a1a1a; 
    --bg-botanik: #faf9f6; 
    --border-soft: #e0e0e0;
    --gold-star: #f1c40f;
}

* { box-sizing: border-box; }
body { font-family: 'Georgia', serif; background-color: var(--bg-botanik); color: #222; margin: 0; padding: 0; line-height: 1.6; }

/* Main Header */
.main-header { text-align: center; padding: 50px 20px; border-bottom: 1px solid var(--border-soft); background: #fff; }
.logo-link { text-decoration: none; display: flex; flex-direction: column; align-items: center; }
.main-logo-img { width: 100px; height: 100px; margin-bottom: 15px; aspect-ratio: 1/1; }

.brand-name { font-size: 2.2rem; font-weight: bold; text-transform: uppercase; color: #000; letter-spacing: 4px; }
.brand-name span { color: var(--red-portal); }
.subtitle { font-size: 0.75rem; color: #666; letter-spacing: 2px; margin-top: 10px; font-family: sans-serif; font-weight: bold; }

/* Running Text */
.running-text-container { width: 100%; background: #000; color: #f1c40f; overflow: hidden; padding: 12px 0; border-bottom: 2px solid var(--red-portal); position: relative; }
.running-text-wrapper { display: flex; width: fit-content; animation: marquee-scroll 25s linear infinite; will-change: transform; transform: translate3d(0,0,0); }
.running-text-item { white-space: nowrap; padding-right: 80px; font-family: sans-serif; font-weight: bold; font-size: 0.9rem; }

@keyframes marquee-scroll {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

/* Container & Articles */
.container { max-width: 800px; margin: auto; padding: 40px 20px; }
.main-title { text-align: center; font-size: 1.5rem; margin-bottom: 40px; border-bottom: 2px solid #000; padding-bottom: 10px; }
.section-title { font-family: sans-serif; font-size: 1rem; text-transform: uppercase; border-left: 4px solid var(--red-portal); padding-left: 15px; margin: 30px 0; }
.article-box { background: #fff; padding: 30px; border: 1px solid var(--border-soft); line-height: 1.8; margin-top: 40px; }
.article-title { font-size: 1.2rem; margin-bottom: 20px; border-bottom: 1px solid #eee; padding-bottom: 10px; }

/* Grid Dashboard RTP */
.game-card { background: #fff; border: 1px solid var(--border-soft); border-radius: 8px; padding: 20px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); transition: 0.3s; }
.game-card:hover { transform: translateY(-5px); border-color: var(--red-portal); }
.rtp-num { font-size: 1.8rem; font-weight: 900; color: var(--red-portal); text-shadow: 0 0 8px rgba(192, 57, 43, 0.4); animation: glowPulse 2s infinite ease-in-out; }

@keyframes glowPulse {
    0% { transform: scale(1); text-shadow: 0 0 8px rgba(192, 57, 43, 0.4); }
    50% { transform: scale(1.05); text-shadow: 0 0 15px rgba(192, 57, 43, 0.8); }
    100% { transform: scale(1); text-shadow: 0 0 8px rgba(192, 57, 43, 0.4); }
}

/* FAQ STYLING */
.faq-container { margin-top: 40px; }
.faq-item { background: #fff; border: 1px solid var(--border-soft); margin-bottom: 10px; border-radius: 5px; overflow: hidden; }
.faq-question { width: 100%; padding: 15px; text-align: left; background: none; border: none; font-weight: bold; cursor: pointer; display: flex; justify-content: space-between; font-family: sans-serif; font-size: 0.9rem; }
.faq-question::after { content: '+'; color: var(--red-portal); font-size: 1.2rem; }
.faq-item.active .faq-question::after { content: '-'; }
.faq-answer { padding: 0 15px; max-height: 0; overflow: hidden; transition: 0.3s ease-out; font-size: 0.85rem; color: #444; }
.faq-item.active .faq-answer { padding: 15px; max-height: 200px; border-top: 1px solid #eee; }

/* REVIEW STYLING */
.review-section { background: #fff; padding: 25px; border: 1px solid var(--border-soft); margin-top: 30px; border-radius: 8px; }
.review-header { border-bottom: 2px solid #000; padding-bottom: 10px; margin-bottom: 20px; display: flex; justify-content: space-between; align-items: center; }
.rating-summary { font-family: sans-serif; font-weight: bold; font-size: 1.1rem; margin: 0; }
.stars { color: var(--gold-star); font-size: 1.1rem; }
.comment-item { display: flex; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid #eee; margin-bottom: 15px; }
.user-avatar { width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; flex-shrink: 0; font-size: 1.2rem; }

/* Fix Kontras Teks: Gunakan warna lebih gelap #444 dan #555 */
.comment-body { font-family: sans-serif; font-size: 0.9rem; line-height: 1.5; color: #222; }
.comment-body strong { display: block; margin-bottom: 3px; color: #000; }
.comment-date { font-size: 0.75rem; color: #555; margin-top: 5px; }

/* Floating Buttons */
.floating-btn { position: fixed; bottom: 0; left: 0; width: 100%; display: flex; z-index: 9999; }
.floating-btn a { flex: 1; text-align: center; padding: 22px; text-decoration: none; color: #fff; font-weight: bold; letter-spacing: 2px; text-transform: uppercase; font-family: sans-serif; }

@media (max-width: 600px) {
    .brand-name { font-size: 1.8rem; }
    .floating-btn a { padding: 18px; font-size: 0.9rem; }
}