:root{
  --shop-green:#0d5638;
  --shop-green-dark:#073e29;
  --shop-gold:#c9952d;
  --shop-red:#db1f2b;
  --shop-cream:#fbf8f1;
  --shop-line:#e5e5df;
  --shop-text:#142019;
  --shop-muted:#6d756f;
}
.shop-page{background:#f7f9f7;padding:34px 0 56px;min-height:70vh}
.shop-container{width:min(1440px,calc(100% - 48px));margin:0 auto}
.shop-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.shop-kicker{display:block;color:#b77b10;font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:6px}
.shop-title-row h1{margin:0;font-size:34px;line-height:1.05;font-weight:900;letter-spacing:-.035em;color:var(--shop-text)}
.shop-title-row p{margin:8px 0 0;color:var(--shop-muted);font-size:14px}
.shop-result-badge{padding:9px 15px;border-radius:999px;background:#e5f3e9;color:var(--shop-green);font-size:13px;font-weight:900;white-space:nowrap}
.shop-toolbar{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(6,minmax(130px,.78fr)) auto auto;gap:12px;align-items:end;background:#fff;border:1px solid #e2e7e2;border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(16,55,36,.06);margin-bottom:22px}
.shop-toolbar label{display:block;margin:0 0 7px 3px;color:#2f4137;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.shop-toolbar input,.shop-toolbar select{width:100%;height:45px;border:1px solid #d7ded8;border-radius:11px;background:#fbfcfb;color:#16251c;padding:0 13px;font:600 13px/1 Arial,Helvetica,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.shop-toolbar input:focus,.shop-toolbar select:focus{border-color:#2e7c55;box-shadow:0 0 0 3px rgba(13,86,56,.1);background:#fff}
.search-control{position:relative}.search-control svg{position:absolute;left:13px;top:13px;width:19px;height:19px;fill:none;stroke:#708078;stroke-width:1.8;stroke-linecap:round}.search-control input{padding-left:42px}
.shop-apply,.shop-reset{height:45px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;font-size:12px;font-weight:900;white-space:nowrap}
.shop-apply{border:1px solid var(--shop-green);background:var(--shop-green);color:#fff;cursor:pointer;box-shadow:0 7px 16px rgba(13,86,56,.17)}
.shop-apply:hover{background:var(--shop-green-dark);border-color:var(--shop-green-dark)}
.shop-reset{border:1px solid #d8c8ae;background:#fff;color:#7b5b2d}
.shop-reset:hover{background:#fbf4e8}
.active-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 20px;color:#66736c;font-size:12px}.active-filter-row>span:first-child{font-weight:800}.filter-chip{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dce4de;color:#31503d;font-weight:700}
.shop-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.shop-product-grid .product-card{background:#fff;border:1px solid #e5e9e5;border-radius:14px;padding:10px;box-shadow:0 8px 22px rgba(22,55,37,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden}
.shop-product-grid .product-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(22,55,37,.11);border-color:#cad8ce}
.shop-product-grid .product-image{aspect-ratio:1/1;border-radius:10px;box-shadow:none;background:#f1f3ef}
.shop-product-grid .product-card h3{font-size:16px;line-height:1.25;min-height:40px;margin:11px 3px 6px;color:#16261c}
.shop-product-grid .price{font-size:18px;min-height:24px;margin:0 3px;font-weight:900}.shop-product-grid .current-price{color:#c58200}.shop-product-grid .price del{font-size:12px}
.shop-product-grid .rating-row{margin:5px 3px 10px}.shop-product-grid .stars{font-size:14px;color:#efb800}
.shop-product-grid .card-actions{gap:8px}.shop-product-grid .card-actions button,.shop-product-grid .card-actions a{height:38px;border-radius:8px;font-size:10px}
.shop-empty{text-align:center;background:#fff;border:1px dashed #ccd8cf;border-radius:18px;padding:70px 20px}.empty-icon{font-size:42px;color:#a7b4ab}.shop-empty h2{font-size:25px;margin:10px 0 6px}.shop-empty p{color:#6d756f;margin:0 0 20px}.shop-empty a{display:inline-flex;padding:11px 18px;border-radius:9px;background:var(--shop-green);color:#fff;font-weight:800}
@media(max-width:1320px){.shop-toolbar{grid-template-columns:repeat(4,minmax(150px,1fr));}.field-wide{grid-column:span 2}.shop-apply,.shop-reset{width:100%}.shop-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.field-wide{grid-column:span 2}}
@media(max-width:760px){.shop-page{padding-top:24px}.shop-container{width:calc(100% - 28px)}.shop-title-row{align-items:flex-start}.shop-title-row h1{font-size:29px}.shop-title-row p{font-size:13px}.shop-toolbar{grid-template-columns:1fr 1fr;padding:14px;border-radius:14px}.field-wide{grid-column:1/-1}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.shop-product-grid .product-card h3{font-size:13px;min-height:34px}.shop-product-grid .price{font-size:16px}.shop-product-grid .stars{font-size:12px}}
@media(max-width:480px){.shop-title-row{display:block}.shop-result-badge{display:inline-flex;margin-top:12px}.shop-toolbar{grid-template-columns:1fr}.field-wide{grid-column:auto}.shop-product-grid .card-actions{grid-template-columns:1fr}.shop-product-grid .card-actions button,.shop-product-grid .card-actions a{height:35px}.shop-product-grid .product-card{padding:7px}.shop-product-grid .product-card h3{font-size:12px;min-height:31px}.shop-product-grid .price{font-size:15px}}

/* V35: shop page starts directly with filters and keeps safe side spacing. */
.shop-page{padding-top:24px}
.shop-container{
  width:100%;
  max-width:1500px;
  margin:0 auto;
  padding-left:30px;
  padding-right:30px;
  box-sizing:border-box;
}
.shop-toolbar{margin-top:0}
.shop-product-grid{column-gap:22px;row-gap:30px}
@media(min-width:1500px){.shop-container{padding-left:42px;padding-right:42px}}
@media(max-width:991px){.shop-container{padding-left:20px;padding-right:20px}}
@media(max-width:575px){.shop-container{padding-left:14px;padding-right:14px}.shop-product-grid{column-gap:12px;row-gap:22px}}
