/*
|--------------------------------------------------------------------------
| SIPM BDK AMBON
|--------------------------------------------------------------------------
*/
html,
body{

    height:100%;

}

.wrapper{

    min-height:100vh;

    display:flex;

    flex-direction:column;

}

.main-content{

    flex:1;

}


:root{

    --primary:#2E8B57;

    --secondary:#5FA8D3;

    --success:#3CB371;

    --warning:#F4B400;

    --danger:#DC3545;

    --dark:#234;

    --light:#F7FAFC;

    --white:#FFFFFF;

    --border:#E5E7EB;

    --text:#555;

    --radius:12px;

    --shadow:0 8px 25px rgba(0,0,0,.08);

}

body{

    font-family:'Segoe UI',sans-serif;

    background:#f7f9fc;

    color:#444;

}

a{

    text-decoration:none;

}

img{

    max-width:100%;

}

.navbar{

    background:#fff;

    box-shadow:0 3px 12px rgba(0,0,0,.06);

}

.navbar-brand{

    font-weight:700;

    color:var(--primary);

}

.nav-link{

    color:#444;

    margin-left:10px;

    transition:.3s;

}

.nav-link:hover{

    color:var(--primary);

}

.hero{

    padding:90px 0;

    background:

    linear-gradient(

    135deg,

    #EAF8EF,

    #EDF7FD

    );

}

.hero h1{

    font-size:48px;

    font-weight:700;

    color:#234;

}

.hero p{

    font-size:18px;

    color:#666;

    margin-top:20px;

}

.btn-primary-custom{

    background:var(--primary);

    border:none;

    color:#fff;

    padding:12px 28px;

    border-radius:50px;

    transition:.3s;

}

.btn-primary-custom:hover{

    background:#247148;

}

