@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
    --primary-color: #0B5D3B; /* Deep / Dark Green Pesantren */
    --primary-light: #167A52; /* Secondary Green */
    --primary-gradient: linear-gradient(135deg, #0B5D3B 0%, #167A52 100%);
    --secondary-color: #C9A227; /* Gold Accent */
    --secondary-light: #dfb15b;
    --secondary-gradient: linear-gradient(135deg, #C9A227 0%, #dfb15b 100%);
    --accent-color: #12372A; /* Dark Green */
    --bg-light: #F7F8F5; /* Soft Background */
    --text-dark: #1F2937;
    --text-muted: #6B7280;
    --font-family: 'Plus Jakarta Sans', sans-serif;
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --shadow-soft: 0 10px 30px -10px rgba(11, 93, 59, 0.08);
    --shadow-hover: 0 20px 40px -15px rgba(11, 93, 59, 0.15);
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Global Typography & General Override */
*:not(.fa):not(.fab):not(.far):not(.fas):not(.icon):not([class*="fa-"]):not([class*="icon-"]):not([class*="lineicon"]):not(.glyphicon) {
    font-family: var(--font-family) !important;
}

body {
    background-color: var(--bg-light) !important;
    color: var(--text-dark) !important;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
}

/* Top Bar Info */
.header-top-bar {
    background-color: var(--accent-color) !important; /* Dark Green Pesantren #12372A */
    color: rgba(255, 255, 255, 0.85) !important;
    padding: 10px 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    position: relative;
    z-index: 1005 !important;
}

.header-top-bar a {
    color: rgba(255, 255, 255, 0.85) !important;
    transition: var(--transition);
}

.header-top-bar a:hover {
    color: var(--secondary-light) !important; /* Gold */
}

.header-top-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-left, .top-bar-right {
    display: inline-flex;
    align-items: center;
    gap: 20px;
}

.top-bar-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Brand Header Bar styling (ATM Darunnajah Row 2) */
.header-brand-bar {
    background-color: #ffffff !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    position: relative;
    z-index: 1004 !important;
}

.header-brand-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.brand-bar-center {
    display: flex;
    align-items: center;
    gap: 25px;
}

.brand-date-badge {
    font-size: 13px;
    color: var(--text-dark);
    font-weight: 500;
}

.brand-prodi-btn {
    display: inline-flex;
    align-items: center;
    background-color: rgba(11, 93, 59, 0.05);
    color: var(--primary-color) !important;
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 700;
    transition: var(--transition);
    text-decoration: none !important;
    border: 1px solid rgba(11, 93, 59, 0.1);
}

.brand-prodi-btn:hover {
    background-color: var(--primary-color);
    color: #ffffff !important;
}

.brand-social-links {
    display: flex;
    gap: 10px;
}

.brand-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #f3f4f6;
    color: #4b5563 !important;
    font-size: 14px;
    transition: var(--transition);
    text-decoration: none !important;
}

.brand-social-links a:hover {
    background-color: var(--primary-color);
    color: #ffffff !important;
}

/* Navbar Modern Menu Bar (ATM Darunnajah Row 3) */
@media (min-width: 992px) {
    .rd-navbar-wrap {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1000 !important;
        padding: 0 !important;
    }

    .rd-navbar-default {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 0px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
        border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-left: none !important;
        border-right: none !important;
        background-color: #ffffff !important;
        backdrop-filter: none !important;
        transition: var(--transition);
    }

    .rd-navbar-inner {
        display: flex !important;
        justify-content: center !important; /* Centered links! */
        align-items: center !important;
        width: 100% !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 30px !important;
    }

    .rd-navbar-panel {
        display: none !important;
    }

    .rd-navbar-group {
        display: flex !important;
        align-items: center !important;
        float: none !important;
        flex-grow: 1 !important;
        justify-content: center !important;
    }

    .rd-navbar-nav-wrap {
        display: block !important;
        float: none !important;
        position: static !important;
        background: transparent !important;
    }

    .rd-navbar-nav-inner {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        gap: 0 !important;
    }

    .rd-navbar-nav {
        display: flex !important;
        align-items: center !important;
        float: none !important;
        margin: 0 !important;
        gap: 4px !important; /* Tighter gap for neat layout */
    }

    .rd-navbar-btn-wrap {
        display: none !important;
    }
}

/* Hero Section (ATM Darunnajah Dotted & Centered) */
.section-hero {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    background-color: var(--accent-color) !important;
    position: relative;
    clip-path: none !important;
    margin-bottom: 0px !important;
    overflow: hidden;
}

.hero-image-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 560px !important;
    overflow: hidden !important;
    border-radius: 0px !important; /* Spans full width! */
}

.hero-image-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.hero-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: radial-gradient(circle, rgba(18, 55, 42, 0.4) 0%, rgba(12, 39, 29, 0.8) 100%) !important; /* Vignette gradient background */
    z-index: 2 !important;
}

