/* Google Fonts Import diletakkan di HTML untuk performa, tapi ini root stylingnya */
:root {
    --primary-orange: #ff6b00;
    --hover-orange: #e65c00;
    --soft-orange: #fff8f3;
    --text-dark: #1e293b;
    --text-muted: #64748b;
    --transition-speed: 0.3s;
}

/* Global & Reset */
html {
    scroll-behavior: smooth; /* Efek scroll halus ke section */
}

::-webkit-scrollbar {
    width: 10px;
}

/* Latar belakang scrollbar (Track) */
::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

/* Warna batang scroll (Handle) */
::-webkit-scrollbar-thumb {
    background: var(--primary-orange);
    border-radius: 10px;
    border: 2px solid #f1f1f1; /* Memberi efek jarak antara handle dan track */
}

/* Warna saat batang scroll di-hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--hover-orange);
}

body {
    font-family: "Plus Jakarta Sans", sans-serif;
    color: var(--text-dark);
    background-color: #fafafa;
    padding-top: 46px;
}

section {
    position: relative;
}

.section-padding {
    padding: 80px 0;
}
@media (min-width: 992px) {
    .section-padding {
        padding: 100px 0;
    }

    .navbar-nav .nav-link::after {
        content: "";
        position: absolute;
        width: 0;
        height: 2px;
        bottom: 0;
        left: 50%;
        background-color: var(--primary-orange);
        transition: all 0.3s ease;
        transform: translateX(-50%);
    }

    .navbar-nav .nav-link:hover::after,
    .navbar-nav .nav-link.active::after {
        width: 80%; /* Garis muncul saat active atau hover */
    }
}

/* Utility Custom */
.text-orange {
    color: var(--primary-orange) !important;
}
.bg-orange {
    background-color: var(--primary-orange) !important;
}
.bg-soft-orange {
    background-color: var(--soft-orange) !important;
}
.badge-soft-orange {
    background-color: #fff8f3 !important; /* Warna krem lembut */
    border: 1px solid rgba(255, 107, 0, 0.2) !important;
    color: #ff6b00; /* Orange utama */
    font-weight: 700;
}
.tracking-wide {
    letter-spacing: 1.5px;
}

/* Navbar & Scrollspy Active State */
.navbar {
    background-color: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: all var(--transition-speed) ease;
    z-index: 1050; /* Standar Bootstrap untuk elemen fixed */
    transition:
        background-color 0.3s ease,
        box-shadow 0.3s ease;
}

.nav-link {
    font-weight: 600;
    color: var(--text-muted);
    padding: 0.5rem 1rem !important;
    transition: var(--transition-speed);
}

.nav-link:hover {
    color: var(--primary-orange);
}

.nav-link.active {
    color: var(--primary-orange) !important;
}

/* Buttons */
.btn-orange {
    background-color: var(--primary-orange);
    color: white;
    border-radius: 50px;
    font-weight: 600;
    transition: var(--transition-speed);
    border: none;
}
.btn-orange:hover {
    background-color: var(--hover-orange);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(255, 107, 0, 0.2) !important;
}
.btn-outline-orange {
    border: 2px solid var(--primary-orange);
    color: var(--primary-orange);
    border-radius: 50px;
    font-weight: 600;
    transition: var(--transition-speed);
}
.btn-outline-orange:hover {
    background: var(--primary-orange);
    color: white;
}

.hover-lift {
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.hover-lift:hover {
    transform: translateY(-3px);
}

/* Forms & Inputs Customization */
.form-control:focus,
.form-select:focus {
    box-shadow: 0 0 0 0.25rem rgba(255, 107, 0, 0.15);
    border-color: var(--primary-orange) !important;
    background-color: #fff !important;
}
.custom-textarea {
    resize: vertical;
    min-height: 120px;
}

/* Modern Cards */
.modern-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    transition: all var(--transition-speed) ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.modern-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.1);
    border-color: rgba(255, 107, 0, 0.2);
}

.course-img-wrapper {
    height: 220px;
    overflow: hidden;
}
.course-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s ease-in-out;
}
.modern-card:hover .course-img-wrapper img {
    transform: scale(1.08);
}