.card-modern{

    border:none;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

.card-modern:hover{

    transform:translateY(-3px);

    transition:.3s;

}

.stat-card{

    background:#fff;

    border-radius:15px;

    padding:30px;

    text-align:center;

    box-shadow:var(--shadow);

}

.stat-card h2{

    font-size:34px;

    color:var(--primary);

    font-weight:700;

}

.stat-card p{

    color:#666;

}

.timeline{

    border-left:none;

    padding-left:25px;

}

.timeline-item{

    position:relative;

    margin-bottom:35px;

}



.badge-progress{

    background:#17a2b8;

    color:#fff;

}

.badge-finish{

    background:#28a745;

    color:#fff;

}

.badge-process{

    background:#ffc107;

    color:#000;

}

.badge-wait{

    background:#dc3545;

    color:#fff;

}

.form-control{

    border-radius:10px;

    min-height:48px;

}

textarea.form-control{

    min-height:140px;

}

footer{

    background:#fff;

    border-top:1px solid #eee;

}

footer h5{

    font-weight:600;

}

footer a{

    color:#666;

}

footer a:hover{

    color:var(--primary);

}

@media(max-width:768px){

.hero{

padding:60px 0;

}

.hero h1{

font-size:32px;

}

.navbar-brand{

font-size:18px;

}

}

.hero{

padding:90px 0;

background:#f5f9fc;

}

.hero h1{

font-size:50px;

font-weight:700;

margin-bottom:20px;

}

.hero p{

font-size:18px;

color:#666;

margin-bottom:30px;

}


/* ==========================================
   STATISTIK
========================================== */

.statistik-section{

    padding:70px 0;

    background:#ffffff;

}

.stat-card{

    background:#fff;

    border-radius:15px;

    padding:35px 20px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

    transition:.3s;

}

.stat-card:hover{

    transform:translateY(-8px);

}

.stat-card h2{

    font-size:42px;

    color:#198754;

    font-weight:700;

    margin-bottom:10px;

}

.stat-card p{

    margin:0;

    color:#666;

    font-size:17px;

}


/*==================================
LAYANAN
==================================*/

.layanan-section{

    padding:90px 0;

    background:#f8fafc;

}

.section-title{

    font-size:38px;

    font-weight:700;

    color:#222;

}

.section-subtitle{

    color:#777;

    font-size:18px;

    margin-top:15px;

}

.layanan-card{

    background:#fff;

    border-radius:18px;

    padding:35px 25px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

    height:100%;

}

.layanan-card:hover{

    transform:translateY(-10px);

}

.layanan-card img{

    width:80px;

    margin-bottom:20px;

}

.layanan-card h4{

    font-size:22px;

    font-weight:600;

    margin-bottom:15px;

}

.layanan-card p{

    color:#666;

    line-height:28px;

}

/*====================================================
=            TIMELINE PENGADUAN
====================================================*/

.cara-section{

    padding:100px 0;

    background:#ffffff;

}

.section-badge{

    display:inline-block;

    padding:8px 20px;

    background:#e9f7ef;

    color:#198754;

    border-radius:30px;

    font-size:14px;

    font-weight:600;

    margin-bottom:20px;

}

.section-title{

    font-size:42px;

    font-weight:700;

    color:#222;

}

.section-description{

    width:700px;

    max-width:100%;

    margin:auto;

    margin-top:20px;

    color:#666;

    line-height:30px;

}

.timeline{

    position:relative;

    margin-top:70px;

}

.timeline-line{

    position:absolute;

    left:10%;

    right:10%;

    top:35px;

    height:4px;

    background:#198754;

    z-index:0;

}

.timeline-item{

    position:relative;

    text-align:center;

    z-index:2;

}

.timeline-circle{

    width:70px;

    height:70px;

    margin:auto;

    border-radius:50%;

    background:#198754;

    color:#fff;

    font-size:28px;

    font-weight:bold;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 8px 20px rgba(25,135,84,.25);

}

.timeline-item h4{

    margin-top:25px;

    font-size:22px;

    font-weight:600;

}

.timeline-item p{

    color:#666;

    margin-top:15px;

    line-height:28px;

}

/*==================================================
TRACKING
==================================================*/

.tracking-section{

    padding:100px 0;

    background:#f8f9fa;

}

.tracking-box{

    background:#ffffff;

    padding:60px;

    border-radius:20px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    text-align:center;

}

.tracking-title{

    font-size:38px;

    font-weight:700;

    margin-top:20px;

    color:#222;

}

.tracking-desc{

    color:#666;

    margin:20px auto 40px;

    max-width:600px;

    line-height:30px;

}

.input-group .form-control{

    height:60px;

    border-radius:10px 0 0 10px;

}

.input-group .btn{

    border-radius:0 10px 10px 0;

    padding:0 30px;

    font-weight:600;

}


/*====================================================
=                    FAQ
====================================================*/

.faq-section{

    padding:100px 0;

    background:#ffffff;

}

.accordion-item{

    border:none;

    border-radius:15px !important;

    overflow:hidden;

    margin-bottom:20px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

}

.accordion-button{

    font-size:18px;

    font-weight:600;

    padding:20px 25px;

    background:#ffffff;

}

.accordion-button:not(.collapsed){

    background:#198754;

    color:#ffffff;

}

.accordion-button:focus{

    box-shadow:none;

}

.accordion-body{

    padding:25px;

    color:#666;

    line-height:30px;

}


/*==================================================
FOOTER
==================================================*/

.footer{

    background:#0f5132;

    color:#ffffff;

    padding-top:70px;

}

.footer-logo{

    width:70px;

    margin-bottom:20px;

}

.footer-title{

    font-size:28px;

    font-weight:700;

}

.footer-text{

    line-height:30px;

    color:#d9d9d9;

}

.footer h5{

    margin-bottom:20px;

    font-weight:600;

}

.footer-menu{

    list-style:none;

    padding:0;

}

.footer-menu li{

    margin-bottom:12px;

}

.footer-menu a{

    color:#ffffff;

    text-decoration:none;

    transition:.3s;

}

.footer-menu a:hover{

    color:#ffc107;

}

.footer-bottom{

    margin-top:50px;

    background:#0a3622;

    padding:20px;

    text-align:center;

    font-size:15px;

}


/*==================================================
LOGO NAVBAR
==================================================*/

.navbar{

    height:90px;

    background:#ffffff;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

}

.navbar-logo{

    width:60px;

    height:60px;

    object-fit:contain;

}

.navbar-title{

    font-size:22px;

    font-weight:700;

    color:#198754;

    line-height:24px;

}

.navbar-subtitle{

    font-size:13px;

    color:#333;

    line-height:18px;

}

.navbar-instansi{

    font-size:12px;

    color:#777;

}

/* ==========================================
   STEP PENANGANAN
========================================== */

.step-item{

    display:flex;

    align-items:flex-start;

}

.step-icon{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    flex-shrink:0;

}

.step-text{

    margin-left:15px;

}

.step-line{

    width:2px;

    height:28px;

    background:#dcdcdc;

    margin:6px 0 6px 20px;

}

.step-item.active .step-icon{

    background:#198754 !important;

}


.upload-box{

padding:45px;

border:2px dashed #dc3545;

border-radius:15px;

background:#fff8f8;

}

.upload-icon{

font-size:70px;

color:#dc3545;

margin-bottom:20px;

}

.alert-info-custom{

    background:#eef6ff;

    border:1px solid #b8dbff;

    border-left:5px solid #0d6efd;

    color:#0b3d91;

    border-radius:10px;

    padding:18px 20px;

    box-shadow:0 2px 10px rgba(13,110,253,.08);

}

.alert-info-custom h5{

    color:#0d6efd;

    font-weight:700;

    margin-bottom:10px;

}

.alert-info-custom i{

    color:#0d6efd;

    margin-right:8px;

}

.alert-info-custom p{

    margin-bottom:0;

    line-height:1.7;

}

/* ==========================================
   Navbar Mobile
========================================== */

@media (max-width: 991.98px){

    .navbar{

        background:#ffffff;
        box-shadow:0 2px 15px rgba(0,0,0,.08);

    }

    .navbar-collapse{

        background:#ffffff;
        margin-top:15px;
        padding:15px 20px;
        border-radius:15px;

        box-shadow:
            0 10px 30px rgba(0,0,0,.12);

    }

    .navbar-nav{

        gap:8px;

    }

    .navbar-nav .nav-link{

        color:#1f2937 !important;

        padding:12px 18px;

        border-radius:10px;

        transition:.3s;

    }

    .navbar-nav .nav-link:hover{

        background:#198754;
        color:#fff !important;

    }

    .navbar-nav .active{

        background:#198754;
        color:#fff !important;

    }

    .navbar .btn{

        width:100%;
        margin-top:15px;

    }

}



