/* ── КАТАЛОГ ДВЕРЕЙ ─────────────────────────────────────────── */
.catalog-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.catalog-filter-btn{padding:8px 20px;border-radius:24px;border:1.5px solid var(--line);font-size:14px;font-weight:600;color:var(--ink2);text-decoration:none;transition:border-color .2s,background .2s,color .2s;background:#fff}
.catalog-filter-btn:hover{border-color:var(--blue);color:var(--blue)}
.catalog-filter-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}

.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:64px}
@media(max-width:1024px){.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.catalog-grid{grid-template-columns:1fr;gap:20px}}

.catalog-card{background:#fff;border-radius:16px;border:1.5px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s;position:relative}
.catalog-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.1);transform:translateY(-3px)}
.catalog-card--featured{border-color:var(--orange);box-shadow:0 4px 20px rgba(241,90,36,.12)}

.catalog-card-ribbon{position:absolute;top:16px;right:-8px;background:var(--orange);color:#fff;font-size:11px;font-weight:800;padding:4px 14px 4px 10px;border-radius:4px 0 0 4px;letter-spacing:.04em;text-transform:uppercase;z-index:2}
.catalog-card-ribbon::after{content:'';position:absolute;right:-8px;bottom:-8px;width:0;border-style:solid;border-width:8px 8px 0 0;border-color:#b03a10 transparent transparent transparent}

.catalog-card-badge{position:absolute;top:16px;left:16px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;z-index:2}

.catalog-card-img-wrap{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg2)}
.catalog-card-img-wrap img,.catalog-card-img-wrap svg{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.catalog-card:hover .catalog-card-img-wrap img{transform:scale(1.04)}

.catalog-card-body{padding:20px 20px 16px;display:flex;flex-direction:column;flex:1}
.catalog-card-title{font-family:var(--font-display);font-size:17px;font-weight:800;margin:0 0 8px;line-height:1.25}
.catalog-card-title a{color:var(--ink);text-decoration:none}
.catalog-card-title a:hover{color:var(--blue)}

.catalog-card-desc{font-size:13px;color:var(--ink2);margin:0 0 12px;line-height:1.5}

.catalog-card-feats{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:4px}
.catalog-card-feats li{font-size:12px;color:var(--ink2);padding-left:16px;position:relative;line-height:1.4}
.catalog-card-feats li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700;font-size:11px}

.catalog-card-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.catalog-card-price{font-family:var(--font-display);font-size:20px;font-weight:900;color:var(--blue);margin-bottom:12px;line-height:1.2}
.catalog-card-note{display:block;font-family:var(--font-body);font-size:11px;font-weight:400;color:var(--ink3);margin-top:2px}
.catalog-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-sm{padding:9px 16px;font-size:13px}

.catalog-empty{text-align:center;padding:60px 20px;color:var(--ink2)}

.catalog-cta{background:linear-gradient(135deg,var(--blue),var(--blue2));border-radius:16px;padding:36px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;color:#fff}
.catalog-cta-title{font-family:var(--font-display);font-size:22px;font-weight:800;margin-bottom:6px}
.catalog-cta-text p{font-size:14px;color:rgba(255,255,255,.8);margin:0}
@media(max-width:600px){.catalog-cta{padding:28px 20px;flex-direction:column;align-items:flex-start}.catalog-cta-title{font-size:18px}}

/* ── ВКЛАДКИ ─────────────────────────────────────────────── */
.prod-tabs { margin-top: 48px; }

.prod-tabs-nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--line);
  flex-wrap: wrap;
}
.prod-tab-btn {
  background: none;
  border: none;
  padding: 12px 24px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--ink2);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.prod-tab-btn:hover { color: var(--blue); }
.prod-tab-btn.active { color: var(--blue); border-bottom-color: var(--blue); }

.prod-tab-content {
  display: none;
  padding: 32px 0;
}
.prod-tab-content.active { display: block; }