/* Feature Icon */
.feature-icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: 24px;
    background-color: var(--soft-orange);
    color: var(--primary-orange);
    margin-bottom: 1rem;
    transition: transform var(--transition-speed);
}
.modern-card:hover .feature-icon {
    transform: scale(1.1) rotate(5deg);
}

/* Pricing Card Special */
.pricing-card.popular {
    border: 2px solid var(--primary-orange);
    position: relative;
    transform: scale(1.02); /* Sedikit lebih besar dari yg lain di desktop */
}
.pricing-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 991px) {
    .pricing-card.popular {
        transform: scale(1);
    } /* Normal di mobile */
    .navbar-nav .nav-link.active {
        background-color: var(--soft-orange);
        border-radius: 10px;
        padding-left: 1.5rem !important; /* Memberi kesan menjorok saat aktif */
    }
}

/* Social Icons */
.social-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: white;
    font-size: 1.2rem;
    transition: var(--transition-speed);
    text-decoration: none;
}
.social-icon:hover {
    transform: translateY(-4px) scale(1.1);
    color: white;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.bg-wa {
    background-color: #25d366;
}
.bg-ig {
    background: radial-gradient(
        circle at 30% 107%,
        #fdf497 0%,
        #fd5949 45%,
        #d6249f 60%,
        #285aeb 90%
    );
}
.bg-tt {
    background-color: #000000;
}
.bg-fb {
    background-color: #1877f2;
}
.bg-yt {
    background-color: #ff0000;
}
.bg-in {
    background-color: #0a66c2;
}

/* Contact Sidebar min height */
.contact-sidebar {
    min-height: 400px;
}

/* Modal Styling */
.hero-modal-img {
    height: 200px;
}
@media (min-width: 768px) {
    .hero-modal-img {
        height: 300px;
    }
}
.list-styled-custom li {
    margin-bottom: 8px;
    padding-left: 10px;
}

/* Footer Map */
.map-wrapper {
    height: 180px;
}

.navbar-nav .nav-link {
    position: relative;
    padding: 0.5rem 1rem;
    transition: color 0.3s ease;
}

.navbar-nav .nav-link.active {
    color: var(--primary-orange) !important;
    font-weight: 700;
}

/* --- HERO SECTION MODERNIZATION --- */

/* Gradient Text */
.text-gradient-orange {
    background: linear-gradient(135deg, #ff6b00 0%, #ff8a00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* Animasi Melayang untuk Gambar */
.float-anim {
    animation: float 6s ease-in-out infinite;
}
.float-anim-reverse {
    animation: float-reverse 5s ease-in-out infinite;
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-15px);
    }
    100% {
        transform: translateY(0px);
    }
}

@keyframes float-reverse {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(15px);
    } /* Bergerak ke bawah dulu */
    100% {
        transform: translateY(0px);
    }
}

/* Avatar Group Overlap */
.avatar-group .ms-n2 {
    margin-left: -0.75rem; /* Membuat foto saling menimpa */
}

#hero {
    overflow: hidden; /* Mencegah gradient meluber keluar section */
}
#hero .bg-orange.opacity-10 {
    z-index: 0;
    pointer-events: none; /* Agar tidak menghalangi klik pada tombol */
}

/* Pastikan container teks naik ke atas */
#hero .container {
    position: relative;
    z-index: 2;
}

/* --- FEATURES SECTION --- */

#fitur {
    background-color: #f8fafc !important; /* Abu-abu biru sangat muda (Slate 50) */
    position: relative;
}

/* Menambahkan variasi warna pada icon background agar tidak monoton oranye semua */
.feature-card-premium {
    position: relative;
    background: #ffffff; /* Putih bersih agar kontras dengan latar belakang */
    border: 1px solid rgba(255, 107, 0, 0.08);
    border-radius: 24px;
    padding: 3rem 2rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

    /* Shadow lebih gelap agar dimensi terlihat jelas */
    box-shadow:
        0 10px 25px rgba(30, 41, 59, 0.05),
        0 4px 6px rgba(30, 41, 59, 0.02);

    z-index: 1;
    overflow: hidden;
}

.feature-card-premium:hover {
    transform: translateY(-15px); /* Melompat lebih tinggi */
    border-color: var(--primary-orange);

    /* Shadow "Wah" yang lebih pekat */
    box-shadow:
        0 25px 50px -12px rgba(255, 107, 0, 0.25),
        0 15px 20px -5px rgba(0, 0, 0, 0.08);
}

