/* =========================
ROOT VARIABLES
========================= */

:root{
--primary:#1F3C88;
--secondary:#F97316;
--success:#22C55E;
--text-main:#1F2937;
--text-muted:#6B7280;
--bg-soft:#F8FAFC;
}

body{
font-family:'Poppins',sans-serif;
color:var(--text-main);
background:#fff;
}

/* =========================
SECTION
========================= */

.section{
padding:80px 0;
}

.section-soft{
background:var(--bg-soft);
}

/* =========================
BUTTONS
========================= */

.btn-primary-custom{
background:var(--secondary);
border:none;
color:#fff;
padding:12px 24px;
border-radius:8px;
font-weight:600;
transition:.3s;
}

.btn-primary-custom:hover{
background:#ea580c;
color:#fff;
}

.btn-outline-custom{
border:2px solid var(--primary);
color:var(--primary);
padding:12px 24px;
border-radius:8px;
font-weight:600;
transition:.3s;
}

.btn-outline-custom:hover{
background:var(--primary);
color:#fff;
}

/* =========================
HERO SLIDER FIX
========================= */

/* =========================
HERO SLIDER
========================= */

.hero-slider{
height:90vh;
}

#heroCarousel{
height:100%;
}

#heroCarousel .carousel-inner{
height:100%;
}

#heroCarousel .carousel-item{
height:100%;
}

.hero-slide{
height:100%;
display:flex;
align-items:center;
justify-content:center;
background-size:cover;
background-position:center;
position:relative;
color:white;
text-align:center;
}

.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(
rgba(0,0,0,0.6),
rgba(0,0,0,0.5)
);
}

.hero-content{
position:relative;
z-index:2;
max-width:800px;
}

.hero-title{
font-size:clamp(36px,5vw,56px);
font-weight:700;
line-height:1.2;
}

.hero-subtitle{
font-size:clamp(16px,2vw,20px);
margin-top:15px;
opacity:.9;
}

/* =========================
HERO FIX FOR BOOTSTRAP
========================= */

.carousel-item{
height:90vh;
}

.carousel-item .hero-slide{
height:100%;
}

.carousel,
.carousel-inner{
height:90vh;
}

/* =========================
CARDS
========================= */

.card-custom{
border:none;
border-radius:16px;
padding:30px;
box-shadow:0 10px 30px rgba(0,0,0,0.05);
transition:.3s;
}

.card-custom:hover{
transform:translateY(-5px);
}

/* =========================
IMPACT
========================= */

.impact-card{
padding:30px;
border-radius:14px;
background:white;
box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.impact-icon{
font-size:32px;
color:var(--primary);
margin-bottom:10px;
}

.impact-number{
font-size:40px;
font-weight:700;
color:var(--primary);
}

.impact-label{
color:var(--text-muted);
font-size:14px;
}

/* =========================
NAVBAR
========================= */

.navbar-custom{
padding:20px 0;
}

.navbar-custom .nav-link{
font-weight:500;
color:var(--text-main);
}

.navbar-custom .nav-link:hover{
color:var(--secondary);
}

/* =========================
PRODUCT SCROLL
========================= */

.product-scroll{
display:flex;
gap:20px;
overflow-x:auto;
padding-bottom:10px;
}

.product-scroll::-webkit-scrollbar{
height:6px;
}

.product-scroll::-webkit-scrollbar-thumb{
background:var(--secondary);
border-radius:10px;
}

.product-card{
min-width:220px;
background:white;
border-radius:14px;
padding:15px;
box-shadow:0 10px 25px rgba(0,0,0,0.05);
}

.product-img{
width:100%;
height:150px;
object-fit:cover;
border-radius:8px;
}

/* =========================
DONASI SWITCHER
========================= */

.donasi-switcher{
display:flex;
justify-content:center;
gap:12px;
margin-top:-20px;
margin-bottom:40px;
}

.switch-btn{
padding:12px 28px;
border:none;
border-radius:10px;
font-weight:600;
background:#e5e5e5;
transition:.2s;
}

.switch-btn.active{
background:#2F4B8F;
color:white;
}

/* =========================
CTA
========================= */

.cta-section{
background:#f97316;
color:white;
padding:70px 0;
}

/* ===== HERO CAROUSEL FORCE HEIGHT ===== */

.hero-slider{
height:90vh;
}

#heroCarousel{
height:100%;
}

