:root{
  --bg:#0f1720; /* not used main but for contrast */
  --accent:#00A67E;
  --accent-2:#1E3A8A;
  --muted:#6b7280;
  --card:#ffffff;
  --radius:12px;
  --glass: rgba(255,255,255,0.06);
}

/* Reset & base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  background:#f6f7f9;
  color:#0b1220;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
}

/* containers */
.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* Topbar */
.topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid #eef2f5;z-index:60}
.top-inner{display:flex;align-items:center;gap:10px;padding:10px 0}
.icon-btn{background:transparent;border:0;font-size:18px;cursor:pointer;padding:8px;border-radius:8px}
.brand{font-weight:700;color:var(--accent-2);font-size:1.05rem;flex:0 0 auto}
.searchwrap{flex:1;display:flex;align-items:center;gap:6px}
.searchwrap input[type="search"]{flex:1;padding:8px 12px;border-radius:10px;border:1px solid #e6edf3;background:#fbfdff}
.searchwrap .icon-btn{background:#00A67E;color:#fff;border-radius:8px;padding:8px}

/* Hero */
.hero{background:linear-gradient(180deg,rgba(0,166,126,0.06),transparent);padding:28px 0;margin-bottom:12px}
.hero-inner{display:flex;align-items:center;gap:28px}
.hero-left{flex:1}
.hero-left h1{font-size:1.6rem;margin:0 0 8px;color:var(--accent-2)}
.hero-left p{margin:0 0 12px;color:var(--muted)}
.btn-primary{background:var(--accent);color:#fff;padding:10px 14px;border-radius:10px;border:0;cursor:pointer;text-decoration:none;display:inline-block}
.hero-right img{width:360px;max-width:42vw;border-radius:12px;box-shadow:0 12px 30px rgba(4,20,18,0.06);display:block}

/* Filters */
.filters{padding:10px 0}
.filter-row{display:flex;gap:8px;align-items:center}
.filter-row select{padding:8px;border-radius:8px;border:1px solid #e6edf3;background:#fff}
.btn-ghost{background:transparent;border:1px solid #e6edf3;padding:8px;border-radius:8px}

/* Product grid */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  padding:20px 0 36px;
}

/* --- PRODUCT CARD MODERN --- */
.product {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 6px 12px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.product:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}

.product img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

/* Konten teks */
.product .info {
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

.product h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #111827;
  margin-bottom: 6px;
}

.product p {
  font-size: 0.9rem;
  color: #4b5563;
  line-height: 1.4;
  margin-bottom: 8px;
}

.price {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--accent-2);
  margin-top: auto;
}

.btn-buy {
  align-self: flex-start;
  background: #00A67E;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 8px 12px;
  margin-top: 10px;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.3s ease;
}

.btn-buy:hover {
  background: #028a68;
}

/* Animasi fade-in */
@keyframes fadeInUp {
  from {opacity: 0; transform: translateY(15px);}
  to {opacity: 1; transform: translateY(0);}
}

.product {
  animation: fadeInUp 0.6s ease forwards;
}

/* cart panel */
.cart-panel{
  position:fixed;right:16px;bottom:16px;width:320px;max-width:92vw;background:#fff;border-radius:12px;
  box-shadow:0 12px 36px rgba(8,15,20,0.12);overflow:hidden;display:flex;flex-direction:column;
  transform:translateY(20px);transition:transform .25s ease,opacity .25s ease;opacity:0;pointer-events:none
}
.cart-panel.show{transform:translateY(0);opacity:1;pointer-events:auto}
.cart-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #f1f4f7}
.cart-items{padding:10px;max-height:260px;overflow:auto}
.cart-item{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed #f2f5f7}
.cart-item img{width:56px;height:44px;object-fit:cover;border-radius:6px}
.cart-footer{padding:10px;border-top:1px solid #f1f4f7;display:flex;flex-direction:column;gap:10px}
.full{width:100%}

/* footer */
.site-footer{padding:18px 0;background:#fff;border-top:1px solid #f1f4f7;margin-top:18px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:10px}

/* responsive */
@media (max-width:768px){
  .hero-right img{display:none}
  .hero-inner{flex-direction:column;align-items:flex-start}
  .grid{grid-template-columns:repeat(2,1fr)}
  .container{padding:0 12px}
}
@media (max-width:420px){
  .grid{grid-template-columns:repeat(1,1fr)}
  .brand{font-size:1rem}
}