.feature-card-premium::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: var(--primary-orange);
    transition: width 0.4s ease;
}

.feature-card-premium:hover::after {
    width: 100%;
}

/* Garis dekoratif di dalam card (Opsional untuk detail premium) */
.feature-card-premium::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    background: linear-gradient(
        135deg,
        rgba(255, 107, 0, 0.05) 0%,
        rgba(255, 255, 255, 0) 100%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
}

.feature-card-premium:hover::before {
    opacity: 1;
}

/* Icon Styling di dalam Premium Card */
.feature-card-premium .feature-icon {
    width: 70px;
    height: 70px;
    background: #fff;
    color: var(--primary-orange);
    border: 2px solid var(--soft-orange);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 2rem;
    transition: all 0.4s ease;
}

.feature-card-premium:hover .feature-icon {
    background: var(--primary-orange);
    color: #fff;
    border-color: var(--primary-orange);
    transform: scale(1.1) rotate(8deg);
    box-shadow: 0 10px 20px rgba(255, 107, 0, 0.3);
}

/* Pertegas judul saat di-hover */
.feature-card-premium h4 {
    transition: color 0.3s ease;
}

.feature-card-premium:hover h4 {
    color: var(--primary-orange);
}

/* Jarak baris teks yang lebih nyaman dibaca */
.lh-lg {
    line-height: 1.8 !important;
}

/* --- COURSE CARDS STYLING --- */

.course-card {
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: all 0.4s ease;
}

.course-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.course-card .course-img-wrapper {
    height: 220px;
    border-radius: 20px 20px 0 0;
}

.course-card .course-img-wrapper img {
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.course-card:hover .course-img-wrapper img {
    transform: scale(1.08); /* Efek zoom halus saat di-hover */
}

/* Membatasi teks agar tingginya selalu sama meskipun panjang teks berbeda */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Maksimal 2 baris */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-title {
    transition: color 0.3s ease;
    cursor: pointer;
}

.course-card:hover .course-title {
    color: var(--primary-orange);
}

/* --- MODAL COURSE DETAIL STYLING --- */

/* Efek kursor pada gambar preview */
.cursor-pointer {
    cursor: pointer;
}

/* Animasi overlay tombol play saat di hover */
.play-overlay {
    transition: all 0.3s ease;
}

.course-preview-card:hover .play-overlay {
    background-color: rgba(0, 0, 0, 0.3) !important;
}

.course-preview-card:hover .play-overlay .bg-white {
    transform: scale(1.1);
    box-shadow: 0 10px 20px rgba(255, 107, 0, 0.4) !important;
}

/* Penyesuaian list standar */
.pl-3 {
    padding-left: 1.2rem;
}

@media (min-width: 992px) {
    .sticky-content {
        position: -webkit-sticky;
        position: sticky;
        top: 20px; /* Jarak dari atas modal saat menempel */
        height: fit-content;
    }
}

.modal-dialog-scrollable .modal-body {
    scrollbar-width: none; /* Untuk Firefox */
    -ms-overflow-style: none; /* Untuk Internet Explorer/Edge */
}

.modal-dialog-scrollable .modal-body::-webkit-scrollbar {
    display: none; /* Untuk Chrome, Safari, dan Opera */
}

/* --- MENTOR CARDS STYLING --- */

#pengajar {
    background-color: #f1f5f9 !important;
    position: relative;
}

.mentor-card {
    background: #ffffff !important; /* Putih murni agar kontras dengan latar belakang */
    border-radius: 30px; /* Sudut lebih membulat agar terlihat premium */
    border: 1px solid rgba(255, 107, 0, 0.05); /* Border orange hampir transparan */
    padding: 3rem 2rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

    /* Shadow berlapis agar kartu terlihat dalam (Depth) */
    box-shadow:
        0 10px 25px -5px rgba(15, 23, 42, 0.1),
        0 8px 10px -6px rgba(15, 23, 42, 0.1);
}

