:root {
    --bs-primary: #0d6efd;
    --bs-font-sans-serif: 'Inter', sans-serif;
    --papentara-blue: #0f172a; /* Warna gelap header */
}

body {
    font-family: var(--bs-font-sans-serif);
    background-color: #f8f9fa;
}

/* Animasi Transisi Halaman */
.view-section {
    display: none;
    animation: fadeIn 0.4s ease-out;
}
.view-section.active {
    display: block;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Hero Section Gradient */
.hero-section {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
    color: white;
    padding: 5rem 0;
}

/* Card Hover Effect */
.hover-card {
    transition: transform 0.2s, box-shadow 0.2s;
    border: none;
    border-radius: 0.75rem;
}
.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

/* Custom Member Card Gradient */
.member-card-bg {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    color: white;
    border-radius: 1rem;
    position: relative;
    overflow: hidden;
}

/* Utilities */
.object-fit-cover { object-fit: cover; }
.cursor-pointer { cursor: pointer; }
.nav-link { font-weight: 500; cursor: pointer; }
.text-justify { text-align: justify; }

/* Sidebar Active State */
.list-group-item.active {
    background-color: #eff6ff;
    color: #1d4ed8;
    border-color: #eff6ff;
    font-weight: 600;
}

/* Text utilities */
.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-truncate-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Hover effects */
.hover-text-white:hover {
    color: white !important;
}

.hover-bg-light:hover {
    background-color: rgba(0,0,0,0.05);
}