/* =========================================================
   PAGES.CSS - Restored from original index.php backup
   ========================================================= */

:root{
  --primary:#00A859;
  --primary-dark:#0f7d49;
  --primary-soft:#ecfdf3;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --card:#ffffff;
  --soft:#f8fafc;
  --sale-red:#dc2626;
  --wa:#25D366;
  --wa-dark:#1ebe5d;
}

html{scroll-behavior:smooth}
body{background:#f8fafc;color:var(--ink)}

.shadow-card{box-shadow:0 10px 30px rgba(15,23,42,.07)}
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}

.hero-pattern{
  background:
    radial-gradient(circle at top right, rgba(0,168,89,.10), transparent 32%),
    radial-gradient(circle at bottom left, rgba(15,118,110,.07), transparent 26%),
    linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  padding:.44rem .82rem;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.03em;
}

.card-link{transition:.2s ease}
.card-link:hover{transform:translateY(-3px)}
.article-card img{transition:transform .35s ease}
.article-card:hover img{transform:scale(1.04)}

.product-card{
  position:relative;
  overflow:hidden;
  border-radius:1.05rem;
  border:1px solid #e2e8f0;
  background:#fff;
  box-shadow:2px 8px 18px rgba(15,23,42,.05);
}

.product-card-media{
  aspect-ratio:4 / 4;
  overflow:hidden;
  position:relative;
}

.product-card-body{
  padding:.34rem .48rem .42rem;
}

.product-brand{
  font-size:.5rem;
  line-height:1;
  letter-spacing:.05em;
  margin-bottom:.12rem;
}

.product-title{
  font-size:.75rem;
  line-height:.94rem;
  font-weight:800;
  color:#0f172a;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:1.88rem;
  margin:0;
}

.product-price-wrap{
  margin-top:.12rem;
}

.product-old-price{
  position:relative;
  display:inline-block;
  font-size:.73rem;
  color:#94a3b8;
  line-height:1;
}

.product-old-price::before,
.product-old-price::after{
  content:"";
  position:absolute;
  left:-1px;
  right:-1px;
  top:50%;
  height:1.2px;
  background:var(--sale-red);
  border-radius:999px;
  transform-origin:center;
}

.product-old-price::before{
  transform:translateY(-50%) rotate(8deg);
}

.product-old-price::after{
  transform:translateY(-50%) rotate(-8deg);
}

.product-price{
  display:block;
  margin-top:.05rem;
  font-size:1.08rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--primary);
}

.product-specs{
  margin-top:.14rem;
  display:grid;
  gap:.02rem;
  font-size:.55rem;
  line-height:.74rem;
  color:#64748b;
}