.mentor-card:hover {
    transform: translateY(-15px); /* Melompat lebih tinggi saat di-hover */
    border-color: var(--primary-orange); /* Border orange menyala saat hover */

    /* Shadow menjadi lebih kuat dan berwarna orange tipis (Glow) */
    box-shadow:
        0 25px 50px -12px rgba(255, 107, 0, 0.2),
        0 15px 25px -5px rgba(0, 0, 0, 0.05);
}

.mentor-img-wrapper {
    width: 140px; /* Sedikit lebih besar */
    height: 140px;
    padding: 8px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.mentor-img-wrapper img {
    border: none;
}

.mentor-card:hover .mentor-img-wrapper img {
    transform: scale(1.05); /* Zoom in halus pada foto saat card di-hover */
}

/* Social Media Icons Khusus Mentor */
.mentor-social-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #f8f9fa; /* Warna abu-abu terang bawaan bootstrap */
    color: var(--text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Efek memantul */
    text-decoration: none;
}

.mentor-social-icon:hover {
    background-color: var(--primary-orange);
    color: #fff;
    transform: translateY(-4px);
    box-shadow: 0 6px 15px rgba(255, 107, 0, 0.3);
}

.edu-badge {
    background-color: var(--soft-orange);
    color: var(--primary-orange);
    border-radius: 12px;
    padding: 8px 15px;
    font-weight: 600;
    font-size: 0.85rem;
}

/* --- PRICING CARDS STYLING --- */

#pricing {
    background-color: #f1f5f9 !important;
    position: relative;
}

.pricing-card {
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    flex-direction: column;
}

.pricing-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

/* Card Paling Diminati (Tengah) */
.pricing-card-popular {
    border: 2px solid var(--primary-orange) !important;
    box-shadow: 0 15px 35px rgba(255, 107, 0, 0.15);
}

.pricing-card-popular:hover {
    transform: scale(1.05) translateY(-5px); /* Kombinasi Zoom dan Naik */
    box-shadow: 0 25px 50px rgba(255, 107, 0, 0.25);
}

/* Penyesuaian Layout Desktop untuk Kartu Tengah */
@media (min-width: 992px) {
    .pricing-card-popular {
        transform: scale(1.05); /* Secara default lebih besar di desktop */
        z-index: 10; /* Berada di atas kartu lainnya */
    }
}

/* --- PREMIUM FAQ ACCORDION --- */

.custom-accordion .accordion-item {
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.03) !important;
}

.custom-accordion .accordion-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(255, 107, 0, 0.08) !important;
    border-color: rgba(255, 107, 0, 0.2) !important;
}

/* Modifikasi Accordion Button */
.custom-accordion .accordion-button {
    color: var(--text-dark);
    font-size: 1.05rem;
    box-shadow: none !important; /* Hilangkan glow biru bawaan bootstrap */
}

/* Saat pertanyaan dibuka (Active state) */
.custom-accordion .accordion-button:not(.collapsed) {
    color: var(--primary-orange);
    background-color: transparent;
    box-shadow: none;
}

/* Modifikasi Ikon Panah Accordion bawaan Bootstrap */
.custom-accordion .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231E293B'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Panah menjadi warna orange saat dibuka */
.custom-accordion .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FF6B00'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: rotate(-180deg);
}

/* --- CONTACT FORM STYLING --- */

.contact-sidebar {
    min-height: 100%; /* Memastikan sidebar sama tinggi dengan form */
}

.custom-input {
    transition: all 0.3s ease;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02); /* Inner shadow halus */
}

/* Interaksi saat diklik (Focus) */
.custom-input:focus {
    background-color: #ffffff !important;
    box-shadow:
        0 0 0 4px rgba(255, 107, 0, 0.15),
        inset 0 2px 4px rgba(0, 0, 0, 0.02) !important;
    transform: translateY(-2px);
}

/* Modifikasi validasi bawaan Bootstrap agar sesuai tema */
.was-validated .form-control:valid,
.was-validated .form-select:valid {
    border-color: #198754 !important;
    background-image: none !important; /* Hapus icon centang default jika dirasa mengganggu */
}

.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
    border-color: #dc3545 !important;
    background-color: rgba(220, 53, 69, 0.05) !important;
}

/* --- FOOTER STYLING --- */

/* Efek transisi warna untuk link footer */
.transition-color {
    transition: color 0.3s ease;
}

