:root {
    /* Warna utama dari logo STAI Ma'had Aly Bayang */
    --modern-primary: #16a34a;     /* Hijau Islam segar (main brand) */
    --modern-secondary: #15803d;   /* Hijau tua (aksen & hover) */
    --modern-accent: #fbbf24;      /* Emas Al-Qur’an (highlight & badge) */
    --modern-bg: #f0fdf4;          /* Background hijau sangat muda */
    --modern-card-bg: rgba(255,255,255,0.85);
    --modern-glass: rgba(255,255,255,0.65);
    --modern-dark: #1e293b;        /* Abu-abu gelap untuk teks (lebih netral & elegan) */
    --modern-gray: #64748b;
    --modern-success: #16a34a;
    --modern-warning: #f59e0b;
    --modern-danger: #ef4444;
    --modern-shadow: 0 8px 32px 0 rgba(22, 163, 74, 0.15);   /* shadow hijau lembut */
    --modern-radius: 18px;
    --modern-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--modern-dark);
    background: var(--modern-bg);
    line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    letter-spacing: -0.5px;
}

/* Navbar */
.navbar {
    background: var(--modern-card-bg) !important;
    box-shadow: var(--modern-shadow);
    border-radius: var(--modern-radius);
    margin: 18px 0;
    padding: 12px 0;
    backdrop-filter: blur(10px);
}

.navbar-brand h5 {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--modern-primary);
    letter-spacing: 0.5px;
}

.navbar-brand p {
    font-size: 0.85rem;
    color: var(--modern-gray);
}

.navbar-nav .nav-link {
    padding: 8px 26px !important;
    border-radius: 12px;
    font-weight: 500;
    transition: var(--modern-transition);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    background: var(--modern-primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(22, 163, 74, 0.25);
}

/* Banner overlay hijau muda */
#banner-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.12), rgba(34, 197, 94, 0.08));
    z-index: 0;
}

/* Card & Glassmorphism */
.card, .card-contact-us {
    background: var(--modern-glass);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(34, 197, 94, 0.15);
    border-radius: var(--modern-radius);
    box-shadow: var(--modern-shadow);
    transition: var(--modern-transition);
}

.card:hover, .card-contact-us:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 20px 40px rgba(22, 163, 74, 0.18);
    border-color: var(--modern-primary);
}

.card-title,
.section-title,
.single-event .event-title {
    color: var(--modern-primary);
    font-weight: 600;
}

/* Button */
.button-pmb_primary {
    background: linear-gradient(90deg, var(--modern-primary), var(--modern-secondary));
    border: none;
    color: #fff;
    padding: 13px 32px;
    border-radius: 12px;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(22, 163, 74, 0.25);
    transition: var(--modern-transition);
}

.button-pmb_primary:hover {
    background: var(--modern-secondary);
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 24px rgba(22, 163, 74, 0.3);
}

.button-pmb_primary-outline {
    background: transparent;
    border: 2px solid var(--modern-primary);
    color: var(--modern-primary);
}

.button-pmb_primary-outline:hover {
    background: var(--modern-primary);
    color: #fff;
    border-color: var(--modern-primary);
}

/* Badge & Accent */
.badge {
    background: var(--modern-accent) !important;
    color: #000 !important;
    font-weight: 600;
}

.badge.bg-success { background: #15803d !important; color: #fff !important; }
.bg-info { background: var(--modern-accent) !important; color: #000; }

/* Form */
.form-pmb input,
.form-pmb select,
.select2-container--default .select2-selection--single {
    border: 1.5px solid #dcfce7;
    background: rgba(255,255,255,0.9);
    border-radius: 12px;
    transition: var(--modern-transition);
}

.form-pmb input:focus,
.form-pmb select:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--modern-primary) !important;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.15);
    outline: none;
}

/* Footer */
footer {
    background: linear-gradient(135deg, #15803d, #16a34a);
    color: #fff;
    padding: 60px 0 20px;
    border-radius: var(--modern-radius) var(--modern-radius) 0 0;
}

footer a {
    color: rgba(255,255,255,0.85);
}

footer a:hover {
    color: #fbbf24;
    transform: translateX(8px);
}

/* Event card border hijau muda + emas */
.single-event {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(20, 83, 45, 0.07);
    border: 2px solid #e0f2e9;
    padding: 18px 18px 18px 0;
    margin-bottom: 18px;
    align-items: center;
}
.single-event .event-image {
    border: 3px solid #fbbf2433;
    background: #fff;
}

.status-badge-corner {
    position: absolute;
    top: 18px;
    right: 24px;
    z-index: 2;
    font-size: 1rem;
    padding: 7px 16px;
    border-radius: 8px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(20, 83, 45, 0.10);
}

/* Nav pills */
.nav-pills .nav-link.active,
.nav-pills .nav-link:hover {
    background: var(--modern-primary);
    color: #fff;
}