/* EngineXpress. Карточка товара */
.prod { padding-bottom: var(--space-24); }
.prod__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.prod__tools { flex: none; display: flex; gap: var(--space-5); }
.prod__tool { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: var(--ink-3); font: 500 14px/20px var(--font-sans); cursor: pointer; transition: color .3s var(--ease); }
.prod__tool:hover { color: var(--brand); }
.prod__tool .ex-ic { width: 16px; height: 16px; }
.prod__tool.is-done { color: var(--success); }
.prod__top { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) 320px; grid-template-areas: "gal info buy"; gap: var(--space-8); align-items: start; padding-top: var(--space-2); }
.gal { grid-area: gal; }
.pinfo { grid-area: info; min-width: 0; }
.buy { grid-area: buy; position: sticky; top: calc(var(--header-h) + var(--space-4)); display: grid; gap: var(--space-4); }

/* Галерея */
.gal { position: sticky; top: calc(var(--header-h) + var(--space-4)); min-width: 0; }
.gal__stage { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); background: var(--bg-alt); overflow: hidden; }
.gal__slide { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: #fff; cursor: zoom-in; }
.gal__slide[hidden] { display: none; }
.gal__slide img { width: 100%; height: 100%; object-fit: contain; }
.gal__arrow { position: absolute; top: 0; bottom: 0; z-index: 2; width: 64px; display: grid; place-items: center; border: 0; background: none; color: #fff; opacity: .55; cursor: pointer; transition: opacity .3s var(--ease); }
.gal__arrow:hover { opacity: .95; }
.gal__arrow svg { width: 18px; height: 56px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 3px #020b4780); }
.gal__arrow--prev { left: 0; }
.gal__arrow--next { right: 0; }
.gal__num { position: absolute; right: var(--space-3); bottom: var(--space-3); z-index: 2; padding: 2px 10px; border-radius: var(--radius-sm); background: #020b47b3; color: #fff; font-size: 13px; line-height: 20px; }
.gal__thumbs { display: flex; gap: var(--space-2); margin-top: var(--space-3); overflow-x: auto; scrollbar-width: none; }
.gal__thumb { flex: none; width: 84px; aspect-ratio: 4 / 3; padding: 0; border: 2px solid transparent; border-radius: var(--radius-sm); background: #fff; overflow: hidden; cursor: pointer; opacity: .7; transition: opacity .25s var(--ease), border-color .25s var(--ease); }
.gal__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gal__thumb:hover { opacity: 1; }
.gal__thumb.is-active { border-color: var(--brand); opacity: 1; }
.gal__stage--empty { background: var(--brand-soft); color: var(--brand); }
.gal__code { position: absolute; left: var(--space-8); bottom: 88px; font: 700 56px/1 var(--font-sans); letter-spacing: -.02em; }
.gal__sub { position: absolute; left: var(--space-8); bottom: 58px; color: var(--ink-2); font-size: 16px; }
.gal__art { position: absolute; right: -4%; top: 12%; width: 62%; opacity: .14; }
.gal__note { position: absolute; left: var(--space-8); bottom: var(--space-6); color: var(--ink-3); font-size: 14px; }

/* Галерея с миниатюрами слева, как на маркетплейсах */
.gal__stage:not(.gal__stage--empty) { aspect-ratio: auto; height: auto; }
.gal__stage:not(.gal__stage--empty)::before { content: ""; display: block; padding-top: 100%; }
.gal__slide img { object-fit: cover; transition: transform .6s var(--ease); }
.gal__slide:hover img { transform: scale(1.03); }
.gal--thumbs { display: flex; align-items: flex-start; gap: 12px; }
/* колонка миниатюр фиксированной ширины, фото занимает всё остальное место */
.gal__rail { position: relative; flex: 0 0 68px; width: 68px; }
.gal--thumbs .gal__thumbs { display: flex; flex-direction: column; margin: 0; max-height: var(--stage-h, 480px); overflow-y: auto; scrollbar-width: none; scroll-behavior: smooth; }
.gal--thumbs .gal__thumbs::-webkit-scrollbar { display: none; }
.gal--thumbs .gal__thumb { flex: none; width: 68px; height: 68px; border-radius: 10px; }
.gal--thumbs .gal__stage { flex: 1 1 0%; min-width: 0; width: auto; }
.gal__more { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 44px; display: grid; place-items: end center; padding-bottom: 4px; border: 0; background: linear-gradient(to bottom, #ffffff00, #fff 70%); color: var(--ink-2); cursor: pointer; }
.gal__more[hidden] { display: none; }
.gal__more svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .4s var(--ease); }
.gal__more:hover svg { transform: translateY(2px); }

/* Середина: название, варианты, коротко о товаре */
.buy__badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-3); }
.buy__badges .tag { height: 28px; padding: 0 13px; font-size: 13px; }
.pinfo__title { font: 700 30px/36px var(--font-sans); letter-spacing: -.02em; text-wrap: balance; }
.pinfo__fit { margin-top: var(--space-3); color: var(--ink-2); font-size: 15px; line-height: 22px; }
.pinfo__fit a { color: var(--accent); white-space: nowrap; }
.pvar { margin-top: var(--space-6); }
.pvar__label { color: var(--ink-3); font-size: 14px; margin-bottom: 10px; }
.pvar__label b { color: var(--ink); font-weight: 600; }
.pvar__tiles { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pvar__tile { display: grid; gap: 2px; min-width: 120px; padding: 10px 14px; border: 1.5px solid transparent; border-radius: var(--radius-md); background: var(--bg-alt); color: var(--ink); text-decoration: none; transition: border-color .3s var(--ease), background-color .3s var(--ease), transform .3s var(--ease); }
.pvar__tile b { font-weight: 600; font-size: 15px; line-height: 20px; }
.pvar__tile small { color: var(--ink-3); font-size: 13px; line-height: 18px; }
a.pvar__tile:hover { border-color: var(--brand-tint); background: var(--brand-soft); transform: translateY(-1px); }
.pvar__tile.is-active { border-color: var(--brand); background: var(--bg); }
.pabout { margin-top: var(--space-8); }
.pabout__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); margin-bottom: var(--space-2); }
.pabout__head h2 { font: 700 20px/26px var(--font-sans); }
.pabout__head a { color: var(--brand); font-weight: 600; font-size: 14px; text-decoration: none; }
.pabout__head a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pabout__list { margin: 0; }
.pabout__list div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4); padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 21px; }
.pabout__list dt { color: var(--ink-3); }
.pabout__list dd { margin: 0; }

/* Правая колонка: цена и заказ */
.buy__box { padding: var(--space-6); border-radius: var(--radius-xl); background: var(--bg); box-shadow: 0 2px 4px #020b470a, 0 12px 32px #020b4714; border: 1px solid var(--line); }
.buy__price { display: grid; gap: 2px; }
.buy__price .ex-price--lg { font-size: 34px; line-height: 40px; }
.buy__price-note { color: var(--ink-2); font-size: 14px; }
.buy__stock { display: flex; align-items: center; gap: 8px; margin-top: var(--space-3); color: var(--success); font-size: 14px; font-weight: 600; }
.buy__stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.buy__stock.is-order { color: var(--warning); }
.buy__cta { display: grid; height: auto !important; min-height: 64px; margin-top: var(--space-5); padding: 10px var(--space-5) !important; gap: 2px; }
.buy__cta span { font-size: 18px; line-height: 22px; }
.buy__cta small { font: 400 13px/16px var(--font-sans); color: var(--on-brand-muted); }
.buy__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); margin-top: var(--space-2); }
.buy__row .ex-btn { height: 48px; padding: 0 12px; font-size: 15px; }
.buy__row .ex-ic { width: 18px; height: 18px; }
.buy__cheaper { display: grid; gap: 2px; margin-top: var(--space-4); padding: 12px 14px; border-radius: var(--radius-md); background: var(--success-soft); color: var(--ink); text-decoration: none; transition: transform .3s var(--ease); }
.buy__cheaper:hover { transform: translateY(-1px); }
.buy__cheaper span { display: flex; justify-content: space-between; gap: var(--space-3); font-size: 15px; }
.buy__cheaper b { color: var(--success); }
.buy__cheaper small { color: var(--ink-3); font-size: 13px; }
.buy__deliv { padding: var(--space-5) var(--space-6); border-radius: var(--radius-xl); background: var(--bg-alt); }
.buy__deliv h2 { font: 700 17px/22px var(--font-sans); margin-bottom: var(--space-3); }
.buy__deliv dl { margin: 0; display: grid; }
.buy__deliv div { padding: 9px 0; border-top: 1px solid var(--line); }
.buy__deliv div:first-child { border-top: 0; padding-top: 0; }
.buy__deliv dt { font-weight: 600; font-size: 14px; line-height: 20px; }
.buy__deliv dd { margin: 2px 0 0; color: var(--ink-2); font-size: 14px; line-height: 20px; }
.buy__deliv a { color: var(--accent); }