.hero-dotted-pattern {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background-image: radial-gradient(rgba(255, 255, 255, 0.12) 1.5px, transparent 1.5px) !important;
    background-size: 24px 24px !important;
    z-index: 3 !important;
    pointer-events: none !important;
}

.hero-caption {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: 850px !important;
    color: #ffffff !important;
    z-index: 10 !important;
    text-align: center !important;
}

.hero-label {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--secondary-color) !important; /* Gold Accent */
    margin-bottom: 20px !important;
}

.hero-title {
    color: #ffffff !important;
    font-size: 54px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    font-style: italic !important; /* Elegant Italic headline! */
    margin-bottom: 20px !important;
    text-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
}

.hero-desc {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 35px !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}

.hero-ctas {
    display: flex !important;
    gap: 15px !important;
    align-items: center !important;
    justify-content: center !important; /* Centered buttons! */
}

.btn-hero-secondary {
    background: transparent !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
    color: #ffffff !important;
    padding: 12px 28px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 14px !important;
    border-radius: 30px !important; /* Pill shaped */
    transition: var(--transition) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
}

.btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Responsive Hero Section */
@media (max-width: 991px) {
    .hero-image-wrapper {
        height: 500px !important;
    }
    .hero-title {
        font-size: 36px !important;
        line-height: 1.25 !important;
    }
    .hero-desc {
        font-size: 14px !important;
        margin-bottom: 25px !important;
    }
    .btn-hero-secondary, .btn-pmb-cta {
        padding: 10px 20px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 576px) {
    .hero-image-wrapper {
        height: 460px !important;
    }
    .hero-title {
        font-size: 26px !important;
        line-height: 1.3 !important;
        margin-bottom: 15px !important;
    }
    .hero-desc {
        font-size: 13px !important;
        line-height: 1.6 !important;
        margin-bottom: 20px !important;
    }
    .hero-ctas {
        flex-direction: row !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .btn-hero-secondary, .btn-pmb-cta {
        padding: 8px 14px !important;
        font-size: 11px !important;
        letter-spacing: 0.5px !important;
        white-space: nowrap !important;
    }
}

/* Align links and dropdown precisely */
@media (min-width: 992px) {
    .rd-navbar-nav > li {
        position: relative !important; /* Forces dropdown context to stay centered below text */
    }

    .rd-nav-item a {
        color: #4b5563 !important; /* Elegant charcoal color */
        font-weight: 600 !important;
        font-size: 14px !important;
        transition: var(--transition) !important;
        position: relative;
        padding: 18px 8px !important; /* Tighter padding to prevent overflow and wrapping */
        display: inline-block !important;
        text-transform: none !important; /* Sentence case like Darunnajah */
        letter-spacing: 0 !important;
    }

    .rd-nav-item.active a, .rd-nav-item:hover a {
        color: var(--primary-color) !important; /* Turn primary green on hover/active */
    }

    .rd-nav-item a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 3px;
        background: var(--primary-color); /* Green line instead of gold */
        transition: var(--transition);
        transform: translateX(-50%);
        border-radius: 3px;
    }

    .rd-nav-item.active a::after, .rd-nav-item:hover a::after {
        width: 60%;
    }

    /* Dropdown Menu styling (ATM Darunnajah style) */
    .rd-menu.rd-navbar-dropdown {
        background-color: #ffffff !important;
        border-radius: 8px !important;
        box-shadow: 0 10px 30px rgba(11, 93, 59, 0.08) !important;
        border: 1px solid rgba(11, 93, 59, 0.05) !important;
        padding: 10px 0 !important;
        min-width: 220px !important;
        margin-top: 0px !important;
        transition: var(--transition) !important;
    }

    .rd-dropdown-item {
        padding: 0 !important;
    }

    .rd-dropdown-item a {
        display: block !important;
        padding: 10px 20px !important;
        font-size: 14px !important;
        color: #4b5563 !important;
        font-weight: 500 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        transition: var(--transition) !important;
        text-align: left !important;
    }

    .rd-dropdown-item a::after {
        display: none !important; /* No under-line for dropdown links */
    }

    .rd-dropdown-item:hover a, .rd-dropdown-item.active a {
        background-color: rgba(11, 93, 59, 0.04) !important;
        color: var(--primary-color) !important;
        padding-left: 24px !important; /* Subtle slide-in effect */
    }
}

/* Contact Button */
.btn-nero-outline-1 {
    background: var(--primary-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: var(--shadow-soft) !important;
    transition: var(--transition) !important;
}

.btn-nero-outline-1:hover {
    background: var(--secondary-gradient) !important;
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover) !important;
}

/* Carousel / Hero Section */
.carousel-inner {
    border-radius: var(--radius-md) !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-soft) !important;
}

.carousel-item img {
    border-radius: var(--radius-md) !important;
    width: 100%;
    object-fit: cover;
    max-height: 520px;
}