#heroCarousel .carousel-inner{
height:100%;
}

#heroCarousel .carousel-item{
height:100%;
}

.hero-slide{
height:100%;
min-height:90vh;
display:flex;
align-items:center;
justify-content:center;
background-size:cover;
background-position:center;
position:relative;
}

/* VOLUNTEER */
.volunteer-days{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:12px;
    }

    .day-option{
    position:relative;
    cursor:pointer;
    }

    .day-option input{
    display:none;
    }

    .day-option span{
    display:inline-block;
    padding:10px 18px;
    border:1px solid #D1D5DB;
    border-radius:999px;
    background:#fff;
    font-weight:500;
    transition:.25s;
    }

    .day-option input:checked + span{
    background:#FF6B00;
    color:white;
    border-color:#FF6B00;
    box-shadow:0 6px 18px rgba(255,107,0,.18);
    }

    .day-option span:hover{
    border-color:#FF6B00;
    }
    
/*=====================
KOLABORASI
===================*/
.hero-section{
position:relative;
min-height:500px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

.hero-section .hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
z-index:1;
}

.hero-section .hero-content{
position:relative;
z-index:2;
color:#fff;
}

/* =========================
FOOTER
========================= */

.footer-custom{
background:#1F3C88;
color:white;
padding:70px 0 30px;
}

.footer-title{
font-weight:700;
margin-bottom:15px;
}

.footer-heading{
font-weight:600;
margin-bottom:18px;
}

.footer-desc{
color:#CBD5E1;
line-height:1.8;
}

.footer-links{
list-style:none;
padding:0;
margin:0;
}

.footer-links li{
margin-bottom:10px;
}

.footer-links a{
text-decoration:none;
color:#CBD5E1;
transition:.3s;
}

.footer-links a:hover{
color:#F97316;
}

.footer-custom p{
color:#CBD5E1;
}

.footer-social{
display:flex;
gap:16px;
margin-top:15px;
}

.footer-social a{
color:white;
font-size:24px;
transition:.3s;
}

.footer-social a:hover{
color:#F97316;
transform:translateY(-3px);
}

.footer-divider{
border-color:rgba(255,255,255,.1);
margin:40px 0;
}

.footer-stats h3{
font-size:32px;
font-weight:700;
color:#F97316;
margin-bottom:5px;
}

.footer-stats span{
color:#CBD5E1;
}

.footer-copyright{
color:#94A3B8;
font-size:14px;
}

@media(max-width:768px){

    .footer-custom{
    text-align:center;
    }
    
    .footer-social{
    justify-content:center;
    }
    
    .footer-stats .col-6{
    margin-bottom:25px;
    }

}

/* ==================================
MOBILE OPTIMIZATION
================================== */

@media (max-width:768px){

/* SECTION */
.section{
padding:50px 0 !important;
}

/* NAVBAR */
.navbar-custom{
padding:12px 0 !important;
}

.navbar-brand{
font-size:1.2rem !important;
}

.navbar-brand img{
height:32px !important;
}

.navbar-collapse{
margin-top:15px;
padding:15px;
background:white;
border-radius:16px;
}

.navbar-nav .btn-primary-custom{
width:100%;
margin-top:10px;
}

/* HERO */
.hero-slider,
.carousel,
.carousel-inner,
.carousel-item{
height:75vh !important;
}

.hero-slide{
min-height:75vh !important;
}

.hero-title{
font-size:34px !important;
line-height:1.1;
}

.hero-subtitle{
font-size:15px !important;
padding:0 15px;
}

/* IMPACT */
.impact-number{
font-size:32px !important;
}

.impact-label{
font-size:13px !important;
}

.impact-card{
padding:20px !important;
}

/* ABOUT */
.section-soft .row{
row-gap:25px;
}

/* CARD */
.card-custom{
padding:20px !important;
}

/* PROGRAM */
.card-custom h5{
font-size:18px;
}

/* ARTICLE */
.card-custom img{
height:180px !important;
}

/* BUTTON */
.btn-primary-custom,
.btn-outline-custom{
width:100%;
text-align:center;
}

/* CTA */
.cta-section{
padding:50px 20px !important;
}

}

