/* poppins-400 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap; /* WAJIB BUAT SCORE SEO (CLS) */
  src: url('../fonts/poppins-v24-latin-regular.woff2') format('woff2');
}
/* poppins-500 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin-500.woff2') format('woff2');
}
/* poppins-600 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin-600.woff2') format('woff2');
}
/* poppins-700 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin-700.woff2') format('woff2');
}
/* poppins-800 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin-800.woff2') format('woff2');
}
/* poppins-900 - latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin-900.woff2') format('woff2');
}

    /* RESET & BASE */
    *,:after,:before{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
    html,body{margin:0;padding:0;font-family:'Poppins',sans-serif;font-size:14px;line-height:1.5;color:#334155;background-color:#f6f9fc;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
    body{padding-bottom:90px} /* Space buat Bottom Nav */
    h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:700;line-height:1.2;color:#0f172a}
    p{margin-top:0;margin-bottom:1rem}
    a{color:inherit;text-decoration:none}
    img{vertical-align:middle;max-width:100%;height:auto}
    input,button,select,textarea{font-family:inherit;font-size:inherit}
    button{cursor:pointer}

    /* UTILITIES */
    .d-flex{display:flex!important}.d-none{display:none!important}.d-block{display:block!important}
    .flex-column{flex-direction:column!important}.flex-grow-1{flex-grow:1!important}
    .justify-content-between{justify-content:space-between!important}.justify-content-center{justify-content:center!important}.justify-content-around{justify-content:space-around!important}
    .align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}
    .text-center{text-align:center!important}.text-end{text-align:right!important}
    .fw-bold{font-weight:700!important}
    .text-muted{color:#94a3b8!important}
    .text-primary{color:#0f766e!important}.text-success{color:#16a34a!important}.text-danger{color:#dc2626!important}.text-warning{color:#ca8a04!important}
    .w-100{width:100%!important}
    .m-0{margin:0!important}
    .mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}
    .mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}
    .me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}
    .ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}
    .p-0{padding:0!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}
    
    /* BOTTOM NAV STYLE */
    .bottom-nav {
        position:fixed; bottom:0; left:0; width:100%; height:70px;
        background:#fff; border-top:1px solid #f1f5f9;
        display:flex; justify-content:space-around; align-items:center;
        z-index:999; padding-bottom:env(safe-area-inset-bottom);
        box-shadow:0 -5px 20px rgba(0,0,0,.03);
        transform:translateZ(0); will-change:transform;
    }
    .nav-item {
        text-align:center; color:#94a3b8; font-size:10px; font-weight:600;
        flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
        height:100%; transition:color .2s; text-decoration: none;
    }
    .nav-item i { font-size:20px; margin-bottom:4px; transition:transform .2s; }
    .nav-item.active { color:#0f766e; }
    .nav-item.active i { transform:translateY(-2px); }
    .nav-item:active { background-color:#f8fafc; }
    
    /* WHATSAPP FLOAT STYLE */
    .float-wa {
        position:fixed; bottom:85px; right:20px;
        background:#25d366; width:50px; height:50px; border-radius:50%;
        display:flex; align-items:center; justify-content:center;
        color:#fff; font-size:24px; z-index:998; text-decoration: none;
        box-shadow:0 4px 15px rgba(37,211,102,.4); transition:transform .2s;
    }
    .float-wa:active { transform:scale(.95); }