.footer-links a:hover,
.list-inline-item a:hover {
    color: var(--primary-orange) !important;
    text-decoration: underline !important;
}

/* Modifikasi Social Icon khusus di Footer agar sedikit lebih kecil dan elegan */
.social-icon-footer {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px; /* Menggunakan kotak membulat daripada lingkaran penuh */
    color: white;
    font-size: 1rem;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    text-decoration: none;
}

.social-icon-footer:hover {
    transform: translateY(-3px);
    color: white;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

/* --- ABOUT & BLOG SECTION STYLING --- */

/* Efek Glassmorphism untuk blok statistik di Tentang Kami */
.backdrop-blur {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* --- BLOG CARDS --- */
.blog-card {
    border-radius: 24px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.4s ease;
}

.blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

/* Animasi Zoom pada Gambar Blog */
.img-zoom-hover {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.blog-card:hover .img-zoom-hover {
    transform: scale(1.1);
}

/* Interaksi Judul Blog */
.blog-title-link {
    transition: color 0.3s ease;
}

.blog-card:hover .blog-title-link {
    color: var(--primary-orange) !important;
}

/* Membatasi teks abstrak blog jadi 3 baris */
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Link Baca Selengkapnya */
.read-more-link i {
    transition: transform 0.3s ease;
    display: inline-block;
}

.read-more-link:hover i {
    transform: translateX(5px); /* Panah bergeser ke kanan saat dihover */
}

/* --- LEGAL MODAL STYLING --- */

/* Custom List untuk Dokumen Legal */
.custom-legal-list {
    padding-left: 1.2rem;
}

.custom-legal-list li {
    margin-bottom: 0.5rem;
    position: relative;
    list-style-type: disc;
}

.custom-legal-list li::marker {
    color: var(
        --primary-orange
    ); /* Mengubah warna titik (bullet) menjadi oranye */
}

/* Modifikasi Scrollbar khusus di dalam Modal Legal agar tipis dan elegan */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: #f8f9fa;
    border-radius: 10px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1; /* Abu-abu terang */
    border-radius: 10px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* --- BLOG DETAIL STYLING --- */

/* Tipografi untuk Isi Artikel */
.article-content {
    font-size: 1.1rem; /* Ukuran font lebih besar agar nyaman dibaca */
    line-height: 1.9; /* Jarak antar baris yang lega */
    color: #334155; /* Warna teks abu-abu gelap (bukan hitam pekat) agar mata tidak cepat lelah */
}

.article-content p {
    margin-bottom: 1.5rem;
}

/* Kutipan (Blockquote) Estetik */
.custom-blockquote {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

/* Format Snippet Kode */
.code-snippet {
    border: 1px solid #333;
}
.code-snippet pre {
    font-family: "Fira Code", "Courier New", Courier, monospace;
    font-size: 0.95rem;
}

/* Interaksi Hover pada Tags & Buttons */
.hover-orange-bg {
    transition: all 0.3s ease;
}
.hover-orange-bg:hover {
    background-color: var(--primary-orange) !important;
    color: #fff !important;
    border-color: var(--primary-orange) !important;
}

/* Sticky Sidebar untuk Layar Desktop */
@media (min-width: 992px) {
    .sticky-sidebar {
        position: -webkit-sticky;
        position: sticky;
        top: 100px; /* Jarak dari atas layar saat discroll (perhitungkan tinggi navbar Anda) */
    }
}

/* Efek Hover untuk Artikel Terkait di Sidebar */
.group-hover:hover .group-hover-text {
    color: var(--primary-orange) !important;
    transition: color 0.2s ease;
}

/* --- LOGIN MODAL STYLING --- */

/* Modifikasi Floating Label agar lebih bersih dengan background light */
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
    background-color: #ffffff !important; /* Berubah putih saat diketik */
    box-shadow: 0 0 0 4px rgba(255, 107, 0, 0.1) !important;
}

/* Warna label saat input aktif */
.form-floating > .form-control:focus ~ label {
    color: var(--primary-orange);
    font-weight: 600;
}

/* Modifikasi Checkbox */
.custom-checkbox:checked {
    background-color: var(--primary-orange);
    border-color: var(--primary-orange);
}

.custom-checkbox:focus {
    box-shadow: 0 0 0 0.25rem rgba(255, 107, 0, 0.25);
}

/* --- SWEETALERT2 PREMIUM CUSTOMIZATION --- */

/* ===================================================
   SWEETALERT2 ZATHCO - PLAYFUL & MODERN EDITION
   =================================================== */

/* 1. Latar Belakang Blur Dramatis (Glassmorphism) */
div:where(.swal2-container).swal2-backdrop-show {
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    background: rgba(
        15,
        23,
        42,
        0.4
    ) !important; /* Warna biru gelap transparan */
}

/* 2. Bentuk Modal Lebih Melengkung & Elegan */
.swal2-popup.zathco-swal {
    width: 450px !important; /* Paksa lebar konsisten untuk semua tipe alert */
    overflow: visible !important; /* Agar ikon yang melayang ke atas tidak terpotong */
    padding-top: 5rem !important; /* Ruang ekstra untuk ikon agar tidak menabrak header */
    border-radius: 35px !important;
}

/* 3. Teks Judul & Deskripsi Lebih Asik */
.swal2-title {
    font-weight: 900 !important;
    font-size: 1.8rem !important;
    color: #1e293b !important;
    letter-spacing: -0.5px !important;
}

.swal2-html-container {
    color: #64748b !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    margin-top: 0.5rem !important;
}

/* 4. Animasi Ikon Mengambang (Floating 3D) */
@keyframes floatWow {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-15px) rotate(3deg);
    } /* Jangan terlalu tinggi */
    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

.icon-wow {
    animation: floatWow 3s ease-in-out infinite;
    display: block;
    margin: 0 auto;
    max-width: 140px; /* Batasi maksimal ukuran gambar */
    height: auto;
    filter: drop-shadow(0 15px 15px rgba(0, 0, 0, 0.1));
}

.swal2-icon {
    border: none !important;
    overflow: visible !important;
    margin-top: -3.5rem !important; /* Menarik ikon sedikit ke atas agar estetik */
    background: transparent !important;
}

/* 5. Tombol Konfirmasi Gradient & Glow Super Kece */
div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm {
    background: linear-gradient(135deg, #ff6b00, #ff9500) !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 50rem !important;
    padding: 1rem 3rem !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 25px rgba(255, 107, 0, 0.3) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:hover {
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 15px 35px rgba(255, 107, 0, 0.4) !important;
}

/* 6. Tombol Batal Lebih Estetik */
div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: none !important;
    border-radius: 50rem !important;
    padding: 1rem 2.5rem !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    transform: translateY(-2px) !important;
}

/* --- SECTION EVENT STYLING --- */

/* Efek zoom perlahan pada gambar saat card di-hover */
.hover-zoom-img {
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.event-card:hover .hover-zoom-img {
    transform: scale(1.08);
}

/* Kotak Tanggal bergaya Glassmorphism */
.date-badge {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    min-width: 65px;
}

/* Efek Blur untuk Badge Online/Offline */
.backdrop-blur {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Memotong teks panjang menjadi 2 baris saja (Ellipsis) */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Transisi Warna Teks */
.hover-text-orange {
    transition: color 0.3s ease;
}
.hover-text-orange:hover {
    color: var(--primary-orange) !important;
}

/* Tombol Quick View Inverse */
.hover-bg-orange:hover {
    background-color: var(--primary-orange) !important;
    border-color: var(--primary-orange) !important;
    color: #ffffff !important;
}

/* Gradasi Gelap Transparan di atas gambar Modal */
.bg-gradient-dark-up {
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.9) 0%,
        rgba(0, 0, 0, 0) 100%
    );
}

/* Mengatur Z-Index agar link judul bisa diklik tanpa terhalang div lain */
.stretched-link-exception {
    position: relative;
    z-index: 1;
}

@media (min-width: 768px) {
    .border-end-md {
        border-right: 1px dashed #dee2e6;
    }
}

/* ===================================================
ZATHSOFT PREMIUM MODAL STYLING
=================================================== */

#team-tabs .nav-link {
    color: #475569 !important;
    border: 1px solid transparent;
}
#team-tabs .nav-link.active {
    background-color: #ff6b00 !important; /* Gunakan warna solid jika var bermasalah */
    color: #ffffff !important; /* Paksa teks jadi putih */
    font-weight: 800 !important;
    box-shadow: 0 4px 12px rgba(255, 107, 0, 0.3);
    border: none !important;
}
.zathsoft-scroll-container {
    display: flex;
    flex-nowrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 15px;
    padding-top: 10px;
    /* Menyembunyikan scrollbar di semua browser tanpa merusak scrollbar utama */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

.zathsoft-scroll-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}
/* 3. Snap Effect untuk HP (Geser akan pas berhenti di tengah card) */
.snap-x {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* Lembut di iOS */
}
.snap-x-mandatory {
    scroll-snap-type: x mandatory;
}
.snap-center {
    scroll-snap-align: center;
}

/* 1. Efek Glassmorphism Ringan pada Popup */
.swal2-popup.zathco-swal,
.modal-content.zathsoft-popup {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95) !important;
}

