:root{--blue:#154ab7;--pink:#eea4b8;--cream:#fff9ef;--ink:#17234a;--gold:#dfbd75;--line:#e9e1d5}
.products-header{height:78px}
.products-hero{padding:70px 9vw 58px;background:#f7efe6}
.products-hero h1{font:700 clamp(42px,5vw,68px)/1 'Playfair Display',serif;margin:0;letter-spacing:-.05em}
.products-hero h1 i{color:var(--blue);font-weight:600}
.products-hero>p:last-child{max-width:560px;color:#667087;line-height:1.8;margin:20px 0 0}
.catalog{padding:55px 7vw 90px}
.catalog-toolbar{display:flex;align-items:center;gap:15px;margin-bottom:25px}
.result-count{margin-right:auto;color:#6d7486;font-size:12px}
.catalog-toolbar select{padding:10px 13px;border:1px solid var(--line);background:#fff;border-radius:5px;font:12px 'Be Vietnam Pro',sans-serif}
.filter-toggle{display:none}
.catalog-layout{display:grid;grid-template-columns:210px 1fr;gap:28px}
.catalog-filter{background:#fffdf9;border:1px solid var(--line);border-radius:8px;padding:19px;align-self:start;font-size:12px}
.filter-mobile-head{display:none}
.filter-group>b{display:block;font-size:13px;margin-bottom:12px}
.filter-group button{display:block;width:100%;padding:8px 0;text-align:left;font-size:12px}
.cat-filter.active{color:var(--blue);font-weight:700}
.filter-group label,.stock-only{display:block;color:#5e6678;margin:10px 0}
.catalog-filter input{accent-color:var(--blue);margin-right:7px}
.catalog-filter hr{border:0;border-top:1px solid var(--line);margin:19px 0}
.clear-filter{margin-top:17px;color:#a64a55;text-decoration:underline;font-size:11px}
.products-grid{grid-template-columns:repeat(3,1fr);gap:24px}
.active-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}
.active-filters span{background:#e9effd;color:var(--blue);padding:6px 10px;border-radius:20px;font-size:10px}
.empty-state{text-align:center;padding:80px 20px;color:#687188}
.empty-state>div{font-size:38px;color:var(--blue)}.empty-state h2{font:600 28px 'Playfair Display',serif;color:var(--ink)}
.empty-state button{margin-top:10px;padding:10px 16px;background:var(--ink);color:#fff;border-radius:4px;font-size:12px}
.filter-overlay{display:none}
@media(max-width:900px){.products-grid{grid-template-columns:repeat(2,1fr)}.catalog{padding:45px 5vw 70px}}
@media(max-width:680px){
  .products-header{height:64px}.products-header .search-box{top:70px}
  .products-hero{padding:55px 7vw 45px}.products-hero h1{font-size:42px}
  .catalog{padding:70px 5vw}.catalog-toolbar{position:relative}
  .filter-toggle{display:block;padding:10px 13px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:11px}
  .catalog-toolbar select{font-size:11px}.result-count{font-size:10px}
  .catalog-layout{display:block}.catalog-filter{position:fixed;z-index:31;left:0;bottom:0;width:100%;max-height:82dvh;overflow:auto;border-radius:18px 18px 0 0;transform:translateY(110%);transition:.3s;padding:22px}
  .catalog-filter.open{transform:none}.filter-mobile-head{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:20px}.filter-mobile-head button{font-size:25px}
  .filter-overlay{position:fixed;inset:0;z-index:30;background:#17234a77;opacity:0;visibility:hidden;display:block;transition:.25s}.filter-overlay.show{opacity:1;visibility:visible}
  .products-grid{grid-template-columns:repeat(2,1fr);gap:13px}
}
