/* =======================================
   1. RESET & ATURAN DASAR
======================================= */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Plus Jakarta Sans', sans-serif; }

html { 
    scroll-behavior: smooth;
    overflow-x: clip; /* KUNCI 1: Menggunakan clip agar roda mouse PC tidak mati */
    max-width: 100%;
}

/* Anti-Raksasa: Mencegah gambar meledak keluar jalur jika CSS lain gagal */
img { max-width: 100%; height: auto; } 
a { text-decoration: none; }

body { 
    background-color: #f8fafc;
    background-image: radial-gradient(rgba(14, 165, 233, 0.08) 2px, transparent 2px);
    background-size: 25px 25px; 
    color: #1e293b; 
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    max-width: 100%; 
    overflow-x: clip; /* KUNCI 2: Menggunakan clip agar roda mouse PC tidak mati */
}


/* -------------------------------------------------------- */

/* KUNCI PAKSA footer ke paling bawah */
.navbar { flex-shrink: 0; } 
footer { flex-shrink: 0; margin-top: auto !important; } 

/* =======================================
   2. HEADER & NAVBAR SAAS
======================================= */
.navbar {
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 12px 20px;
    
    /* --- PERBAIKAN: sticky diubah menjadi fixed agar menempel mutlak --- */
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    z-index: 999; 
    /* ------------------------------------------------------------------- */
    
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}


