*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    background:#e5e5e5;
}

/* CONTAINER */
.container{
    max-width:500px;
    margin:auto;
    background:#fff;
    overflow:hidden;
}

/* ======================
   HEADER (FIXED TOP)
====================== */
.header{
    position:fixed;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    max-width:500px;
    z-index:999;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 15px;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
}
.header img{
    height:38px;
}
.header i{
    font-size:22px;
}

/* ======================
   HERO
====================== */
.hero{
    position:relative;
    background:url('/image/banner-hero-rental-mobil.png') center/cover no-repeat;
    padding:20px;
    border-radius:0 0 25px 25px;
    overflow:hidden;
    margin-top:65px; /* FIX supaya tidak ketutup header */
}

/* overlay kiri */
.hero::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:65%;
    height:100%;
    background:linear-gradient(to right, rgba(255,255,255,0.95), rgba(255,255,255,0));
}

/* CONTENT */
.hero-content{
    position:relative;
    z-index:2;
    max-width:65%;
}

/* MOBIL */
.hero-car{
    position:absolute;
    right:-40px;
    bottom:0;
    width:280px;
    z-index:1;
}

/* BADGE */
.badge{
    background:#d1fae5;
    color:#15803d;
    padding:6px 14px;
    border-radius:20px;
    font-size:12px;
    display:inline-block;
    margin-bottom:10px;
    font-weight:600;
}

/* TITLE */
.hero h1{
    font-size:24px;
    font-weight:700;
    line-height:1.3;
    color:#111;
}

/* TEXT */
.hero p{
    font-size:13px;
    margin-top:8px;
    color:#444;
}

/* FEATURE */
.feature{
    display:flex;
    gap:8px;
    margin-top:12px;
}

.feature div{
    background:#fff;
    border-radius:50px;
    padding:6px 10px;
    font-size:12px;
    display:flex;
    align-items:center;
    gap:6px;
    box-shadow:0 3px 8px rgba(0,0,0,0.05);
}

/* ICON SOLID */
.feature i{
    color:#16a34a;
    font-size:14px;
}

/* BUTTON WA */
.btn-wa{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#16a34a;
    color:#fff;
    padding:14px 22px;
    border-radius:40px;
    text-decoration:none;
    margin-top:12px;
    font-weight:600;
    font-size:14px;
}

.btn-wa i{
    font-size:16px;
}

/* ======================
   MENU
====================== */
.menu-box{
    background:#f0fdf4;
    margin:15px;
    padding:18px;
    border-radius:20px;
}

.menu-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.menu-item{
    text-align:center;
    font-size:12px;
    font-weight:500;
}

.menu-item i{
    font-size:22px;
    background:#dcfce7;
    color:#16a34a;
    width:55px;
    height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    margin:auto;
    margin-bottom:8px;
}

/* ======================
   SECTION
====================== */
.section{
    padding:15px;
}

.section-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
}

.section-title h2{
    font-size:16px;
    font-weight:600;
}

.section-title a{
    font-size:12px;
    color:#16a34a;
    text-decoration:none;
}

h2.title {
    font-size: 18px;
}

/* ======================
   GRID
====================== */
.grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

/* CARD */
.card{
    background:#fff;
    border-radius:18px;
    padding:12px;
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.card img{
    width:100%;
    border-radius:12px;
    background:#f9fafb;
    padding:10px;
}

.card h3{
    font-size:16px;
    margin-top:6px;
    font-weight:bold;
}

.meta{
    font-size:11px;
    color:#777;
}

.price{
    color:#16a34a;
    font-weight:700;
    margin:6px 0;
}

.btn-small{
    display:block;
    text-align:center;
    background:#16a34a;
    color:#fff;
    padding:10px;
    border-radius:12px;
    text-decoration:none;
    font-size:12px;
    font-weight:600;
}

.price span{
    font-size:12px;
    font-weight:500;
    color:#16a34a;
}

/* ======================
   WHY
====================== */
.why{
    background:#ecfdf5;
    border-radius:18px;
    padding:18px;
}

.why h3{
    text-align:center;
    margin-bottom:12px;
    font-size:15px;
}

.why-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.why-item{
    display:flex;
    gap:10px;
    font-size:12px;
    align-items:flex-start;
}

.why-item i{
    color:#16a34a;
}

/* ======================
   TESTI (SLIDER READY)
====================== */
.testi{
    background:#fff;
    padding:15px;
    border-radius:18px;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
}

/* tambahan slider */
.testi-slider{
    position:relative;
    height:120px;
}

.testi{
    position:absolute;
    width:100%;
    opacity:0;
    transition:0.5s;
}

.testi.active{
    opacity:1;
}

.testi i{
    color:#16a34a;
    font-size:22px;
}

.star{
    color:#facc15;
    margin-top:5px;
}

/* ======================
   CTA
====================== */
.cta{
    position:relative;
    margin:15px;
    padding:25px;
    border-radius:20px;
    background:url('/image/banner-bawah.png') center/cover no-repeat;
    color:#fff;
    text-align:center;
    overflow:hidden;
}

.cta::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(22,163,74,0.75);
}

.cta *{
    position:relative;
    z-index:2;
}

.cta a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#fff;
    color:#16a34a;
    padding:14px 20px;
    border-radius:50px;
    margin-top:12px;
    text-decoration:none;
    font-weight:600;
}

/* ======================
   FOOTER (KONTAK)
====================== */
.footer{
    background:#064e3b;
    color:#fff;
    padding:20px;
    text-align:center;
}

.footer img{
    height:40px;
    margin-bottom:10px;
}

.footer p{
    font-size:13px;
    margin:5px 0;
}

.footer i{
    margin-right:8px;
}

.footer-grid{
    display:flex;
    justify-content:space-between;
    margin-top:10px;
    font-size:13px;
}

/* SOCIAL */
.social{
    margin-top:10px;
    display:flex;
    justify-content:center;
    gap:15px;
    font-size:18px;
}

/* ======================
   FLOAT WA
====================== */
.wa{
    position:fixed;
    bottom:20px;
    right:20px;
    background:#25d366;
    color:#fff;
    padding:15px;
    border-radius:50%;
    font-size:20px;
    box-shadow:0 10px 20px rgba(0,0,0,0.2);
}