:root{
  --green:#55AF33;
  --green-dark:#3f8f24;
  --bg:#f7faf5;
  --text:#20251d;
  --muted:#6d7469;
  --card:#ffffff;
  --border:#dde8d7;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);padding-bottom:92px}
.hero{text-align:center;padding:20px 18px 16px;background:white;border-bottom:1px solid var(--border)}
.logo{width:118px;max-width:45%;border-radius:22px;display:block;margin:0 auto 10px}
h1{font-size:26px;margin:4px 0 6px;letter-spacing:-.02em}
p{margin:0;color:var(--muted);line-height:1.45}.step{padding:18px}.card{background:var(--card);margin:16px;border:1px solid var(--border);border-radius:22px;box-shadow:0 10px 30px rgba(40,70,30,.07)}h2{font-size:19px;margin:0 0 14px}.kits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kit{border:1px solid var(--border);background:white;border-radius:16px;padding:14px;text-align:left;font-weight:700;color:var(--text)}.kit small{display:block;color:var(--muted);font-weight:500;margin-top:4px}.kit.active{border-color:var(--green);outline:2px solid rgba(85,175,51,.18)}.hint{font-size:13px;margin-top:10px}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin-bottom:8px}.tab{border:1px solid var(--border);background:white;border-radius:999px;padding:10px 14px;white-space:nowrap;color:var(--text);font-weight:700}.tab.active{background:var(--green);color:white;border-color:var(--green)}.categoryTitle{font-size:22px;margin:18px 0 12px}.item{background:white;border:1px solid var(--border);border-radius:20px;padding:15px;margin-bottom:12px;box-shadow:0 8px 22px rgba(40,70,30,.05)}.itemTop{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.item h3{font-size:17px;margin:0 0 6px}.desc{font-size:14px;color:var(--muted);margin-right:8px}.price{font-weight:800;color:var(--green-dark);white-space:nowrap}.qty{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-top:13px}.qty button{width:38px;height:38px;border-radius:50%;border:0;background:var(--green);color:white;font-size:22px;line-height:1}.qty span{font-size:20px;font-weight:800;min-width:24px;text-align:center}.cart{position:fixed;left:14px;right:14px;bottom:14px;background:#1f2a1a;color:white;border-radius:999px;padding:10px 10px 10px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 40px rgba(0,0,0,.24);gap:12px;max-width:680px;margin:0 auto}.cart span{display:block;color:#d8e7d0;font-size:12px;margin-top:2px}.cart button,.whatsapp{border:0;border-radius:999px;background:var(--green);color:white;font-weight:900;padding:13px 17px}.cart button{font-size:14px;min-width:174px}dialog{width:min(92vw,520px);border:0;border-radius:24px;padding:0;box-shadow:0 18px 70px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(0,0,0,.45)}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 8px}.modalHeader button{border:0;background:#edf3ea;border-radius:50%;width:36px;height:36px;font-size:24px}#summary{padding:0 18px 10px;color:var(--text);line-height:1.6}.field{display:block;padding:8px 18px;font-weight:700}.field input,.field textarea{width:100%;margin-top:6px;border:1px solid var(--border);border-radius:14px;padding:12px;font:inherit}.field textarea{min-height:78px}.whatsapp{width:calc(100% - 36px);margin:14px 18px 18px;font-size:16px;padding:15px}.empty{color:var(--muted);padding:10px 0}.warning{background:#fff7df;border:1px solid #f1d58c;color:#5d4300;border-radius:14px;padding:10px;margin-top:10px;font-size:14px}.progressWrap{height:8px;background:#e4edde;border-radius:999px;overflow:hidden;margin-top:10px}.progressBar{height:100%;width:0;background:var(--green);border-radius:999px;transition:width .2s ease}
.remaining{margin-top:8px;font-weight:800;color:var(--green-dark)}
@media(min-width:700px){main{max-width:760px;margin:0 auto}.hero .logo{width:132px}.kits{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.cart{border-radius:20px;align-items:flex-start}.cart button{min-width:132px;padding:13px 12px}.logo{width:104px}h1{font-size:24px}}
.summaryLine{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:8px 0}
.summaryLine strong{white-space:nowrap;color:var(--green-dark)}
.summaryTotal{display:flex;justify-content:space-between;gap:14px;margin-top:12px;padding:14px;border-radius:16px;background:#f1f8ed;font-weight:900}
.summaryTotal strong{color:var(--green-dark)}
.smallNote{font-size:12px;color:var(--muted);margin-top:8px}
.price small{display:block;font-size:11px;color:var(--muted);font-weight:700;margin-top:2px;text-align:right}.price.extra{color:#b05c00}.badge{display:inline-block;margin-top:8px;background:#fff2dd;color:#9a5200;border:1px solid #f2c984;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.hasExtra{border-color:#f2d09a}.kits{grid-template-columns:1fr 1fr}@media(min-width:900px){.kits{grid-template-columns:repeat(4,1fr)}}
.price em{display:block;font-style:normal;font-size:12px;color:#b45309;margin-top:4px;font-weight:800}
.price.extra{color:#1f7a2e}
.badge{display:inline-block;margin-top:10px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}

.weekTag{display:inline-block;background:#eef8ea;color:var(--green-dark);border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;margin-top:4px}
.infoPanel{padding:16px 18px 4px;max-width:760px;margin:0 auto}
.weekBox{background:linear-gradient(135deg,#f2faee,#fff);border:1px solid var(--border);border-radius:22px;padding:16px;text-align:center;box-shadow:0 10px 26px rgba(40,70,30,.06);margin-bottom:12px}
.weekBox strong{display:block;font-size:20px;color:var(--green-dark);margin-bottom:5px}
.weekBox span{display:block;font-weight:900;color:var(--text);line-height:1.35}
.weekBox small{display:block;color:var(--muted);margin-top:5px;line-height:1.4}
.infoGrid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}
.infoGrid div{background:#fff;border:1px solid var(--border);border-radius:18px;padding:13px 14px;box-shadow:0 8px 20px rgba(40,70,30,.04)}
.infoGrid h3{font-size:15px;margin:0 0 6px;color:var(--text)}
.infoGrid p{font-size:13px;line-height:1.42}
@media(min-width:700px){.infoGrid{grid-template-columns:1fr 1fr}.weekBox{padding:18px}}
