/* ===== BODY ===== */
body{
    font-family: 'Poppins', sans-serif;
    background-color:#f4fbf6;
    margin:0;
}

/* ===== BANNER ATAS ===== */
.top-banner{
    width:100%;
    background:#198754;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px 0;
}

.banner-logo{
    max-height:250px;
    height:auto;
    display:block;
}

/* ===== NAVBAR ===== */
.custom-navbar{
    background: linear-gradient(90deg,#0f5132,#198754);
}

.nav-link{
    color:white !important;
    font-weight:500;
}

.nav-link:hover{
    color:#20c997 !important;
}

/* ===== STICKY FOOTER SYSTEM ===== */
html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
}

.main-content {
    flex: 1;
}

/* ===== HERO ===== */
.hero{
    position:relative;
}

.hero-img{
    width:100%;
    height:300px;
    object-fit:cover;
}

/* ===== CARD ===== */
.card{
    border:none;
    border-radius:12px;
    transition:0.3s;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(0,0,0,0.1);
}

/* ===== FOOTER ===== */
.footer-main{
    background:linear-gradient(90deg,#0f5132,#198754);
    color:white;
}

.footer-main a{
    color:white;
    text-decoration:none;
}

.footer-main a:hover{
    color:#20c997;
}

.footer-bottom{
    background:#222;
    color:#ddd;
}

/* ===== WHATSAPP FLOAT ===== */
.wa-float{
    position:fixed;
    bottom:20px;
    right:20px;
    background:#25D366;
    color:white;
    font-size:24px;
    width:55px;
    height:55px;
    border-radius:50%;
    text-align:center;
    line-height:55px;
    box-shadow:0 5px 15px rgba(0,0,0,0.3);
    text-decoration:none;
}

/* ===== PAGINATION ===== */
.page-item.active .page-link{
    background-color:#198754;
    border-color:#0f5132;
}

.page-link{
    color:#198754;
}

/* ===== SLIDER ===== */
.slider-wrapper{
    position:relative;
}

.slider-img{
width:100%;
height:450px;
object-fit:cover;
}

.slider-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
}

.slider-wrapper{
position:relative;
}

/* HP */
@media (max-width:768px){

.slider-img{
height:250px;
}

.slider-title{
font-size:20px;
}

}
/* ===== INFOGRAFIS ===== */

.infografis-card{
    border-radius:12px;
    text-align:center;
    padding:10px;
    background:#ffffff;
    box-shadow:0 2px 10px rgba(0,0,0,0.08);
    transition:0.3s;
}

/* INFOGRAFIS */

.infografis-card{
border-radius:10px;
overflow:hidden;
}

.infografis-img{
max-width:100%;
height:auto;
object-fit:contain;
cursor:pointer;
transition:0.3s;
}

.infografis-img:hover{
transform:scale(1.02);
}

/* RESPONSIVE HP */
@media (max-width:768px){

.infografis-img{
    max-height:200px;
}

.infografis-card{
    padding:6px;
}

}
/* ===== TIMELINE ===== */
.timeline{
    border-left:3px solid #198754;
    padding-left:20px;
}

.timeline-item::before{
    background:#198754;
}

/* ===== VISI MISI ===== */
.visi-box, .misi-box{
    background:#fff;
    border-left:4px solid #198754;
}

/* ===== PROFIL ===== */
.profil-card{
    background:#fff;
    border-left:5px solid #198754;
}

.profil-quote{
    border-left:4px solid #198754;
    background:#e9f7ef;
}

/* ===== RESPONSIVE ===== */
@media (max-width:768px){

    h2{ font-size:20px; }
    h4{ font-size:18px; }
    h6{ font-size:16px; }
    p{ font-size:14px; }

    .slider-img{
        height:250px;
    }

}
/* ===== GALERI ===== */
.galeri-img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:12px 12px 0 0;
    cursor:pointer;
    transition:0.3s;
}

.galeri-img:hover{
    transform:scale(1.03);
}
/* ===== ORGANIZATION TREE ===== */

.org-tree ul {
    padding-top: 20px;
    position: relative;
    transition: all 0.5s;
}

.org-tree li {
    float: left;
    text-align: center;
    list-style-type: none;
    position: relative;
    padding: 20px 15px 0 15px;
}

/* Garis Horizontal */
.org-tree li::before, 
.org-tree li::after {
    content: '';
    position: absolute;
    top: 0;
    right: 50%;
    border-top: 2px solid #198754;
    width: 50%;
    height: 20px;
}

.org-tree li::after {
    right: auto;
    left: 50%;
    border-left: 2px solid #198754;
}

/* Hapus garis jika satu anak */
.org-tree li:only-child::after, 
.org-tree li:only-child::before {
    display: none;
}

.org-tree li:first-child::before {
    border: 0 none;
}

.org-tree li:last-child::after {
    border: 0 none;
}

/* Garis Vertikal */
.org-tree ul ul::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    border-left: 2px solid #198754;
    width: 0;
    height: 20px;
}