/* Cards & Grid Items */
.row-30 {
    display: flex !important;
    flex-wrap: wrap !important;
}

.row-30 > div {
    display: flex !important;
    flex-direction: column !important;
}

.icon-box {
    background: #ffffff !important;
    border-radius: var(--radius-md) !important;
    border: 1px solid rgba(14, 42, 71, 0.03) !important;
    padding: 30px !important;
    box-shadow: var(--shadow-soft) !important;
    transition: var(--transition) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.icon-box:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover) !important;
    border-color: rgba(20, 184, 166, 0.2) !important;
}

.icon-box .box-body {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.icon-box .box-body p {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--text-muted) !important;
    margin: 0 !important;
}

.icon-box .box-icon .icon {
    color: var(--secondary-color) !important;
    background: rgba(13, 148, 136, 0.08) !important;
    width: 60px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    transition: var(--transition);
}

.icon-box:hover .box-icon .icon {
    background: var(--secondary-gradient) !important;
    color: #ffffff !important;
}

/* Post & News Cards */
.card.post {
    border: none !important;
    border-radius: var(--radius-md) !important;
    background: #ffffff !important;
    box-shadow: var(--shadow-soft) !important;
    overflow: hidden;
    transition: var(--transition) !important;
}

.card.post:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover) !important;
}

.card.post img {
    border-top-left-radius: var(--radius-md) !important;
    border-top-right-radius: var(--radius-md) !important;
    transition: var(--transition);
}

.card.post:hover img {
    transform: scale(1.03);
}

.card.post .card-body {
    padding: 24px !important;
}

.card.post .card-title {
    color: var(--primary-color) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    transition: var(--transition);
}

.card.post:hover .card-title {
    color: var(--secondary-color) !important;
}

/* Post preview vertical list (Pengumuman) */
.post-preview-wrap {
    border: none !important;
    background: #ffffff !important;
    border-radius: var(--radius-md) !important;
    padding: 24px !important;
    box-shadow: var(--shadow-soft) !important;
    margin-bottom: 20px;
    transition: var(--transition);
}

.post-preview-wrap:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover) !important;
}

/* Stats Section (STAINAA dalam angka) */
.bg-nero {
    background: var(--primary-gradient) !important;
    border-radius: var(--radius-lg) !important;
    padding: 60px 40px !important;
    box-shadow: var(--shadow-soft) !important;
    color: #ffffff !important;
}

.bg-nero h3 {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 32px !important;
    margin-bottom: 40px !important;
}

.box-counter {
    color: #ffffff !important;
}

.box-counter .icon {
    color: var(--secondary-light) !important;
}

.box-counter .counter {
    font-size: 44px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
}

.box-counter .box-header {
    color: rgba(255, 255, 255, 0.7) !important;
    font-weight: 500 !important;
    font-size: 16px !important;
}

/* Footer Section */
.page-footer {
    background-color: var(--accent-color) !important;
    color: rgba(255, 255, 255, 0.6) !important;
    border-top: 5px solid var(--secondary-color) !important;
    padding: 60px 0 !important;
}

.page-footer h4, .page-footer h5, .page-footer a {
    color: #ffffff !important;
    transition: var(--transition);
}

.page-footer a:hover {
    color: var(--secondary-light) !important;
}

/* Preloader custom style matching colors */
.preloader {
    background: var(--primary-color) !important;
}

.preloader-char {
    color: var(--secondary-light) !important;
}

/* Modern Rounded Images */
img.wow {
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-soft) !important;
}

/* Common Utility Class Overrides for Theme Colors */
.bg-primary {
    background-color: var(--primary-color) !important;
    background: var(--primary-gradient) !important;
}

.bg-secondary {
    background-color: var(--secondary-color) !important;
    background: var(--secondary-gradient) !important;
}

.text-primary {
    color: var(--primary-color) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.btn-primary {
    background-color: var(--primary-color) !important;
    background: var(--primary-gradient) !important;
    border-color: var(--primary-color) !important;
    box-shadow: var(--shadow-soft) !important;
    color: #ffffff !important;
    transition: var(--transition) !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--secondary-color) !important;
    background: var(--secondary-gradient) !important;
    border-color: var(--secondary-color) !important;
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover) !important;
}

.btn-success {
    background-color: var(--secondary-color) !important;
    background: var(--secondary-gradient) !important;
    border-color: var(--secondary-color) !important;
    box-shadow: var(--shadow-soft) !important;
    color: #ffffff !important;
    transition: var(--transition) !important;
}

.btn-success:hover, .btn-success:focus, .btn-success:active {
    background-color: var(--primary-color) !important;
    background: var(--primary-gradient) !important;
    border-color: var(--primary-color) !important;
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover) !important;
}

/* Modern Coded Footer CSS */
.modern-footer {
    background-color: var(--accent-color) !important; /* Elegant Dark Green Pesantren */
    color: rgba(255, 255, 255, 0.7) !important;
    border-top: 5px solid var(--secondary-color) !important;
    padding: 70px 0 25px 0 !important;
    margin-top: 0 !important;
    font-size: 14px;
}

