/* Страница товара (src/views/Product.astro): фото, блок покупки, цены по длинам, характеристики,
   описание, «С этим берут». Блок покупки — карточка каталога в режиме .product-single (только цена,
   выбор длины, кнопка и профили; фото и название — на самой странице). */

.pp-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
.pp-photo{margin:0}
.pp-zoom{
  display:block;width:100%;padding:0;cursor:zoom-in;
  border:1px solid var(--border);border-radius:22px;overflow:hidden;
  background:linear-gradient(180deg, rgba(31,90,58,.08), rgba(31,90,58,.02));
}
.pp-zoom img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pp-zoom:focus-visible{outline:3px solid var(--brand);outline-offset:3px}

.pp-buy{position:sticky;top:96px}
.pp-stock{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;font-weight:800;font-size:14px;color:var(--brand)}
.pp-stock::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.pp-stock--order{color:#4b5563}
.pp-note{margin-top:12px;font-size:13px;color:var(--muted);line-height:1.5}

/* Блок покупки: карточка каталога без фото и названия, всё в столбик */
.product-single .product-card{display:block;padding:20px}
.product-single :is(.product-img, .product-main){display:none}
.product-single .product-right{align-items:stretch;text-align:left;gap:12px}
.product-single .price-main{font-size:32px}
.product-single .product-badge--discount{position:static;display:inline-block;margin-left:6px;vertical-align:middle}
.product-single .profile-picker{margin-top:16px}
.product-single .len-none{display:none}

.pp-section{margin-top:40px}
.pp-section h2{font-size:24px;margin:0 0 14px}

.pp-table{width:100%;max-width:560px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}
.pp-table th,.pp-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}
.pp-table th{font-size:13px;font-weight:700;color:var(--muted);background:var(--surface-2)}
.pp-table td:last-child{font-weight:800;white-space:nowrap}
.pp-table td .muted{font-weight:600}
.pp-table tbody tr:last-child td{border-bottom:0}

.pp-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0}
.pp-specs div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 14px}
.pp-specs dt{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.pp-specs dd{margin:4px 0 0;font-weight:700}

.pp-about p{max-width:75ch;line-height:1.65;margin:0 0 12px}
.pp-about p:last-child{margin-bottom:0}

.pp-related{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.pp-rel{
  display:flex;flex-direction:column;gap:6px;padding:10px;
  background:#fff;border:1px solid var(--border);border-radius:16px;color:inherit;
  transition:transform var(--t-mid, .26s) var(--ease, ease), box-shadow var(--t-mid, .26s) var(--ease, ease), border-color var(--t-mid, .26s) var(--ease, ease);
}
@media (hover:hover){
  .pp-rel:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:rgba(31,90,58,.25);color:inherit}
}
.pp-rel img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:var(--surface-2)}
.pp-rel__cat{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.pp-rel__title{font-weight:700;line-height:1.3}
.pp-rel__meta{font-size:13px;color:var(--muted)}
.pp-rel__meta b{color:var(--brand)}

@media (max-width: 720px){
  .pp-grid{grid-template-columns:1fr;gap:16px}
  .pp-buy{position:static}
  .product-single .product-card{padding:16px}
  .product-single .price-main{font-size:26px}
  .pp-section{margin-top:28px}
  .pp-section h2{font-size:20px}
  .pp-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pp-specs div{padding:10px 12px}
  .pp-related{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pp-rel{padding:8px}
  .pp-rel__title{font-size:14px}
}
@media (prefers-reduced-motion: reduce){
  .pp-rel{transition:none}
}
