/* ============================================================================
   assets/css/style.css
   Gaya kustom pelengkap Tailwind (dimuat lewat CDN, lihat includes/header.php).
   Tema warna: amber/gold (emas) + slate (gelap keabuan) khas identitas GCC.
   ============================================================================ */

:root {
    --gcc-amber: #d97706;
    --gcc-amber-dark: #b45309;
    --gcc-slate-900: #0f172a;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', system-ui, sans-serif;
    background-color: #f8fafc;
    color: #1e293b;
}

.font-display {
    font-family: 'Outfit', 'Inter', sans-serif;
}

.font-space {
    font-family: 'Outfit', 'Inter', sans-serif;
    letter-spacing: -0.01em;
}

.font-serif-italic {
    font-family: 'Lora', Georgia, serif;
}

.font-mono {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
}

/* Efek kaca buram untuk header sticky */
.glass-effect {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Animasi fade-in halus untuk konten halaman & kartu */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
    animation: fadeIn 0.45s ease-out both;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up {
    animation: fadeInUp 0.55s ease-out both;
}

.img-crisp-enhanced {
    image-rendering: -webkit-optimize-contrast;
}

/* Scrollbar tipis untuk panel admin & area scroll */
.thin-scroll::-webkit-scrollbar { width: 6px; height: 6px; }
.thin-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
.thin-scroll::-webkit-scrollbar-track { background: transparent; }

/* Garis pemisah dekoratif emas */
.gold-divider {
    height: 2px;
    width: 5rem;
    background: linear-gradient(90deg, #f59e0b, rgba(245, 158, 11, 0.2));
    border-radius: 9999px;
}

/* Kelas bantu untuk skeleton loading sederhana */
@keyframes pulseSkeleton {
    0%, 100% { opacity: 1; }
    50% { opacity: .55; }
}
.skeleton {
    animation: pulseSkeleton 1.4s ease-in-out infinite;
    background-color: #e2e8f0;
    border-radius: 0.75rem;
}

/* Pembatasan baris teks (line-clamp) untuk ringkasan kartu */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Whitespace untuk konten yang disimpan dengan baris baru manual */
.preserve-lines {
    white-space: pre-line;
}

/* Toast notifikasi kecil (dipakai admin & form publik) */
.toast-success { background:#ecfdf5; border:1px solid #a7f3d0; color:#047857; }
.toast-error   { background:#fef2f2; border:1px solid #fecaca; color:#b91c1c; }
.toast-info    { background:#eff6ff; border:1px solid #bfdbfe; color:#1d4ed8; }

/* Badge kategori warta/kegiatan - warna konsisten per kategori */
.badge-Ibadah      { background:#fffbeb; color:#b45309; border:1px solid #fde68a; }
.badge-Sosial      { background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; }
.badge-PKMB        { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.badge-Komunitas   { background:#fdf4ff; color:#a21caf; border:1px solid #f5d0fe; }
.badge-Pembaptisan { background:#ecfeff; color:#0e7490; border:1px solid #a5f3fc; }
.badge-Bimbel      { background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; }
.badge-Pembangunan { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.badge-WBI         { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }

/* Tombol disabled konsisten */
button:disabled { cursor:not-allowed; opacity:.6; }

/* Print-friendly untuk halaman laporan/mingguan bila di-print admin */
@media print {
    header, footer, .no-print { display:none !important; }
}
