/* Custom CSS for Masjid Al-Amin Website */

/* Global Styles */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
/* Font tambahan untuk tema artikel Clean Blog */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,700;1,400;1,700&family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700&display=swap');


:root {
    --primary: #16a34a;      /* Warna Hijau Utama */
    --primary-light: #4ade80; /* Warna Hijau Terang */
    --accent: #fbbf24;       /* Warna Kuning Aksen */
    --bg: #f8fafc;
    --text: #222;
    --text-muted: #6c757d;   /* Warna teks abu-abu */
    --white: #fff;
    --shadow: 0 4px 24px rgba(22,163,74,0.10);
}

* {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}
body {
    font-family: 'Poppins', Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    font-size: 16px; /* Ukuran font dasar */
}

p {
    line-height: 1.7; /* Jarak baris standar untuk paragraf */
}

/* ================================== */
/* == STYLING KOMPONEN UTAMA       == */
/* ================================== */

/* --- Navigation --- */
.navbar {
    background: rgba(255,255,255,0.85);
    box-shadow: var(--shadow);
    padding: 0.7rem 0;
    transition: background 0.3s;
}
/* ... (Gaya navbar lainnya tetap sama) ... */
.navbar .navbar-brand{font-weight:700;font-size:1.5rem;color:var(--primary);letter-spacing:1px;display:flex;align-items:center}.navbar .navbar-brand i{font-size:1.7rem;margin-right:8px;color:var(--primary-light)}.navbar .nav-link{color:var(--text);font-weight:500;margin-left:1.2rem;transition:color .2s}.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--primary)}

/* --- Hero Section --- */
.hero-section .carousel-item {
    height: 85vh;
    min-height: 450px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}
.hero-section .carousel-item::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.35);
}
.hero-section .hero-content {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2;
    color: var(--white);
    text-align: center;
    padding: 0 24px;
}
/* ... (Gaya hero content lainnya tetap sama) ... */
.hero-section .hero-content h1{font-size:2.7rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 8px rgba(0,0,0,.3)}.hero-section .hero-content p{font-size:1.2rem;margin-bottom:2rem;max-width:600px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-section .btn-cta{font-size:1.1rem;padding:14px 36px;border-radius:32px;font-weight:700;background:linear-gradient(120deg,var(--primary) 0%,var(--primary-light) 100%);border:none;color:var(--white);box-shadow:0 2px 12px rgba(22,163,74,.13);transition:.2s}.hero-section .btn-cta:hover{transform:translateY(-2px) scale(1.04)}

/* --- Carousel Arrows --- */
.carousel-arrows-bottom {
    position: absolute;
    right: 32px;
    bottom: 32px;
    display: flex;
    gap: 12px;
    z-index: 3;
}
/* ... (Gaya carousel arrows lainnya tetap sama) ... */
.carousel-arrows-bottom .carousel-control-prev,.carousel-arrows-bottom .carousel-control-next{position:static;display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:rgba(255,255,255,.2);border-radius:50%;opacity:1;transition:background .2s}.carousel-arrows-bottom .carousel-control-prev:hover,.carousel-arrows-bottom .carousel-control-next:hover{background:var(--primary)}

/* --- General Sections & Cards --- */
.section-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 1.5rem;
    text-align: center;
}
.card-modern {
    background: var(--white);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 2rem 1.5rem;
    margin-bottom: 2rem;
    transition: box-shadow 0.2s;
}
.card-modern:hover {
    box-shadow: 0 8px 32px rgba(22,163,74,0.18);
}
/* ... (Gaya komponen lain seperti prayer-card, profile-section, dll, tetap sama) ... */
.prayer-times-grid{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center}.prayer-card{flex:1 1 120px;min-width:120px;max-width:160px;background:linear-gradient(120deg,var(--primary-light) 0%,var(--primary) 100%);color:#fff;border-radius:14px;padding:1.2rem .7rem;text-align:center;box-shadow:0 2px 8px rgba(22,163,74,.1);font-size:1.1rem;font-weight:600;position:relative}.prayer-card .icon{font-size:1.7rem;margin-bottom:.3rem;color:var(--accent)}.prayer-card.next{border:2.5px solid var(--accent);color:var(--accent);background:var(--white)}.profile-section{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}.profile-img-container{flex:1 1 400px;max-width:720px;box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.profile-carousel-img{aspect-ratio:16 / 9;object-fit:cover;width:100%}.profile-info{flex:1 1 320px}.facility-card-simple{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 10px;background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;height:100%}.facility-card-simple:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.07)}.facility-icon{font-size:2rem;color:#16a34a;margin-bottom:12px}.facility-text{font-size:.9rem;font-weight:500;color:#4a5568}#profilMasjidCarousel .carousel-inner{border-radius:12px}#profilMasjidCarousel img{aspect-ratio:4 / 3;object-fit:cover}.facility-grid{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;margin-top:1.5rem}.facility-card{flex:1 1 120px;min-width:120px;max-width:160px;background:var(--white);border-radius:14px;box-shadow:0 2px 8px rgba(22,163,74,.1);text-align:center;padding:1.2rem .7rem;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}.facility-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px rgba(22,163,74,.15)}.facility-card .icon{font-size:1.5rem;color:var(--primary);margin-bottom:.3rem}.contact-section{display:flex;flex-wrap:wrap;gap:2rem;align-items:stretch}.contact-card{flex:1 1 320px;background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:2rem 1.5rem}.map-embed{flex:1 1 400px;width:100%;min-height:350px;border-radius:18px;border:none;box-shadow:var(--shadow)}.footer{background:var(--primary);color:var(--white);text-align:center;padding:1.5rem 0;margin-top:2rem}.footer .social-links a{color:var(--white);margin:0 .5rem;font-size:1.3rem;transition:color .2s}.footer .social-links a:hover{color:var(--accent)}

/* --- Gaya Berita di Halaman Utama --- */
.content-item {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    padding: 20px;
    background-color: var(--white);
    border-radius: 18px;
    box-shadow: var(--shadow);
    transition: box-shadow 0.2s;
}
.content-item:hover {
    box-shadow: 0 8px 32px rgba(22,163,74,0.18);
}
.content-image {
    flex: 0 0 220px;
}
/* ... (Gaya content-item lainnya tetap sama) ... */
.content-image img{width:100%;height:auto;border-radius:12px;display:block}.content-text{flex:1 1 auto}.content-text h3{margin-top:0;font-size:1.5rem;font-weight:600}.content-text p{font-size:1rem;line-height:1.6}

/* ==================================================== */
/* == GAYA & PERBAIKAN UNTUK TEMA HALAMAN ARTIKEL    == */
/* ==================================================== */

/* Mengganti font dasar khusus untuk halaman artikel */
.body-artikel {
    font-size: 19px;
    color: #343a40; /* Warna teks gelap yang lebih lembut */
    font-family: 'Lora', 'Times New Roman', serif;
    padding-top: 72px; /* Memberi ruang untuk navbar 'melayang' */
}
.body-artikel p {
    line-height: 1.7;
    margin: 30px 0;
}
.body-artikel h1, .body-artikel h2, .body-artikel h3, .body-artikel h4, .body-artikel h5, .body-artikel h6 {
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 800;
}

/* Navbar di Halaman Artikel */
.body-artikel .navbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background-color: transparent !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease-in-out;
}
.body-artikel .navbar .nav-link,
.body-artikel .navbar .navbar-brand {
    color: var(--white) !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.6);
}
.body-artikel .navbar .navbar-toggler-icon {
    filter: brightness(0) invert(1); /* Membuat ikon hamburger jadi putih */
}

