
:root{--m-acc:#3D8C87;--m-ink:#2E716C;--m-soft:#EAF4F3;--m-line:#9FD3CE;--m-warn:#C4A35A;--m-warn-bg:#FBF5E7}
.mandado-badge{font-size:.8rem;opacity:.85;margin:8px 0 0}.mandado-badge strong{letter-spacing:.02em}
.demo{font-size:.72rem;font-weight:700;text-transform:uppercase;background:#FFF3C4;color:#6B5200;border-radius:6px;padding:1px 6px}
.linkbtn{background:none;border:0;padding:4px 2px;font:600 .95rem var(--sans);color:var(--m-ink);cursor:pointer;text-decoration:underline}
.err{color:#B42318;font-size:.86rem;display:block}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,120px);visibility:hidden;opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;z-index:70;transition:transform .25s;max-width:90vw;text-align:center}
.toast.show{transform:translate(-50%,0);visibility:visible;opacity:1}
.store-closed{background:var(--m-warn-bg);border:1px dashed var(--m-warn);border-radius:12px;padding:10px 14px;margin:0 0 16px}
.shipbar{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:0 0 18px}
.sb-msg{margin:0 0 8px;font-size:1.05rem} .sb-track{height:12px;background:#ECEFEE;border-radius:999px;overflow:hidden}
.sb-track span{display:block;height:100%;background:var(--m-acc);min-width:4px;transition:width .3s} .sb-note{margin:8px 0 0;font-size:.85rem;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.chip{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;font:inherit} .chip.on{background:var(--m-ink);color:#fff;border-color:var(--m-ink)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:0 0 18px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}
.pcard h3{margin:0;font-size:1.05rem} .pcard p{margin:0;font-size:.88rem} .pc-meta{color:var(--muted)} .pc-dachi{border-color:var(--m-line)}
.pcard .qty,.pcard .btn{margin-top:auto;align-self:flex-start}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px}
.qbtn{border:0;background:none;width:34px;height:32px;font-size:1.1rem;cursor:pointer;color:var(--m-ink)} .qbtn:disabled{color:#bbb;cursor:not-allowed}
.qty output{min-width:1.6em;text-align:center;font-weight:600}
.harvest-head{background:var(--m-soft);border-radius:14px;padding:14px 16px;margin:0 0 16px} .harvest-head h3{margin:0 0 6px}
.cart-lines{list-style:none;padding:0;margin:0 0 18px} .cart-lines li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.cl-n{flex:1 1 180px} .cl-n small{color:var(--muted)}
.checkout,.pay-block,.grp-box,.upsell{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 18px}
.fld{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-weight:600;font-size:.9rem} .fld input,.fld select{font:inherit;font-weight:400;padding:9px 10px;border:1px solid var(--line-2);border-radius:10px;max-width:420px}
.chk{display:block;margin:10px 0;font-size:.9rem} .totals{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:12px 0} .totals dt{font-weight:600}
.checkout .pills{display:flex;gap:12px;border:0;padding:0;margin:0} .checkout .pills label{display:flex;gap:6px;align-items:center}
.grp-code{font-size:1.4rem;letter-spacing:.06em} .btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