/* Навигация по разделам */
.prod__tabs { position: sticky; top: var(--header-h); z-index: 5; display: flex; gap: var(--space-8); margin-top: var(--space-16); border-bottom: 1px solid var(--line); background: var(--bg); overflow-x: auto; scrollbar-width: none; }
.prod__tabs a { flex: none; padding: var(--space-4) 0; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--ink-2); text-decoration: none; font-weight: 500; }
.prod__tabs a:hover, .prod__tabs a.is-active { color: var(--brand); border-color: var(--brand); }

.prod__info { max-width: 920px; }
.psec { padding-top: var(--space-12); scroll-margin-top: calc(var(--header-h) + 64px); }
.psec__title { font: 700 26px/32px var(--font-sans); letter-spacing: -.01em; margin-bottom: var(--space-5); }
.psec__sub { font: 600 18px/24px var(--font-sans); margin: var(--space-8) 0 var(--space-3); }
.psec__text { color: var(--ink-2); font-size: 16px; line-height: 26px; }
.psec__note { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: var(--space-4); padding: var(--space-4); border-radius: var(--radius-md); background: var(--bg-alt); color: var(--ink-2); font-size: 15px; line-height: 22px; }
.psec__note .ex-ic { color: var(--brand); }

.ptable-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); }
.ptable { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 21px; }
.ptable th { text-align: left; padding: 12px 16px; background: var(--bg-alt); color: var(--ink-2); font-weight: 600; white-space: nowrap; }
.ptable td { padding: 12px 16px; border-top: 1px solid var(--line); vertical-align: top; }
.ptable a { color: var(--accent); }