.modern-footer h5.footer-title {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    position: relative;
}

.modern-footer h5.footer-title::after {
    content: '';
    display: block;
    width: 35px;
    height: 3px;
    background: var(--secondary-gradient);
    margin-top: 8px;
    border-radius: 2px;
}

.modern-footer .footer-brand {
    display: inline-block !important;
    background-color: #ffffff !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    transition: var(--transition) !important;
}

.modern-footer .footer-brand:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15) !important;
}

.modern-footer .footer-brand img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 40px !important;
    margin-bottom: 0 !important;
}

.modern-footer .footer-desc {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.65) !important;
}

.modern-footer .footer-contact-info,
.modern-footer .footer-links,
.modern-footer .footer-links-social {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.modern-footer .footer-contact-info li,
.modern-footer .footer-links li,
.modern-footer .footer-links-social li {
    margin-bottom: 12px !important;
    display: flex;
    align-items: center;
}

.modern-footer .footer-contact-info li .icon {
    color: var(--secondary-light) !important;
    margin-right: 12px;
    font-size: 16px;
    width: 20px;
    text-align: center;
}

.modern-footer .footer-links li a,
.modern-footer .footer-links-social li a {
    color: rgba(255, 255, 255, 0.7) !important;
    text-decoration: none !important;
    transition: var(--transition);
}

.modern-footer .footer-links li a:hover,
.modern-footer .footer-links-social li a:hover {
    color: var(--secondary-light) !important;
    padding-left: 5px;
}

.modern-footer .footer-links-social li .icon {
    color: var(--secondary-light) !important;
    margin-right: 12px;
    font-size: 16px;
}

.modern-footer .footer-map-container {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

.modern-footer .footer-copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-top: 25px;
    margin-top: 50px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5) !important;
}

.badge-tag {
    display: inline-block;
    background: rgba(11, 93, 59, 0.06) !important;
    color: var(--primary-color) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 6px 16px !important;
    border-radius: 30px !important;
    margin-bottom: 12px !important;
    border: 1px solid rgba(11, 93, 59, 0.15) !important;
}

.btn-pmb-cta {
    background-color: var(--secondary-color) !important; /* Gold Accent */
    background: var(--secondary-gradient) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 22px !important;
    border-radius: 30px !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(201, 162, 39, 0.2) !important;
    transition: var(--transition) !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.btn-pmb-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(201, 162, 39, 0.35) !important;
    color: #ffffff !important;
}

/* Non-Overlapping Stats Section */
.stats-overlapping-section {
    margin-top: 0 !important;
    position: relative !important;
    z-index: 100 !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    background-color: var(--bg-light) !important;
}

.stat-card {
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 30px 24px !important;
    box-shadow: 0 10px 30px rgba(11, 93, 59, 0.05) !important;
    border: 1px solid rgba(11, 93, 59, 0.03) !important;
    text-align: center !important;
    transition: var(--transition) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.stat-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(11, 93, 59, 0.1) !important;
    border-color: rgba(201, 162, 39, 0.2) !important; /* Gold border highlight on hover */
}

.stat-icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgba(11, 93, 59, 0.05);
    color: var(--primary-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 20px;
}

.stat-number {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--primary-color) !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
}

.stat-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--text-muted) !important;
}

/* Rektor quote welcome section */
.quote-card {
    background-color: var(--primary-color) !important;
    background: var(--primary-gradient) !important;
    border-radius: 20px !important;
    height: 280px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: var(--shadow-soft) !important;
    position: relative;
    overflow: hidden;
}

.quote-card::before {
    content: '"' !important;
    position: absolute !important;
    font-size: 200px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 900 !important;
    color: rgba(255, 255, 255, 0.08) !important;
    line-height: 1 !important;
    top: -30px !important;
    right: 20px !important;
}

.quote-icon-large {
    font-size: 64px !important;
    color: var(--secondary-color) !important; /* Gold quote icon */
    z-index: 5;
    animation: pulse 3s infinite ease-in-out;
}

.avatar-rektor {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--secondary-color);
}

/* 3-Column lists layout */
.col-info-divider {
    border-right: 1px solid rgba(0,0,0,0.06);
}

@media (max-width: 991.98px) {
    .col-info-divider {
        border-right: none;
        border-bottom: 1px solid rgba(0,0,0,0.06);
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
}

.list-info-item {
    display: flex !important;
    gap: 15px !important;
    align-items: flex-start !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.04) !important;
    transition: var(--transition) !important;
}

.list-info-item:last-child {
    border-bottom: none !important;
}

.list-info-item:hover {
    transform: translateX(4px) !important;
}

.list-info-img-wrap {
    width: 80px !important;
    height: 80px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
}

.list-info-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.list-info-body {
    flex-grow: 1 !important;
}

.list-info-meta {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--secondary-color) !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
}

