:root{
  --green:#2f7d4f; --green-d:#245f3c; --leaf:#e8f3ec; --ink:#1c2b22; --muted:#6b7d72;
  --line:#dce7e0; --bg:#f6faf7; --white:#fff; --amber:#c77d2e; --red:#c0392b; --radius:14px;
  --fh:'Georgia',serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:1.5rem 1.2rem 3rem}

/* header + responsive nav */
.site-head{display:flex;align-items:center;gap:.8rem;padding:.65rem 1.3rem;background:var(--white);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;box-shadow:0 1px 10px rgba(30,60,40,.05)}
.brand{display:flex;align-items:center;gap:.35rem;font-size:1.3rem;font-weight:700;color:var(--green-d);text-decoration:none;white-space:nowrap}
.main-nav{display:flex;align-items:center;gap:.25rem;margin-left:.6rem;flex:1}
.main-nav a{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:999px;
  color:var(--ink);font-weight:600;font-size:.94rem;text-decoration:none;white-space:nowrap;
  transition:background .15s,color .15s}
.main-nav a .ic{font-size:1.05rem}
.main-nav a:hover{background:var(--leaf);color:var(--green-d);text-decoration:none}
.main-nav a.on{background:var(--green);color:#fff}
.cart-link{position:relative;display:inline-flex;align-items:center;font-size:1.35rem;color:var(--ink);text-decoration:none;padding:.25rem .3rem}
.badge{position:absolute;top:-3px;right:-7px;background:var(--amber);color:#fff;border-radius:999px;
  padding:.02rem .38rem;font-size:.7rem;font-weight:700;line-height:1.45}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:.4rem}
.nav-toggle span{display:block;width:26px;height:3px;background:var(--green-d);border-radius:3px;transition:.2s}
.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media(max-width:900px){
  .site-head{flex-wrap:wrap}
  .brand{order:1} .cart-link{order:2;margin-left:auto} .nav-toggle{display:flex;order:3}
  .main-nav{order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.15rem;margin:0;
    max-height:0;overflow:hidden;transition:max-height .28s ease}
  .main-nav.open{max-height:560px;margin-top:.55rem;padding-bottom:.3rem}
  .main-nav a{padding:.75rem .9rem;border-radius:10px;font-size:1rem}
}

/* hero */
.hero{background:linear-gradient(135deg,var(--green) 0%,var(--green-d) 100%);color:#fff;
  border-radius:var(--radius);padding:2.4rem 2rem;margin-bottom:1.8rem}
.hero h1{margin:.1rem 0 .5rem;font-family:var(--fh);font-size:2rem}
.hero p{margin:0;max-width:56ch;opacity:.95}
.section-title{font-family:var(--fh);color:var(--green-d);margin:1.4rem 0 1rem}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:1rem;display:flex;flex-direction:column;transition:transform .12s,box-shadow .12s;position:relative}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(30,60,40,.1);text-decoration:none}
.thumb{height:150px;display:grid;place-items:center;font-size:3.5rem;background:var(--leaf);
  border-radius:10px;margin-bottom:.8rem;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.card h3{margin:.1rem 0 .3rem;font-size:1.05rem;color:var(--ink)}
.card .muted{color:var(--muted);font-size:.88rem;flex:1}
.price{font-weight:700;color:var(--green-d);font-size:1.15rem;margin-top:.6rem}
.price.big{font-size:1.8rem}
.oos{position:absolute;top:.7rem;right:.7rem;background:var(--red);color:#fff;font-size:.72rem;padding:.15rem .5rem;border-radius:6px}

/* buttons */
.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:10px;
  padding:.7rem 1.2rem;font-size:1rem;font-weight:600;cursor:pointer}
.btn:hover{background:var(--green-d);text-decoration:none}
.btn:disabled{background:#a9bdb0;cursor:not-allowed}
.btn.big{padding:.9rem 1.4rem;font-size:1.05rem;width:100%;text-align:center;margin-top:.8rem}
.btn.ghost{background:transparent;color:var(--green-d);border:1px solid var(--green)}

/* product page */
.back{display:inline-block;margin-bottom:1rem;color:var(--muted)}
.product{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.p-img{background:var(--leaf);border-radius:12px;display:grid;place-items:center;font-size:6rem;min-height:280px;overflow:hidden}
.p-img img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}
.p-info h1{font-family:var(--fh);margin:.1rem 0 .4rem}
.lead{color:var(--muted)}
.stock.in{color:var(--green-d)} .stock.out{color:var(--red)}
.specs{list-style:none;padding:0;margin:1rem 0;border-top:1px solid var(--line)}
.specs li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--line)}
.specs li span{color:var(--muted)}
.add-form{display:flex;gap:.7rem;margin-top:1.2rem}
.add-form input[type=number]{width:5rem;padding:.6rem;border:1px solid var(--line);border-radius:10px}

/* cart + checkout tables */
table.cart{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
table.cart th,table.cart td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
table.cart th{background:var(--leaf);color:var(--green-d);font-size:.85rem}
table.cart input{width:4.5rem;padding:.4rem;border:1px solid var(--line);border-radius:8px}
.hint{color:var(--muted);font-size:.85rem;margin:.7rem 0}
.totals{margin-top:1.4rem;max-width:340px;margin-left:auto}
.totals .row{display:flex;justify-content:space-between;padding:.3rem 0}
.err{background:#fdecea;color:var(--red);border:1px solid #f5c6c0;padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem}

.co-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.6rem;align-items:start}
.co-fields{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
.co-fields h2{font-size:1.1rem;color:var(--green-d);margin:.2rem 0 .8rem}
.co-fields label{display:block;margin-bottom:.8rem;font-size:.9rem;color:var(--muted)}
.co-fields input{display:block;width:100%;margin-top:.25rem;padding:.65rem;border:1px solid var(--line);border-radius:10px;font-size:1rem;color:var(--ink)}
.co-fields .two{display:grid;grid-template-columns:1fr 2fr;gap:.8rem}
label.pay{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;margin-bottom:.6rem;cursor:pointer;color:var(--ink)}
label.pay:hover{border-color:var(--green)}
.co-summary{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;position:sticky;top:5rem}
.co-summary .row,.order-box .row{display:flex;justify-content:space-between;padding:.35rem 0}
.co-summary .total,.order-box .total{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.6rem;font-size:1.15rem;color:var(--green-d)}

/* order confirmation */
.order-done h1{font-family:var(--fh);color:var(--green-d)}
.order-box{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;margin:1.2rem 0;max-width:520px}
.status{text-transform:capitalize;color:var(--amber)}
.pay-step{background:var(--leaf);border-radius:var(--radius);padding:1.3rem;max-width:520px;margin-bottom:1.2rem}
.qr-placeholder{background:#fff;border:2px dashed var(--green);border-radius:12px;padding:2rem;text-align:center;font-size:3rem;color:var(--green);max-width:240px}
.qr-placeholder small{font-size:.8rem;color:var(--muted)}

/* footer */
.site-foot{border-top:1px solid var(--line);background:var(--white);padding:1.4rem;text-align:center;color:var(--muted);font-size:.85rem}
.pay-badges{margin-top:.4rem}

/* responsive */
@media(max-width:760px){
  .product,.co-grid{grid-template-columns:1fr}
  .co-summary{position:static}
  table.cart thead{display:none}
  table.cart tr{display:block;border-bottom:2px solid var(--line);padding:.4rem 0}
  table.cart td{display:flex;justify-content:space-between;border:0;padding:.4rem 1rem}
  table.cart td::before{content:attr(data-l);color:var(--muted);font-weight:600}
}
