/* assets/css/style.css */
:root {
    --bg-main: #F8FAFC; 
    --text-primary: #1F2937;
    --text-secondary: #4B5563;
    --accent-primary: #F97316;
    --accent-primary-hover: #EA580C;
    --bg-accent-light: #FFF7ED;
    --border-color: #E5E7EB;
}
body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-main);
    color: var(--text-primary);
}
.nav-link {
    transition: color 0.3s, border-bottom-color 0.3s;
    border-bottom: 2px solid transparent;
}
.nav-link:hover, .nav-link.active {
    color: var(--accent-primary);
    border-bottom-color: var(--accent-primary);
}
.pillar-btn {
    transition: all 0.3s;
    background-color: white;
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
}
.pillar-btn.active {
    background-color: var(--accent-primary);
    color: white;
    border-color: var(--accent-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
#pilar-content-area, #ai-toolkit-container {
    transition: opacity 0.4s ease-in-out;
}
.chart-container {
    position: relative;
    width: 100%;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
    height: 350px;
}
.loader {
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--accent-primary);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.gemini-feature-card {
    border-left: 4px solid var(--accent-primary);
    background-color: var(--bg-accent-light);
}
.timeline-container { position: relative; max-width: 48rem; margin: 0 auto; }
.timeline-container::after { content: ''; position: absolute; width: 4px; background-color: var(--border-color); top: 0; bottom: 0; left: 50%; margin-left: -2px; }
.timeline-item { position: relative; width: 50%; padding-bottom: 2rem; }
.timeline-item::after { content: ''; position: absolute; width: 20px; height: 20px; background-color: white; border: 4px solid var(--accent-primary); top: 20px; border-radius: 50%; z-index: 1; }
.timeline-left { left: 0; padding-right: 2.5rem; }
.timeline-right { left: 50%; padding-left: 2.5rem; }
.timeline-left::after { right: -10px; }
.timeline-right::after { left: -10px; }
@media screen and (max-width: 768px) {
    .timeline-container::after { left: 10px; }
    .timeline-item, .timeline-left, .timeline-right { width: 100%; left: 0; padding-left: 3rem; padding-right: 1rem; }
    .timeline-item::after, .timeline-left::after, .timeline-right::after { left: 0; }
}
.blog-card-excerpt p { margin: 0; }
.tts-button { background-color: var(--bg-accent-light); color: var(--accent-primary); border-radius: 9999px; padding: 0.5rem; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; border: 1px solid var(--accent-primary); }
.tts-button:hover { background-color: var(--accent-primary); color: white; }
.tts-button.playing { background-color: var(--accent-primary); color: white; }
#on-air-indicator::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background-color: red; display: inline-block; margin-right: 8px; animation: pulse 1.5s infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.2; } }
#scrollTopBtn { opacity: 0; transition: opacity 0.3s, transform 0.3s; transform: translateY(10px); }
#scrollTopBtn.visible { opacity: 1; transform: translateY(0); }
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}
/* Styling tambahan untuk Modal Konten */
.modal-body {
    max-height: 70vh; /* Batas tinggi maksimal 70% dari tinggi layar */
    overflow-y: auto; /* Tambahkan scroll jika konten lebih panjang */
    text-align: left; /* Atur teks agar rata kiri */
    padding-right: 1rem; /* Beri sedikit ruang untuk scrollbar */
}