.list-info-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.list-info-title a {
    color: var(--text-dark) !important;
    text-decoration: none !important;
    transition: var(--transition) !important;
}

.list-info-title a:hover {
    color: var(--primary-color) !important;
}

/* Mobile brand logo adjustment */
.rd-navbar-brand img {
    height: 38px !important;
    width: auto !important;
    max-width: 100% !important;
}

/* Prevent Owl Carousel from clipping card hover translation and shadows */
.owl-carousel .owl-stage-outer {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    margin-top: -15px !important;
    margin-bottom: -15px !important;
}

/* Mitra/Partner Logos styling */
.partner-logo-box {
    background-color: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    border-radius: 12px !important;
    padding: 20px 15px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.01) !important;
    transition: var(--transition) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.partner-logo-box:hover {
    transform: translateY(-3px) !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 10px 25px rgba(11, 93, 59, 0.08) !important;
}

.partner-icon {
    font-size: 26px !important;
    color: var(--primary-color) !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.partner-name {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Testimonial Cards styling */
.testimonial-card {
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    transition: var(--transition) !important;
    position: relative !important;
}

.testimonial-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(11, 93, 59, 0.08) !important;
    border-color: rgba(201, 162, 39, 0.2) !important;
}

.testimonial-quote {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--text-muted) !important;
    font-style: italic !important;
    margin-bottom: 25px !important;
    position: relative;
}

.testimonial-profile {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.testimonial-avatar-wrap {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 2px solid var(--secondary-color) !important;
    background-color: rgba(11, 93, 59, 0.05) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--primary-color) !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
}

.testimonial-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin: 0 !important;
}

.testimonial-title {
    font-size: 11px !important;
    color: var(--text-muted) !important;
    margin: 0 !important;
}

/* Seamless CTA and Wave ornaments styling */
.section-cta-seamless {
    background: linear-gradient(180deg, var(--primary-color) 0%, var(--accent-color) 100%) !important; /* Flow seamlessly into footer */
    color: #ffffff !important;
    position: relative !important;
    z-index: 10 !important;
    padding-top: 100px !important; /* Extra padding for wave */
    padding-bottom: 60px !important;
    margin-bottom: 0 !important;
    border: none !important;
    overflow: hidden !important;
}

.cta-wave-divider {
    position: absolute !important;
    top: -1px !important; /* Slight overlap to prevent 1px gap */
    left: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    line-height: 0 !important;
    z-index: 5 !important;
}

.cta-wave-divider svg {
    position: relative !important;
    display: block !important;
    width: calc(100% + 1.3px) !important;
    height: 80px !important;
}

/* Decorative animated ornaments */
.cta-ornament-1 {
    position: absolute !important;
    top: -50px !important;
    left: -50px !important;
    width: 250px !important;
    height: 250px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(201, 162, 39, 0.15) 0%, rgba(255, 255, 255, 0) 70%) !important;
    filter: blur(20px) !important;
    pointer-events: none !important;
    animation: float-slow 8s infinite ease-in-out !important;
}

.cta-ornament-2 {
    position: absolute !important;
    bottom: -80px !important;
    right: -80px !important;
    width: 300px !important;
    height: 300px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(22, 122, 82, 0.25) 0%, rgba(255, 255, 255, 0) 70%) !important;
    filter: blur(30px) !important;
    pointer-events: none !important;
    animation: float-slow 12s infinite ease-in-out reverse !important;
}

@keyframes float-slow {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-20px) scale(1.1);
    }
}

/* Seamless CTA and Footer integration */
.section-cta-seamless + .modern-footer {
    margin-top: 0 !important;
    border-top: none !important;
}

/* Background ornaments for the footer */
.modern-footer {
    position: relative !important;
    overflow: hidden !important;
}

.modern-footer .container {
    position: relative !important;
    z-index: 2 !important;
}

.footer-ornament-1 {
    position: absolute !important;
    top: -50px !important;
    left: 10% !important;
    width: 250px !important;
    height: 250px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(201, 162, 39, 0.08) 0%, rgba(255, 255, 255, 0) 70%) !important;
    filter: blur(20px) !important;
    pointer-events: none !important;
    animation: float-slow 10s infinite ease-in-out !important;
    z-index: 1;
}

.footer-ornament-2 {
    position: absolute !important;
    bottom: -50px !important;
    right: 15% !important;
    width: 200px !important;
    height: 200px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(22, 122, 82, 0.12) 0%, rgba(255, 255, 255, 0) 70%) !important;
    filter: blur(25px) !important;
    pointer-events: none !important;
    animation: float-slow 14s infinite ease-in-out reverse !important;
    z-index: 1;
}

/* Google Maps Directions Link Button */
.btn-maps-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 12px !important;
    background: var(--secondary-gradient) !important;
    color: #ffffff !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    transition: var(--transition) !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(201, 162, 39, 0.2) !important;
}

