/* =========================
   RESET
========================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#0f0f0f;
    color:#e5e5e5;
}

.app{
    max-width:500px;
    margin:auto;
    background:#1a1a1a;
    overflow:hidden;
}

/* =========================
   HEADER
========================= */
.header{
    position:fixed;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    max-width:500px;

    /* GLASS DARK */
    background:rgba(20,20,20,0.65); /* transparan */
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);

    /* BORDER HALUS */
    border-bottom:1px solid rgba(255,255,255,0.08);

    /* SHADOW DALAM + LUAR */
    box-shadow:
        0 8px 25px rgba(0,0,0,0.5),
        inset 0 1px 0 rgba(255,255,255,0.05);

    z-index:999;
}

.header-wrap{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 16px;
    max-height: 55px;
}

.logo{
    height:45px;
}

.menu-icon{
    font-size:20px;
    cursor:pointer;
    transition:0.2s;
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 38%;
    background: #2a2a2a;
    color: #ff4d4d;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0px;
}

.menu-icon:hover{
    background:linear-gradient(135deg,#ff3b3b,#7a0000);
    color:#fff;
}
/* =========================
   HERO
========================= */
.hero{
    position:relative;
    margin-top:55px;
    padding:40px 15px 10px;
    background:url('/image/bg-banner-atas.png') center/cover no-repeat;
    overflow:hidden;
    min-height: 400px;
}

/* overlay putih kiri */
.hero-overlay{
    position:absolute;
    top:0;
    left:0;
    width:70%;
    height:100%;
    background:linear-gradient(to right, rgba(15,15,15,0.95), rgba(15,15,15,0));
}

/* content */
.hero-content{
    position:relative;
    z-index:2;
    max-width:70%;
}

.hero-badge{
    background: #ff110030;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 20px;
    display: inline-block;
    margin-bottom: 10px;
    border: 1px solid #ff000026;
}

.hero-title{
    font-size:24px;
    font-weight:700;
    line-height:1.25;
    margin-bottom:8px;
}

.hero-desc{
    font-size:13px;
    color:#ffffff;
    margin-bottom:12px;
}

.hero-feature{
    display:flex;
    gap:6px;
    margin-bottom:14px;
}

.hero-feature-item{
    background:#000000ad;
    border: 1px solid #ff000026;
    padding: 6px 10px;
    border-radius: 50px;
    font-size: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
    text-wrap: nowrap;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
}

.hero-feature-item i{
    color:#ff4d4d;
    font-size:13px;
}

/* button utama */
.btn-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(135deg,#ff3b3b,#7a0000);
    color:#fff;
    padding:13px 22px;
    border-radius:40px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
}

.btn-primary i{
    font-size:16px;
}

/* =========================
   MENU ICON
========================= */
.menu-section{
    padding: 15px;
    position: relative;
    border-radius: 30px;
    margin-top: -30px;
    background:#1a1a1a;
}

.menu-box{
    background:#1f1f1f;
    border-radius:22px;
    padding:20px 0px;
}

.menu-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.menu-item{
    text-align:center;
}

.menu-item i{
    width:58px;
    height:58px;
    background:linear-gradient(135deg,#ff3b3b,#7a0000);
    color:#fff;
    border-radius:38%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    font-size:30px;
    margin-bottom:8px;
}

.menu-item p{
    font-size:13px;
    font-weight:600;
}

/* =========================
   ARMADA
========================= */
.armada-section{
    padding:15px;
}

.section-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:12px;
}

.armada-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.armada-card{
    background:#1f1f1f;
    border:1px solid #2a2a2a;
    border-radius:18px;
    box-shadow:0 10px 25px rgba(0,0,0,0.6);
    padding:12px;

    display:flex;
    flex-direction:column;
    justify-content:space-between; /* ⬅️ penting */
    height:100%;
    min-height:245px;
}

.armada-top{
    display:flex;
    flex-direction:column;
}

.armada-card:hover{
    border:1px solid #ff3b3b;
}

.armada-card img{
    width:100%;
    border-radius:12px;
    background:#2a2a2a;
    padding:8px;
}

.armada-card h3{
    font-size:16px;
    margin-top:6px;
    font-weight:700;
    line-height: 20px;
}

.price{
    color:#ff4d4d;
    font-weight:700;
    margin:6px 0;
    font-size:15px;
}

.price span{
    font-size:12px;
    font-weight:500;
}

.btn-card{
    display:block;
    text-align:center;
    background:linear-gradient(135deg,#ff3b3b,#7a0000);
    color:#fff;
    padding:11px;
    border-radius:12px;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    margin-top: 5px;
}

/* =========================
   ARMADA STRUCTURE FIX
========================= */

.armada-image{
    display:flex;
    justify-content:flex-start; /* ⬅️ gambar ke atas */
}

.armada-image img{
    width:100%;
    border-radius:12px;
    background:#19191963;
    padding:8px;
}

/* grup bawah */
.armada-bottom{
    display:flex;
    flex-direction:column;
    justify-content:flex-end; /* ⬅️ semua isi ke bawah */
}

/* =========================
   WHY
========================= */
.why-section{
    padding:15px;
    margin-top: 25px;
}

.why-title{
    text-align:center;
    font-size:18px;
    font-weight:600;
    margin-bottom:15px;
}

.why-subtitle {
    font-size: 24px;
    font-weight: 700;
}

.why-grid{
    background:#1f1f1f;
    border-radius:20px;
    padding:18px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px 5px;
}

.why-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:12px;
    line-height: 15px;
}

.why-item i{
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50%;
    background:#2a2a2a;
    color:#ff4d4d;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0px;
    font-size: 25px;
}

.why-item b{
    font-size:15px;
}

.why-item p{
    font-size:11px;
    color:#aaa;
    margin-top: 8px;
}

/* =========================
   TESTI SWIPE (MANUAL)
========================= */

.testi-slider{
    display:flex;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;

    padding:0 15px 10px;
}

/* hide scrollbar */
.testi-slider::-webkit-scrollbar{
    display:none;
}

.testi-card{
    min-width:100%;
    flex:0 0 100%;
    background:#1f1f1f;
    border-radius:18px;
    padding:18px;
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
    scroll-snap-align:center;
    min-width: calc(75% - -10px);
    flex: 0 0 calc(75% - 10px);
}

/* quote icon */
.quote-icon{
    font-size:22px;
    color:#ff4d4d;
    margin-bottom:8px;
}

/* text */
.testi-text{
    font-size:13px;
    color:#ccc;
    margin-bottom:8px;
    line-height:1.5;
}

/* star */
.testi-star{
    color:#facc15;
    font-size:20px;
    margin-bottom:10px;
}

/* user */
.testi-user{
    display:flex;
    align-items:center;
    gap:10px;
}

.testi-user img{
    width:42px;
    height:42px;
    border-radius:50%;
}

.testi-user span{
    display:block;
    font-size:12px;
    color:#777;
}

/* DOT (optional static) */
.testi-dots{
    margin-top:8px;
    text-align:center;
}

.section-title.testi-title {
    padding: 0px 15px;
    margin-top: 22px;
    font-size: 24px;
    text-align: center;
}

.dot{
    width:6px;
    height:6px;
    background:#ccc;
    border-radius:50%;
    display:inline-block;
    margin:0 3px;
}

.dot.active{
    background:#ff3b3b;
}

/* =========================
   CTA
========================= */
.cta-section{
    position:relative;
    margin:15px;
    padding:26px 18px;
    border-radius:22px;
    background:url('/image/BG-bottom.jpg') center/cover no-repeat;
    overflow:hidden;
}

.cta-overlay{
    position:absolute;
    inset:0;

    /* MERAH LEBIH DALAM & KONTRAS */
    background:linear-gradient(
        180deg,
        rgba(255, 59, 59, 0.9),
        rgba(122, 0, 0, 0.95)
    );
}

.cta-content{
    position:relative;
    z-index:2;
    text-align:center;
    color:#fff;
}

.cta-content h3{
    font-size:22px;
    margin-bottom:6px;
}

.cta-content p{
    font-size:13px;
}

.btn-cta{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#fff;
    color:#7a0000;
    padding:13px 20px;
    border-radius:50px;
    margin-top:12px;
    text-decoration:none;
    font-weight:600;
}

/* =========================
   FOOTER
========================= */
.footer{
    background:linear-gradient(180deg, #ad0d01, #0d0000);
    padding: 24px 15px 50px 15px;
    text-align: center;
    color: #fff;
    margin-top: 40px;
    border-radius: 30px 30px 0px 0px;
}

.footer-logo{
    height: 30px;
    margin-bottom: 14px;
    margin-top: 20px;
}

.footer-info p{
    font-size:13px;
    margin:6px 0;
    display:flex;
    justify-content:center;
    gap:8px;
}

.footer-info i{
    color:#ff4d4d;
    font-size: 15px;
}

/* SOCIAL */
.footer-social{
    margin-top:15px;
    display:flex;
    justify-content:center;
    gap:16px;
}

.footer-social i{
    width:42px;
    height:42px;
    background:rgba(255,255,255,0.08);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
}

/* garis */
.footer-line{
    height:1px;
    background:rgba(255,255,255,0.2);
    margin:18px 0;
}

.footer-bottom{
    font-size:12px;
    line-height:1.6;
}

.footer-bottom span{
    color:#ff4d4d;
    font-weight:600;
}

/* =========================
   FLOAT WA
========================= */
.wa-float{
    position:fixed;
    bottom:18px;
    right:18px;
    width:60px;
    height:60px;

    /* WARNA MERAH */
    background:linear-gradient(135deg,#ff3b3b,#7a0000);
    color:#fff;

    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;

    /* SHADOW MERAH */
    box-shadow:0 10px 25px rgba(255,0,0,0.4);

    text-decoration:none; 
    line-height:0;
    z-index:999;
}

/* =========================
   HOVER EFFECT GLOBAL
========================= */

/* animasi halus */
a, button, .btn-primary, .btn-card, .btn-cta, .wa-float {
    transition: all 0.25s ease;
}

/* =========================
   BUTTON PRIMARY (HERO)
========================= */
.btn-primary:hover{
    background:linear-gradient(135deg,#ff1f1f,#5a0000);
    box-shadow:0 8px 20px rgba(255,0,0,0.4);
    transform:translateY(-2px);
}

/* =========================
   BUTTON CARD (ARMADA)
========================= */
.btn-card:hover{
    background:linear-gradient(135deg,#ff1f1f,#5a0000);
    box-shadow:0 8px 18px rgba(255,0,0,0.4);
    transform:translateY(-2px);
}

/* =========================
   BUTTON CTA
========================= */
.btn-cta:hover{
    background:#ffe5e5;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,0.15);
}

/* =========================
   MENU ICON HOVER
========================= */
.menu-item:hover i{
    background:linear-gradient(135deg,#ff3b3b,#7a0000);
    color:#fff;
    transform:scale(1.08);
}

.menu-item:hover p{
    color:#ff4d4d;
}

/* =========================
   WHY ICON HOVER
========================= */
.why-item:hover i{
    background:#ff3b3b;
    color:#fff;
    transform:scale(1.05);
}

/* =========================
   SOCIAL ICON HOVER
========================= */
.footer-social i:hover{
    background:#ff3b3b;
    transform:translateY(-3px);
}

/* =========================
   FLOAT WA HOVER
========================= */
.wa-float:hover{
    transform:scale(1.08);
    box-shadow:0 12px 25px rgba(0,0,0,0.3);
}

/* =========================
   VISITOR COUNTER (GREEN THEME)
========================= */
.visitor-box{
    margin-top:25px;
    display:inline-flex;
    align-items:center;
    gap:8px;

    background:rgba(255,255,255,0.05);
    color:#eee;

    padding:7px 14px;
    border-radius:20px;
    font-size:12px;
    font-weight:500;

    backdrop-filter: blur(6px);
}

.visitor-box i{
    color:#ff4d4d;
}

.visitor-box b{
    color:#ff3b3b;
    font-weight:700;
}

