.btn-white{ background:var(--white); color:var(--green-deep); }

.btn-white:hover{ box-shadow:var(--shadow-md); }

nav.primary a.active{ color:var(--green-deep); }

.drawer-body{ padding:18px 20px 100px; }

.drawer-apply{
    position:fixed; left:0; right:0; bottom:0; width:82%; max-width:340px; padding:16px 20px;
    background:var(--white); border-top:1px solid var(--line); z-index:91;
  }

section.bg-white{ background:var(--white); }

section.bg-warm{ background:var(--warm); }

section.bg-soft{ background:var(--soft); }

.section-link{ font-size:14px; font-weight:700; color:var(--green-deep); display:flex; align-items:center; gap:6px; flex-shrink:0; white-space:nowrap; padding-bottom:4px; }

.section-link svg{ width:15px; height:15px; }

.product-card{
    position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--r-card);
    padding:14px; display:flex; flex-direction:column; gap:10px; flex-shrink:0;
    transition:box-shadow .2s ease, transform .2s ease;
  }

.product-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); }

.product-link{ display:contents; }

.product-art{ aspect-ratio:1/1; background:var(--warm); border-radius:10px; overflow:hidden; position:relative; }

.product-art svg{ width:100%; height:100%; transition:transform .3s ease; }

.product-card:hover .product-art svg{ transform:scale(1.05); }

.save-tag{ position:absolute; top:8px; left:8px; background:var(--deep-panel-bg); color:var(--deep-panel-fg); font-size:10.5px; font-weight:800; padding:4px 8px; border-radius:6px; letter-spacing:.02em; }

.stock-tag{ position:absolute; top:8px; left:8px; background:var(--ink-soft); color:var(--white); font-size:10.5px; font-weight:800; padding:4px 8px; border-radius:6px; letter-spacing:.02em; }

.product-name{ font-size:14.5px; font-weight:700; line-height:1.3; min-height:2.6em; }

.price-row{ display:flex; align-items:baseline; gap:8px; }

.price-now{ font-size:16.5px; font-weight:800; }

.price-prev{ font-size:13px; color:var(--ink-soft); text-decoration:line-through; }

.card-control{ height:40px; }

.add-btn{
    display:flex; align-items:center; justify-content:center; gap:6px; width:100%; height:100%;
    background:var(--soft); color:var(--green-deep); border:none; border-radius:var(--r-btn);
    padding:10px; font-weight:700; font-size:13.5px; transition:background .15s ease, color .15s ease;
  }

.add-btn:hover{ background:var(--green); color:var(--on-green); }

.add-btn:disabled{ background:var(--warm); color:var(--ink-soft); cursor:not-allowed; }

.add-btn svg{ width:16px; height:16px; }

.qty-stepper{
    display:flex; align-items:center; justify-content:space-between; width:100%; height:100%;
    background:var(--green); border-radius:var(--r-btn); padding:0 4px;
  }

.qty-stepper.pulse{ animation:qtyPulse .22s ease; }

@keyframes qtyPulse{ 0%{ transform:scale(1); } 40%{ transform:scale(1.04); } 100%{ transform:scale(1); } }

.qty-btn{
    width:30px; height:30px; border-radius:8px; background:rgba(255,255,255,.16); color:var(--on-green);
    border:none; font-size:17px; font-weight:800; line-height:1; display:flex; align-items:center; justify-content:center;
    transition:background .15s ease;
  }

.qty-btn:hover{ background:rgba(255,255,255,.32); }

.qty-value{ color:var(--on-green); font-weight:800; font-size:14.5px; min-width:20px; text-align:center; font-variant-numeric:tabular-nums; }

.grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }

@media (max-width:640px){ .grid{ grid-template-columns:repeat(2,1fr); gap:12px; } }

@media (max-width:640px){ .product-card{ padding:10px; } }

.breadcrumb{ padding:16px 0 0; font-size:13px; color:var(--ink-soft); display:flex; align-items:center; gap:6px; }

.breadcrumb a:hover{ color:var(--green-deep); }

.breadcrumb .current{ color:var(--ink); font-weight:600; }

.shop-head{ padding:14px 0 24px; }

.shop-head h1{ font-size:32px; }

.shop-head .count{ color:var(--ink-soft); font-size:14.5px; margin-top:8px; }

.filter-notice{ display:none; align-items:center; gap:10px; background:var(--soft); color:var(--green-deep); font-size:13.5px; font-weight:600; padding:10px 14px; border-radius:10px; margin-top:14px; }

.filter-notice.show{ display:flex; }

.filter-notice button{ background:none; border:none; color:var(--green-deep); font-weight:700; text-decoration:underline; font-size:13px; }

.shop-layout{ display:grid; grid-template-columns:250px 1fr; gap:36px; align-items:flex-start; padding-bottom:80px; }

@media (max-width:900px){ .shop-layout{ grid-template-columns:1fr; } }

.filters-panel-desktop{ position:sticky; top:96px; }

@media (max-width:900px){ .filters-panel-desktop{ display:none; } }

.filters-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }

.filters-head h3{ font-size:16px; }

.clear-link{ font-size:12.5px; font-weight:700; color:var(--green-deep); background:none; border:none; }

.clear-link:hover{ text-decoration:underline; }

.filter-group{ padding:18px 0; border-bottom:1px solid var(--line); }

.filter-group:first-of-type{ padding-top:6px; }

.filter-group:last-child{ border-bottom:none; }

.filter-group h4{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); margin-bottom:12px; }

.filter-row{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--ink); padding:6px 0; cursor:pointer; }

.filter-row input[type="checkbox"]{ width:17px; height:17px; accent-color:var(--green); flex-shrink:0; }

.filter-row .fcount{ margin-left:auto; font-size:12px; color:var(--ink-soft); font-variant-numeric:tabular-nums; }

.price-pills{ display:flex; flex-wrap:wrap; gap:8px; }

.pill-check{ font-size:13px; font-weight:600; padding:7px 12px; border-radius:var(--r-pill); border:1.5px solid var(--line-strong); background:var(--white); color:var(--ink); }

.pill-check.active{ background:var(--green); border-color:var(--green); color:var(--on-green); }

.shop-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; flex-wrap:wrap; }

.result-count{ font-size:13.5px; color:var(--ink-soft); }

.sort-control{ display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; }

.sort-control select{
    border:1.5px solid var(--line-strong); border-radius:8px; padding:8px 10px; font-family:inherit;
    font-size:13.5px; background:var(--white); color:var(--ink);
  }

.filters-trigger{ display:none; align-items:center; gap:8px; }

@media (max-width:900px){ .filters-trigger{ display:inline-flex; } }

.shop-empty{ display:none; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:70px 20px; color:var(--ink-soft); }

.shop-empty.show{ display:flex; }

.shop-empty h3{ color:var(--ink); font-size:19px; }