:root{
  --font:'Albert Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --bg:#fff;
  --ink:#111;
  --muted:#8a8a8a;
  --line:#eee;
  --panel:#f7f7f7;
  --radius:0px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
.container{width:min(1040px,calc(100% - 32px));margin:0 auto}
a{color:inherit}
button{font:inherit}

.app-header{padding:18px 0;border-bottom:1px solid var(--line)}
.header-flex{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-logo{width:28px;height:28px;object-fit:cover;border-radius:50%}
.b-name{font-weight:600;font-size:.98rem;letter-spacing:-.01em}
.btn-cart{position:relative;background:transparent;border:1px solid var(--line);color:var(--ink);height:38px;padding:0 16px;border-radius:999px;cursor:pointer;font-size:.82rem;font-weight:600}
.badge{display:inline-flex;min-width:16px;height:16px;padding:0 4px;margin-left:6px;border-radius:999px;background:var(--ink);color:#fff;font-size:.62rem;font-weight:800;align-items:center;justify-content:center}

.hero{padding:40px 0 28px;text-align:center}
.hero h1{margin:0 0 8px;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600;letter-spacing:-.01em}
.hero p{margin:0;color:var(--muted);font-size:.94rem}

.filters-section{padding:0 0 24px}
.filters-row{display:grid;grid-template-columns:1fr 160px 160px;gap:8px}
.inp{width:100%;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font-size:.86rem}
.inp:focus{outline:none;border-color:var(--ink)}
@media(max-width:640px){.filters-row{grid-template-columns:1fr}}

.products-section{padding:0 0 60px}
.results-count{display:block;color:var(--muted);font-size:.78rem;margin-bottom:16px}
.products-grouped .products-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:560px){.products-grouped .products-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:559px){.products-grouped .products-grid{grid-template-columns:repeat(2,1fr)}}

.card{background:#fff;padding:14px;display:flex;flex-direction:column}
.card-thumb-wrap{position:relative;background:var(--panel);margin-bottom:10px}
.card-thumb{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.card-badge{position:absolute;top:8px;left:8px;background:var(--ink);color:#fff;font-size:.6rem;font-weight:700;padding:3px 7px}
.card-body{display:flex;flex-direction:column;gap:2px}
.card-cat{display:none}
.card-body h3{margin:0;font-size:.84rem;font-weight:500;line-height:1.35;color:var(--ink)}
.card-price{font-size:.86rem;font-weight:700}
.card-price small{display:none}
.card-var{display:none}
.card-actions{display:flex;gap:6px;margin-top:10px}
.btn-details{display:none}
.btn-add-modal{width:100%;height:34px;border:1px solid var(--ink);background:#fff;color:var(--ink);font-size:.74rem;font-weight:600;cursor:pointer;border-radius:0;transition:.15s}
.btn-add-modal:hover{background:var(--ink);color:#fff}

.app-footer{padding:24px 0;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.app-footer .container{display:flex;justify-content:space-between;align-items:center;gap:12px}
.app-footer a{text-decoration:underline}

.cart-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;z-index:60;transition:.18s}
.cart-backdrop.is-open,.modal-backdrop.is-open{opacity:1;pointer-events:auto}
.cart-panel{position:fixed;top:0;right:0;bottom:0;width:min(380px,100%);background:#fff;z-index:70;transform:translateX(102%);transition:.2s;display:flex;flex-direction:column;border-left:1px solid var(--line)}
.cart-panel.is-open{transform:none}
.cart-head{padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.cart-head h2{margin:0;font-size:.98rem;font-weight:600}
.btn-close{background:transparent;border:0;font-size:1.3rem;cursor:pointer;line-height:1}
.cart-coupon-form{padding:0 18px;margin-top:10px}
.cart-body{flex:1;overflow:auto;padding:10px 18px}
.cart-line{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.cart-line img{width:48px;height:48px;object-fit:cover;background:var(--panel)}
.line-title{font-weight:600;font-size:.84rem}
.line-meta{color:var(--muted);font-size:.74rem}
.line-price{font-weight:700;margin-top:2px;font-size:.84rem}
.qty-row{display:flex;align-items:center;gap:8px;margin-top:6px}
.qty-btn{width:22px;height:22px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:.8rem}
.line-remove{margin-top:4px;background:none;border:0;color:var(--muted);text-decoration:underline;font-size:.72rem;cursor:pointer;padding:0}
.cart-foot{padding:16px 18px;border-top:1px solid var(--line)}
.cart-total-row{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:700;font-size:.9rem}
.cart-total-row-discount{color:#16a34a}
.cart-actions{display:flex;flex-direction:column;gap:6px}
.cart-actions .btn-primary{height:44px;background:var(--ink);color:#fff;border:0;font-weight:600;cursor:pointer;font-size:.84rem}
.cart-actions .btn-outline{height:40px;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:.8rem}
.cart-coupon-section{margin-bottom:12px}
.cart-coupon-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}
.cart-coupon-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.cart-coupon-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:4px 8px;background:#fff;font-size:.74rem;cursor:pointer}
.cart-coupon-feedback{font-size:.76rem;margin-top:6px}
.cart-coupon-feedback.is-error{color:#dc2626}
.cart-coupon-feedback.is-success{color:#16a34a}
.cart-discount-box{margin-top:6px;font-size:.78rem}
.cart-discount-row{display:flex;justify-content:space-between}

.modal{background:#fff;max-width:420px;width:calc(100% - 32px);margin:8vh auto;padding:22px;position:relative;max-height:86vh;overflow:auto;border:1px solid var(--line)}
.modal img#modal-product-img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--panel);margin-bottom:12px}
.modal h3{margin:0 0 4px;font-size:1rem;font-weight:600}
.modal .desc{color:var(--muted);font-size:.84rem}
.price-big{font-size:1.05rem;font-weight:700;margin:8px 0}
#modal-var-grid{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.var-opt{border:1px solid var(--line);background:#fff;padding:6px 12px;cursor:pointer;font-size:.8rem}
.var-opt.is-selected{background:var(--ink);color:#fff;border-color:var(--ink)}
.var-opt.is-disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.modal .btn-primary,.modal .btn-secondary{width:100%;margin-top:8px;height:42px;font-size:.82rem}
.modal .btn-primary{background:var(--ink);color:#fff;border:0;cursor:pointer;font-weight:600}
.btn-secondary{background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer}
.no-results{padding:32px 0;text-align:center;color:var(--muted);font-size:.86rem}
