/* ═══════════════════════════════════════════════════════════
   Страница раздела каталога. Дополняет site.css — токены,
   шапка, подвал и кнопки берутся оттуда.
   ═══════════════════════════════════════════════════════════ */

/* ── хлебные крошки ── */
.crumbs{padding:16px 0 0;font-size:13px;font-weight:300;color:var(--muted)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li+li::before{content:"";width:5px;height:5px;border-top:1.2px solid #C9B79A;border-right:1.2px solid #C9B79A;transform:rotate(45deg);flex:none}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--amber-ink)}
.crumbs [aria-current]{color:var(--ink)}

/* ── заголовок раздела ── */
.cat-head{padding:20px 0 26px}
.cat-head h1{font-size:clamp(26px,3.2vw,40px);font-weight:600;line-height:1.12;margin-bottom:12px}
.cat-head .lead{font-size:clamp(15px,1.3vw,16.5px);font-weight:300;line-height:1.65;color:var(--body);max-width:68ch}
.cat-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-size:13.5px;font-weight:300;color:var(--muted)}
.cat-meta span{display:inline-flex;align-items:center;gap:7px}
.cat-meta svg{width:15px;height:15px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ── подразделы ── */
.subcats{display:flex;flex-wrap:wrap;gap:9px;padding-bottom:22px}
.subcat{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line-2);
  border-radius:999px;padding:7px 16px 7px 8px;font-size:14px;min-height:44px;
  transition:border-color var(--t),background var(--t),color var(--t)}
.subcat img{width:30px;height:30px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:50%;padding:3px;flex:none}
.subcat b{font-weight:400}
.subcat i{font-style:normal;font-size:12px;color:var(--muted)}
.subcat:hover{border-color:var(--green);color:var(--ink);background:#F5F8F2}
.subcat.on{background:var(--green);border-color:var(--green);color:#fff}
.subcat.on i{color:rgba(255,255,255,.75)}
.subcat.on img{background:#fff}

/* ── панель фильтров ── */
.tools{position:sticky;top:0;z-index:40;background:var(--paper);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);margin-bottom:24px}
.tools-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0}
.fgroup{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.fgroup > b{font-size:12px;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.chk{position:relative;display:inline-flex}
.chk input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.chk span{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:1px solid var(--line-2);
  border-radius:999px;background:var(--card);font-size:13.5px;font-weight:300;transition:all var(--t);white-space:nowrap}
.chk input:hover + span{border-color:#C9B79A}
.chk input:focus-visible + span{outline:3px solid var(--amber);outline-offset:2px}
.chk input:checked + span{background:#EEF4E8;border-color:var(--green);color:#2F5A22;font-weight:400}

.fprice{display:flex;align-items:center;gap:6px}
.fprice input{width:78px;min-height:38px;padding:7px 10px;border:1px solid var(--line-2);border-radius:10px;
  background:var(--card);font-size:13.5px;font-weight:300;font-variant-numeric:tabular-nums}
.fprice input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(78,127,55,.14)}
.fprice em{font-style:normal;color:var(--muted);font-size:13px}

.tools-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.fsort{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:300;color:var(--muted)}
.fsort select{min-height:38px;padding:7px 32px 7px 12px;border:1px solid var(--line-2);border-radius:10px;
  background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23786854' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center/14px;
  appearance:none;font-size:13.5px;color:var(--ink);cursor:pointer}
.fsort select:focus{outline:none;border-color:var(--green)}
.freset{font-size:13.5px;font-weight:300;color:var(--amber-ink);border-bottom:1px dashed rgba(143,90,27,.4);padding-bottom:1px}
.freset[hidden]{display:none}

.found{font-size:13.5px;font-weight:300;color:var(--muted);padding-bottom:14px}
.found b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}

/* ── сетка товаров: пять в ряд ── */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.card{position:relative;display:flex;flex-direction:column;background:var(--card);
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t)}
.card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(70,48,24,.5);border-color:#DCC9AB}
.card[hidden]{display:none}

.card-img{position:relative;aspect-ratio:1/1;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.card-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform var(--t)}
.card:hover .card-img img{transform:scale(1.06)}
.tags{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;z-index:1}
.tag{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.03em}
.tag-hit{background:var(--amber-deep);color:#fff}
.tag-new{background:var(--green);color:#fff}
.tag-stock{display:inline-flex;align-items:center;gap:6px;background:#F1F7EC;border:1px solid #D3E3C6;color:#2F5A22;font-weight:500}
.fav{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;color:#9C8B76;background:rgba(255,255,255,.9);transition:color var(--t),background var(--t);z-index:1}
.fav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.fav:hover{color:#C2402C;background:#fff}
.fav.on{color:#C2402C}
.fav.on svg{fill:currentColor}

.card-body{padding:13px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-sub{font-size:11px;font-weight:300;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.card h2{font-family:Onest,sans-serif;font-size:14px;font-weight:700;line-height:1.35;letter-spacing:-.005em}
.card h2 a{color:var(--ink)}
.card h2 a::after{content:"";position:absolute;inset:0}
.card-spec{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:12px;font-weight:300;color:var(--muted);line-height:1.4}
.card-foot{margin-top:auto;padding-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.card-price{font-family:Bitter,serif;font-size:19px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.card-unit{display:block;font-size:11.5px;font-weight:300;color:var(--muted);margin-top:2px}
.card-buy{width:40px;height:40px;border-radius:11px;background:var(--paper);border:1.5px solid var(--line-2);
  display:flex;align-items:center;justify-content:center;flex:none;position:relative;z-index:1;
  transition:background var(--t),border-color var(--t),color var(--t)}
.card-buy svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.card-buy:hover{background:var(--green);border-color:var(--green);color:#fff}
.card-buy.ok{background:var(--green-hi);border-color:var(--green-hi);color:#fff}

/* ── пусто / показать ещё ── */
.empty{grid-column:1/-1;text-align:center;padding:56px 20px;color:var(--muted);font-weight:300}
.empty b{display:block;font-family:Bitter,serif;font-size:20px;font-weight:500;color:var(--ink);margin-bottom:8px}
.more{display:flex;justify-content:center;padding:28px 0 0}

/* ── текст раздела ── */
.seo{margin-top:clamp(40px,5vw,64px);background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:clamp(24px,3vw,40px)}
.seo h2{font-size:clamp(20px,2.2vw,27px);font-weight:500;margin-bottom:14px}
.seo p{font-size:14.5px;font-weight:300;line-height:1.75;color:var(--body);max-width:82ch}
.seo p+p{margin-top:12px}
.seo-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.seo-cols b{display:block;font-family:Bitter,serif;font-size:16px;font-weight:500;margin-bottom:6px}
.seo-cols span{font-size:13.5px;font-weight:300;line-height:1.6;color:var(--muted)}

/* ── адаптив ── */
@media(max-width:1180px){
  .grid{grid-template-columns:repeat(4,1fr)}
  .seo-cols{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:940px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .tools-right{margin-left:0;width:100%}
  .fsort{width:100%}
  .fsort select{flex:1}
}
@media(max-width:680px){
  .grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .card-img{padding:10px}
  .card-body{padding:11px 12px 12px}
  .card h2{font-size:13.5px}
  .card-price{font-size:17px}
  .tools{position:static}
  .tools-in{gap:10px;padding:10px 0}
  .fgroup{width:100%}
  .seo-cols{grid-template-columns:1fr;gap:16px}
}
@media(max-width:420px){
  .card-foot{flex-direction:column;align-items:stretch;gap:10px}
  .card-buy{width:100%;height:40px}
}