/* 2. Bayangan Mewah Berlapis (Shadow-2xl) */
.shadow-2xl {
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.15),
        0 10px 20px -5px rgba(0, 0, 0, 0.1) !important;
}

/* 3. Link Bergaris Putus di Footer */
.zathsoft-link {
    border-bottom: 2px dashed rgba(255, 107, 0, 0.3);
    transition: all 0.3s ease;
}
.zathsoft-link:hover {
    border-bottom-color: rgba(255, 107, 0, 1);
    color: #e66000 !important;
}

/* 4. Animasi Denyut pada Ikon Hati */
@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.8;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* 5. Styling Kartu Anggota Tim */
.member-card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid #f1f5f9 !important;
}
.member-card:hover {
    background-color: #ffffff !important;
    border-color: rgba(255, 107, 0, 0.1) !important;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05) !important;
}
.member-card:hover .member-avatar {
    transform: scale(1.05);
    border-color: rgba(255, 107, 0, 0.2) !important;
    transition: all 0.4s ease;
}

/* 6. Ikon Sosmed Individu */
.individual-socials a {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
}
.individual-socials a.hover-dark:hover {
    background-color: #1e293b !important;
    color: #ffffff !important;
    border-color: #1e293b !important;
    transform: translateY(-2px);
}

/* 7. Tombol CTA Utama (Premium Button) */
.btn-premium {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    border: none !important;
    transition: all 0.3s ease;
    overflow: hidden;
    position: relative;
}
.btn-premium:hover {
    background: linear-gradient(135deg, #0f172a 0%, #000000 100%) !important;
    box-shadow: 0 15px 30px rgba(255, 107, 0, 0.2) !important; /* Efek Glow Oranye */
}
/* Efek Cahaya Melintas saat Hover */
.btn-premium::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -60%;
    width: 20%;
    height: 200%;
    background: rgba(255, 255, 255, 0.1);
    transform: rotate(30deg);
    transition: all 0.5s ease;
}
.btn-premium:hover::after {
    left: 120%;
}

