/* ================= CATALOG PAGE ================= */

.catalog-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom: 40px; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.catalog-tabs button{
  background: var(--bg-soft); border: 1px solid var(--line); padding: 10px 18px; border-radius: 999px;
  font-size: 14px; color: var(--ink-soft); transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.catalog-tabs button:hover{ border-color: var(--green); color: var(--ink); }
.catalog-tabs button.is-active{ background: var(--green); border-color: var(--green); color: var(--white); font-weight:600; }

.product-group{ margin-bottom: 56px; scroll-margin-top: 100px; }
.product-group-head{ display:flex; align-items:baseline; gap: 14px; margin-bottom: 24px; }
.product-group-head .dot{ width:16px; height:16px; border-radius:50%; flex:none; }
.product-group-head h3{ font-size: 22px; }
.product-group-head span{ font-size: 13.5px; color: var(--ink-soft); }

.product-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.product-card{ background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 22px; transition: border-color .15s ease, transform .15s ease; }
.product-card:hover{ border-color: var(--green); transform: translateY(-2px); }
.product-card .p-name{ font-family: var(--font-display); font-weight:600; font-size: 17px; margin-bottom: 8px; }
.product-card .p-desc{ font-size: 13.5px; color: var(--ink-soft); margin-bottom: 16px; min-height: 38px; }
.product-card .p-foot{ display:flex; align-items:baseline; justify-content:space-between; padding-top: 14px; border-top: 1px solid var(--line); }
.product-card .p-price{ font-family: var(--font-mono); font-size: 17px; font-weight:600; color: var(--green-dark); }
.product-card .p-price small{ display:block; font-weight:400; font-size:10.5px; color:var(--ink-soft); margin-top:2px; }
.product-card .p-pack{ font-family: var(--font-mono); font-size: 11px; color: var(--ink-soft); text-align:right; }

.catalog-note{ background: var(--bg-soft-2); border-radius: var(--radius-m); padding: 20px 24px; font-size: 14px; color: var(--ink-soft); margin-bottom: 52px; }
.catalog-note b{ color: var(--ink); }

.quote-block{
  background: var(--bg-dark); color:#fff; border-radius: var(--radius-l); padding: 48px;
  display:grid; grid-template-columns: 1fr 1fr; gap: 44px;
}
.quote-block h2{ color:#fff; font-size: clamp(22px,3vw,28px); margin-bottom: 12px; }
.quote-block p{ color: var(--ink-on-dark-soft); max-width: 40ch; }
.quote-block .field label{ color:#fff; }
.quote-block .field input, .quote-block .field textarea{ background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.2); color:#fff; }
.quote-block .field textarea{ min-height: 88px; resize: vertical; }

@media (max-width: 980px){ .product-grid{ grid-template-columns: repeat(2,1fr); } .quote-block{ grid-template-columns: 1fr; padding: 32px; } }
@media (max-width: 640px){ .product-grid{ grid-template-columns: 1fr; } }