.article-card{
display:flex;
flex-direction:column;
}

.article-img{
width:100%;
height:220px;
object-fit:cover;
border-radius:12px;
margin-bottom:15px;
}

@media (max-width:768px){

.article-card{
display:flex;
flex-direction:row;
gap:15px;
align-items:flex-start;
}

.article-img{
width:120px;
height:120px;
margin-bottom:0;
flex-shrink:0;
}

.article-content{
flex:1;
}

.article-content h5{
font-size:18px;
line-height:1.3;
margin-bottom:8px;
}

.article-content p{
font-size:14px;
margin-bottom:10px;
}

.article-content .btn{
width:auto;
padding:8px 14px;
font-size:14px;
}

}

html,
body{
overflow-x:hidden;
}

/* =========================
PROGRAM CARD FIX
========================= */

.program-grid{
    align-items:stretch;
}

.program-card{
    background:#fff;
    border-radius:24px;
    padding:32px 28px;
    min-height:360px;
    height:100%;
    box-shadow:0 14px 40px rgba(31,60,136,.06);
    border:1px solid rgba(31,60,136,.06);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    text-align:left;
    transition:.3s;
}

.program-card:hover{
    transform:translateY(-6px);
    box-shadow:0 22px 60px rgba(31,60,136,.12);
}

.program-icon{
    width:64px;
    height:64px;
    border-radius:18px;
    background:#EEF4FF;
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:22px;
}

.program-card h5{
    font-size:24px;
    font-weight:800;
    margin-bottom:14px;
    color:var(--text-main);
}

.program-card p{
    font-size:16px;
    line-height:1.7;
    color:var(--text-muted);
    margin-bottom:24px;
}

.btn-program{
    width:max-content;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--primary);
    color:var(--primary);
    padding:12px 22px;
    border-radius:12px;
    font-weight:700;
    text-decoration:none;
    transition:.25s;
}

.btn-program:hover{
    background:var(--primary);
    color:#fff;
}

@media(max-width:768px){
    .program-card{
        min-height:auto;
        padding:26px 22px;
    }

    .program-icon{
        width:56px;
        height:56px;
        font-size:26px;
    }

    .program-card h5{
        font-size:22px;
    }

    .btn-program{
        width:100%;
    }
}

/* =========================
DAMPAK STORY SECTION
========================= */

.impact-story-section{
    background:#fff;
}

.impact-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#EEF4FF;
    color:var(--primary);
    padding:9px 16px;
    border-radius:999px;
    font-weight:700;
    font-size:14px;
    margin-bottom:18px;
}

.impact-story-title{
    font-size:clamp(32px,4vw,48px);
    color:var(--text-main);
    margin-bottom:22px;
}

.impact-story-text{
    color:var(--text-muted);
    font-size:17px;
    line-height:1.9;
    margin-bottom:18px;
}

.impact-story-text strong{
    color:var(--primary);
    font-weight:800;
}

.impact-highlight-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin-top:30px;
}

.impact-highlight-item{
    display:flex;
    align-items:center;
    gap:10px;
    background:#F8FAFC;
    border:1px solid #E5E7EB;
    border-radius:16px;
    padding:14px 16px;
    color:var(--text-main);
    font-weight:600;
}

.impact-highlight-item i{
    color:var(--secondary);
    font-size:18px;
}

@media(max-width:768px){

    .impact-highlight-grid{
        grid-template-columns:1fr;
    }

    .impact-story-text{
        font-size:15px;
        line-height:1.8;
    }
}