.pspecs { margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-10); }
.pspecs div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--space-4); padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 22px; }
.pspecs dt { color: var(--ink-3); }
.pspecs dd { margin: 0; color: var(--ink); }
.poems { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.poems span { padding: 4px 10px; border-radius: var(--radius-sm); background: var(--bg-alt); font-size: 14px; }

.pdesc p, .pdesc li { color: var(--ink-2); font-size: 16px; line-height: 26px; }
.pdesc p + p { margin-top: var(--space-3); }
.pdesc h3 { font: 600 18px/24px var(--font-sans); margin: var(--space-6) 0 var(--space-2); }
.pdesc ul { margin: var(--space-2) 0 var(--space-3); padding-left: 20px; display: grid; gap: 4px; }
.pdesc li::marker { color: var(--brand); }

.pterms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); }
.pterms h3 { font: 600 18px/24px var(--font-sans); margin-bottom: var(--space-2); }
.pterms p { color: var(--ink-2); font-size: 15px; line-height: 23px; margin-bottom: var(--space-3); }

.prel { margin-top: var(--space-24); }
.prel__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.prel__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8) var(--space-5); }

.mbuy { display: none; }

/* Просмотр на весь экран */
.zoom { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: #020b47f2; }
.zoom[hidden] { display: none; }
.zoom__img { max-width: calc(100vw - 160px); max-height: calc(100vh - 80px); object-fit: contain; }
.zoom__close { position: absolute; top: var(--space-4); right: var(--space-4); z-index: 3; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: var(--radius-md); background: #ffffff1f; color: #fff; cursor: pointer; }
.zoom .gal__arrow { width: 80px; }

@media (max-width: 1180px) {
  .prod__top { grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "gal buy" "info buy"; }
}
@media (max-width: 1080px) {
  .prel__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .buy__actions { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .prod__top { grid-template-columns: minmax(0, 1fr); grid-template-areas: "gal" "info" "buy"; gap: var(--space-6); }
  .buy { position: static; }
  .prod__meta { flex-direction: column; align-items: stretch; gap: 0; }
  .prod__meta .crumbs { min-width: 0; max-width: 100%; }
  .prod__tools { padding-bottom: var(--space-3); }
  .gal--thumbs { display: flex; flex-direction: column-reverse; align-items: stretch; }
  .gal--thumbs .gal__thumbs { flex-direction: row; max-height: none; margin-top: var(--space-3); overflow-x: auto; }
  .gal__rail { flex: none; width: auto; min-width: 0; }
  .gal--thumbs .gal__stage { flex: none; width: 100%; }
  .gal__more { display: none !important; }
  .gal--thumbs .gal__thumb { width: 60px; height: 60px; }
  .gal { position: static; margin: 0 calc(-1 * var(--space-4)); }
  .gal__stage { border-radius: 0; }
  .gal__thumbs { padding: 0 var(--space-4); }
  .pspecs { grid-template-columns: minmax(0, 1fr); }
  .pterms { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .prod__tabs { top: 0; gap: var(--space-6); margin-top: var(--space-10); }
  .mbuy { position: fixed; left: 0; right: 0; bottom: 72px; z-index: 39; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 10px var(--space-4); background: var(--bg); border-top: 1px solid var(--line); transform: translateY(120%); transition: transform .3s var(--ease); }
  .mbuy.is-shown { transform: none; }
  .zoom__img { max-width: 100vw; }
  .zoom .gal__arrow { width: 56px; }
}
@media (max-width: 640px) {
  .pinfo__title { font-size: 24px; line-height: 30px; }
  .pvar__tile { min-width: 0; flex: 1 1 40%; }
  .buy__box { padding: var(--space-5) var(--space-4); margin-left: calc(-1 * var(--space-2)); margin-right: calc(-1 * var(--space-2)); }
  .buy__price .ex-price--lg { font-size: 30px; line-height: 34px; }
  .gal__code { font-size: 40px; left: var(--space-5); bottom: 70px; }
  .gal__sub, .gal__note { left: var(--space-5); }
  .gal__sub { bottom: 46px; }
  .gal__note { bottom: var(--space-4); font-size: 13px; }
  .pspecs div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .ptable { font-size: 14px; }
  .ptable th, .ptable td { padding: 10px 12px; }
  .prel { margin-top: var(--space-16); }
  .prel__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .prel__head { flex-direction: column; gap: 0; margin-bottom: var(--space-4); }
  .prel__head .psec__title { margin-bottom: var(--space-1); }
}
/* На телефоне сначала фото, название и варианты, потом цена с кнопкой, потом короткие характеристики */
@media (max-width: 860px) {
  .prod__top { grid-template-areas: none; grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .gal, .buy, .pinfo > * { grid-area: auto; grid-column: 1; min-width: 0; }
  .pinfo { display: contents; }
  .gal { order: 1; margin-bottom: var(--space-5); }
  .pinfo > * { order: 2; }
  .buy { order: 3; margin-top: var(--space-6); }
  .pinfo > .pabout { order: 4; }
}
.prod__meta .crumbs { min-width: 0; }

/* =====================================================================
   Информация о товаре: структурные разделы без анимаций.
   Каждый раздел: слева номер, название и пояснение, справа содержимое.
   ===================================================================== */
.prod__info { max-width: none; }
.psec2 { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 24px 64px; padding: 48px 0; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--header-h) + 64px); }
.prod__tabs + .prod__info .psec2:first-child { border-top: 0; }
.psec2__head { align-self: start; }
.psec2__num { display: block; margin-bottom: 12px; font: 500 13px/18px var(--font-mono); color: var(--ink-3); }
.psec2__title { font-size: 26px; line-height: 30px; font-weight: 500; letter-spacing: -.02em; }
.psec2__hint { margin-top: 10px; max-width: 260px; font-size: 15px; line-height: 22px; color: var(--ink-3); }
.psec2__body { min-width: 0; display: grid; gap: 16px; align-content: start; }

/* мелкая подпись над группой */
.pspec2__label { margin-bottom: 12px; font: 500 12px/16px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }

/* 01 Совместимость */
.pfit { margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: var(--r-md); }
.pfit__row { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 20px; }
.pfit__row + .pfit__row { border-top: 1px solid var(--line); }
.pfit__brand { font-size: 17px; line-height: 22px; font-weight: 500; color: var(--ink); text-decoration: none; }
.pfit__brand:hover { color: var(--brand); }
.pfit__models { display: flex; flex-wrap: wrap; gap: 6px; }
.pfit__chip { padding: 5px 10px; border-radius: var(--r-xs); background: var(--bg-alt); font-size: 14px; line-height: 18px; }
.pfit__all { font-size: 15px; line-height: 22px; color: var(--ink-3); }
.ptable-wrap { border-radius: var(--r-md) !important; }
.ptable th { font: 500 12px/16px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); background: var(--bg-alt); }
.ptable td { font-size: 15px; }
.pvin { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 16px 16px 20px; border-radius: var(--r-md); background: var(--card-blue, #eff6ff); }
.pvin__ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r-sm); background: #fff; color: var(--brand); }
.pvin__ic .ex-ic { width: 20px; height: 20px; }
.pvin__text b { display: block; font-size: 16px; line-height: 22px; font-weight: 600; }
.pvin__text span { display: block; margin-top: 2px; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.pvin__btn { height: 44px; background: #fff; }

/* 02 Характеристики */
.pspec2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.pspec2--one { grid-template-columns: minmax(0, 1fr); max-width: 620px; }
.pspec2__card { padding: 20px 24px 8px; border: 1px solid var(--line); border-radius: var(--r-md); }
.pspec2__list { margin: 0; }
.pspec2__list > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 15px; line-height: 21px; }
.pspec2__list dt { color: var(--ink-3); }
.pspec2__list dd { margin: 0; color: var(--ink); }
.poems2 { padding: 20px 24px; border: 1px solid var(--line); border-radius: var(--r-md); }
.poems2 .pspec2__label { margin-bottom: 10px; }

/* 03 Описание */
.pdesc2 { gap: 20px; }
.pdesc2__lead { max-width: 760px; font-size: 20px; line-height: 28px; color: var(--ink); }
.pdesc2__p { max-width: 760px; font-size: 16px; line-height: 25px; color: var(--ink-2); }
.pdesc2__block { padding: 20px 24px; border: 1px solid var(--line); border-radius: var(--r-md); }
.pdesc2__block .pdesc2__p + .pdesc2__p { margin-top: 10px; }
.pdesc2__kit { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pdesc2__kit li { padding: 8px 12px; border-radius: var(--r-sm); background: var(--bg-alt); font-size: 15px; line-height: 20px; }
.pdesc2__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; margin: 0; padding: 0; list-style: none; }
.pdesc2__block .pdesc2__p + .pdesc2__list { margin-top: 16px; }
.pdesc2__list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 15px; line-height: 22px; color: var(--ink); }
.pdesc2__list .ex-ic { width: 22px; height: 22px; padding: 4px; border-radius: var(--r-xs); background: var(--brand-soft); color: var(--brand); stroke-width: 2.4; }
.pdesc2__list b { display: block; font-weight: 600; }

/* 04 Гарантия, доставка, оплата */
.pterms2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pterm { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: var(--r-md); }
.pterm__ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r-sm); background: var(--brand-soft); color: var(--brand); }
.pterm__ic .ex-ic { width: 20px; height: 20px; }
.pterm__title { margin-top: 20px; font: 500 12px/16px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.pterm__big { margin-top: 8px; font-size: 24px; line-height: 28px; font-weight: 500; letter-spacing: -.02em; }
.pterm__big span { display: block; margin-top: 4px; font-size: 14px; line-height: 20px; font-weight: 400; letter-spacing: 0; color: var(--ink-2); }
.pterm__list { margin: 20px 0 0; }
.pterm__list > div { padding: 10px 0; border-top: 1px solid var(--line); }
.pterm__list dt { font-size: 13px; line-height: 18px; color: var(--ink-3); }
.pterm__list dd { margin: 2px 0 0; font-size: 15px; line-height: 21px; }
.pterm__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 16px; color: var(--brand); font-weight: 500; font-size: 15px; text-decoration: none; }
.pterm__more .ex-ic { width: 16px; height: 16px; }
.pterm__more:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1080px) {
  .psec2 { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 40px 0; }
  .psec2__hint { max-width: 560px; }
  .pterms2 { grid-template-columns: minmax(0, 1fr); }
  .pterm__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); column-gap: 24px; }
}
@media (max-width: 760px) {
  .psec2 { padding: 32px 0; }
  .psec2__title { font-size: 22px; line-height: 26px; }
  .pspec2, .pdesc2__list { grid-template-columns: minmax(0, 1fr); }
  .pspec2__card, .pdesc2__block, .poems2, .pterm { padding: 16px; }
  .pspec2__list > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .pfit__row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 14px 16px; }
  .pvin { grid-template-columns: auto minmax(0, 1fr); padding: 16px; }
  .pvin__btn { grid-column: 1 / -1; width: 100%; }
  .pdesc2__lead { font-size: 18px; line-height: 26px; }
}