.btn-maps-link:hover {
    background: var(--primary-gradient) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(11, 93, 59, 0.3) !important;
}

/* Fluid Typography and Responsive Overrides for CTA Section */
.section-cta-seamless .cta-title {
    font-size: clamp(22px, 5vw, 36px) !important;
    line-height: 1.3 !important;
}

@media (max-width: 768px) {
    .section-cta-seamless {
        padding-top: 80px !important;
        padding-bottom: 40px !important;
    }
}

/* ==========================================
   TENTANG (ABOUT) PAGE MODERN REVAMP STYLES
   ========================================== */

.section-hero-about {
    height: 240px !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    overflow: hidden !important;
}

.hero-about-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: radial-gradient(circle, rgba(18, 55, 42, 0.4) 0%, rgba(12, 39, 29, 0.8) 100%) !important;
    z-index: 2 !important;
}

.hero-about-dotted {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1.5px, transparent 1.5px) !important;
    background-size: 20px 20px !important;
    z-index: 3 !important;
    pointer-events: none !important;
}

.hero-about-caption {
    position: relative !important;
    z-index: 10 !important;
    max-width: 800px !important;
    padding: 0 20px !important;
}

.hero-about-label {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--secondary-color) !important;
    margin-bottom: 6px !important;
}

.hero-about-title {
    color: #ffffff !important;
    font-size: clamp(24px, 4vw, 36px) !important;
    font-weight: 800 !important;
    margin-bottom: 0 !important;
    text-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}

/* Minimalist Introduction Card */
.about-intro-card {
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: var(--shadow-soft) !important;
    border: 1px solid rgba(11, 93, 59, 0.03) !important;
}

.about-intro-text {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--text-muted) !important;
    text-align: justify !important;
    margin: 0 !important;
}

/* Custom styling for Template's Native Vertical Tabs */
.tabs-custom.tabs-vertical.tabs-corporate {
    border: none !important;
}

.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs {
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 20px 15px !important;
    box-shadow: var(--shadow-soft) !important;
    border: 1px solid rgba(11, 93, 59, 0.03) !important;
    gap: 8px !important;
    width: 25% !important;
}

.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs li {
    width: 100% !important;
    float: none !important;
    display: block !important;
    margin: 0 !important;
}

.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #4b5563 !important;
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    text-align: left !important;
    transition: var(--transition) !important;
    position: relative !important;
}

.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a .icon {
    font-size: 16px !important;
    color: var(--text-muted) !important;
    transition: var(--transition) !important;
    width: 20px !important;
    text-align: center !important;
    margin-right: 0 !important;
}

.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a:hover {
    color: var(--primary-color) !important;
    background-color: rgba(11, 93, 59, 0.04) !important;
    border-color: transparent !important;
}

.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a.active {
    background: var(--primary-gradient) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 15px rgba(11, 93, 59, 0.15) !important;
}

.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a.active .icon {
    color: #ffffff !important;
}

/* Remove default after-line styles from style.css that break layout */
.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a:after,
.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a.active:after,
.tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a:hover:after {
    display: none !important;
}

/* Tab content area */
.tabs-custom.tabs-vertical.tabs-corporate .tab-content {
    padding-left: 30px !important;
    border: none !important;
    width: 75% !important;
}

/* Content Panel Cards */
.about-card {
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: var(--shadow-soft) !important;
    border: 1px solid rgba(11, 93, 59, 0.03) !important;
    min-height: 250px !important;
}

.about-card-title {
    color: var(--primary-color) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
}

.about-card-desc {
    color: var(--text-muted) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Pimpinan card styling */
.pimpinan-avatar-container {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    background-color: rgba(11, 93, 59, 0.05) !important;
    border: 2px solid var(--secondary-color) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    box-shadow: 0 4px 10px rgba(11, 93, 59, 0.05) !important;
}

.pimpinan-placeholder-icon {
    font-size: 60px !important;
    color: var(--primary-color) !important;
}

/* Sejarah paragraphs styling */
.sejarah-paragraph {
    color: var(--text-dark) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 15px !important;
    text-indent: 20px !important;
    text-align: justify !important;
}

.sejarah-paragraph:first-of-type {
    text-indent: 0 !important;
}

.sejarah-paragraph:first-of-type::first-letter {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--primary-color) !important;
    float: left !important;
    line-height: 0.9 !important;
    margin-right: 6px !important;
    margin-top: 4px !important;
}

/* Visi Card layout */
.visi-glow-box {
    background: transparent !important;
    border-left: 4px solid var(--secondary-color) !important;
    padding: 10px 20px !important;
    border-radius: 0 !important;
    position: relative !important;
    box-shadow: none !important;
}

.visi-quote-icon {
    display: none !important; /* Hide quote icon for minimalist style */
}

.visi-text {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    font-style: italic !important;
    text-indent: 0 !important;
}

/* Misi list layout */
.misi-minimal-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.misi-minimal-list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.misi-minimal-list li:last-child {
    border-bottom: none !important;
}

