/* Navbar: Responsif dengan Shadow Halus */

.body {
    margin-top:70px;
}

.navbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e9ecef;
    padding: 1rem 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: background-color 0.3s ease;
}

.navbar-brand {
    font-weight: 700;
    font-size: 1.7rem;
    color: #212529 !important;
}

.nav-link {
    color: #495057 !important;
    font-weight: 500;
    margin-left: 1.2rem;
    transition: color 0.3s ease;
}

.nav-link:hover,
.nav-link.active {
    color: #0d6efd !important;
}

/* Hero Full-Width: Background Futuristik, Responsif Penuh */
.hero-full {
    position: relative;
    min-height: 90vh;
    background: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
                url('https://img.freepik.com/free-photo/abstract-dark-blue-futuristic-digital-grid-background_53876-104051.jpg') center center / cover no-repeat;
    display: flex;
    align-items: center;
    color: white;
    text-align: center;
}

.hero-full .display-3 {
    font-weight: 800;
    letter-spacing: -0.8px;
}

.hero-full .lead {
    font-size: 1.35rem;
    max-width: 900px;
    margin: 0 auto 3rem;
    opacity: 0.95;
}

/* Hero Split: Teks + Gambar, Responsif Stacked di Mobile */
.hero-split {
    padding: 6rem 0;
    background-color: #f8f9fa;
    
}

.hero-split img {
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s ease;
}

.hero-split:hover img {
    transform: scale(1.02);
}

/* General Cards: Hover Animasi Kartun, Responsif Height */
.card {
    border: none;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    background-color: #ffffff;
}

.card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
}

.card-img-top {
    object-fit: cover;
    transition: transform 0.5s ease;
}

.card:hover .card-img-top {
    transform: scale(1.05);
}

.card-title {
    font-weight: 600;
    font-size: 1.15rem;
    color: #212529;
}

.card-text {
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Carousel Jurnal: Fokus Responsif Maksimal, Maks 3 per Slide, Tombol Besar & Adaptif */
#journalsCarousel .carousel-inner {
    overflow: hidden;
}

#journalsCarousel .card-img-top {
    height: 280px; /* Default untuk desktop */
}

#journalsCarousel .carousel-control-prev,
#journalsCarousel .carousel-control-next {
    width: 60px;
    height: 60px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

#journalsCarousel .carousel-control-prev:hover,
#journalsCarousel .carousel-control-next:hover {
    opacity: 1;
}

#journalsCarousel .carousel-control-prev {
    left: 15px;
}

#journalsCarousel .carousel-control-next {
    right: 15px;
}

#journalsCarousel .carousel-control-prev-icon,
#journalsCarousel .carousel-control-next-icon {
    width: 35px;
    height: 35px;
}

/* Berita Card: Responsif Gambar */
.news-card .card-img-top {
    height: 200px;
}

/* Portofolio Card: Responsif Gambar */
.portfolio-card .card-img-top {
    height: 250px;
}

/* Footer: Responsif Kolom Stacked di Mobile */
.footer {
    background-color: #ffffff;
    border-top: 1px solid #e9ecef;
    padding: 4rem 0 2rem;
}

.footer .fw-bold {
    color: #212529;
    font-size: 1.2rem;
}

.footer .text-muted {
    color: #6c757d !important;
}

.footer a.text-decoration-none {
    transition: color 0.3s ease;
}

.footer a.text-decoration-none:hover {
    color: #0d6efd !important;
}

.footer .social-icons a {
    font-size: 1.6rem;
    transition: color 0.3s ease;
}

.footer .social-icons a:hover {
    color: #0d6efd !important;
}

/* Media Queries: Responsif Ekstra untuk Semua Device */
@media (max-width: 992px) {
    .hero-full {
        min-height: 80vh;
    }
    .hero-full .display-3 {
        font-size: 3rem;
    }
    .hero-full .lead {
        font-size: 1.2rem;
    }
    #journalsCarousel .card-img-top {
        height: 240px;
    }
    .portfolio-card .card-img-top {
        height: 220px;
    }
}

@media (max-width: 768px) {
    .hero-full {
        min-height: 70vh;
    }
    .hero-full .display-3 {
        font-size: 2.5rem;
    }
    .hero-full .lead {
        font-size: 1.1rem;
    }
    .hero-split {
        padding: 4rem 0;
    }
    #journalsCarousel .carousel-control-prev,
    #journalsCarousel .carousel-control-next {
        width: 50px;
        height: 50px;
        left: 10px; /* Adjust posisi untuk tablet/mobile */
        right: 10px;
    }
    #journalsCarousel .carousel-control-prev-icon,
    #journalsCarousel .carousel-control-next-icon {
        width: 25px;
        height: 25px;
    }
    #journalsCarousel .card-img-top {
        height: 200px;
    }
    .news-card .card-img-top {
        height: 180px;
    }
    .portfolio-card .card-img-top {
        height: 200px;
    }
    .btn-lg {
        padding: 0.8rem 1.8rem;
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .navbar-brand {
        font-size: 1.5rem;
    }
    .hero-full .display-3 {
        font-size: 2.2rem;
    }
    .hero-full .btn {
        display: block;
        width: 100%;
        margin-bottom: 1rem;
    }
    .hero-split .row {
        flex-direction: column-reverse; /* Gambar di atas teks di mobile */
    }
    #journalsCarousel .carousel-control-prev,
    #journalsCarousel .carousel-control-next {
        width: 40px;
        height: 40px;
    }
    #journalsCarousel .carousel-control-prev-icon,
    #journalsCarousel .carousel-control-next-icon {
        width: 20px;
        height: 20px;
    }
    #journalsCarousel .card-img-top {
        height: 180px;
    }
    .footer .row {
        text-align: center;
    }
    .footer .social-icons {
        justify-content: center;
    }
}