/* Характеристики: основные параметры плитками, технические данные списком в две колонки */
.pfacts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--line); overflow: hidden; }
.pfacts > div { padding: 16px 20px; background: var(--bg); }
.pfacts dt { font-size: 13px; line-height: 18px; color: var(--ink-3); }
.pfacts dd { margin: 4px 0 0; font-size: 17px; line-height: 23px; font-weight: 500; color: var(--ink); overflow-wrap: anywhere; }
.pspec2__list--cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
@media (max-width: 1080px) { .pfacts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .pfacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pfacts > div { padding: 12px 14px; }
  .pfacts dd { font-size: 15px; line-height: 21px; }
  .pspec2__list--cols { grid-template-columns: minmax(0, 1fr); }
}
/* линии между плитками рисуем у самих плиток, чтобы неполный последний ряд оставался белым */
.pfacts { gap: 0; background: var(--bg); }
.pfacts > div { box-shadow: 1px 0 0 var(--line), 0 1px 0 var(--line); }

/* Вкладки и таблицы листаются только по горизонтали: по вертикали содержимое не сдвигается пальцем */
.prod__tabs, .ptable-wrap, .legal-table { overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.prod__tabs a { margin-bottom: 0; }

/* Кнопка «Поделиться»: фирменный цвет, значок скрепки */
.prod__tool--share { color: var(--brand); }
.prod__tool--share:hover { color: var(--brand-hover, var(--brand)); text-decoration: underline; text-underline-offset: 3px; }
.prod__tool--share .ex-ic { width: 17px; height: 17px; }
@media (max-width: 860px) {
  .prod__tools { justify-content: space-between; align-items: center; }
  .prod__tool--share { margin-left: auto; padding: 6px 12px; border-radius: var(--r-sm, 6px); background: var(--brand-soft); }
}