/* Efek scroll pada Navbar */
.body-artikel .navbar-scrolled {
    background-color: var(--white) !important;
    box-shadow: var(--shadow) !important;
}
.body-artikel .navbar-scrolled .nav-link,
.body-artikel .navbar-scrolled .navbar-brand {
    color: var(--primary) !important;
    text-shadow: none;
}
.body-artikel .navbar-scrolled .navbar-toggler-icon {
    filter: none; /* Kembalikan warna ikon hamburger */
}

/* Header Gambar (Masthead) */
.body-artikel .masthead {
    margin-top: -72px; /* Menarik header ke atas mengisi ruang padding */
    position: relative;
    padding: 8rem 0;
    background: no-repeat center center;
    background-size: cover;
}
.body-artikel .masthead::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.45);
}
.body-artikel .masthead .post-heading {
    color: white;
    text-align: center;
    position: relative;
    z-index: 2;
}
.body-artikel .masthead .post-heading h1 { font-size: 45px; }
.body-artikel .masthead .post-heading .subheading { font-size: 22px; font-weight: 300; }
.body-artikel .masthead .post-heading .meta { font-size: 18px; font-style: italic; margin-top: 20px; }

/* Konten Artikel */
.article-content .section-heading { font-size: 32px; font-weight: 700; margin-top: 50px; }
.article-content .blockquote { font-style: italic; color: var(--text-muted); border-left: 4px solid #e9ecef; padding-left: 20px; margin: 30px 0; }
.article-content .caption { font-size: 14px; font-style: italic; display: block; text-align: center; color: var(--text-muted); margin: 10px 0 30px; }
.article-content img { border-radius: 8px; }

/* Penyesuaian Responsif untuk Masthead */
@media (max-width: 768px) {
    .body-artikel .masthead { padding: 5rem 0; }
    .body-artikel .masthead .post-heading h1 { font-size: 32px; }
    .body-artikel .masthead .post-heading .subheading { font-size: 18px; }
}
/* ================================== */
/* == RESPONSIVE DESIGN & PENYESUAIAN == */
/* ================================== */

@media (min-width: 992px) {
    .masthead {
        padding-top: 12rem;
        padding-bottom: 12rem;
    }
    .masthead .post-heading h1 {
        font-size: 80px;
    }
}

@media (max-width: 992px) {
    .profile-section, .contact-section {
        flex-direction: column;
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    /* Atur ulang ukuran font judul agar tidak terlalu besar */
    .hero-section .hero-content h1 {
        font-size: 2rem;
    }
    .section-title {
        font-size: 1.75rem;
    }
    .masthead .post-heading h1 {
        font-size: 35px;
    }
    .masthead .post-heading .subheading {
        font-size: 18px;
    }

    /* Susun kartu berita menjadi vertikal */
    .content-item {
        flex-direction: column;
        gap: 15px;
    }
    .content-image {
        flex-basis: auto;
        width: 100%;
    }

    /* Kurangi padding di semua seksi */
    .py-md-5 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    /* Posisikan tombol navigasi carousel agar tidak menutupi konten */
    .carousel-arrows-bottom {
        bottom: 15px;
        right: 15px;
    }
    .carousel-arrows-bottom .carousel-control-prev,
    .carousel-arrows-bottom .carousel-control-next {
        width: 40px;
        height: 40px;
    }
}