.misi-check-icon {
    color: var(--secondary-color) !important;
    font-size: 14px !important;
    margin-top: 4px !important;
}

.misi-text {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--text-dark) !important;
    margin: 0 !important;
}

/* Motto Card styling */
.motto-minimal-box {
    padding: 24px 20px !important;
    border-radius: 12px !important;
    background: rgba(11, 93, 59, 0.03) !important;
    border: 1px solid rgba(11, 93, 59, 0.05) !important;
}

.motto-quote-icon {
    font-size: 24px !important;
    color: var(--secondary-color) !important;
    margin-bottom: 10px !important;
    display: inline-block !important;
}

.motto-minimal-title {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    font-style: italic !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Responsive Overrides for Tentang Page */
@media (max-width: 991px) {
    .tabs-custom.tabs-vertical.tabs-corporate {
        flex-direction: column !important;
        display: flex !important;
    }

    .tabs-custom.tabs-vertical.tabs-corporate .nav-tabs {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        padding: 10px !important;
        margin-bottom: 25px !important;
        width: 100% !important;
    }

    .tabs-custom.tabs-vertical.tabs-corporate .nav-tabs li {
        width: auto !important;
        flex-grow: 1 !important;
    }

    .tabs-custom.tabs-vertical.tabs-corporate .nav-tabs a {
        justify-content: center !important;
        padding: 10px 14px !important;
        font-size: 13px !important;
    }

    .tabs-custom.tabs-vertical.tabs-corporate .tab-content {
        padding-left: 0 !important;
        width: 100% !important;
    }
    
    .about-card {
        padding: 20px !important;
    }
    
    .about-intro-card {
        padding: 20px !important;
    }
}

/* ==========================================
   PROFIL PIMPINAN PAGE MODERN REVAMP STYLES
   ========================================== */

.leader-portrait-frame {
    position: relative !important;
    display: inline-block !important;
    max-width: 320px !important;
    width: 100% !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(11, 93, 59, 0.1) !important;
    border: 3px solid #ffffff !important;
    transition: var(--transition) !important;
}

.leader-portrait-frame:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(201, 162, 39, 0.2) !important;
}

.leader-portrait-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: var(--transition) !important;
}

.leader-portrait-frame:hover .leader-portrait-img {
    transform: scale(1.03) !important;
}

.leader-details {
    padding-left: 10px !important;
}

.leader-name {
    color: var(--primary-color) !important;
    font-weight: 800 !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
}

.leader-credentials {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--secondary-color) !important;
    letter-spacing: 0.5px !important;
    display: block !important;
}

.leader-divider {
    height: 3px !important;
    width: 60px !important;
    background: var(--secondary-gradient) !important;
    border-radius: 3px !important;
}

.leader-biography-para {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--text-dark) !important;
    margin-bottom: 18px !important;
    text-align: justify !important;
}

@media (max-width: 991px) {
    .leader-portrait-frame {
        margin-bottom: 30px !important;
        max-width: 260px !important;
    }
    .leader-name {
        font-size: 26px !important;
    }
    .leader-biography-para {
        text-align: left !important;
    }
}

/* ==========================================
   TENTANG PAGE ADDITIONAL MODERN REVAMP STYLES
   ========================================== */

.hero-about-ornament-1 {
    position: absolute !important;
    top: -60px !important;
    left: -60px !important;
    width: 200px !important;
    height: 200px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(201, 162, 39, 0.12) 0%, rgba(255, 255, 255, 0) 70%) !important;
    filter: blur(20px) !important;
    pointer-events: none !important;
    animation: float-slow 10s infinite ease-in-out !important;
    z-index: 1;
}

.hero-about-ornament-2 {
    position: absolute !important;
    bottom: -60px !important;
    right: -60px !important;
    width: 200px !important;
    height: 200px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(22, 122, 82, 0.2) 0%, rgba(255, 255, 255, 0) 70%) !important;
    filter: blur(25px) !important;
    pointer-events: none !important;
    animation: float-slow 14s infinite ease-in-out reverse !important;
    z-index: 1;
}

.about-img-container {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
    z-index: 5 !important;
    transition: var(--transition) !important;
}

.about-img-container::before {
    content: '' !important;
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: -12px !important;
    bottom: -12px !important;
    border: 2px solid var(--secondary-color) !important;
    border-radius: var(--radius-md) !important;
    z-index: -1 !important;
    transition: var(--transition) !important;
}

.about-img-container:hover {
    transform: translate(-4px, -4px) !important;
}

.about-img-container:hover::before {
    transform: translate(6px, 6px) !important;
}

.about-intro-img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: var(--radius-md) !important;
    border: 4px solid #ffffff !important;
    box-shadow: var(--shadow-soft) !important;
}

/* ==========================================
   PENDIDIKAN (EDUCATION) MODERN REVAMP STYLES
   ========================================== */

