/* =========================================================
   Zynn Store - Beranda redesign only
   Putih / hitam / biru, responsive mobile & desktop
   ========================================================= */
:root{
  --zy-blue:#156cff;
  --zy-blue-2:#0f5eea;
  --zy-sky:#eff6ff;
  --zy-text:#101828;
  --zy-muted:#667085;
  --zy-line:#d6e4ff;
  --zy-soft:#f8fbff;
  --zy-shadow:0 18px 55px rgba(16,24,40,.08);
}

html{background:#fff!important;scroll-behavior:smooth;}
body{
  background:#fff!important;
  color:var(--zy-text)!important;
  font-family:Inter,"Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  padding-bottom:0!important;
}

a{color:inherit;}

.navbar{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  min-height:68px;
  padding:12px clamp(16px,5vw,72px)!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid #eef2f7;
  box-shadow:0 8px 30px rgba(16,24,40,.04)!important;
  color:var(--zy-text)!important;
}
.brand{display:flex;align-items:center;gap:12px;color:var(--zy-text)!important;font-size:20px!important;font-weight:850!important;letter-spacing:-.02em;}
.brand-logo{width:40px!important;height:40px!important;border-radius:999px!important;object-fit:cover!important;box-shadow:0 8px 22px rgba(21,108,255,.12);}
.desktop-nav{display:none;margin-left:auto;margin-right:16px;align-items:center;gap:6px;}
.desktop-nav a{padding:10px 14px;border-radius:999px;text-decoration:none;color:#344054;font-size:14px;font-weight:750;transition:.18s ease;}
.desktop-nav a:hover,.desktop-nav a.active{background:#eef5ff;color:var(--zy-blue);}
.nav-right{margin-left:auto!important;}
.user-box{display:none!important;}
.nav-right a,
#navUserBtn{
  background:#fff!important;
  color:var(--zy-text)!important;
  border:1px solid var(--zy-line)!important;
  box-shadow:0 10px 24px rgba(16,24,40,.06)!important;
}
#navUserBtn span{color:var(--zy-text)!important;}

.search-wrapper{
  background:#fff!important;
  padding:18px clamp(16px,5vw,72px) 8px!important;
}
.search-wrapper input{
  display:block;
  width:min(760px,100%)!important;
  margin:0 auto!important;
  padding:15px 18px 15px 48px!important;
  border:1px solid var(--zy-line)!important;
  border-radius:999px!important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' viewBox='0 0 24 24' stroke='%23667085' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-4.35-4.35M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z'/%3E%3C/svg%3E") no-repeat 18px center!important;
  color:var(--zy-text)!important;
  outline:none!important;
  box-shadow:0 12px 34px rgba(16,24,40,.04)!important;
}
.search-wrapper input::placeholder{color:#98a2b3!important;}
.search-wrapper input:focus{border-color:var(--zy-blue)!important;box-shadow:0 0 0 4px rgba(21,108,255,.10)!important;}

.home-shell,.section{width:min(1180px,calc(100% - 32px));max-width:1180px!important;margin-inline:auto!important;padding-inline:0!important;}
.home-shell{padding-top:18px;}
.hero-premium{
  position:relative;overflow:hidden;min-height:280px;padding:42px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:28px;
  background:linear-gradient(120deg,#fff 0%,#f8fbff 52%,#edf5ff 100%);
  border:1px solid #bcd5ff;border-radius:28px;box-shadow:var(--zy-shadow);
}
.hero-premium:before{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:999px;background:rgba(21,108,255,.07);}
.hero-copy{position:relative;z-index:2;}
.hero-kicker{display:block;margin-bottom:12px;color:var(--zy-blue);font-size:13px;font-weight:900;letter-spacing:.18em;}
.hero-copy h1{max-width:540px;margin:0;color:var(--zy-text);font-size:clamp(34px,4.3vw,58px);line-height:1.04;font-weight:900;letter-spacing:-.055em;}
.hero-copy p{max-width:560px;margin:18px 0 0;color:var(--zy-muted);font-size:clamp(15px,1.4vw,18px);line-height:1.65;font-weight:500;}
.hero-btn{margin-top:24px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--zy-blue),#0057e7);color:#fff;padding:14px 24px;font-size:15px;font-weight:850;box-shadow:0 14px 28px rgba(21,108,255,.24);cursor:pointer;}
.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.hero-badges span{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#344054;border:1px solid #e4ecfb;border-radius:999px;padding:10px 14px;font-weight:800;font-size:13px;box-shadow:0 10px 24px rgba(16,24,40,.04);}
.hero-badges i{color:var(--zy-blue);}
.hero-visual{position:relative;z-index:1;min-height:230px;display:grid;place-items:center;}
.hero-bag{width:210px;height:180px;border-radius:28px 28px 32px 32px;background:linear-gradient(145deg,#fff,#eaf3ff);border:1px solid #d8e7ff;box-shadow:0 28px 55px rgba(21,108,255,.14);position:relative;}
.hero-bag:before{content:"";position:absolute;left:50%;top:-42px;width:88px;height:70px;transform:translateX(-50%);border:12px solid #e1ecff;border-bottom:0;border-radius:44px 44px 0 0;}
.hero-tile{position:absolute;display:grid;place-items:center;border-radius:24px;box-shadow:0 24px 50px rgba(21,108,255,.18);}
.hero-download{left:18%;bottom:18px;width:112px;height:100px;background:linear-gradient(145deg,#a9d3ff,#156cff);color:#fff;font-size:38px;}
.hero-shield{right:14%;bottom:6px;width:108px;height:116px;background:linear-gradient(145deg,#fff,#edf5ff);border:1px solid #d8e7ff;color:#6aa7ff;font-size:34px;clip-path:polygon(50% 0,92% 17%,86% 72%,50% 100%,14% 72%,8% 17%);}

.tab-switch{width:min(1180px,calc(100% - 32px))!important;margin:22px auto 26px!important;background:#fff!important;border:1px solid #e4ecfb!important;border-radius:999px!important;padding:6px!important;box-shadow:0 16px 38px rgba(16,24,40,.06)!important;display:flex!important;justify-content:flex-start!important;gap:8px!important;overflow-x:auto;}
.tab-btn{background:#fff!important;color:#344054!important;border:1px solid transparent!important;border-radius:999px!important;padding:13px 22px!important;white-space:nowrap;font-weight:850!important;}
.tab-btn.active{background:var(--zy-blue)!important;color:#fff!important;box-shadow:0 12px 25px rgba(21,108,255,.24)!important;}

.section{padding-bottom:34px!important;}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;}
.section-head h2,.section h2{margin:0!important;color:var(--zy-text)!important;font-size:clamp(24px,2.3vw,34px)!important;letter-spacing:-.03em;font-weight:900!important;}
.section-head a{color:var(--zy-blue);font-weight:850;text-decoration:none;font-size:15px;white-space:nowrap;}
.grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-bottom:26px!important;}
.card{position:relative!important;background:#fff!important;border:1px solid #e0eaff!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 14px 34px rgba(16,24,40,.06)!important;display:flex!important;flex-direction:column!important;min-height:245px;transition:.2s ease;}
.card:hover{transform:translateY(-3px);border-color:#bcd5ff!important;box-shadow:0 18px 45px rgba(16,24,40,.10)!important;}
.card img{width:100%!important;height:auto!important;aspect-ratio:1.28/1!important;object-fit:contain!important;background:#fbfdff!important;padding:26px!important;}
.card span{display:block!important;background:#fff!important;color:var(--zy-text)!important;text-align:left!important;padding:0 16px 72px!important;font-size:16px!important;font-weight:900!important;line-height:1.25!important;min-height:unset!important;}
.card span:after{content:"Mulai Rp 1.500";display:block;margin-top:10px;color:var(--zy-blue);font-size:14px;font-weight:850;}
.card:after{content:"Beli";position:absolute;left:16px;right:16px;bottom:16px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--zy-blue);color:#fff;border-radius:12px;font-size:15px;font-weight:850;box-shadow:0 12px 24px rgba(21,108,255,.22);}

#cs-fab{background:#fff!important;color:var(--zy-blue)!important;border:2px solid var(--zy-blue)!important;box-shadow:0 18px 42px rgba(21,108,255,.20)!important;}
.zy-footer{background:#fff!important;color:var(--zy-text)!important;border-top:1px solid #eef2f7!important;box-shadow:none!important;}
.zy-footer a,.zy-footer-title,.zy-footer-heading{color:var(--zy-text)!important;}
.zy-footer-text,.zy-footer-line,.zy-footer-small,.zy-footer-copy{color:#667085!important;}

@media (min-width: 760px){
  .desktop-nav{display:flex;}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (min-width: 1080px){
  .grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width: 759px){
  .navbar{min-height:64px;padding:10px 16px!important;}
  .brand{font-size:18px!important;}
  .brand-logo{width:38px!important;height:38px!important;}
  .search-wrapper{padding:14px 16px 8px!important;}
  .home-shell,.section,.tab-switch{width:calc(100% - 32px)!important;}
  .hero-premium{grid-template-columns:1fr;min-height:auto;padding:28px 22px;border-radius:24px;}
  .hero-copy h1{font-size:32px;line-height:1.12;}
  .hero-copy p{font-size:15px;line-height:1.55;}
  .hero-visual{display:none;}
  .hero-badges{gap:10px;margin-top:22px;}
  .hero-badges span{font-size:12px;padding:9px 12px;}
  .tab-switch{margin-top:18px!important;margin-bottom:24px!important;}
  .tab-btn{padding:12px 18px!important;font-size:14px!important;}
  .grid{gap:14px!important;}
  .card{border-radius:18px!important;min-height:216px;}
  .card img{padding:20px!important;aspect-ratio:1/1!important;}
  .card span{font-size:14px!important;padding:0 12px 64px!important;text-align:center!important;}
  .card span:after{font-size:13px;}
  .card:after{left:12px;right:12px;bottom:12px;height:38px;border-radius:11px;}
}
@media (max-width: 380px){
  .hero-copy h1{font-size:28px;}
  .grid{gap:10px!important;}
  .card span{font-size:13px!important;}
}

/* ===== Mobile bottom navigation (Home, Kategori, Pesanan, Akun) ===== */
.zy-bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1200;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-top:1px solid #e5edf8;
  box-shadow:0 -10px 32px rgba(16,24,40,.10);
}
.zy-bottom-nav a{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:6px 4px;
  border-radius:16px;
  color:#667085;
  text-decoration:none;
  font-size:11px;
  font-weight:750;
  line-height:1;
  transition:.18s ease;
}
.zy-bottom-nav a i{font-size:19px;line-height:1;color:inherit;}
.zy-bottom-nav a.active{
  color:var(--zy-blue);
  background:#eef5ff;
}
.zy-bottom-nav a:active{transform:scale(.96);}

@media (max-width:759px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important;}
  .zy-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))!important;}
}
@media (min-width:760px){
  .zy-bottom-nav{display:none;}
}

/* ===== Final mobile polish: symmetric tabs + 3-item bottom nav ===== */
.tab-switch{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
}
.tab-switch .tab-btn{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.zy-bottom-nav{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  left:16px!important;
  right:16px!important;
  bottom:calc(68px + env(safe-area-inset-bottom))!important;
  border:1px solid #e5edf8!important;
  border-radius:22px!important;
  padding:8px!important;
  box-shadow:0 18px 45px rgba(16,24,40,.16)!important;
}
.zy-bottom-nav a{padding:8px 6px!important;}
#cs-bubble,#cs-fab,.cs-fab{bottom:calc(142px + env(safe-area-inset-bottom))!important;right:18px!important;}
#cs-pill{bottom:calc(142px + env(safe-area-inset-bottom))!important;right:18px!important;}
@media (max-width:759px){
  body{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;}
  .zy-footer{padding-bottom:calc(170px + env(safe-area-inset-bottom))!important;}
}
@media (min-width:760px){
  .zy-bottom-nav{display:none!important;}
  .tab-switch{display:flex!important;width:min(1180px,calc(100% - 48px))!important;}
  .tab-switch .tab-btn{width:auto!important;min-width:150px!important;}
}

/* =========================================================
   FIX NAV MOBILE FINAL - tidak ngambang, tidak ketutup
   ========================================================= */
@media (max-width:759px){
  .tab-switch{
    width:calc(100% - 32px)!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:6px!important;
    border-radius:999px!important;
    overflow:hidden!important;
  }
  .tab-switch .tab-btn{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    margin:0!important;
  }

  body{
    padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  .zy-footer{
    padding-bottom:calc(108px + env(safe-area-inset-bottom))!important;
  }

  .zy-bottom-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    z-index:1200!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    padding:8px 14px calc(10px + env(safe-area-inset-bottom))!important;
    min-height:72px!important;
    box-sizing:border-box!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    border-radius:0!important;
    border:0!important;
    border-top:1px solid #e5edf8!important;
    box-shadow:0 -10px 32px rgba(16,24,40,.10)!important;
    transform:none!important;
  }
  .zy-bottom-nav a{
    min-width:0!important;
    height:54px!important;
    padding:6px 4px!important;
    border-radius:16px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    color:#667085!important;
    text-decoration:none!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1!important;
  }
  .zy-bottom-nav a i{
    font-size:20px!important;
    line-height:1!important;
  }
  .zy-bottom-nav a.active{
    color:var(--zy-blue)!important;
    background:#eef5ff!important;
  }

  #cs-bubble,#cs-fab,.cs-fab,#cs-pill{
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    right:18px!important;
  }
}
@media (min-width:760px){
  .zy-bottom-nav{display:none!important;}
}


/* ===== FINAL PATCH: bantuan pindah ke bottom nav, floating chat hilang ===== */
#cs-pill,#cs-bubble,#cs-fab,.cs-fab{display:none!important;}

@media (max-width:759px){
  body{
    padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  .zy-footer{
    padding-bottom:calc(108px + env(safe-area-inset-bottom))!important;
  }
  .zy-bottom-nav{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    border-radius:0!important;
    border:0!important;
    border-top:1px solid #e5edf8!important;
    padding:8px 12px calc(10px + env(safe-area-inset-bottom))!important;
    min-height:72px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -10px 32px rgba(16,24,40,.10)!important;
  }
  .zy-bottom-nav a{
    min-width:0!important;
    height:54px!important;
    padding:6px 3px!important;
    border-radius:16px!important;
    gap:4px!important;
    font-size:11px!important;
    font-weight:800!important;
  }
  .zy-bottom-nav a i{
    font-size:19px!important;
  }
}
@media (min-width:760px){
  .zy-bottom-nav{display:none!important;}
}

/* ===== Dynamic APK price label from product.js ===== */
.card span:after{content:none!important;display:none!important;}
.card-price{display:block;margin-top:10px;color:var(--zy-blue);font-size:14px;font-style:normal;font-weight:850;line-height:1.2;}
@media (max-width:520px){.card-price{font-size:13px;}}