/* ── ТАБЛИЦА ХАРАКТЕРИСТИК ───────────────────────────────── */
.prod-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.prod-table tr.even { background: var(--bg2, #f8f9fc); }
.prod-table tr.odd  { background: #fff; }
.prod-table tr:hover { background: rgba(46,49,146,.04); }
.prod-table-label {
  padding: 12px 16px;
  color: var(--ink2);
  width: 45%;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.prod-table-value {
  padding: 12px 16px;
  font-weight: 600;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
@media(max-width:600px) {
  .prod-table-label,
  .prod-table-value { padding: 10px 12px; font-size: 13px; }
}

/* ── КОМПЛЕКТАЦИЯ ────────────────────────────────────────── */
.prod-complect-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.prod-complect-list li {
  background: var(--bg2, #f8f9fc);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 10px;
}
.prod-complect-list li::before {
  content: '✓';
  color: var(--blue);
  font-weight: 900;
  font-size: 13px;
  flex-shrink: 0;
}
@media(max-width:600px) {
  .prod-complect-list { grid-template-columns: 1fr; }
}

/* ── ДОКУМЕНТЫ ───────────────────────────────────────────── */
.prod-docs-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.prod-docs-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 14px;
  color: var(--ink);
}
.prod-doc-icon { font-size: 18px; flex-shrink: 0; }

/* ── ТЕКСТ ВКЛАДОК ───────────────────────────────────────── */
.prod-tab-text { max-width: 720px; }
.prod-tab-text p  { font-size: 15px; line-height: 1.7; color: var(--ink2); margin-bottom: 12px; }
.prod-tab-text ul { padding-left: 20px; }
.prod-tab-text li { font-size: 14px; line-height: 1.6; color: var(--ink2); margin-bottom: 6px; }

/* ── ГАРАНТИИ ────────────────────────────────────────────── */
.prod-guarantees {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.prod-guarantee {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--ink2);
}
.prod-guarantee-icon {
  color: var(--blue);
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

/* ── ЦЕНА ПРИМЕЧАНИЕ ─────────────────────────────────────── */
.prod-price-note {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--ink3);
  font-family: var(--font-body);
  margin-top: 3px;
}

/* ── ХАРАКТЕРИСТИКИ СПИСКОМ ──────────────────────────────── */
.prod-features {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.prod-features li {
  font-size: 14px;
  color: var(--ink2);
  padding-left: 16px;
  position: relative;
  line-height: 1.5;
}
.prod-features li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--blue);
  font-weight: 700;
}

/* Вкладки — горизонтальный скролл на мобильных */
@media(max-width:600px) {
  .prod-tabs-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    border-bottom: 2px solid var(--line);
  }
  .prod-tabs-nav::-webkit-scrollbar { display: none; }
  .prod-tab-btn {
    flex-shrink: 0;
    padding: 10px 16px;
    font-size: 13px;
  }
}

/* Обёртка вкладок со стрелками */
.prod-tabs-wrap {
  position: relative;
}
.prod-tabs-arrow {
  display: none;
  position: absolute;
  top: 0; bottom: 2px;
  width: 32px;
  border: none;
  cursor: pointer;
  z-index: 2;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.prod-tabs-arrow--left  { left: 0;  background: linear-gradient(to right, #fff 60%, transparent); color: var(--blue); }
.prod-tabs-arrow--right { right: 0; background: linear-gradient(to left,  #fff 60%, transparent); color: var(--blue); }

@media(max-width:600px) {
  .prod-tabs-arrow { display: flex; }
}

/* Обёртка вкладок со стрелками */
.prod-tabs-wrap {
  position: relative;
}
.prod-tabs-arrow {
  display: none;
  position: absolute;
  top: 0; bottom: 2px;
  width: 32px;
  border: none;
  cursor: pointer;
  z-index: 2;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.prod-tabs-arrow--left  { left: 0;  background: linear-gradient(to right, #fff 60%, transparent); color: var(--blue); }
.prod-tabs-arrow--right { right: 0; background: linear-gradient(to left,  #fff 60%, transparent); color: var(--blue); }

@media(max-width:600px) {
  .prod-tabs-arrow { display: flex; }
}