/* Box */
.org-box {
    border: 2px solid #198754;
    padding: 15px;
    display: inline-block;
    border-radius: 10px;
    background: #ffffff;
    min-width: 180px;
    transition: 0.3s;
}

.org-box:hover {
    background: #e9f7ef;
    transform: translateY(-5px);
}

.org-box img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 10px;
}

.ketua-box {
    border-width: 3px;
    background: #f4fbf6;
}

/* Responsive */
@media (max-width: 768px) {
    .org-tree li {
        float: none;
        display: block;
    }

    .org-tree li::before,
    .org-tree li::after,
    .org-tree ul ul::before {
        display: none;
    }
}
/* ===== PREMIUM STRUCTURE ===== */

.line-divider{
    width:100px;
    height:4px;
    background:#198754;
    margin:15px auto 0;
    border-radius:10px;
}

.structure-wrapper{
    text-align:center;
}

.structure-level{
    display:flex;
    justify-content:center;
    gap:40px;
    flex-wrap:wrap;
}

.structure-level.level-top{
    margin-bottom:20px;
}

.structure-card{
    background:#fff;
    border-radius:15px;
    padding:25px 20px;
    width:240px;
    box-shadow:0 8px 25px rgba(0,0,0,0.06);
    transition:0.3s ease;
    border-top:4px solid #198754;
}

.structure-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,0.1);
}

.structure-card img{
    width:95px;
    height:95px;
    border-radius:50%;
    object-fit:cover;
    margin-bottom:12px;
    border:3px solid #198754;
}

.structure-card h6{
    font-weight:600;
    margin-bottom:5px;
}

.structure-card span{
    font-size:14px;
    color:#6c757d;
}

.top-card{
    border-top:6px solid #0f5132;
    background:#f4fbf6;
}

.connector-vertical{
    width:3px;
    height:40px;
    background:#198754;
    margin:0 auto 40px;
}

/* ===== ANIMATION ===== */
.fade-up{
    opacity:0;
    transform:translateY(30px);
    transition:0.8s ease;
}

.fade-up.active{
    opacity:1;
    transform:translateY(0);
}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){

.structure-level{
    flex-direction:column;
    align-items:center;
}

.connector-vertical{
    height:30px;
}

}
/* AGENDA MODERN */

.agenda-card{
border-radius:12px;
overflow:hidden;
transition:0.3s;
background:#fff;
}

.agenda-card:hover{
transform:translateY(-5px);
box-shadow:0 12px 30px rgba(0,0,0,0.15);
}

.agenda-img-wrapper{
width:100%;
background:#f4fbf6;
padding:10px;
text-align:center;
}

.agenda-img{
max-width:100%;
height:auto;
object-fit:contain;
}

/* RESPONSIVE */

@media(max-width:768px){

.agenda-img{
max-height:200px;
}

}
/* TIMELINE AGENDA */

.timeline{
position:relative;
margin-left:20px;
}

.timeline:before{
content:'';
position:absolute;
left:15px;
top:0;
width:4px;
height:100%;
background:#198754;
}

.timeline-item{
position:relative;
margin-bottom:40px;
padding-left:40px;
}

.timeline-item:before{
content:'';
position:absolute;
left:6px;
top:5px;
width:18px;
height:18px;
background:#198754;
border-radius:50%;
}

.timeline-date{
font-size:14px;
color:#198754;
font-weight:bold;
margin-bottom:10px;
}

.timeline-content{
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

/* GAMBAR AGENDA */

.agenda-img-box{
background:#f4fbf6;
padding:10px;
border-radius:8px;
text-align:center;
}

.agenda-img{
max-width:100%;
height:auto;
object-fit:contain;
}

/* RESPONSIVE */

@media(max-width:768px){

.timeline{
margin-left:0;
}

.timeline:before{
display:none;
}

.timeline-item{
padding-left:0;
}

}
/* ================= BANNER ================= */

.top-banner{
    background:#ffffff;
    padding:10px;
}

.banner-logo{
    width:100%;
    max-height:120px;
    object-fit:contain;
}

/* ================= NAVBAR ================= */

.custom-navbar{
    background:#157347; /* hijau islami */
}

.navbar-brand{
    font-size:20px;
}

.nav-link{
    font-weight:500;
}

/* ================= RESPONSIVE HP ================= */

@media (max-width:768px){

.banner-logo{
    max-height:80px;
}

.navbar-brand{
    font-size:16px;
}

.nav-link{
    text-align:center;
    padding:10px;
}

}
/* BUKU TAMU */

.buku-tamu-card{
border-radius:10px;
transition:0.3s;
}

.buku-tamu-card:hover{
transform:translateY(-3px);
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}
/* PRESTASI */

.prestasi-card{
border-radius:12px;
transition:0.3s;
}

.prestasi-card:hover{
transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.prestasi-img-box{
background:#f4fbf6;
padding:15px;
text-align:center;
}

.prestasi-img{
max-width:100%;
height:auto;
object-fit:contain;
}

.badge{
font-size:13px;
padding:6px 10px;
}

@media(max-width:768px){

.prestasi-img{
max-height:200px;
}

}