/* ============================================================
   Карточка товара (/katalog/<адрес>) — product.html + assets/product.js
   Галерея слева, справа название, цена с кнопками и характеристики.
   ============================================================ */

body.theme-v2 .product-page { padding: 40px 0 104px; }

body.theme-v2 .product-breadcrumb {
  margin: 0 0 32px; font-size: 14px; font-weight: 500; color: var(--t-muted);
  overflow-wrap: anywhere;
}
body.theme-v2 .product-breadcrumb a { color: var(--t-ink); }
body.theme-v2 .product-breadcrumb a:hover { color: var(--t-accent); text-decoration: none; }

body.theme-v2 .product-layout {
  display: grid; gap: 56px; align-items: start;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
}

/* ----- Галерея ----- */
body.theme-v2 .product-gallery { display: flex; flex-direction: column; gap: 12px; }
body.theme-v2 .gallery-main {
  display: grid; place-items: center; overflow: hidden;
  aspect-ratio: 4 / 3; border: 0; border-radius: 32px; background: var(--t-gray);
}
/* Белый фон снимка растворяется в светлой плитке */
body.theme-v2 .gallery-main img { width: 100%; height: 100%; padding: 36px; object-fit: contain; mix-blend-mode: multiply; }
body.theme-v2 .gallery-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 10px; margin: 0; }
body.theme-v2 .gallery-thumb {
  aspect-ratio: 4 / 3; padding: 0; overflow: hidden; cursor: pointer;
  border: 2px solid transparent; border-radius: 16px; background: var(--t-gray);
  transition: border-color .2s;
}
body.theme-v2 .gallery-thumb:hover { border-color: var(--t-line); }
body.theme-v2 .gallery-thumb.active { border-color: var(--t-accent); }
body.theme-v2 .gallery-thumb img { width: 100%; height: 100%; padding: 6px; object-fit: contain; mix-blend-mode: multiply; }

/* ----- Информация ----- */
body.theme-v2 .product-info { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
body.theme-v2 .product-meta {
  margin: 0; font-family: inherit; letter-spacing: normal; text-transform: none;
}
body.theme-v2 .product-meta .line-tag { gap: 8px; font-size: 15px; font-weight: 600; color: var(--t-accent); }
body.theme-v2 .line-tag .line-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; }
body.theme-v2 .product-info h1 {
  margin: 0; font-size: clamp(32px, 3.6vw, 48px); font-weight: 800;
  line-height: 1.06; letter-spacing: -0.03em; text-wrap: balance; overflow-wrap: anywhere;
}
body.theme-v2 .product-lead { margin: 0; font-size: 18px; line-height: 1.55; color: var(--t-muted); }

/* Цена и кнопки — серая плашка */
body.theme-v2 .product-buy {
  display: flex; flex-direction: column; gap: 10px;
  padding: 28px; border-radius: 24px; background: var(--t-gray);
}
body.theme-v2 .product-price {
  margin: 0; font-family: inherit; font-size: 40px; font-weight: 800;
  letter-spacing: -0.03em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--t-ink);
}
body.theme-v2 .product-price.price-request { font-size: 24px; font-weight: 700; color: var(--t-ink); }
body.theme-v2 .price-note { margin: 0 0 8px; font-size: 14px; line-height: 1.5; color: var(--t-muted); }
body.theme-v2 .product-actions { display: flex; flex-wrap: wrap; gap: 10px; }
body.theme-v2 .product-actions .btn { min-width: 0; flex: 1 1 200px; justify-content: center; text-align: center; padding: 16px 24px; }
body.theme-v2 .product-actions .btn-primary { border: 2px solid var(--t-accent); }
body.theme-v2 .product-actions .btn-primary:hover { border-color: var(--t-accent-hover); }
body.theme-v2 .product-actions .btn-primary.added { background: #fff; color: var(--t-accent); border: 2px solid var(--t-accent); }
body.theme-v2 .product-actions .btn-primary.added:hover { background: var(--t-cream); }

/* Характеристики — список */
body.theme-v2 .product-specs {
  display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none;
  border: 1px solid var(--t-line); border-radius: 24px;
}
body.theme-v2 .product-specs li {
  display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 14px; align-items: start;
  padding: 16px 20px; font-size: 15px; font-weight: 500; color: var(--t-ink);
}
body.theme-v2 .product-specs li + li { border-top: 1px solid var(--t-line); }
body.theme-v2 .product-specs .ico { width: 20px; height: 20px; margin-top: 1px; color: var(--t-accent); }
body.theme-v2 .product-labels { margin: 0; }
body.theme-v2 .product-labels > span { display: flex; flex-wrap: wrap; gap: 6px; }
body.theme-v2 .product-label {
  padding: 5px 12px; border-radius: 999px; background: var(--t-gray); color: var(--t-ink);
  font-size: 13px; font-weight: 600;
}

/* ----- Описание ----- */
body.theme-v2 .description-wrap {
  margin-top: 72px; padding: clamp(28px, 4vw, 48px); border: 0; border-radius: 32px; background: var(--t-cream);
}
body.theme-v2 .description-wrap h2 { margin: 0 0 16px; font-size: clamp(26px, 3vw, 36px); font-weight: 800; letter-spacing: -0.03em; }
body.theme-v2 .product-description { max-width: 820px; font-size: 17px; line-height: 1.7; color: var(--t-muted); }
body.theme-v2 .product-description p { margin: 0; }

/* ----- Товар не найден ----- */
body.theme-v2 .not-found {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding: 80px 24px; border-radius: 32px; background: var(--t-cream); text-align: center;
}
body.theme-v2 .not-found h1 { margin: 0; font-size: clamp(30px, 4vw, 44px); font-weight: 800; letter-spacing: -0.03em; }
body.theme-v2 .not-found p { margin: 0 0 8px; font-size: 17px; color: var(--t-muted); }

/* Всплывающее «Добавлено в заявку» */
body.theme-v2 .toast { border-radius: 999px; background: var(--t-ink); font-family: inherit; font-size: 15px; font-weight: 600; padding: 13px 24px; }

@media (max-width: 900px) {
  body.theme-v2 .product-layout { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  body.theme-v2 .product-page { padding: 24px 0 72px; }
  body.theme-v2 .product-breadcrumb { margin-bottom: 20px; }
  body.theme-v2 .gallery-main { border-radius: 24px; }
  body.theme-v2 .gallery-main img { padding: 20px; }
  body.theme-v2 .gallery-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  body.theme-v2 .gallery-thumb { border-radius: 12px; }
  body.theme-v2 .product-buy { padding: 22px; }
  body.theme-v2 .product-price { font-size: 32px; }
  body.theme-v2 .product-specs li { padding: 14px 16px; }
  body.theme-v2 .description-wrap { margin-top: 48px; border-radius: 24px; }
}
