:root{
  --z-primary:#0A6B3E;
  --z-primary-dark:#084D2C;
  --z-surface:#F8FAF9;
  --z-on-surface:#1A1A1A;
  --z-on-surface-2:#5C5C5C;
  --z-outline:#E0E5E3;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  background:var(--z-surface);
  color:var(--z-on-surface);
}

a{color:inherit}

.container{max-width:1150px;margin:0 auto;padding:0 16px}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--z-outline);background:#fff;border-radius:999px;padding:8px 12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:12px;padding:12px 16px;border:1px solid transparent;
  font-weight:700;cursor:pointer;text-decoration:none;
}
.btn-primary{background:var(--z-primary);color:#fff}
.btn-primary:hover{background:var(--z-primary-dark)}
.btn-ghost{background:transparent;border-color:var(--z-outline);color:var(--z-on-surface)}
.btn-ghost:hover{background:rgba(10,107,62,0.06);border-color:rgba(10,107,62,0.35)}
.btn-sm{padding:10px 12px;border-radius:10px;font-weight:700}

.topbar{
  position:sticky;top:0;z-index:30;
  background:rgba(248,250,249,0.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--z-outline);
}
.topbar-inner{display:flex;align-items:center;gap:12px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{
  width:40px;height:40px;border-radius:12px;background:var(--z-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:-0.5px;
}
.brand-name{font-size:16px;font-weight:900;line-height:1}
.brand-tag{font-size:12px;color:var(--z-on-surface-2);line-height:1.1;margin-top:2px}
.grow{flex:1}

.search{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--z-outline);border-radius:14px;background:#fff;
  padding:10px 12px;flex:1;max-width:520px;
}
.search input{border:none;outline:none;font-size:14px;flex:1;background:transparent}
.badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 6px;border-radius:999px;
  background:var(--z-primary);color:#fff;font-size:11px;font-weight:800;
}

.hero{padding:26px 0 6px}
.hero-card{
  background:linear-gradient(180deg, rgba(10,107,62,0.10), rgba(10,107,62,0.03));
  border:1px solid rgba(10,107,62,0.20);
  border-radius:18px;
  padding:18px 18px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
}
.hero h1{margin:0;font-size:22px;letter-spacing:-0.4px}
.hero p{margin:6px 0 0 0;color:var(--z-on-surface-2);max-width:720px}

.section{padding:18px 0}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}
.section-title h2{margin:0;font-size:16px;letter-spacing:-0.2px}
.muted{color:var(--z-on-surface-2)}

.grid{display:grid;gap:12px}
.grid-4{grid-template-columns:repeat(4, minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr))}
@media (max-width:1000px){.grid-4{grid-template-columns:repeat(3, minmax(0,1fr))}}
@media (max-width:720px){
  .topbar-inner{flex-wrap:wrap}
  .search{order:3;max-width:none}
  .grid-4,.grid-3{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width:420px){.grid-4,.grid-3{grid-template-columns:repeat(1, minmax(0,1fr))}}

.card{
  background:#fff;border:1px solid var(--z-outline);border-radius:16px;overflow:hidden;
  box-shadow:0 1px 0 rgba(0,0,0,0.02);
}
.card-pad{padding:12px}
.img{
  width:100%;aspect-ratio: 4/3;object-fit:cover;background:rgba(10,107,62,0.06);
}
.price{font-weight:900}
.meta{font-size:12px;color:var(--z-on-surface-2)}
.title{font-weight:800;margin:0;font-size:14px;line-height:1.25}

.footer{
  border-top:1px solid var(--z-outline);
  margin-top:26px;
  padding:22px 0;
}
.footer-grid{display:grid;gap:14px;grid-template-columns: 1.2fr 1fr 1fr}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}
.footer a{color:var(--z-on-surface-2);text-decoration:none}
.footer a:hover{color:var(--z-primary);text-decoration:underline}

.page{padding:18px 0 10px}
.page h1{margin:0 0 10px 0;font-size:20px;letter-spacing:-0.3px}
.prose{background:#fff;border:1px solid var(--z-outline);border-radius:16px;padding:16px}
.prose h2{margin:18px 0 10px 0;font-size:15px}
.prose p,.prose li{color:var(--z-on-surface-2);line-height:1.6}
.prose ul{margin:8px 0 8px 18px}

.cart-line{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--z-outline)}
.cart-line:last-child{border-bottom:none}
.cart-thumb{width:72px;height:54px;border-radius:10px;object-fit:cover;background:rgba(10,107,62,0.06);border:1px solid var(--z-outline)}
.cart-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.qty{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--z-outline);border-radius:12px;padding:8px 10px}
.qty button{border:none;background:transparent;cursor:pointer;font-weight:900;font-size:16px;line-height:1}
.summary{background:#fff;border:1px solid var(--z-outline);border-radius:16px;padding:14px}
.summary .line{display:flex;justify-content:space-between;gap:10px;margin:8px 0;color:var(--z-on-surface-2)}
.summary .total{font-weight:900;color:var(--z-on-surface);font-size:16px}