.nav-brand-area { order: 1; flex-shrink: 0; }
.nav-brand-area .logo-link { display: flex; align-items: center; gap: 12px; color: #0f172a; font-weight: 800; font-size: 1.5rem; letter-spacing: -0.5px;}
.nav-brand-area img { height: 38px; border-radius: 10px; object-fit: contain; } /* Kunci ukuran logo header */
.logo-icon { color: #0ea5e9; font-size: 2rem; }
.animasi-lucu { font-size: 1.2rem; animation: goyang 2s infinite ease-in-out; display: inline-block; }
@keyframes goyang { 0%, 100% { transform: rotate(-15deg) scale(1); } 50% { transform: rotate(15deg) scale(1.2); } }

/* Search Bar */
.search-container { position: relative; order: 2; flex: 1; margin: 0 30px; max-width: 500px; }
.search-container input { width: 100%; padding: 12px 15px 12px 45px; border: 2px solid #e2e8f0; border-radius: 50px; font-size: 0.95rem; font-weight: 600; color: #334155; background: #f8fafc; transition: 0.3s; }
.search-container input:focus { outline: none; border-color: #0ea5e9; background: white; box-shadow: 0 5px 15px rgba(14, 165, 233, 0.1); }
.search-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #94a3b8; }

/* Menu PC */
.nav-menu { order: 3; display: flex; align-items: center; gap: 5px; }
.nav-link { display: flex; align-items: center; gap: 6px; color: #475569; font-weight: 700; font-size: 0.95rem; padding: 8px 15px; border-radius: 50px; transition: all 0.3s ease; }
.nav-link:hover { background: #f1f5f9; color: #0ea5e9; }
.nav-link .material-icons-round { font-size: 20px; }

/* Keranjang */
.nav-link.nav-cart { position: relative; background: #0f172a; color: white; border: 1px solid #1e293b; }
.nav-cart:hover { background: #1e293b; color: #38bdf8; }
.nav-cart .material-icons-round { color: #38bdf8; }
.cart-badge { position: absolute; top: -5px; right: -5px; background: #ef4444; color: white; font-size: 0.75rem; font-weight: 800; padding: 2px 7px; border-radius: 20px; animation: pop 0.3s ease; line-height: 1; margin: 0; border: 2px solid white;}
@keyframes pop { 0% { transform: scale(0); } 100% { transform: scale(1); } }

/* =======================================
   3. HERO & STATISTIK & MANFAAT
======================================= */
.hero { 
    position: relative; 
    /* Ganti gradient kaku dengan transparan agar grid body terlihat */
    background: transparent; 
    padding: 100px 5% 150px 5%; 
    display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 40px; 
}

/* Cahaya Kosmik Biru Melayang di Belakang Hero */
.hero::before {
    content: ''; position: absolute; top: -20%; left: -10%;
    width: 500px; height: 500px; background: rgba(14, 165, 233, 0.4); /* Warna Biru */
    filter: blur(120px); z-index: 0; pointer-events: none; 
    animation: cahayaNapas 8s infinite alternate ease-in-out;
}
.hero-content, .hero-img-wrapper { position: relative; z-index: 2; }
.hero-content h1 { font-size: 3.5rem; font-weight: 800; color: #0f172a; line-height: 1.2; letter-spacing: -1px; }
.hero-content p { font-size: 1.2rem; color: #475569; margin: 25px 0 35px 0; font-weight: 500; }
.hero-img { text-align: center; position: relative; z-index: 2;}
.hero-img img { max-height: 400px; animation: floatSaaS 4s ease-in-out infinite; object-fit: contain;}
@keyframes floatSaaS { 0% { transform: translateY(0px); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0px); } }

.shape-divider { position: absolute; bottom: -1px; left: 0; width: 100%; overflow: hidden; line-height: 0; }
.shape-divider svg { display: block; width: calc(100% + 1.3px); height: 120px; }
.shape-divider .shape-fill { fill: #f8fafc; }

.btn-modern { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 32px; border: none; border-radius: 50px; font-weight: 800; font-size: 1.1rem; cursor: pointer; transition: 0.3s; }
.btn-primary { background: #0ea5e9; color: white; box-shadow: 0 10px 20px rgba(14, 165, 233, 0.3); }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 15px 25px rgba(14, 165, 233, 0.4); }

.statistik-area { max-width: 1100px; margin: -50px auto 60px; padding: 0 20px; position: relative; z-index: 10; text-align: center;}
.statistik-area h2 { font-size: 2.2rem; color: #0f172a; font-weight: 800; margin-bottom: 10px;}
.statistik-area p { color: #64748b; margin-bottom: 70px; font-size: 1.1rem;}
.grid-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stat-box { padding: 50px 20px 20px; border-radius: 20px; color: white; text-align: center; position: relative; margin-top: 40px;}
.stat-box img { position: absolute; width: 100px; height: 100px; object-fit: contain; top: -50px; left: 50%; transform: translateX(-50%); filter: drop-shadow(0 10px 10px rgba(0,0,0,0.1));}
.stat-box h3 { font-size: 2rem; font-weight: 900; margin-bottom: 5px; letter-spacing: -1px;}
.stat-box p { font-size: 1rem; font-weight: 700; opacity: 0.9; margin: 0;}
.bg-blue { background: #0ea5e9; } .bg-red { background: #fb7185; } .bg-green { background: #34d399; } .bg-yellow { background: #fbbf24; }

.manfaat-area { max-width: 1100px; margin: 100px auto; padding: 0 20px; text-align: center;}
.manfaat-area h2 { font-size: 2.2rem; color: #0f172a; font-weight: 800; margin-bottom: 60px;}
.grid-manfaat { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 40px; align-items: center; }
.list-manfaat { display: flex; flex-direction: column; gap: 30px; text-align: left;}
.item-manfaat { display: flex; align-items: center; gap: 15px;}
.item-manfaat .ikon { background: #e0f2fe; color: #0ea5e9; width: 50px; height: 50px; border-radius: 15px; display: flex; justify-content: center; align-items: center; font-size: 1.5rem; flex-shrink: 0;}
.item-manfaat p { font-weight: 700; color: #334155; font-size: 1.1rem; margin: 0;}

.langkah-area { text-align: center; max-width: 1100px; margin: 100px auto; padding: 0 20px;}
.langkah-area h2 { font-size: 2.2rem; color: #0f172a; font-weight: 800; margin-bottom: 10px;}
.langkah-area p { color: #64748b; margin-bottom: 60px; font-size: 1.05rem;}
.grid-langkah { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; position: relative;}
.grid-langkah::before { content: ''; position: absolute; top: 45px; left: 10%; right: 10%; border-top: 2px dashed #cbd5e1; z-index: 0; }
.box-langkah { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; }
.ikon-lingkaran { background: white; width: 90px; height: 90px; border-radius: 50%; display: flex; justify-content: center; align-items: center; box-shadow: 0 10px 25px rgba(14, 165, 233, 0.15); border: 2px solid #f8fafc; margin-bottom: 20px; transition: 0.3s; }
.box-langkah:hover .ikon-lingkaran { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(14, 165, 233, 0.25); border-color: #e0f2fe;}
.ikon-lingkaran img { width: 50px; height: 50px; object-fit: contain; }
.teks-langkah { font-weight: 800; color: #0f172a; font-size: 1.05rem; display: flex; align-items: center; gap: 8px;}
.teks-langkah .nomor { background: #0ea5e9; color: white; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; justify-content: center; align-items: center; font-size: 0.8rem; font-weight: bold; }

/* =======================================
   4. ETALASE PRODUK & KOSMETIK GRID
======================================= */
.etalase { 
    /* Efek Kaca Es (Glassmorphism) */
    background: rgba(255, 255, 255, 0.6); 
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 20px 50px rgba(0,0,0,0.02);
    
    padding: 80px 20px; border-radius: 40px; margin: 100px auto; max-width: 1200px; 
    position: relative; 
}

/* Cahaya Pink Melayang di Belakang Kaca Etalase */
.etalase::before {
    content: ''; position: absolute; top: 10%; right: 10%;
    width: 450px; height: 450px; background: rgba(251, 113, 133, 0.25); /* Warna Pink */
    filter: blur(120px); z-index: -1; pointer-events: none; 
    animation: cahayaNapas 11s infinite alternate-reverse ease-in-out;
}
.section-title, .grid-produk, .pagination-box { position: relative; z-index: 2; }
.section-title { text-align: center; margin-bottom: 50px; }
.section-title h2 { font-size: 2.5rem; color: #0f172a; font-weight: 800; letter-spacing: -1px; margin-bottom: 10px; }

.grid-produk { 
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; 
    max-width: 1100px; margin: auto; align-items: stretch !important; 
}

.card-3d-premium { 
    background: white; border-radius: 24px; position: relative; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05); border: 1px solid #e2e8f0; 
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
    display: flex; flex-direction: column; overflow: hidden; height: 100%;
}
.card-3d-premium:hover { transform: translateY(-12px) scale(1.02); box-shadow: 0 25px 50px rgba(14, 165, 233, 0.15); border-color: #bae6fd; }

.badge-3d { position: absolute; top: 15px; right: -30px; background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%); color: white; font-weight: 900; font-size: 0.8rem; padding: 8px 40px; transform: rotate(45deg); z-index: 10; box-shadow: 0 5px 10px rgba(239, 68, 68, 0.3); text-transform: uppercase; }

.card-image-box { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); height: 180px; display: flex; justify-content: center; align-items: center; position: relative; overflow: hidden; flex-shrink: 0; }
.card-image-box::after { content: ''; position: absolute; width: 150px; height: 150px; background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%); }
.card-image-box img { width: 90px; height: 90px; object-fit: contain; position: relative; z-index: 2; transition: 0.5s; filter: drop-shadow(0 15px 15px rgba(0,0,0,0.1)); }
.card-3d-premium:hover .card-image-box img { transform: scale(1.15) rotate(5deg); }

.card-info-box { padding: 25px; display: flex; flex-direction: column; flex: 1; }
.rating-terjual { display: flex; justify-content: space-between; font-size: 0.85rem; font-weight: 700; margin-bottom: 12px; }
.rating { color: #f59e0b; }
.terjual { color: #64748b; background: #f1f5f9; padding: 2px 8px; border-radius: 6px;}

.card-info-box h3 { margin: 0 0 10px 0; color: #0f172a; font-size: 1.3rem; font-weight: 800; }
.card-info-box .deskripsi { 
    font-size: 0.9rem; color: #64748b; line-height: 1.6; margin-bottom: 15px; flex: 1;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; 
}

.status-stok { margin-bottom: 20px; font-size: 0.85rem; font-weight: 700; }
.stok-ada { display: inline-flex; align-items: center; gap: 5px; color: #10b981; background: #d1fae5; padding: 4px 10px; border-radius: 8px; }
.stok-habis { display: inline-flex; align-items: center; gap: 5px; color: #ef4444; background: #fee2e2; padding: 4px 10px; border-radius: 8px; }
.status-stok .material-icons-round { font-size: 16px; }

.area-harga-tombol { display: flex; justify-content: space-between; align-items: flex-end; border-top: 1px dashed #e2e8f0; padding-top: 20px; margin-top: auto !important; }
.harga-box { display: flex; flex-direction: column; }
.harga-box .label { font-size: 0.75rem; color: #94a3b8; font-weight: 700; text-transform: uppercase; margin-bottom: 2px;}
.harga-box .nominal { font-size: 1.3rem; color: #0ea5e9; font-weight: 900; }

.btn-beli-3d { 
    background: #0f172a; color: white; border: none; padding: 12px 20px; border-radius: 12px; font-weight: 800; text-decoration: none; 
    display: inline-flex; align-items: center; gap: 8px; transition: 0.3s; box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2); cursor: pointer;
}
.btn-beli-3d .material-icons-round { font-size: 18px; }
.btn-beli-3d:hover { background: #0ea5e9; box-shadow: 0 8px 20px rgba(14, 165, 233, 0.3); transform: translateY(-2px); }
.btn-beli-3d.disabled { background: #cbd5e1; box-shadow: none; cursor: not-allowed; color: #f8fafc; }

/* PAGINASI 4D */
.pagination-box { display: flex; justify-content: center; align-items: center; gap: 15px; margin-top: 50px; }
.btn-page { background: white; color: #0f172a; padding: 12px 20px; border-radius: 12px; font-weight: 800; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: inline-flex; align-items: center; gap: 5px; border: 1px solid #e2e8f0; cursor: pointer; text-decoration: none;}
.btn-page:hover { background: #0ea5e9; color: white; transform: translateY(-3px) scale(1.05); box-shadow: 0 10px 25px rgba(14,165,233,0.3); border-color: #0ea5e9; }
.btn-page:active { transform: scale(0.95); }
.page-info { font-weight: 800; color: #64748b; background: #e2e8f0; padding: 10px 20px; border-radius: 12px; }

/* =======================================
   5. PRE-FOOTER & FOOTER
======================================= */
.pre-footer { max-width: 1100px; margin: 100px auto; text-align: center; padding: 0 20px;}
.grup-pembayaran { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; margin-bottom: 50px; }
.pay-badge { background: white; border: 1px solid #e2e8f0; padding: 12px 25px; border-radius: 12px; font-weight: 900; font-size: 1.2rem; box-shadow: 0 4px 6px rgba(0,0,0,0.02); display: inline-flex; align-items: center; justify-content: center; min-width: 110px; letter-spacing: -0.5px; transition: 0.3s; }
.pay-badge:hover { transform: translateY(-3px); box-shadow: 0 10px 15px rgba(0,0,0,0.05); border-color: #cbd5e1; }
.pay-bca { color: #0066AE; font-style: italic;} .pay-bni { color: #F15A23; } .pay-mandiri { color: #003D79; } .pay-qris { color: #ED1C24; } .pay-gopay { color: #00AED6; } .pay-ovo { color: #4C3494; }

.grid-testi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px;}
.box-testi { background: white; border: 1px solid #e2e8f0; padding: 30px; border-radius: 20px; text-align: left; box-shadow: 0 4px 6px rgba(0,0,0,0.02);}
.profil-testi { display: flex; align-items: center; gap: 15px; margin-bottom: 15px;}
.profil-testi img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover;}

footer { background: #0f172a; color: #cbd5e1; padding: 60px 20px 20px 20px; margin-top: 80px; }
.footer-content { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-brand h3 { color: white; font-size: 1.5rem; margin-bottom: 15px; font-weight: 800; display: flex; align-items: center; gap: 8px;}
.footer-brand p { line-height: 1.6; font-size: 0.95rem; color: #94a3b8; }
.footer-links h4, .footer-payments h4 { color: white; font-size: 1.1rem; margin-bottom: 20px; font-weight: 700; }
.footer-links a { display: block; color: #94a3b8; margin-bottom: 12px; transition: 0.2s; font-weight: 600; }
.footer-links a:hover { color: #38bdf8; padding-left: 5px; } 
.footer-payments p { font-size: 0.95rem; line-height: 1.6; color: #94a3b8; }
.footer-bottom { text-align: center; border-top: 1px solid #1e293b; padding-top: 25px; font-size: 0.85rem; color: #64748b; font-weight: 600; }

/* =======================================
   6. RESPONSIVE DESIGN (TABLET & HP)
======================================= */
@media (max-width: 1024px) {
    .hero { padding: 80px 5% 120px 5%; }
    .hero-content h1 { font-size: 2.8rem; }
    .grid-stats { grid-template-columns: repeat(2, 1fr); gap: 60px 20px; margin-top: 80px;}
    .grid-langkah { grid-template-columns: repeat(3, 1fr); gap: 60px 20px;}
    .grid-testi { grid-template-columns: repeat(2, 1fr); }
    .grid-manfaat { grid-template-columns: 1fr; text-align: center; }
    .list-manfaat { text-align: center; align-items: center; }
    .item-manfaat { flex-direction: row !important; text-align: left; }
    .grid-produk { grid-template-columns: repeat(3, 1fr); }
}

/* BOTTOM NAVBAR KHUSUS MOBILE */
.mobile-bottom-nav { display: none; }

@media (max-width: 768px) {
    body { padding-bottom: 0; }
    footer { padding-bottom: 30px !important; }
    
    .navbar { padding: 10px 15px; flex-wrap: nowrap; gap: 15px; }
    .nav-menu { display: none !important; } 
    .brand-teks, .animasi-lucu { display: none; }
    .nav-brand-area { flex-shrink: 0; }
    .search-container { flex: 1; margin: 0; max-width: 100%; }
    .search-container input { padding: 10px 15px 10px 40px; font-size: 0.9rem; }
    
    .hero { grid-template-columns: 1fr; padding-top: 110px; text-align: center; }
    .hero-content h1 { font-size: 2.2rem; }
    .hero-img img { max-height: 250px; }
    .shape-divider svg { height: 60px; }
    
    .grid-stats { grid-template-columns: 1fr; gap: 70px 20px;}
    .grid-langkah { grid-template-columns: 1fr; gap: 40px; }
    .grid-langkah::before { top: 0; bottom: 0; left: 50%; right: auto; border-top: none; border-left: 2px dashed #cbd5e1; transform: translateX(-50%); }
    .box-langkah { background: white; padding: 20px; border-radius: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.03); }
    .grid-testi { grid-template-columns: 1fr; }
    .footer-content { grid-template-columns: 1fr; text-align: center; }

    /* KUNCI MATI GRID PRODUK HP WAJIB 2 KOLOM */
    .grid-produk { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; padding: 0 5px; }
    .card-3d-premium { border-radius: 16px; }
    .card-image-box { height: 110px; }
    .card-image-box img { width: 65px; height: 65px; }
    .card-info-box { padding: 15px; }
    .card-info-box h3 { font-size: 0.95rem; line-height: 1.3; margin-bottom: 5px;}
    .card-info-box .deskripsi { display: none !important; } 
    .rating-terjual { flex-direction: column; gap: 5px; font-size: 0.75rem; margin-bottom: 10px;}
    .area-harga-tombol { flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 10px; }
    .harga-box .nominal { font-size: 1.05rem; }
    .btn-beli-3d { width: 100%; justify-content: center; font-size: 0.85rem; padding: 10px; border-radius: 10px;}
    .stok-ada, .stok-habis { font-size: 0.65rem; padding: 3px 6px; margin-bottom: -5px;}
    .badge-3d { font-size: 0.6rem; padding: 4px 20px; top: 10px; right: -25px; }

    /* BOTTOM BAR PILL STYLE */
    .mobile-bottom-nav {
        display: flex; position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); 
        justify-content: center; align-items: center; gap: 35px; 
        background: rgba(255, 255, 255, 0.65); backdrop-filter: blur(24px) saturate(150%); -webkit-backdrop-filter: blur(24px) saturate(150%);
        border: 1px solid rgba(255, 255, 255, 0.8);
        box-shadow: 0 24px 48px rgba(15, 23, 42, 0.08), inset 0 1px 1px rgba(255, 255, 255, 1); 
        border-radius: 50px; padding: 12px 30px; z-index: 9999; width: max-content; 
    }
    .mobile-bottom-nav .nav-link { display: flex; align-items: center; justify-content: center; color: #94a3b8; position: relative; text-decoration: none; padding: 5px; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); font-size: 0; }
    .mobile-bottom-nav .nav-link:active { transform: scale(0.8); color: #0f172a; }
    .mobile-bottom-nav .material-icons-round { font-size: 28px; }
    .mobile-bottom-nav .nav-cart { background: none; border: none; box-shadow: none; }
    .mobile-bottom-nav .cart-badge { position: absolute; top: -2px; right: -5px; background: #ef4444; color: white; font-size: 0.65rem; font-weight: 800; padding: 3px 6px; border-radius: 20px; border: 2px solid rgba(255,255,255,0.8); line-height: 1; }
}

/* =======================================
   7. KOSMETIK COMPONENT DRAWER / BOTTOM SHEET
======================================= */
.drawer-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);
    z-index: 10000; opacity: 0; visibility: hidden;
    transition: all 0.3s ease;
}
.drawer-overlay.open { opacity: 1; visibility: visible; }

.drawer-panel {
    position: fixed; 
    top: 0; 
    bottom: 0; /* SOLUSI 1: Mengganti height: 100vh dengan ini agar selalu pas dengan layar yang terlihat */
    right: -460px; 
    width: 430px; 
    background: white; 
    z-index: 10001;
    box-shadow: -10px 0 40px rgba(15, 23, 42, 0.1);
    display: flex; 
    flex-direction: column;
    transition: right 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.drawer-panel.open { right: 0; }

.drawer-header { padding: 20px 25px; border-bottom: 1px solid #f1f5f9; display: flex; justify-content: space-between; align-items: center; position: relative; }
.drawer-header h3 { margin: 0; font-size: 1.25rem; font-weight: 800; color: #0f172a; }
.drawer-close-btn { background: #f1f5f9; border: none; width: 36px; height: 35px; border-radius: 50%; color: #64748b; cursor: pointer; display: flex; justify-content: center; align-items: center; transition: 0.2s; }
.drawer-close-btn:hover { background: #e2e8f0; color: #ef4444; transform: rotate(90deg); }
.drawer-swipe-indicator { display: none; }

.drawer-body { 
    padding: 25px; 
    flex: 1; 
    min-height: 0; /* SOLUSI 2: Memaksa isi teks yang panjang agar bisa di-scroll tanpa merusak tata letak */
    overflow-y: auto; 
    scrollbar-width: thin; 
    scrollbar-color: #cbd5e1 transparent; 
}
.drawer-body::-webkit-scrollbar { width: 6px; }
.drawer-body::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 10px; }

.drawer-product-meta { display: flex; align-items: center; gap: 15px; margin-bottom: 25px; }
.drawer-product-meta img { width: 70px; height: 70px; object-fit: contain; background: #f8fafc; border-radius: 14px; border: 1px solid #e2e8f0; padding: 6px; }
.drawer-product-meta h2 { font-size: 1.4rem; font-weight: 800; color: #0f172a; margin: 0 0 4px 0; line-height: 1.2; letter-spacing: -0.5px; }
.pop-rating-row { display: flex; align-items: center; font-size: 0.9rem; }
.pop-separator { width: 1px; height: 12px; background: #cbd5e1; margin: 0 10px; }

.drawer-desc-box { background: #f8fafc; padding: 15px; border-radius: 16px; margin-bottom: 25px; border: 1px dashed #cbd5e1; }
.pop-desc-item { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; font-size: 0.95rem; color: #475569; line-height: 1.5; }
.pop-desc-item:last-child { margin-bottom: 0; }
.pop-desc-item .material-icons-round { color: #10b981; font-size: 18px; flex-shrink: 0; margin-top: 1px; }

.drawer-variant-section h4 { margin: 0 0 15px 0; font-size: 1rem; color: #0f172a; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; }
.drawer-chip-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.pop-radio-hidden { display: none; }
.pop-chip-label { padding: 12px 20px; background: white; border: 2px solid #e2e8f0; border-radius: 16px; font-weight: 700; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; min-width: 110px; gap: 2px; }
.pop-chip-label:hover:not(.chip-habis) { border-color: #cbd5e1; background: #f8fafc; }
.pop-chip-label .chip-title { font-size: 0.95rem; color: #1e293b; font-weight: 800; }
.pop-chip-label .chip-meta { font-size: 0.75rem; color: #64748b; }
.pop-radio-hidden:checked + .pop-chip-label { border-color: #0ea5e9; background: #e0f2fe; box-shadow: 0 4px 12px rgba(14,165,233,0.15); }
.pop-radio-hidden:checked + .pop-chip-label .chip-title { color: #0284c7; }
.pop-radio-hidden:checked + .pop-chip-label .chip-meta { color: #0369a1; }
.chip-habis { opacity: 0.45; background: #f1f5f9; cursor: not-allowed; border-style: dashed; }
.chip-habis .chip-title { text-decoration: line-through; color: #94a3b8; }
.chip-habis .chip-meta { color: #ef4444; font-weight: 800; }

.drawer-footer { padding: 20px 25px; border-top: 1px solid #f1f5f9; background: white; box-shadow: 0 -5px 15px rgba(0,0,0,0.02); flex-shrink: 0; }
.drawer-price-box { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.price-label { font-size: 0.9rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; }
.price-nominal { font-size: 1.65rem; font-weight: 900; color: #0ea5e9; }
.drawer-action-buttons { display: flex; gap: 12px; }
.btn-drawer-secondary { padding: 16px; border-radius: 16px; font-weight: 800; font-size: 1rem; background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; text-align: center; display: flex; justify-content: center; align-items: center; gap: 6px; transition: 0.2s; text-decoration: none; }
.btn-drawer-secondary:hover { background: #e2e8f0; color: #0f172a; }
.btn-drawer-secondary .material-icons-round { font-size: 20px; }
.btn-drawer-primary { flex: 1; padding: 16px; border-radius: 16px; font-weight: 800; font-size: 1.05rem; background: #0f172a; color: white; border: none; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 8px; transition: 0.3s; }
.btn-drawer-primary:not(:disabled):hover { background: #0ea5e9; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(14,165,233,0.25); }
.btn-drawer-primary:disabled { background: #cbd5e1; cursor: not-allowed; color: #f8fafc; }

@media (max-width: 768px) {
    .drawer-panel { top: auto; bottom: -100%; right: auto; left: 0; width: 100%; height: 82vh; border-radius: 28px 24px 0 0; box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.12); transition: bottom 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.12); }
    .drawer-panel.open { bottom: 0; right: auto; }
    .drawer-swipe-indicator { display: block; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 42px; height: 5px; background: #cbd5e1; border-radius: 10px; }
    .drawer-header { padding-top: 28px; }
}

/* ======================================================
   🌟 MASTER FOOTER SAAS ENTERPRISE PREMIUM (LIGHT 4D MODE)
====================================================== */
footer { 
    position: relative;
    background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%); /* Gradasi putih ke biru es Premium */
    color: #475569; 
    padding: 80px 20px 20px 20px; 
    margin-top: 80px; 
    width: 100%; 
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -10px 30px rgba(0,0,0,0.02); /* Bayangan lembut ke atas (4D effect) */
    overflow: hidden;
}

/* Efek Awan/Cahaya 4D Melayang di Latar Footer */
footer::before {
    content: ''; position: absolute; top: -100px; right: -50px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.08) 0%, rgba(255,255,255,0) 70%);
    z-index: 0; pointer-events: none;
}

/* Pastikan konten tetap di atas efek cahaya */
.footer-content, .footer-bottom { position: relative; z-index: 1; }

/* Kunci 4 Kolom di PC */
.footer-content { 
    max-width: 1100px; margin: 0 auto; display: grid; 
    grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 50px; margin-bottom: 50px; 
}

/* 1. Kolom Brand & Tagline */
.footer-brand h3 { color: #0f172a; font-size: 1.6rem; margin-bottom: 20px; font-weight: 800; display: flex; align-items: center; gap: 10px; letter-spacing: -0.5px;}
.footer-img { height: 45px; width: auto; border-radius: 12px; object-fit: contain; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.05)); }
.history-siluet { font-style: italic; color: #64748b; font-size: 0.95rem; line-height: 1.7; border-left: 3px solid #0ea5e9; padding-left: 15px; margin-top: 15px; }

/* 2 & 3. Kolom Links Navigasi */
.footer-links h4 { color: #0f172a; font-size: 1.15rem; margin-bottom: 25px; font-weight: 800; letter-spacing: 0.5px; }
.footer-links a { 
    display: flex; align-items: center; gap: 10px; 
    color: #475569; margin-bottom: 16px; transition: all 0.3s ease; 
    font-weight: 700; font-size: 0.95rem; text-decoration: none;
}
.footer-links a .material-icons-round { font-size: 18px; color: #94a3b8; transition: 0.3s; }
.footer-links a:hover { color: #0ea5e9; transform: translateX(6px); } /* Efek geser 4D */
.footer-links a:hover .material-icons-round { color: #0ea5e9; }

/* 4. Kolom Support Admin (Floating 3D Box) */
.footer-support h4 { color: #0f172a; font-size: 1.15rem; margin-bottom: 25px; font-weight: 800; letter-spacing: 0.5px; }
.footer-support-list { display: flex; flex-direction: column; gap: 15px; }
.btn-support { 
    display: flex; align-items: center; gap: 15px; 
    background: #ffffff; padding: 14px 18px; border-radius: 16px; 
    color: #0f172a; text-decoration: none; transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
    border: 1px solid #e2e8f0; box-shadow: 0 5px 15px rgba(0,0,0,0.03); /* Kotak Melayang */
}
.btn-support img { width: 32px; height: 32px; transition: 0.3s; object-fit: contain; }
.btn-support span { font-weight: 800; font-size: 0.95rem; }
.btn-support:hover { border-color: #bae6fd; transform: translateY(-4px); box-shadow: 0 15px 30px rgba(14,165,233,0.15); }
.btn-support:hover img { transform: scale(1.1) rotate(5deg); }

/* Garis Bawah Copyright */
.footer-bottom { 
    text-align: center; border-top: 1px dashed #cbd5e1; 
    padding-top: 30px; font-size: 0.85rem; color: #64748b; font-weight: 700; 
    max-width: 1100px; margin: 0 auto;
}


/* --- HALAMAN STATIS (FAQ, SYARAT, PRIVASI) --- */
.page-header { 
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); 
    color: white; padding: 80px 20px 60px; text-align: center; 
}
.page-header h1 { font-size: 2.5rem; font-weight: 800; margin-bottom: 10px; }
.page-content { 
    max-width: 900px; margin: -50px auto 50px; background: white; 
    padding: 40px; border-radius: 24px; box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.page-content h2 { color: #0f172a; margin: 25px 0 15px; font-weight: 800; }
.page-content p { color: #475569; line-height: 1.7; margin-bottom: 15px; }


/* ======================================================
   📱 RESPONSIVE KHUSUS FOOTER (TABLET & HP)
====================================================== */
@media (max-width: 1024px) {
    .footer-content { grid-template-columns: repeat(2, 1fr); gap: 40px; }
}

@media (max-width: 768px) {
    footer { padding: 60px 20px 30px 20px !important; } 
    .footer-content { grid-template-columns: 1fr; text-align: center; gap: 40px; }
    
    .footer-brand h3 { justify-content: center; }
    .history-siluet { border-left: none; border-top: 3px solid #0ea5e9; padding-left: 0; padding-top: 15px; }
    
    .footer-links h4 { text-align: center; }
    .footer-links a { justify-content: center; }
    .footer-links a:hover { transform: translateY(-3px); } /* Hover naik ke atas di layar HP */
    
    .footer-support h4 { text-align: center; }
    .btn-support { justify-content: center; }
}




/* Container pembungkus */
.hero-img-wrapper { 
    position: relative; 
    z-index: 2; 
    display: flex; 
    justify-content: center; 
    max-width: 100%; /* KUNCI HP 1: Menahan wadah agar tidak jebol */
}

/* Bingkai 4D Premium + Efek Lakban */
.hero-frame {
    position: relative; /* PENTING: Harus ada untuk menaruh lakban */
    background: #ffffff; 
    padding: 15px; 
    border-radius: 24px; 
    box-shadow: 0 30px 60px rgba(0,0,0,0.12), 0 10px 20px rgba(14, 165, 233, 0.2); 
    transform: rotate(2deg); /* Sudut dikurangi sedikit agar lebih natural */
    transition: 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(255,255,255,0.8);
    max-width: 100%; /* KUNCI HP 2: Memaksa bingkai menyesuaikan layar */
    box-sizing: border-box;
}

/* --- SIHIR LAKBAN (Washi Tape Effect) --- */
.hero-frame::before {
    content: '';
    position: absolute;
    top: -15px; /* Posisi lakban di atas */
    left: 50%;
    transform: translateX(-50%) rotate(-3deg);
    width: 130px;
    height: 40px;
    background: rgba(255, 255, 255, 0.7); /* Transparansi lakban */
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 2px 2px 5px rgba(0,0,0,0.05);
    z-index: 10;
    pointer-events: none; /* Agar tidak menghalangi klik */
}

/* Efek saat kursor didekatkan */
.hero-frame:hover {
    transform: rotate(0deg) translateY(-10px) scale(1.02); 
    box-shadow: 0 40px 80px rgba(14, 165, 233, 0.3);
}

/* Pengaturan Gambar */
.img-premium {
    display: block;
    border-radius: 16px; 
    animation: floatSaaS 4s ease-in-out infinite; 
    width: 100%; /* KUNCI HP 3: Memaksa gambar patuh pada kerangka */
}


/* --- FAQ AKORDION ENTERPRISE --- */
.faq-container { width: 100%; max-width: 800px; margin: 20px auto; }
.faq-item { border-bottom: 1px solid #e2e8f0; margin-bottom: 10px; }

.faq-question { 
    display: flex; justify-content: space-between; align-items: center; 
    width: 100%; padding: 20px 0; background: none; border: none; 
    font-size: 1.1rem; font-weight: 700; color: #0f172a; text-align: left; 
    cursor: pointer; transition: 0.3s; 
}
.faq-question:hover { color: #0ea5e9; }

.faq-answer { 
    max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; 
    color: #64748b; line-height: 1.7; font-size: 1rem; 
}
.faq-answer p { padding-bottom: 20px; margin: 0; }

.ikon-faq { transition: transform 0.3s; color: #94a3b8; }
.faq-item.aktif .ikon-faq { transform: rotate(180deg); color: #0ea5e9; }
.faq-item.aktif .faq-answer { max-height: 500px; }


/* =========================================
   Fase 1: SEKSI MANFAAT 4D GRID SYSTEM
   ========================================= */

/* Wadah Utama Seksi Manfaat */
.manfaat-section {
    padding: 80px 20px;
    background: transparent; /* Dibuat tembus pandang */
    text-align: center;
    position: relative;
}

/* Cahaya Pastel Ungu Melayang di Belakang Manfaat */
.manfaat-section::before {
    content: ''; position: absolute; top: 20%; right: -10%;
    width: 600px; height: 600px; background: rgba(167, 139, 250, 0.25); /* Warna Ungu */
    filter: blur(120px); z-index: 0; pointer-events: none; 
    animation: cahayaNapas 10s infinite alternate-reverse ease-in-out;
}
.manfaat-header, .manfaat-grid { position: relative; z-index: 2; }

.manfaat-header h2 {
    font-size: 2rem;
    color: #0f172a;
    margin-bottom: 50px;
    font-weight: 800;
}

/* Grid Layout Otomatis Responsif */
.manfaat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    max-width: 1000px;
    margin: 0 auto;
}

/* Desain Kartu 4D Premium */
.manfaat-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 20px;
    display: flex; 
    align-items: center;
    gap: 20px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05); 
    border: 1px solid rgba(255, 255, 255, 0.8);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: default; 
}

/* Efek Melayang 4D saat di-hover/disentuh */
.manfaat-card:hover {
    transform: translateY(-8px) scale(1.02); 
    box-shadow: 0 20px 40px rgba(14, 165, 233, 0.15); 
}

/* Wadah untuk Ikon */
.manfaat-icon-wrapper {
    width: 65px;
    height: 65px;
    flex-shrink: 0; 
    background: #f0f9ff; 
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Pengaturan Teks */
.manfaat-text {
    text-align: left;
}

.manfaat-text h3 {
    font-size: 1.1rem;
    color: #1e293b;
    margin: 0;
    font-weight: 700;
}

/* =========================================
   PENGATURAN MATERIAL ICON 3D
   ========================================= */
.icon-material-3d {
    font-size: 38px; 
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(2px 5px 5px rgba(0,0,0,0.25)); 
}

.manfaat-card:hover .icon-material-3d {
    transform: scale(1.15) rotate(8deg); 
}

/* WARNA GRADASI 3D UNTUK IKON */
.text-blue { background: linear-gradient(135deg, #38bdf8, #0284c7); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.text-green { background: linear-gradient(135deg, #34d399, #059669); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.text-orange { background: linear-gradient(135deg, #fbbf24, #ea580c); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.text-purple { background: linear-gradient(135deg, #a78bfa, #6d28d9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.text-red { background: linear-gradient(135deg, #fb7185, #e11d48); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.text-teal { background: linear-gradient(135deg, #2dd4bf, #0f766e); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }


/* ===================================================
   /* ===================================================
   SEKSI PROMO STATIS (3D HIGHLIGHT CENTER)
=================================================== */
.promo-statis-section {
    padding: 60px 0 140px 0; /* Memberikan ruang bawah lebih lega agar bayangan bawah tidak terpotong kaku */
    position: relative;
    overflow: visible !important; /* Memastikan bayangan luar kartu bebas melayang */
}

/* Cahaya Mint Melayang di Belakang Kartu Promo */
.promo-statis-section::before {
    content: ''; position: absolute; bottom: -10%; left: 10%;
    width: 550px; height: 550px; background: rgba(52, 211, 153, 0.25); /* Warna Hijau Mint */
    filter: blur(120px); z-index: 0; pointer-events: none; 
    animation: cahayaNapas 9s infinite alternate ease-in-out;
}
.promo-container { position: relative; z-index: 2; }

.promo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    max-width: 1100px;
    margin: 0 auto;
}

/* --- KARTU DASAR (Kiri & Kanan) --- */
.promo-card {
    position: relative; /* Penting untuk bingkai abstrak */
    width: 300px;
    
    /* --- PERUBAHAN: Warna Dasar, Motif Polkadot & Volume 3D --- */
    background-color: #e0f2fe; /* Biru muda kalem */
    background-image: radial-gradient(rgba(14, 165, 233, 0.15) 2px, transparent 2px);
    background-size: 18px 18px; /* Mengatur jarak antar titik */
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 
        inset 0 5px 6px rgba(255, 255, 255, 0.9),  /* Pantulan Cahaya Atas */
        inset 0 -5px 15px rgba(14, 165, 233, 0.12), /* Bayangan Bawah (Tebal) */
        0 10px 30px rgba(0,0,0,0.05); /* Bayangan Luar */
    /* ---------------------------------------------------------- */

    border-radius: 24px;
    padding: 15px;
    transform: scale(0.9); /* Diperkecil seolah di belakang */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
    z-index: 1;
}

/* Bingkai 3D Abstrak Kiri & Kanan (Miring ke kiri) */
.promo-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(135deg, #bae6fd, #7dd3fc);
    border-radius: 24px;
    z-index: -1; /* Berada di belakang kartu utama */
    transform: rotate(-4deg); /* Sihir efek abstrak miring */
    transition: 0.4s;
}

/* --- KARTU TENGAH (Highlight Utama) --- */
.promo-card.card-center {
    /* --- PERUBAHAN: Warna Dasar Putih, Motif Polkadot & Volume 3D --- */
    background-color: #ffffff; /* Putih bersih agar menonjol */
    background-image: radial-gradient(rgba(14, 165, 233, 0.08) 2px, transparent 2px);
    border: 1px solid #ffffff;
    box-shadow: 
        inset 0 5px 6px rgba(255, 255, 255, 1), 
        inset 0 -6px 20px rgba(14, 165, 233, 0.08), 
        0 25px 50px rgba(14, 165, 233, 0.18);
    /* ---------------------------------------------------------------- */

    transform: scale(1.05); /* Lebih besar / maju ke depan */
    z-index: 2;
}

/* Bingkai 3D Abstrak Tengah (Miring ke kanan dengan warna tegas) */
.promo-card.card-center::before {
    background: linear-gradient(135deg, #0f172a, #0ea5e9);
    transform: rotate(4deg);
    box-shadow: 0 10px 30px rgba(14, 165, 233, 0.2);
}

/* Efek Hover (Saat Disentuh Mouse) */
.promo-card:hover { transform: scale(0.95) translateY(-10px); z-index: 3; }
.promo-card.card-center:hover { transform: scale(1.1) translateY(-10px); }
.promo-card:hover::before { transform: rotate(-6deg); }
.promo-card.card-center:hover::before { transform: rotate(6deg); }

/* --- /* --- PENGATURAN ISI KARTU --- */
.promo-img-box {
    width: 100%;
    height: 190px; /* Sedikit ditinggikan agar gambar proporsional */
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.06); /* Elevasi gambar */
    border: 2px solid #ffffff; /* Bingkai dalam gambar */
}

.promo-img-box img {
    width: 100%; height: 100%; object-fit: cover;
    transition: 0.5s ease;
}

.promo-card:hover .promo-img-box img { transform: scale(1.1); }

.promo-info { 
    text-align: center; 
    padding: 0 10px 15px; 
}

/* Tipografi Judul Premium (Kartu Samping) */
.promo-info h3 { 
    color: #0f172a; 
    font-size: 1.45rem; /* Ukuran sedikit diperbesar */
    font-weight: 900; 
    margin-bottom: 10px; 
    line-height: 1.25;
    letter-spacing: -0.5px; 
    /* Efek 3D Emboss (Timbul) untuk teks di latar terang */
    text-shadow: 1px 2px 0px rgba(255, 255, 255, 1), 0 5px 10px rgba(0, 0, 0, 0.08);
}

/* Tipografi Deskripsi Singkat (Kartu Samping) */
.promo-info p { 
    color: #475569; 
    font-size: 0.95rem; 
    line-height: 1.6; 
    margin-bottom: 24px; 
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; 
    overflow: hidden; 
    font-weight: 600; /* Sedikit ditebalkan agar jelas */
}

/* =========================================
   ADAPTASI WARNA KHUSUS KARTU TENGAH (HIGHLIGHT)
   ========================================= */
/* Ubah Judul jadi Putih & Berbayang Gelap */
.promo-card.card-center .promo-info h3 { 
    color: #ffffff; 
    /* Efek 3D Mengambang di atas latar gelap */
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.35); 
}

/* Ubah Deskripsi jadi Putih Terang */
.promo-card.card-center .promo-info p { 
    color: #f8fafc; 
    opacity: 1; /* Memastikan teks tidak transparan */
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); 
}

/* Tombol Samping (Gelap) */
.btn-promo {
    background: #0f172a; color: white; border: none; padding: 12px 25px; border-radius: 50px; font-weight: 800; font-size: 0.9rem; transition: 0.3s;
}

/* Tombol Tengah (Biru Nyala) */
.btn-promo-center {
    background: #0ea5e9; color: white; border: none; padding: 12px 25px; border-radius: 50px; font-weight: 800; font-size: 0.9rem; transition: 0.3s; box-shadow: 0 5px 15px rgba(14, 165, 233, 0.3);
}

/* ===================================================
   RESPONSIF PROMO KHUSUS HP (Geser Horizontal)
=================================================== */
@media (max-width: 768px) {
    .promo-container { 
        flex-direction: row; /* Memaksa kartu sejajar menyamping */
        justify-content: flex-start;
        overflow-x: auto; /* Mengaktifkan scroll menyamping */
        scroll-snap-type: x mandatory; /* Magnet otomatis ke tengah kartu */
        scroll-behavior: smooth;
        padding: 20px 20px 40px; 
        gap: 20px;
        /* Menyembunyikan tampilan scrollbar bawaan browser agar rapi */
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .promo-container::-webkit-scrollbar { 
        display: none; 
    }

    .promo-card { 
        min-width: 85%; /* Kartu mengambil 85% lebar layar HP */
        scroll-snap-align: center; /* Magnet snap berada di tengah layar */
        transform: scale(0.95) !important; /* Menyamakan ukuran semua kartu di HP */
    }

    .promo-card.card-center { 
        transform: scale(0.95) !important; /* Kartu tengah ukurannya disamakan dengan yang lain di HP */
    }
}


/* =========================================
   /* =========================================
   GAYA LACI IKLAN (ENTERPRISE MODAL & BOTTOM SHEET)
   ========================================= */

/* 1. Latar Belakang Blur (Overlay) Khusus Iklan */
#drawer-iklan-overlay {
    position: fixed; 
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15, 23, 42, 0.6); /* Warna navy gelap transparan */
    backdrop-filter: blur(8px); 
    -webkit-backdrop-filter: blur(8px);
    z-index: 10000; 
    opacity: 0; visibility: hidden;
    transition: all 0.3s ease;
}
#drawer-iklan-overlay.open { opacity: 1; visibility: visible; }

/* 2. Gaya Dasar Panel (Floating Card untuk PC/Laptop) */
.drawer-iklan-panel {
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -45%) scale(0.95); /* Posisi awal sedikit turun & mengecil */
    width: 90%; max-width: 450px; /* Lebar dibatasi agar elegan */
    height: auto; max-height: 85vh; /* Tidak full layar */
    background: #F5F6F7;
    border-radius: 28px;
    z-index: 10005;
    opacity: 0; visibility: hidden;
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: flex; flex-direction: column; overflow: hidden;
    box-shadow: 0 25px 50px rgba(0,0,0,0.25); /* Bayangan 3D dalam */
}

/* Animasi Muncul Melayang ke Tengah di PC */
.drawer-iklan-panel.open {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1; visibility: visible;
}

/* 3. Area Gambar Banner */
.drawer-iklan-banner { 
    position: relative; 
    width: 100%; 
    height: 250px; 
    flex-shrink: 0; 
}
.drawer-iklan-banner img { 
    width: 100%; height: 100%; object-fit: cover; 
}

/* 4. Tombol Kembali / Close */
.btn-back-bulat {
    position: absolute; top: 20px; left: 20px;
    width: 42px; height: 42px;
    background: rgba(255, 255, 255, 0.95); /* Putih bersih */
    color: #0f172a; border: none; border-radius: 50%;
    display: flex; justify-content: center; align-items: center;
    cursor: pointer; z-index: 99; /* Z-index tinggi agar tak tertutup */
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    transition: 0.3s;
}
.btn-back-bulat:hover { transform: scale(1.05); }

/* 5. Konten Teks Menumpuk ke Atas Gambar */
.drawer-iklan-content {
    background: #ffffff;
    flex: 1; 
    border-radius: 28px 28px 0 0; 
    margin-top: -30px; /* Trik menumpuk overlap */
    position: relative; z-index: 5;
    padding: 25px; 
    overflow-y: auto; 
    box-shadow: 0 -10px 20px rgba(0,0,0,0.08);
}

.drawer-iklan-content h2 {
    font-size: 1.6rem; color: #0f172a; margin-bottom: 12px; font-weight: 800;
}
.drawer-iklan-teks {
    font-size: 0.95rem; color: #475569; line-height: 1.7;
}

/* =========================================
   KOSMETIK DESKRIPSI POP-UP (FUN ART 3D)
   ========================================= */

/* Lencana Hijau 3D (Badge) */
.badge-hijau-3d {
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    color: #166534;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 10px rgba(34, 197, 94, 0.15);
    border: 1px solid #ffffff;
    margin-bottom: 20px;
}
.badge-hijau-3d img { width: 20px; height: 20px; filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1)); }

/* Wadah Box Putus-Putus (Dashed Grid) */
.wadah-deskripsi-fun {
    background-color: #f8fafc;
    background-image: radial-gradient(rgba(14, 165, 233, 0.1) 2px, transparent 2px);
    background-size: 15px 15px; /* Jaring titik-titik lembut */
    border: 2px dashed #7dd3fc; /* Garis tepi putus-putus biru muda */
    border-radius: 20px;
    padding: 25px 20px;
    position: relative;
    box-shadow: inset 0 0 15px rgba(255, 255, 255, 1), 0 5px 15px rgba(0,0,0,0.02);
    margin-bottom: 20px;
}

/* Pengaturan Teks di Dalam Wadah */
.drawer-iklan-teks {
    font-size: 0.95rem;
    color: #334155;
    line-height: 1.8;
    position: relative;
    z-index: 2; /* Berada di atas latar belakang titik-titik */
}

/* Ornamen 3D Kecil di Pop-up */
.ikon-3d-pop {
    position: absolute;
    z-index: 10;
    pointer-events: none;
    filter: drop-shadow(0 10px 10px rgba(0,0,0,0.15));
    animation: floatPop 3.5s ease-in-out infinite;
}

/* Posisi Bintang Bersinar (Kanan Atas) */
.pop-hiasan-1 { 
    top: -15px; 
    right: -15px; 
    width: 45px; 
}

/* Posisi Roket (Kiri Bawah) */
.pop-hiasan-2 { 
    bottom: -20px; 
    left: -15px; 
    width: 55px; 
    animation-delay: 1.5s; /* Jeda agar naiknya bergantian */
}

/* Animasi Melayang Khusus Pop-up */
@keyframes floatPop {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(8deg); }
}
/* ===================================================
   6. RESPONSIVE KHUSUS HP (BOTTOM SHEET MODE & PERBAIKAN CAHAYA)
=================================================== */
@media (max-width: 768px) {
    /* --- PERBAIKAN: Perkecil ukuran bola cahaya di HP agar tidak kelebaran --- */
    .hero::before { width: 300px; height: 300px; top: -10%; left: -20%; }
    .manfaat-section::before { width: 300px; height: 300px; right: -20%; }
    .promo-statis-section::before { width: 300px; height: 300px; left: -20%; }
    .etalase::before { width: 300px; height: 300px; right: -20%; }
    /* ------------------------------------------------------------------ */

    .drawer-iklan-panel {
        top: auto; left: 0; 
        bottom: 0; 
        transform: translateY(100%); /* HAPUS !important agar animasi dan JS bisa bekerja */
        width: 100%; max-width: 100%;
        height: 96vh; /* Tinggikan panel laci agar bisa ditarik memanjang jadi full screen */
        border-radius: 32px 32px 0 0;
        transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.3s ease; 
    }
    
    /* Posisi Normal (Laci muncul setengah layar) */
    .drawer-iklan-panel.open {
        transform: translateY(16vh); /* 96vh dikurangi 16vh = menyisakan 80vh yang terlihat di layar */
        opacity: 1; visibility: visible;
    }

    /* Posisi Layar Penuh (Saat laci ditarik ke paling atas) */
    .drawer-iklan-panel.open-full {
        transform: translateY(0);
        border-radius: 0; /* Hilangkan siku bulat saat laci sudah menyentuh atap HP */
    }
    
    .drawer-iklan-banner { height: 35vh; }
    
    /* Class asli untuk menghidupkan garis abu-abu penarik laci (Drag Handle) */
    .drawer-drag-handle {
        width: 45px; height: 5px;
        background: #cbd5e1; border-radius: 10px;
        margin: 0 auto 20px;
        cursor: grab;
    }
}


/* ===================================================
   ELEMEN 3D ABSTRAK MELAYANG (ART DECO)
=================================================== */
.ikon-3d {
    position: absolute;
    z-index: 10;
    pointer-events: none; /* Agar tidak menutupi klik tombol di bawahnya */
    filter: drop-shadow(0 15px 15px rgba(0,0,0,0.2)); /* Bayangan 3D */
    animation: float3D 4s ease-in-out infinite; /* Animasi mengambang */
}

/* Posisi Sudut Kanan Atas (Besar) */
.ikon-3d-1 { 
    top: -25px; 
    right: -25px; 
    width: 75px; 
    height: 75px; 
    animation-delay: 0s; 
}

/* Posisi Kiri Tengah (Kecil) */
.ikon-3d-2 { 
    bottom: 50px; 
    left: -20px; 
    width: 55px; 
    height: 55px; 
    animation-delay: 1.5s; /* Delay agar naik-turunnya tidak bersamaan */
}

/* Kunci Animasi Bergerak Naik-Turun dan Memutar Sedikit */
@keyframes float3D {
    0% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(15deg); }
    100% { transform: translateY(0) rotate(0deg); }
}

/* =======================================
   ANIMASI KUNCI UNTUK CAHAYA MELAYANG
======================================= */
@keyframes cahayaNapas {
    0% { transform: translate(0, 0) scale(1); opacity: 0.8; }
    50% { transform: translate(60px, -40px) scale(1.1); opacity: 1; }
    100% { transform: translate(-40px, 60px) scale(0.9); opacity: 0.8; }
}

/* ===================================================
   TEMA "FUN & ART 3D" (AWAN, PITA, ORNAMEN MELAYANG)
=================================================== */

/* 1. Latar Belakang Hero Langit Ceria */
.hero { 
    background: linear-gradient(135deg, #7dd3fc 0%, #38bdf8 100%) !important;
    padding: 140px 5% 200px 5%; /* Angka 100px diubah jadi 140px agar membentang ke atas */
    overflow: hidden;
}


/* 2. Pembatas Awan Tebal (Cloud Divider) */
.shape-divider svg { 
    width: calc(100% + 1.3px); 
    height: 180px;
}

/* 3. Latar Pita Melengkung di Bagian Pembayaran */
.pre-footer { 
    position: relative; 
    max-width: 100%; 
    margin: 0; /* Menetralkan margin kaku */
    padding: 120px 20px; 
    overflow: hidden; 
    background: transparent;
}

.pre-footer-content {
    position: relative;
    z-index: 2;
    max-width: 1100px; 
    margin: 0 auto; 
    text-align: center;
}

.bg-pita-lengkung {
    position: absolute;
    top: 0; left: 0; 
    width: 100%; height: 100%; 
    z-index: 0;
    pointer-events: none;
}

.bg-pita-lengkung svg { 
    width: 100%; height: 100%; 
    transform: scale(1.05); /* Trik anti-patah */
    transform-origin: center center;
    animation: floatPita 8s ease-in-out infinite alternate;
}

@keyframes floatPita {
    0% { transform: translateY(0) rotate(0deg) scale(1.05); }
    100% { transform: translateY(-15px) rotate(1deg) scale(1.07); }
}

/* 4. Ornamen 3D Melayang Bebas */
.ornamen-melayang {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    filter: drop-shadow(0 15px 15px rgba(0,0,0,0.15));
    animation: float3D 6s ease-in-out infinite;
}

.ornamen-hero-1 { top: 15%; left: 5%; width: 75px; animation-delay: 0s; transform: rotate(-15deg); }
.ornamen-hero-2 { top: 25%; right: 45%; width: 55px; animation-delay: 1.5s; transform: rotate(15deg); }
.ornamen-hero-3 { bottom: 35%; left: 15%; width: 85px; animation-delay: 3s; transform: rotate(-5deg); }

.ornamen-pay-1 { top: 10%; left: 8%; width: 150px; animation-delay: 0.5s; }
.ornamen-pay-2 { bottom: 10%; right: 8%; width: 140px; animation-delay: 2s; transform: translateY(0); }

/* Responsif HP untuk Tema Baru */
@media (max-width: 768px) {
    .ornamen-hero-2 { right: 5%; }
    
    /* Aku menambahkan top: 0%; di sini agar ikon biru naik ke atas */
    .ornamen-pay-1 { width: 100px; left: -5%; top: 0%; } 
    
    .ornamen-pay-2 { width: 90px; right: -5%; bottom: 5%; }
    .shape-divider svg { height: 80px; }
}


/* ===================================================
   4. TEMA "FUN & ART 3D" (PITA PRE-FOOTER)
=================================================== */
.pre-footer { 
    position: relative; 
    max-width: 100%; 
    margin: 0; /* PENTING: Membersihkan margin agar tidak kaku */
    padding: 120px 20px; 
    overflow: hidden; 
    background: transparent;
}

.pre-footer-content {
    position: relative;
    z-index: 2;
    max-width: 1100px; 
    margin: 0 auto; 
    text-align: center;
}

.bg-pita-lengkung {
    position: absolute;
    top: 0; left: 0; 
    width: 100%; height: 100%; 
    z-index: 0;
    pointer-events: none;
}

.bg-pita-lengkung svg { 
    width: 100%; height: 100%; 
    transform: scale(1.05); /* PENTING: Trik agar lengkungan pitanya tetap mulus (tidak patah) */
    transform-origin: center center;
    animation: floatPita 8s ease-in-out infinite alternate;
}

/* Animasi tambahan: Pita bernapas/bergoyang sangat halus */
@keyframes floatPita {
    0% { transform: translateY(0) rotate(0deg) scale(1.05); }
    100% { transform: translateY(-15px) rotate(1deg) scale(1.07); }
}

/* Ornamen 3D Melayang Bebas di Area Kosong */
.ornamen-melayang {
    position: absolute;
    z-index: 1;
    pointer-events: none; /* Agar tidak menghalangi klik */
    filter: drop-shadow(0 15px 15px rgba(0,0,0,0.15));
    animation: float3D 6s ease-in-out infinite;
}

/* Posisi Karakter/Ikon di Pembayaran (Pre-Footer) */
.ornamen-pay-1 { top: 1%; left: 8%; width: 150px; animation-delay: 0.5s; }
.ornamen-pay-2 { bottom: 10%; right: 8%; width: 140px; animation-delay: 2s; transform: translateY(0); }

/* Responsif untuk HP */
@media (max-width: 768px) {
    .ornamen-pay-1 { width: 100px; left: -5%; }
    .ornamen-pay-2 { width: 90px; right: -5%; bottom: 5%; }
}


/* Responsif HP untuk Tema Baru */
@media (max-width: 768px) {
    .ornamen-hero-2 { right: 5%; }
    
    /* Aku menambahkan top: 0%; di sini agar ikon biru naik ke atas */
    .ornamen-pay-1 { width: 100px; left: -5%; top: 2%; } 
    
    .ornamen-pay-2 { width: 90px; right: -5%; bottom: 5%; }
    .shape-divider svg { height: 80px; }
}



/* ==========================================
   PENGATURAN WAJIB LENIS SMOOTH SCROLL
   ========================================== */
html.lenis, html.lenis body {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-scrolling iframe {
    pointer-events: none;
}


/* =========================================
   KUNCI MUTLAK BACKGROUND & ANTI-BLEEDING
   ========================================= */
body.laci-terbuka {
    overflow: hidden !important;
    touch-action: none; /* Cegah browser HP melakukan aksi refresh/tarik paksa */
}

/* Kunci tenaga scroll agar tidak diteruskan ke background saat mentok */
.drawer-iklan-content {
    overscroll-behavior: contain; 
}

/* Berlaku juga untuk laci produk utama */
.drawer-body {
    overscroll-behavior: contain;
}


/* =========================================
   PRELOADER ANIMASI 3D PREMIUM
========================================= */
#preloader-premium {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: #f8fafc;
    z-index: 999999; /* Pastikan selalu berada paling atas */
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

.loader-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tas-belanja-container {
    position: relative;
    width: 150px;
    height: 180px;
    margin-bottom: 20px;
}

.tas-belanja {
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    filter: drop-shadow(0 15px 15px rgba(0,0,0,0.1));
}

.item-jatuh {
    position: absolute;
    width: 40px; height: 40px;
    z-index: 2;
    opacity: 0;
    top: -50px;
    pointer-events: none;
}

/* Animasi 3D: Ikon jatuh, memutar, lalu tersedot tepat ke mulut tas */
@keyframes jatuhMasukTas {
    0% { transform: translateY(0px) rotate(0deg) scale(0.5); opacity: 0; }
    20% { opacity: 1; transform: translateY(40px) rotate(90deg) scale(1); }
    /* Titik 80% adalah saat ikon tepat di mulut tas */
    80% { transform: translateY(120px) rotate(260deg) scale(0.6); opacity: 1; }
    /* Titik 100% ikon mengecil menjadi 0 (seolah tersedot) */
    100% { transform: translateY(130px) rotate(360deg) scale(0); opacity: 0; }
}

/* Mengatur posisi horizontal agar ikon jatuh tepat ke area lubang tas */
.item-1 { left: 35%; animation: jatuhMasukTas 1.6s infinite 0s; }
.item-2 { left: 45%; animation: jatuhMasukTas 1.6s infinite 0.4s; }
.item-3 { left: 55%; animation: jatuhMasukTas 1.6s infinite 0.8s; }
.item-4 { left: 40%; animation: jatuhMasukTas 1.6s infinite 1.2s; }



.loading-teks {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
}

.loading-bar-container {
    width: 200px;
    height: 8px;
    background: #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 8px;
}

.loading-bar-progress {
    width: 0%; /* Dimulai dari 0 */
    height: 100%;
    background: linear-gradient(90deg, #0ea5e9, #38bdf8);
    border-radius: 10px;
    transition: width 0.15s linear;
}

.loading-persen {
    font-size: 0.95rem;
    font-weight: 900;
    color: #0ea5e9;
}


/* =========================================
   PERBAIKAN MUTLAK BUG: LAYOUT PENCARIAN & DROPDOWN 
========================================= */

/* 1. Kunci kontainer pencarian utama sebagai jangkar (anchor) */
.search-container {
    position: relative !important;
}

/* 2. Jadikan kotak hasil pencarian MELAYANG agar tidak menyeret Logo/Header ke bawah */
#search-results, 
.search-dropdown {
    position: absolute !important;
    top: 120% !important; /* Muncul aman tepat di bawah kolom input */
    left: 0 !important;
    right: 0 !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15) !important;
    z-index: 9999 !important; /* Memaksa berada di lapisan paling atas */
    max-height: 350px !important;
    overflow-y: auto !important;
    border: 1px solid #e2e8f0 !important;
}

/* 3. Kunci ukuran logo aplikasi HANYA di DALAM hasil pencarian (Kaca pembesar aman!) */
#search-results img, 
.search-dropdown img {
    width: 45px !important;
    height: 45px !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

/* 4. Paksa tata letak baris (menyamping rapi) untuk tiap item yang diklik */
#search-results a, 
.search-dropdown a {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    padding: 12px 15px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    text-decoration: none !important;
    text-align: left !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Efek sentuh/hover elegan */
#search-results a:hover, 
.search-dropdown a:hover {
    background: #f8fafc !important;
}

/* 5. Rapikan Teks Judul agar tebal dan rapi */
#search-results h4, 
.search-dropdown h4 {
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
}

/* 6. Rapikan Teks Varian agar lebih kecil dan samar */
#search-results span, 
.search-dropdown span,
#search-results p, 
.search-dropdown p {
    margin: 0 !important;
    font-size: 0.8rem !important;
    color: #64748b !important;
    font-weight: 600 !important;
    display: block !important;
    margin-top: 4px !important;
}


/* =========================================
   PREMIUM SAAS PROMO CARD (INDEX) - MOBILE OPTIMIZED
   ========================================= */
.promo-container {
    padding: 40px 15px 60px 15px !important; /* Ruang luar dirapatkan */
    align-items: center;
}

.promo-card {
    background: linear-gradient(160deg, #081C58 0%, #12317D 40%, #2B4FE8 80%, #6C3CF7 100%) !important;
    border-radius: 28px !important; /* Sudut sedikit dipertajam */
    box-shadow: 0 30px 60px rgba(8, 28, 88, 0.4), inset 0 2px 4px rgba(255,255,255,0.2), 0 0 40px rgba(108, 60, 247, 0.3) !important;
    padding: 15px !important; /* Ruang dalam dirapatkan */
    position: relative !important;
    overflow: visible !important; 
    border: 1px solid rgba(255,255,255,0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    backdrop-filter: blur(15px);
    width: 92% !important;
    max-width: 400px !important;
    transition: transform 0.3s ease;
}

/* WADAH GAMBAR ATAS */
.img-glass-container {
    width: 100%;
    height: 170px; /* PERUBAHAN UTAMA: Gambar dipendekkan agar tidak lonjong */
    border-radius: 20px;
    padding: 6px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    margin-bottom: 15px; /* Jarak ke bawah dikurangi */
    position: relative;
    z-index: 2;
}

.img-glass-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 14px;
}

/* AREA INFORMASI BAWAH */
.info-glass {
    background: rgba(0, 0, 0, 0.25);
    border-radius: 20px;
    padding: 15px; /* Ruang dalam teks dirapatkan */
    border: 1px solid rgba(255, 255, 255, 0.05);
    flex: 1;
}

.info-glass h3 {
    color: #ffffff !important;
    font-size: 1.15rem !important; /* Ukuran font disesuaikan untuk HP */
    font-weight: 800 !important;
    margin: 0 0 15px 0 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* LIST FITUR */
.fitur-list {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Jarak antar baris list diperkecil */
    margin-bottom: 20px;
}

.fitur-item {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 10px;
}

.fitur-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.icon-box-3d {
    width: 32px; /* Kotak ikon dikecilkan */
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
}

.icon-box-3d .material-icons-round {
    font-size: 18px !important; 
}

.fitur-item:nth-child(1) .icon-box-3d { background: linear-gradient(135deg, #a855f7, #7e22ce); }
.fitur-item:nth-child(2) .icon-box-3d { background: linear-gradient(135deg, #10b981, #047857); }
.fitur-item:nth-child(3) .icon-box-3d { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.fitur-item:nth-child(4) .icon-box-3d { background: linear-gradient(135deg, #f59e0b, #b45309); }

.fitur-item p {
    margin: 0 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #e2e8f0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* TOMBOL CTA BERSINAR */
.btn-premium-cta {
    width: 100%;
    height: 52px; /* PERUBAHAN UTAMA: Tinggi tombol dipangkas */
    border-radius: 16px;
    background: linear-gradient(90deg, #8b5cf6, #3b82f6, #06b6d4);
    border: none;
    color: white;
    font-size: 1.05rem;
    font-weight: 800;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.5), inset 0 2px 4px rgba(255, 255, 255, 0.4);
    pointer-events: none;
}

/* ORNAMEN MELAYANG 3D */
.orn-3d {
    position: absolute;
    z-index: 5;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.4));
    animation: floatAnim 4s ease-in-out infinite;
    pointer-events: none;
}

/* Ukuran ornamen ikut disesuaikan agar proporsional */
.orn-top-left { top: -20px; left: -15px; width: 75px; transform: rotate(-15deg); animation-delay: 0s; }
.orn-top-right { top: -25px; right: -20px; width: 85px; transform: rotate(15deg); animation-delay: 1s; }
.orn-mid-left { top: 40%; left: -25px; width: 60px; animation-delay: 2s; }
.orn-bot-right { bottom: 70px; right: -25px; width: 75px; animation-delay: 0.5s; }
.orn-bot-left { bottom: 25px; left: -20px; width: 65px; animation-delay: 1.5s; }

@keyframes floatAnim {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-12px) rotate(8deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

.promo-img-box, .promo-info { display: none !important; }


/* =========================================
   PREMIUM SECTION TITLE (PRODUK ETALASE) - COMPACT ROW
   ========================================= */
.premium-title-wrapper {
    background: #ffffff;
    border-radius: 32px;
    padding: 35px 20px 25px 20px;
    margin: 0px 15px 40px 15px;
    box-shadow: 0 20px 50px rgba(139, 92, 246, 0.08), 0 0 0 1px rgba(139, 92, 246, 0.05);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* Latar belakang pendaran warna pastel */
.premium-title-wrapper::before {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle at 20% 20%, rgba(139, 92, 246, 0.08) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(59, 130, 246, 0.08) 0%, transparent 50%);
    z-index: -1;
}

/* Pembungkus Atas (Teks Kiri, Gambar Kanan) */
.hero-top-section {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
    min-height: 180px; /* Menjaga tinggi agar tas tidak terpotong */
}

/* Area Teks di Kiri */
.hero-text-area {
    flex: 1;
    text-align: left;
    position: relative;
    z-index: 2;
    max-width: 58%; /* Membatasi teks agar tidak menabrak tas */
}

.badge-layanan {
    background: linear-gradient(90deg, #a855f7, #6366f1);
    color: white;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 6px 12px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 15px;
    box-shadow: 0 4px 10px rgba(99, 102, 241, 0.3);
}

.hero-text-area h2 {
    font-size: 2.2rem; /* Diperkecil sedikit agar pas di kiri */
    font-weight: 900;
    line-height: 1.1;
    color: #0f172a;
    margin-bottom: 15px;
    letter-spacing: -1px;
}

.text-gradien-ungu {
    background: linear-gradient(90deg, #8b5cf6, #06b6d4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* Kotak Pil Sub-judul */
.subtitle-pill-box {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(139, 92, 246, 0.15);
    padding: 6px 12px 6px 6px;
    border-radius: 30px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    gap: 10px;
}

.subtitle-pill-box .icon-petir {
    background: linear-gradient(135deg, #a855f7, #6366f1);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: 0 4px 10px rgba(99, 102, 241, 0.3);
    flex-shrink: 0;
}

.subtitle-pill-box p {
    margin: 0;
    font-size: 0.75rem;
    color: #475569;
    font-weight: 600;
    line-height: 1.3;
}

.subtitle-pill-box .highlight {
    color: #7c3aed;
    font-weight: 800;
}

/* Area Ilustrasi 3D di Kanan */
.hero-3d-area {
    position: absolute;
    right: -15px; /* Digeser agak keluar batas agar estetis */
    top: 50%;
    transform: translateY(-50%);
    width: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.hero-3d-area .main-bag {
    width: 100%;
    filter: drop-shadow(0 15px 25px rgba(139, 92, 246, 0.25));
    animation: floatAnim 4s ease-in-out infinite;
}

.hero-3d-area .orn-float {
    position: absolute;
    z-index: -1;
    animation: floatAnim 3s ease-in-out infinite;
    filter: drop-shadow(0 8px 12px rgba(0,0,0,0.1));
}

.hero-orn-1 { top: -10px; left: -10px; width: 45px; animation-delay: 0.5s; transform: rotate(-15deg); } 
.hero-orn-2 { top: 20px; right: 0px; width: 40px; animation-delay: 1.2s; transform: rotate(15deg); } 
.hero-orn-3 { bottom: 0px; left: 10px; width: 35px; animation-delay: 2s; } 

/* Bilah Fitur Bawah (Feature Bar) */
.title-feature-grid {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    border-top: 1px solid rgba(139, 92, 246, 0.1);
    padding-top: 20px;
    gap: 5px;
}

.title-feat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.title-feat-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.title-feat-icon .material-icons-round { font-size: 18px; }

.title-feat-item p {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    color: #334155;
    text-align: center;
    line-height: 1.2;
}

/* Warna Lingkaran Ikon Fitur */
.bg-icon-1 { background: linear-gradient(135deg, #a855f7, #6366f1); }
.bg-icon-2 { background: linear-gradient(135deg, #3b82f6, #0ea5e9); }
.bg-icon-3 { background: linear-gradient(135deg, #10b981, #34d399); }
.bg-icon-4 { background: linear-gradient(135deg, #f59e0b, #fbbf24); }

/* Adaptasi Layar Super Kecil */
@media (max-width: 380px) {
    .hero-text-area { max-width: 55%; }
    .hero-text-area h2 { font-size: 1.8rem; }
    .hero-3d-area { width: 130px; right: -15px; }
    .subtitle-pill-box p { font-size: 0.65rem; }
}


/* =========================================
   ADAPTASI LAYAR BESAR (TABLET & DESKTOP)
   ========================================= */
@media (min-width: 768px) {
    .premium-title-wrapper {
        max-width: 850px; /* Membatasi lebar kotak agar tidak melar seukuran layar */
        margin: 0 auto 50px auto; /* Memposisikan kotak tepat di tengah layar */
        padding: 50px 50px 40px 50px; /* Menambah ruang lega di dalam kotak */
    }
    
    .hero-top-section {
        justify-content: center; /* Merapatkan teks dan gambar ke tengah */
        gap: 60px; /* Memberi jarak estetis antara teks (kiri) dan gambar tas (kanan) */
    }
    
    .hero-text-area {
        flex: 0 1 auto; /* Mencegah teks meregang terlalu lebar */
        max-width: 500px;
    }

    .hero-text-area h2 {
        font-size: 3.2rem; /* Membesarkan font judul di layar lebar */
    }

    .subtitle-pill-box p {
        font-size: 0.9rem; /* Membesarkan sedikit font sub-judul */
    }
    
    .hero-3d-area {
        position: relative; /* Mencabut posisi absolut agar gambar menyatu dengan teks */
        right: auto;
        top: auto;
        transform: none;
        width: 220px; /* Membesarkan gambar tas sedikit */
        flex-shrink: 0; /* Mencegah gambar tas terlipat/mengecil sendiri */
    }
    
    .title-feature-grid {
        justify-content: center; /* Mengumpulkan ikon fitur ke tengah */
        gap: 60px; /* Memberi jarak antar ikon yang pas */
        padding-top: 35px;
    }

    .title-feat-item {
        flex: 0 1 auto; /* Menghilangkan sifat peregangan otomatis pada ikon */
    }

    .title-feat-item p {
        font-size: 0.85rem; /* Membesarkan font di bawah ikon */
    }
}


/* =========================================
   SEARCH EMPTY STATE (TIDAK DITEMUKAN)
   ========================================= */
.empty-search-state {
    padding: 30px 15px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 20px;
    margin: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    border: 1px dashed rgba(139, 92, 246, 0.3);
}

.empty-search-state img {
    width: 80px;
    margin-bottom: 15px;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.1));
    animation: floatAnim 3s ease-in-out infinite;
}

.empty-search-state h4 {
    margin: 0 0 5px 0;
    font-size: 1.1rem;
    color: #0f172a;
    font-weight: 800;
}

.empty-search-state p {
    margin: 0;
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 500;
}


/* =========================================
   GLOBAL RESET: MEMBUNUH KOTAK KLIK BAWAAN BROWSER
   ========================================= */

/* 1. Membunuh blok warna kotak (Tap Highlight) saat disentuh di HP/Mobile */
* {
    -webkit-tap-highlight-color: transparent !important;
}

/* 2. Membunuh garis tepi kotak (Outline Focus) saat diklik di PC/Desktop */
button:focus, 
a:focus, 
input:focus, 
textarea:focus,
.nav-link:focus,
.btn-modern:focus {
    outline: none !important;
}

/* =========================================
   PENGATURAN GULIR MENYAMPING MURNI (NATIVE SCROLL)
   ========================================= */
.wadah-native-scroll {
    display: flex;
    overflow-x: auto;
    gap: 25px;
    padding: 20px 5% 60px 5%;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    width: 100%;
    
    /* Menyembunyikan scrollbar di PC/HP agar terlihat rapi seperti aplikasi */
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.wadah-native-scroll::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

/* Memastikan kartu berhenti pas di tengah saat digeser */
.wadah-native-scroll .promo-card,
.wadah-native-scroll .card-native {
    scroll-snap-align: center;
    flex-shrink: 0; 
}

/* --- KOSMETIK KARTU TESTIMONI NATIVE --- */
.card-native {
    width: 360px;
    max-width: 85vw;
    background: #ffffff; 
    border: 2px solid #e2e8f0; 
    padding: 35px 30px; 
    border-radius: 32px; 
    text-align: left; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    position: relative;
    display: flex;
    flex-direction: column;
}

/* Ikon Kutipan Transparan di Latar */
.testi-quote {
    position: absolute;
    bottom: -15px;
    right: 10px;
    font-size: 110px !important;
    color: rgba(14, 165, 233, 0.06);
    z-index: 0;
    transform: rotate(-10deg);
}

.profil-testi { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; position: relative; z-index: 2;}
.profil-testi img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; border: 3px solid #e0f2fe; box-shadow: 0 5px 10px rgba(0,0,0,0.05);}
.testi-nama { margin: 0; font-size: 1.15rem; color: #0f172a; font-weight: 900; letter-spacing: -0.5px;}
.testi-user { font-size: 0.85rem; color: #0ea5e9; font-weight: 800; }
.testi-teks { font-size: 0.95rem; color: #475569; line-height: 1.7; position: relative; z-index: 2; font-weight: 600; }

@media (max-width: 768px) {
    .card-native { padding: 25px 20px; }
}

/* =========================================
   EFEK ANIMASI CAROUSEL 3D (SWIPER PROMO)
   ========================================= */
/* ======================================================
   MASTER CSS SWIPER PROMO & TESTIMONI (CLEAN & FLEXIBLE)
   ====================================================== */

/* 1. Kontainer Utama Promo */
.swiper-promo {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 0 70px 0 !important;
    overflow: hidden;
}

/* 2. Pengaturan Slide Kartu Promo agar Rapi dan Tidak Meluber */
.swiper-promo .swiper-slide {
    width: 320px !important;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.5s cubic-bezier(0.32, 0.72, 0, 1);
    opacity: 0.35; /* Kartu samping transparan elegan */
    transform: scale(0.82); /* Kartu samping mengecil proporsional */
}

/* Kartu yang berada tepat di tengah (Aktif) */
.swiper-promo .swiper-slide-active {
    opacity: 1 !important; 
    transform: scale(1) !important;
    z-index: 10;
}

/* Memastikan lebar kartu patuh pada wadah */
.swiper-promo .promo-card {
    width: 100% !important;
    max-width: 310px !important;
    margin: 0 auto;
    cursor: grab; /* Membuat kursor tangan saat digeser manual */
}
.swiper-promo .promo-card:active {
    cursor: grabbing;
}

/* 3. Kontainer Utama Testimoni */
.swiper-container-testi {
    width: 100%;
    max-width: 1100px;
    margin: 40px auto 0 auto;
    padding-top: 20px;
    padding-bottom: 60px;
    overflow: hidden;
}

.swiper-slide-testi {
    width: 380px !important;
    height: auto;
    transition: all 0.4s ease;
    opacity: 0.4;
    transform: scale(0.85);
}

.swiper-slide-testi.swiper-slide-active {
    opacity: 1 !important;
    transform: scale(1) !important;
}

.box-testi-premium { 
    background: rgba(255, 255, 255, 0.65); 
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    border: 2px solid rgba(255, 255, 255, 0.9); 
    padding: 35px 30px; 
    border-radius: 32px; 
    text-align: left; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.swiper-slide-active .box-testi-premium {
    background: #ffffff;
    box-shadow: inset 0 0 20px rgba(14, 165, 233, 0.05), 0 25px 50px rgba(14, 165, 233, 0.15);
    border-color: #bae6fd;
}

.testi-quote {
    position: absolute;
    bottom: -15px;
    right: 10px;
    font-size: 110px !important;
    color: rgba(14, 165, 233, 0.06);
    z-index: 0;
    transform: rotate(-10deg);
}

.testi-pagination .swiper-pagination-bullet {
    background: #cbd5e1;
    opacity: 1;
    width: 10px; height: 10px;
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.testi-pagination .swiper-pagination-bullet-active {
    background: #0ea5e9;
    width: 30px;
    border-radius: 10px;
}

/* 4. Penyesuaian Responsif untuk HP / Mobile */
@media (max-width: 768px) {
    .promo-statis-section {
        padding: 40px 0 60px 0 !important;
        overflow: hidden;
    }
    .swiper-promo .swiper-slide {
        width: 80vw !important;
        transform: scale(0.9);
    }
    .swiper-promo .swiper-slide-active {
        transform: scale(1) !important;
    }
    .swiper-slide-testi { 
        width: 85vw !important; 
    }
    .box-testi-premium { 
        padding: 25px 20px; 
    }
}

/* ======================================================
   KOSMETIK UTAMA SWIPER (PROMO & TESTIMONI)
   ====================================================== */

/* Wadah & Slide Promo 3D */
.swiper-promo {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 0 70px 0 !important;
    overflow: hidden;
}

.swiper-promo .swiper-slide {
    width: 320px !important;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s cubic-bezier(.32,.72,0,1);

    opacity: .45;
    transform: scale(.88);
}

.swiper-promo .swiper-slide-active {
    opacity: 1 !important; 
    transform: scale(1) !important;
    z-index: 10;
}

.swiper-promo .promo-card {
    width: 100% !important;
    max-width: 310px !important;
    margin: 0 auto;
    cursor: grab;
}
.swiper-promo .promo-card:active {
    cursor: grabbing;
}

/* Wadah & Slide Testimoni */
.swiper-container-testi {
    width: 100%;
    max-width: 1100px;
    margin: 40px auto 0 auto;
    padding-top: 20px;
    padding-bottom: 60px;
    overflow: hidden;
}

.swiper-slide-testi {
    width: 380px !important;
    height: auto;
    transition: all .4s ease;

    opacity: .5;
    transform: scale(.9);
}

.swiper-slide-testi.swiper-slide-active {
    opacity: 1 !important;
    transform: scale(1) !important;
}

.box-testi-premium { 
    background: rgba(255, 255, 255, 0.65); 
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    border: 2px solid rgba(255, 255, 255, 0.9); 
    padding: 35px 30px; 
    border-radius: 32px; 
    text-align: left; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.swiper-slide-active .box-testi-premium {
    background: #ffffff;
    box-shadow: inset 0 0 20px rgba(14, 165, 233, 0.05), 0 25px 50px rgba(14, 165, 233, 0.15);
    border-color: #bae6fd;
}

.testi-quote {
    position: absolute;
    bottom: -15px;
    right: 10px;
    font-size: 110px !important;
    color: rgba(14, 165, 233, 0.06);
    z-index: 0;
    transform: rotate(-10deg);
}

.testi-pagination .swiper-pagination-bullet {
    background: #cbd5e1;
    opacity: 1;
    width: 10px; height: 10px;
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.testi-pagination .swiper-pagination-bullet-active {
    background: #0ea5e9;
    width: 30px;
    border-radius: 10px;
}

@media (max-width: 768px) {
    .swiper-slide-testi { width: 85vw !important; }
    .swiper-promo .swiper-slide { width: 82vw !important; }
    .box-testi-premium { padding: 25px 20px; }
}

/* =========================================
   PERBAIKAN KARTU PROMO: DINAMIS & BEBAS BAYANGAN KAKU
   ========================================= */

/* 1. Desain Dasar Kartu (Untuk yang di samping) */
.promo-card {
    position: relative !important;
    width: 300px !important;
    background-color: #e0f2fe !important;
    background-image: radial-gradient(rgba(14, 165, 233, 0.15) 2px, transparent 2px);
    background-size: 18px 18px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    
    /* Bayangan halus menyebar, bebas garis kaku */
    box-shadow: inset 0 5px 6px rgba(255, 255, 255, 0.9), 0 15px 35px rgba(0, 0, 0, 0.08) !important;

    border-radius: 24px !important;
    padding: 15px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    cursor: grab;
    z-index: 1;
}

.promo-card:active {
    cursor: grabbing;
}

/* Bingkai 3D Abstrak di belakang kartu biasa */
.promo-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(135deg, #bae6fd, #7dd3fc);
    border-radius: 24px;
    z-index: -1;
    transform: rotate(-3deg);
    transition: 0.4s;
}

/* ================================================= */
/* 2. Desain Khusus Kartu yang Sedang di TENGAH (Otomatis dari Swiper) */
/* ================================================= */

.swiper-promo .swiper-slide-active .promo-card {
    background-color: #ffffff !important;
    background-image: radial-gradient(rgba(14, 165, 233, 0.08) 2px, transparent 2px) !important;
    border: 1px solid #ffffff !important;
    
    /* PERBAIKAN MUTLAK: Bayangan dibuat memudar lembut (soft glow) */
    box-shadow: inset 0 5px 6px rgba(255, 255, 255, 1), 0 25px 45px rgba(14, 165, 233, 0.15) !important;
    
    transform: scale(1.05) !important;
}

/* Bingkai belakang untuk kartu yang sedang di tengah */
.swiper-promo .swiper-slide-active .promo-card::before {
    background: linear-gradient(135deg, #0f172a, #0ea5e9) !important;
    transform: rotate(4deg) !important;
    
    /* PERBAIKAN MUTLAK: Menghilangkan garis hitam tebal di bawah bingkai */
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.2) !important; 
}

/* Menyulap teks judul jadi putih terang untuk kartu tengah */
.swiper-promo .swiper-slide-active .promo-card .promo-info h3 { 
    color: #ffffff !important; 
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.35) !important; 
}

/* Menyulap teks deskripsi jadi putih terang untuk kartu tengah */
.swiper-promo .swiper-slide-active .promo-card .promo-info p { 
    color: #f8fafc !important; 
    opacity: 1 !important; 
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important; 
}