.prodi-card {
    border: none !important;
    border-radius: var(--radius-md) !important;
    background: #ffffff !important;
    box-shadow: var(--shadow-soft) !important;
    overflow: hidden !important;
    transition: var(--transition) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.prodi-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--shadow-hover) !important;
}

.prodi-card .prodi-img-wrap {
    height: 240px !important;
    width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
}

.prodi-card .prodi-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: var(--transition) !important;
}

.prodi-card:hover .prodi-img-wrap img {
    transform: scale(1.04) !important;
}

.prodi-card .card-body {
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.prodi-card .prodi-title {
    font-weight: 700 !important;
    font-size: 18px !important;
    margin-bottom: 12px !important;
}

.prodi-card .prodi-title a {
    color: var(--primary-color) !important;
    text-decoration: none !important;
    transition: var(--transition) !important;
}

.prodi-card .prodi-title a:hover {
    color: var(--secondary-color) !important;
}

.prodi-card .card-text {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--text-muted) !important;
    margin-bottom: 20px !important;
    flex-grow: 1 !important;
}

.prodi-card .btn-readmore {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--secondary-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: var(--transition) !important;
    margin-top: auto !important;
}

.prodi-card .btn-readmore:hover {
    color: var(--primary-color) !important;
    transform: translateX(4px) !important;
}

/* Sidebar Info Card Styles */
.sidebar-info-card {
    background-color: #ffffff !important;
    border-radius: var(--radius-md) !important;
    padding: 24px !important;
    box-shadow: var(--shadow-soft) !important;
    border: 1px solid rgba(11, 93, 59, 0.03) !important;
}

.sidebar-info-title {
    color: var(--primary-color) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-bottom: 2px solid rgba(11, 93, 59, 0.08) !important;
    padding-bottom: 10px !important;
    margin-bottom: 15px !important;
}

.sidebar-info-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.sidebar-info-list li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
    font-size: 14px !important;
}

.sidebar-info-list li:last-child {
    border-bottom: none !important;
}

.sidebar-info-list .info-label {
    font-weight: 600 !important;
    color: var(--text-dark) !important;
}

.sidebar-info-list .info-value {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

/* Informasi & Article Section (Darunnajah Style Revamp) */
.badge-tag-absolute {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--primary-gradient);
    color: #ffffff;
    padding: 4px 12px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 30px;
    letter-spacing: 0.8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    z-index: 2;
}

.nav-link-custom {
    display: inline-block;
    padding: 8px 22px;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-color) !important;
    background: #ffffff;
    border: 1px solid rgba(11, 93, 59, 0.15) !important;
    border-radius: 30px;
    transition: all 0.3s ease;
    text-decoration: none !important;
}

.nav-link-custom:hover {
    background: rgba(11, 93, 59, 0.05);
    border-color: var(--primary-color) !important;
}

.nav-link-custom.active {
    background: var(--primary-gradient) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(11, 93, 59, 0.2);
}

.category-filter-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}

.agenda-info-box {
    margin-top: 10px;
    border-left: 3px solid var(--secondary-color) !important;
}

/* Fix pagination centering */
.pag-simple-link-prev {
    padding-right: 0 !important;
}
.pag-simple-link-next {
    padding-left: 0 !important;
}

/* Fix pseudo icon fonts overridden by global font-family selector */
.rd-navbar-submenu-toggle::after,
.rd-navbar-submenu-toggle::before,
.rd-navbar-dropdown>li>a::before,
.rd-navbar-dropdown>li>a::after,
.rd-navbar-search-toggle::before,
.rd-navbar-search-toggle::after,
.rd-navbar-dropdown>li>a:before,
.rd-navbar-dropdown>li>a:after {
    font-family: 'FontAwesome' !important;
}

/* Hide caret indicator overlaying custom rich submenu links */
.rd-navbar-dropdown > li > a.rich-dropdown-link::before,
.rd-navbar-dropdown > li > a.rich-dropdown-link:before {
    display: none !important;
    content: '' !important;
}

/* Fix navbar links position and active underlines */
.rd-navbar-static .rd-navbar-nav > li > a,
.rd-navbar-fullwidth .rd-navbar-nav > li > a {
    display: inline-block !important;
    position: relative !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    width: auto !important;
    text-align: center !important;
}

.rd-navbar-static .rd-navbar-nav > li > a::after,
.rd-navbar-fullwidth .rd-navbar-nav > li > a::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 3px !important;
    border-radius: 2px !important;
    background: var(--primary-color) !important;
    transform: scaleX(0);
    transition: transform 0.25s ease !important;
    transform-origin: center !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.rd-navbar-static .rd-navbar-nav > li.active > a::after,
.rd-navbar-static .rd-navbar-nav > li:hover > a::after,
.rd-navbar-fullwidth .rd-navbar-nav > li.active > a::after,
.rd-navbar-fullwidth .rd-navbar-nav > li:hover > a::after {
    transform: scaleX(1) !important;
}