/* 8. Responsivitas Border */
@media (min-width: 992px) {
    .border-end-lg {
        border-right: 1px solid #e2e8f0 !important;
    }
}

/* ===================================================
   TESTIMONIAL CARDS STYLING
   =================================================== */

#testimonials {
    background-color: #f8fafc !important; /* Warna Slate 50 (sangat lembut) */
}

.testimonial-card {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important; /* Border tipis agar tegas */
    transition: all 0.4s ease-in-out;
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.05),
        0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
}

.testimonial-card:hover {
    transform: translateY(-10px);
    background-color: #ffffff !important;
    border-color: rgba(255, 107, 0, 0.3) !important;
    /* Bayangan lebih mewah saat di-hover */
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}

/* Memastikan kutipan teks terlihat bersih */
.testimonial-card p {
    font-style: italic;
}

/* Gradasi khusus untuk card testimonial yang berwarna gelap (Card ke-3) */
.bg-gradient-orange-dark {
    background: radial-gradient(
        circle at top right,
        rgba(255, 107, 0, 0.4) 0%,
        rgba(33, 37, 41, 0) 70%
    );
}

/* Mengatur warna border top pemisah antara teks dan nama orang */
.testimonial-card .border-top {
    border-top-color: #f1f5f9 !important;
}

.bi-quote {
    color: #f1f5f9 !important; /* Warna abu-abu sangat muda agar tidak menabrak teks */
    opacity: 0.5;
}