.product-specs div{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.home-product-grid{
  gap:.5rem;
}

.article-card{
  border-radius:1.5rem;
}

.section-spacing{
  padding-bottom:2.45rem;
}

.hero-shell{
  overflow:hidden;
  border:1px solid rgba(226,232,240,.82);
  border-radius:26px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.hero-copy{
  max-width:640px;
}

.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid #cfe7d8;
  background:#eef8f1;
  padding:.45rem .72rem;
  font-size:.69rem;
  font-weight:900;
  line-height:1;
  color:#26764b;
  letter-spacing:.04em;
}

.hero-title{
  margin-top:.72rem;
  font-size:2.8rem;
  line-height:.95;
  letter-spacing:-.045em;
  font-weight:900;
  color:#0f172a;
}

.hero-title span{
  display:block;
}

.hero-lead{
  margin-top:.7rem;
  max-width:33rem;
  font-size:.95rem;
  line-height:1.68;
  color:#475569;
}

.hero-cta-main{
  margin-top:.95rem;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.58rem;
}

.hero-cta-grid{
  margin-top:.58rem;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.58rem;
}

.hero-btn,
.hero-btn-sub{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:999px;
  transition:.2s ease;
}

.hero-btn{
  min-height:44px;
  padding:.68rem .58rem;
  font-size:.82rem;
  font-weight:800;
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}

.hero-btn:hover,
.hero-btn-sub:hover{
  transform:translateY(-1px);
}

.hero-btn-primary{
  background:var(--primary);
  color:#fff;
}
.hero-btn-primary:hover{
  background:var(--primary-dark);
}

.hero-btn-wa{
  background:var(--wa);
  color:#fff;
}
.hero-btn-wa:hover{
  background:var(--wa-dark);
}

.hero-btn-sub{
  min-height:39px;
  padding:.6rem .48rem;
  font-size:.74rem;
  font-weight:800;
}

.hero-btn-soft{
  border:1px solid #dbe4ee;
  background:#fff;
  color:#0f172a;
}

.hero-btn-soft-green{
  border:1px solid #c7ead5;
  background:#f0fdf4;
  color:#047857;
}

.hero-btn-soft-muted{
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#475569;
}

.hero-visual-card{
  overflow:hidden;
  border-radius:28px;
  background:#fff;
}

.hero-visual-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-visual-note{
  position:absolute;
  left:1rem;
  bottom:-1rem;
  border-radius:1rem;
  background:rgba(255,255,255,.95);
  padding:.8rem 1rem;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.quick-chip{
  white-space:nowrap;
  transition:.2s ease;
  scroll-snap-align:start;
  flex:0 0 auto;
  font-size:.78rem;
  line-height:1;
  padding:.72rem .88rem;
}
.quick-chip:hover{transform:translateY(-1px);border-color:#86efac}
.quick-chip.is-active{
  background:#052e16;
  color:#fff;
  border-color:#052e16;
}

.quick-filter-sticky{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(248,250,252,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.quick-filter-shell{
  border:1px solid #e2e8f0;
  background:rgba(255,255,255,.92);
  border-radius:1.15rem;
  padding:.7rem;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}

.quick-filter-row{
  display:flex;
  gap:.5rem;
  overflow-x:auto;
  padding-bottom:.1rem;
  scroll-snap-type:x proximity;
}

.quick-filter-row + .quick-filter-row{
  margin-top:.5rem;
}

.home-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.26rem .52rem;
  font-size:.58rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 6px 14px rgba(15,23,42,.08);
}
.home-badge-ready{background:#ecfdf5;color:#047857}
.home-badge-promo{background:#fff7ed;color:#c2410c}
.home-badge-sold{background:#f1f5f9;color:#475569}

.product-section-lead{
  margin-top:.45rem;
  font-size:.92rem;
  line-height:1.55;
  color:#64748b;
}

.service-copy,
.tradein-copy,
.location-copy{
  max-width:40rem;
}

.info-slab{
  border:1px solid #e5e7eb;
  background:rgba(255,255,255,.94);
  border-radius:1.5rem;
}

.desktop-seo-copy{
  max-width:60rem;
}

@media (max-width:768px){
  .floating-mobile-space{padding-bottom:5.7rem}
}

@media (max-width:640px){
  .section-spacing{
    padding-bottom:2rem;
  }

  #produk-pilihan{
    padding-bottom:5.3rem;
  }

  .hero-pattern{
    background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  }

  .hero-shell{
    border-radius:22px;
  }

  .hero-title{
    margin-top:.66rem;
    font-size:1.98rem;
    line-height:1.01;
  }

  .hero-lead{
    margin-top:.62rem;
    font-size:.9rem;
    line-height:1.58;
  }

  .hero-cta-main,
  .hero-cta-grid{
    gap:.52rem;
  }

  .hero-btn{
    min-height:42px;
    padding:.64rem .46rem;
    font-size:.78rem;
  }

  .hero-btn-sub{
    min-height:38px;
    padding:.58rem .42rem;
    font-size:.72rem;
  }

  .hero-visual-mobile-hide{
    display:none;
  }

  .quick-filter-sticky{
    margin-left:-1rem;
    margin-right:-1rem;
    padding-left:1rem;
    padding-right:1rem;
    border-top:1px solid #eef2f7;
    border-bottom:1px solid #eef2f7;
  }

  .quick-filter-shell{
    border:none;
    border-radius:0;
    padding:.65rem 0;
    box-shadow:none;
    background:transparent;
  }

  .product-card{
    border-radius:1rem;
  }

  .product-card-media{
    aspect-ratio:1 / 1;
  }

  .product-card-body{
    padding:.38rem .44rem .46rem;
  }

  .product-brand{
    font-size:.5rem;
    margin-bottom:.14rem;
  }

  .product-title{
    font-size:.72rem;
    line-height:.9rem;
    min-height:1.8rem;
  }

  .product-price-wrap{
    margin-top:.16rem;
  }

  .product-old-price{
    font-size:.63rem;
  }

  .product-price{
    font-size:1rem;
  }

  .product-specs{
    margin-top:.26rem;
    font-size:.6rem;
    line-height:.72rem;
  }

  .home-badge{
    padding:.24rem .46rem;
    font-size:.56rem;
  }

  .product-section-lead{
    font-size:.88rem;
    line-height:1.5;
  }

  .service-copy,
  .tradein-copy,
  .location-copy{
    font-size:.95rem;
    line-height:1.65;
  }
}
