/* Inter — шрифт текста карточки (выбор Николая 12.11.2026), локальный вариативный (100–900), кириллица и латиница отдельно */
@font-face { font-family: 'Inter'; src: url('../fonts/inter-cyrillic-var.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* знак рубля — отдельный файл на один символ (вырезан из расширенной латиницы) */
@font-face { font-family: 'Inter'; src: url('../fonts/inter-rub-var.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+20BD; }
@font-face { font-family: 'Inter'; src: url('../fonts/inter-latin-var.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ═══════════════ КАРТОЧКА ТОВАРА v8 (06.11.2026) ═══════════════
   Макет: design-reference/_v8-export («Карточка товара v8», Claude Design) — размеры, отступы
   и цвета взяты из него; шрифт текста с 12.11 — Inter 400/600/700 (в макете был Manrope), заголовки — Futura PT; мобильная — кадр 390 px макета.
   Разметка: template-parts/product/v8-buy.php + v8-gallery.php, поведение: assets/js/kp-pdp-v8.js.
   С 12.11.2026 включена для всех. Пока отдельным файлом — перенести секцией в kp.css (+ build-kp-min.py) и снести V1.
   Скоуп: body.kp-body .kp-pdp--v8. */

body.kp-body .kp-pdp--v8 {
  --v8-ink: #111; --v8-mute: #6B6B6B; --v8-line: #E7E7E7; --v8-fog: #F6F6F4;
  --v8-y: #FECE15; --v8-y-soft: #FFF6D1; --v8-y-hover: #F2C200;
  --v8-tx: 'Inter', sans-serif; --v8-hd: 'Futura PT', 'Helvetica Neue', Arial, sans-serif; --v8-w8: 700;
  --v8-ok: #1D7A3A; --v8-ok-bg: #EAF6EC; --v8-wait: #A04E00; --v8-pdf: #C0392B; --v8-pdf-bg: #FDECEC;
}
body.kp-body .kp-pdp--v8 .kp-pdp-grid { color: var(--v8-ink); }
/* `*` — Woodmart ставит h1–h3 свой шрифт (var(--wd-title-font)), наследование его не перебивает */
body.kp-body .kp-pdp--v8 .kp-pdp-grid,
body.kp-body .kp-pdp--v8 .kp-pdp-grid * { font-family: var(--v8-tx); letter-spacing: normal; line-height: normal; }
body.kp-body .kp-pdp--v8 .kp-pdp-grid :is(button, input, select, textarea),
body.kp-body .kp-pdp--v8 .v8-modal :is(button, input) { font-family: var(--v8-tx) !important; }
body.kp-body .kp-pdp--v8 :where(.kp-pdp-grid button, .kp-pdp-grid input) { color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .kp-pdp-grid { padding-top: 24px; }   /* макет: карточка на 24 ниже меню; колонки — как у старой карточки (kp.css: 0.82fr / 1fr), 11.11 решение Н. */
@media (max-width: 1024px) { body.kp-body .kp-pdp--v8 .kp-pdp-grid { grid-template-columns: 1fr; } }

/* сброс кнопок Woodmart (:is(button…) перебивает голые). :where() — чтобы сброс НЕ перебивал
   правила самих элементов (06.11: с весом 0,3,2 он обнулял min-height строк мест, жирность кнопок) */
body.kp-body .kp-pdp--v8 :where(.kp-pdp-grid button) {
  appearance: none; margin: 0; min-height: 0; box-shadow: none; text-transform: none; line-height: 1;
  font-weight: inherit; cursor: pointer; transform: none;
}
body.kp-body .kp-pdp--v8 .kp-gal-hide { display: none !important; }
body.kp-body .kp-pdp--v8 .v8-gs { display: none; }
body.kp-body:has(.kp-pdp--v8) .kp-pdp-bar { display: none !important; }   /* своя мобильная панель v8 */

/* ═══ Крошки (в левой колонке) ═══ */
body.kp-body .kp-pdp--v8 .kp-crumbs { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; min-height: 24px; margin: 0; padding: 0; font-size: 13px; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .kp-crumbs a,
body.kp-body .kp-pdp--v8 .kp-crumbs span { font-size: 13px; font-weight: 400; color: var(--v8-mute); text-decoration: none; }
body.kp-body .kp-pdp--v8 .kp-crumbs > :last-child { color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .kp-crumbs a:hover { color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .kp-crumbs .kp-crumbs-sep { flex: none; width: 6px; height: 6px; padding: 0; margin: 0; border-radius: 50%; background: var(--v8-y); font-size: 0; line-height: 0; color: transparent; }

/* ═══ Галерея ═══ */
body.kp-body .kp-pdp--v8 .gal { gap: 16px; }
body.kp-body .kp-pdp--v8 .v8-gtabs { display: flex; gap: 24px; border-bottom: 1px solid var(--v8-line); }
body.kp-body .kp-pdp--v8 .v8-gtab {
  display: flex; gap: 8px; align-items: center; height: 40px; padding: 0; margin-bottom: -1px;
  border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none;
  font-size: 15px; font-weight: 400; color: var(--v8-mute);
}
body.kp-body .kp-pdp--v8 .v8-gtab.is-on { font-weight: var(--v8-w8); color: var(--v8-ink); border-bottom-color: var(--v8-y); }
body.kp-body .kp-pdp--v8 .v8-gcount { font-size: 12px; font-weight: 600; line-height: 1.3; background: var(--v8-fog); color: var(--v8-mute); padding: 2px 8px; border-radius: 999px; }
body.kp-body .kp-pdp--v8 .gal-main-wrap { padding: 0; border: 1px solid var(--v8-line); border-radius: 16px; background: #fff; }
body.kp-body .kp-pdp--v8 .gal-main,
body.kp-body .kp-pdp--v8 .gal-main > img { object-fit: contain; }
body.kp-body .kp-pdp--v8 .gal-badges { top: 16px; left: 16px; gap: 6px; }
body.kp-body .kp-pdp--v8 .gal-badge,
body.kp-body .kp-pdp--v8 .gal-badge:is(.gb-new, .gb-hit, .gb-rus, .gb-sale, .gb-chz) {
  padding: 4px 8px; border-radius: 999px; font-size: 12px; font-weight: var(--v8-w8); line-height: 1.2; box-shadow: none;
  background: var(--v8-y); color: var(--v8-ink);
}
body.kp-body .kp-pdp--v8 .gal-badge.gb-chz { background: var(--v8-ink); color: #fff; }   /* служебный бейдж (Честный знак) — чёрный, решение 9A */
body.kp-body .kp-pdp--v8 .gal-thumbs.gal-photo-thumbs,
body.kp-body .kp-pdp--v8 .gal-thumbs.gal-ex-thumbs {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; overflow: visible; padding: 0;
}
body.kp-body .kp-pdp--v8 .gal-thumbs.kp-gal-hide { display: none !important; }
body.kp-body .kp-pdp--v8 .gal-thumb {
  width: auto; height: auto; aspect-ratio: 1 / 1; padding: 0; border-radius: 12px;
  border: 1px solid var(--v8-line); background: #fff; transition: border-color .15s;
}
body.kp-body .kp-pdp--v8 .gal-thumb:hover { transform: none; border-color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .gal-thumb.is-active { padding: 0; border: 2px solid var(--v8-ink); }
body.kp-body .kp-pdp--v8 .gal-thumb img { width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 761px) {
  body.kp-body .kp-pdp--v8 .gal-thumbs .gal-thumb:nth-child(n+7) { display: none; }
  body.kp-body .kp-pdp--v8 .gal-thumb.v8-more-thumb { position: relative; }
  body.kp-body .kp-pdp--v8 .gal-thumb.v8-more-thumb::after {
    content: attr(data-more); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .78); font-size: 15px; font-weight: var(--v8-w8); color: var(--v8-ink);
  }
}
body.kp-body .kp-pdp--v8 .gal-ex-cap { margin-top: -8px; font-size: 13px; color: var(--v8-mute); }

/* схема нанесения поверх фото */
body.kp-body .kp-pdp--v8 .v8-scheme { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; background: #fff; }
body.kp-body .kp-pdp--v8 .v8-scheme[hidden] { display: none; }
body.kp-body .kp-pdp--v8 .v8-scheme-art { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 24px; }
body.kp-body .kp-pdp--v8 .v8-scheme-art svg { width: 100%; height: 100%; }
body.kp-body .kp-pdp--v8 .v8-scheme-art svg[hidden],
body.kp-body .kp-pdp--v8 .v8-scheme-art .v8-svg-body-m { display: none; }
body.kp-body .kp-pdp--v8 .v8-scheme-hint { margin: 0; padding: 0 24px 16px; font-size: 13px; line-height: 1.5; color: var(--v8-mute); text-align: center; }
body.kp-body .kp-pdp--v8 .v8-reg { fill: rgba(254, 206, 21, .14); stroke: #111; stroke-dasharray: 5 4; cursor: pointer; transition: fill .15s; }
body.kp-body .kp-pdp--v8 .v8-reg:hover { fill: rgba(254, 206, 21, .32); }
body.kp-body .kp-pdp--v8 .v8-reg.is-on { fill: var(--v8-y); }
body.kp-body .kp-pdp--v8 .v8-reg.is-off { fill: none; cursor: default; }
body.kp-body .kp-pdp--v8 .v8-reg:focus-visible { outline: none; stroke-width: 2.5; }
/* чертёж поставщика (gifts.ru): контур — тонкая чёрная линия, места — пунктир с заливкой, выбранное — жёлтое */
body.kp-body .kp-pdp--v8 .v8-sup svg { width: 100%; height: 100%; }
body.kp-body .kp-pdp--v8 .v8-sup .main { fill: none !important; stroke: #111; stroke-width: 1px; vector-effect: non-scaling-stroke; }
/* зоны без цены способа (капюшон, карман…) — бледные, не кликаются; выбираемые — пунктир с жёлтой заливкой */
body.kp-body .kp-pdp--v8 .v8-sup .print { fill: none; stroke: #CFCFCB; stroke-width: 1px; stroke-dasharray: 5 4; vector-effect: non-scaling-stroke; }
body.kp-body .kp-pdp--v8 .v8-sup .v8-reg .print { fill: rgba(254, 206, 21, .14); stroke: #111; transition: fill .15s; }
body.kp-body .kp-pdp--v8 .v8-sup .v8-reg { cursor: pointer; outline: none; }
body.kp-body .kp-pdp--v8 .v8-sup .v8-reg:hover .print { fill: rgba(254, 206, 21, .32); }
body.kp-body .kp-pdp--v8 .v8-sup .v8-reg.is-on .print { fill: var(--v8-y); }
body.kp-body .kp-pdp--v8 .v8-sup .v8-reg:focus-visible .print { stroke-width: 2.5px; }
body.kp-body .kp-pdp--v8 .v8-svg-cap { font-family: var(--v8-tx); font-size: 13px; fill: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-svg-tag { font-family: var(--v8-tx); font-size: 12px; font-weight: var(--v8-w8); fill: #111; pointer-events: none; }
body.kp-body .kp-pdp--v8 .v8-gzones { display: flex; gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-gzones[hidden] { display: none; }
body.kp-body .kp-pdp--v8 .v8-gzone {
  flex: 1; height: 52px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between;
  border-radius: 12px; background: #fff; border: 1px solid var(--v8-line);
}
body.kp-body .kp-pdp--v8 .v8-gzone.is-on { border-color: var(--v8-ink); box-shadow: inset 0 0 0 1px var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-gzone-tx { display: flex; flex-direction: column; align-items: flex-start; }
body.kp-body .kp-pdp--v8 .v8-gzone-tx b { font-size: 15px; font-weight: var(--v8-w8); line-height: 1.15; }
body.kp-body .kp-pdp--v8 .v8-gzone-tx span { font-size: 12px; line-height: 1.4; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-badge {
  min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--v8-y);
  font-size: 12px; font-weight: var(--v8-w8); line-height: 1; display: inline-flex; align-items: center; justify-content: center; color: var(--v8-ink);
}
body.kp-body .kp-pdp--v8 .v8-badge[hidden] { display: none; }

/* ═══ Правая колонка ═══ */
body.kp-body .kp-pdp--v8 .kp-v8 { display: flex; flex-direction: column; gap: 28px; }
body.kp-body .kp-pdp--v8 .v8-sec { display: flex; flex-direction: column; gap: 14px; }
/* 11.11: больше воздуха (Лиза: старая карточка удобнее) — смысловые группы разделены линией, как в старой */
body.kp-body .kp-pdp--v8 :is(.v8-print, .v8-total, .v8-methods, .v8-filesblk) { padding-top: 28px; border-top: 1px solid var(--v8-line); }
body.kp-body .kp-pdp--v8 .v8-lbl { font-size: 13px; font-weight: var(--v8-w8); line-height: 1; text-transform: uppercase; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-foot { font-size: 13px; line-height: 1.5; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-link {
  padding: 0; border: 0; background: none; font-size: 13px; line-height: 1.2; color: var(--v8-mute);
  text-decoration: underline !important; text-underline-offset: 2px;
}
body.kp-body .kp-pdp--v8 .v8-link:hover { color: var(--v8-ink); }

/* заголовок */
body.kp-body .kp-pdp--v8 .v8-title { margin: 0; font-size: 30px; line-height: 1.15; font-weight: var(--v8-w8); text-transform: uppercase; text-wrap: pretty; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-ids { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; font-size: 13px; line-height: 1; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-brand {
  height: 30px; display: inline-flex; align-self: flex-start; align-items: center; gap: 7px; padding: 0 14px; border-radius: 999px;
  background: var(--v8-ink); color: #fff; font-family: var(--v8-hd); font-size: 15px; font-weight: 600; text-decoration: none; text-transform: uppercase;
}   /* 11.11: один в один как .pv-brand старой карточки — над заголовком, жёлтая стрелка */
body.kp-body .kp-pdp--v8 .v8-brand svg { color: var(--v8-y); }
body.kp-body .kp-pdp--v8 a.v8-brand:hover { background: #333; color: #fff; }
body.kp-body .kp-pdp--v8 .v8-id { display: inline-flex; gap: 8px; align-items: center; }
body.kp-body .kp-pdp--v8 .v8-ids button.pv-id-copy { padding: 0; border: 0; background: none; font-size: 13px; font-weight: 600; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-ids button.pv-id-copy:hover { text-decoration: underline; }
body.kp-body .kp-pdp--v8 .v8-ids .pv-copy-status { position: absolute; top: 100%; left: 0; padding-top: 4px; font-size: 12px; color: var(--v8-ink); }

/* цена, пилюли, цвета, Pantone */
body.kp-body .kp-pdp--v8 .v8-pricerow { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
body.kp-body .kp-pdp--v8 .v8-price { font-size: 38px; font-weight: var(--v8-w8); line-height: 1; margin-right: 8px; font-variant-numeric: tabular-nums; }
body.kp-body .kp-pdp--v8 .v8-pill {
  height: 28px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 999px;
  font-size: 13px; font-weight: 600; line-height: 1; background: var(--v8-fog); color: var(--v8-ink); white-space: nowrap;
}
body.kp-body .kp-pdp--v8 .v8-pill--in { background: var(--v8-ok-bg); color: var(--v8-ok); }
body.kp-body .kp-pdp--v8 .v8-pill--none { color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-colors { display: flex; flex-wrap: wrap; gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-color {
  display: block; width: 52px; height: 52px; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--v8-line);
}
body.kp-body .kp-pdp--v8 .v8-color.is-on { border-color: var(--v8-ink); box-shadow: inset 0 0 0 1px var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-color img { width: 100%; height: 100%; object-fit: contain; display: block; }
body.kp-body .kp-pdp--v8 .v8-color i { display: block; margin: 6px; height: 38px; border-radius: 8px; border: 1px solid var(--v8-line); }
body.kp-body .kp-pdp--v8 .v8-pantone { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 13px; line-height: 1; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-pantone i { width: 16px; height: 16px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }

/* нанесение: шапка, тумблер */
body.kp-body .kp-pdp--v8 .v8-print-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 40px; }
body.kp-body .kp-pdp--v8 .v8-switch { display: flex; gap: 12px; align-items: center; min-height: 40px; padding: 0; border: 0; background: none; }
body.kp-body .kp-pdp--v8 .v8-switch-tx { font-size: 13px; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-switch-ui {
  flex: none; width: 52px; height: 30px; border-radius: 999px; position: relative; background: #fff;
  box-shadow: inset 0 0 0 1.5px var(--v8-line); transition: background .2s;
}
body.kp-body .kp-pdp--v8 .v8-switch-ui i { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: var(--v8-line); transition: left .2s, background .2s; }
body.kp-body .kp-pdp--v8 .v8-switch[aria-checked="true"] .v8-switch-ui { background: var(--v8-y-soft); box-shadow: inset 0 0 0 1.5px var(--v8-y); }
body.kp-body .kp-pdp--v8 .v8-switch[aria-checked="true"] .v8-switch-ui i { left: 25px; background: var(--v8-y); }
body.kp-body .kp-pdp--v8 .v8-switch:focus-visible .v8-switch-ui { outline: 2px solid var(--v8-ink); outline-offset: 2px; }

/* сводка */
body.kp-body .kp-pdp--v8 .v8-summary { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
body.kp-body .kp-pdp--v8 .v8-summary[hidden], body.kp-body .kp-pdp--v8 .v8-panel[hidden] { display: none; }
body.kp-body .kp-pdp--v8 .v8-sumchip {
  height: 34px; display: inline-flex; gap: 8px; align-items: center; padding: 0 4px 0 12px; border-radius: 999px;
  background: var(--v8-fog); font-size: 13px; font-weight: 600; line-height: 1;
}
body.kp-body .kp-pdp--v8 .v8-sumchip button { width: 26px; height: 26px; border-radius: 999px; border: 0; background: #fff; font-size: 15px; padding: 0; }
body.kp-body .kp-pdp--v8 .v8-summary .v8-link { height: 34px; padding: 0 4px; }

/* панель выбора */
body.kp-body .kp-pdp--v8 .v8-panel { display: flex; flex-direction: column; gap: 12px; }
body.kp-body .kp-pdp--v8 .v8-seg { display: flex; align-self: flex-start; gap: 4px; padding: 4px; border-radius: 999px; background: var(--v8-fog); }
body.kp-body .kp-pdp--v8 .v8-seg button {
  height: 32px; padding: 0 14px; display: flex; gap: 6px; align-items: center; border-radius: 999px; border: 0;
  background: transparent; font-size: 13px; font-weight: 600;
}
body.kp-body .kp-pdp--v8 .v8-seg button.is-on { background: #fff; box-shadow: 0 0 0 1px var(--v8-line); }
body.kp-body .kp-pdp--v8 .v8-seg .v8-badge { min-width: 18px; height: 18px; padding: 0 5px; font-size: 11px; }
body.kp-body .kp-pdp--v8 .v8-places { display: flex; flex-direction: column; gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-place { display: flex; flex-direction: column; border-radius: 12px; background: #fff; border: 1px solid var(--v8-line); }
body.kp-body .kp-pdp--v8 .v8-place.is-on { border-color: var(--v8-ink); box-shadow: inset 0 0 0 1px var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-place-row {
  display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 14px; border: 0; background: none; text-align: left; width: 100%;
}
body.kp-body .kp-pdp--v8 .v8-check {
  flex: none; width: 18px; height: 18px; border-radius: 6px; display: flex; align-items: center; justify-content: center;
  background: #fff; border: 1.5px solid #CFCFCB;
}
body.kp-body .kp-pdp--v8 .v8-check svg { opacity: 0; }
body.kp-body .kp-pdp--v8 .v8-place.is-on .v8-check { background: var(--v8-y); border-color: var(--v8-y); }
body.kp-body .kp-pdp--v8 .v8-place.is-on .v8-check svg { opacity: 1; }
body.kp-body .kp-pdp--v8 .v8-place-n { font-size: 15px; font-weight: 600; }
body.kp-body .kp-pdp--v8 .v8-place-s { font-size: 13px; color: var(--v8-mute); white-space: nowrap; }
body.kp-body .kp-pdp--v8 .v8-place-p { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--v8-mute); white-space: nowrap; }
body.kp-body .kp-pdp--v8 .v8-place.is-on .v8-place-p { color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-place-m { display: flex; gap: 6px; flex-wrap: wrap; padding: 0 14px 12px 44px; }
body.kp-body .kp-pdp--v8 .v8-place-m button {
  height: 30px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 600;
  background: #fff; color: var(--v8-ink); border: 1.5px solid var(--v8-line);
}
body.kp-body .kp-pdp--v8 .v8-place-m button.is-on { background: var(--v8-ink); color: #fff; border-color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-sets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-set {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; padding: 12px 14px; border-radius: 12px;
  text-align: left; background: #fff; border: 1px solid var(--v8-line);
}
body.kp-body .kp-pdp--v8 .v8-set:hover { border-color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-set.is-on { background: var(--v8-y-soft); border-color: var(--v8-y); box-shadow: inset 0 0 0 1px var(--v8-y); }
body.kp-body .kp-pdp--v8 .v8-set-top { display: flex; width: 100%; justify-content: space-between; gap: 8px; align-items: baseline; }
body.kp-body .kp-pdp--v8 .v8-set-t { font-size: 15px; font-weight: 600; line-height: 1.15; }
body.kp-body .kp-pdp--v8 .v8-set-p { font-size: 13px; font-weight: 600; white-space: nowrap; }
body.kp-body .kp-pdp--v8 .v8-set-sub { font-size: 13px; line-height: 1.3; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-tolist { align-self: flex-start; min-height: 32px; }
body.kp-body .kp-pdp--v8 .v8-pnote { font-size: 13px; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-panel-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
body.kp-body .kp-pdp--v8 .v8-done { height: 36px; padding: 0 20px; border-radius: 999px; border: 0; background: var(--v8-ink); color: #fff !important; font-size: 13px; font-weight: 600; }
body.kp-body .kp-pdp--v8 .v8-chips { display: flex; gap: 8px; flex-wrap: wrap; }
body.kp-body .kp-pdp--v8 .v8-chip { height: 34px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 999px; border: 1.5px solid var(--v8-line); font-size: 13px; font-weight: 600; color: var(--v8-ink); text-decoration: none; }

/* цена с логотипом */
body.kp-body .kp-pdp--v8 .v8-tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-tier {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; padding: 12px; border-radius: 12px;
  background: #fff; text-align: left; border: 1px solid var(--v8-line);
}
body.kp-body .kp-pdp--v8 .v8-tier.is-on { border-color: var(--v8-ink); box-shadow: inset 0 0 0 1px var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-tier-q { font-size: 13px; line-height: 1.15; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-tier-p { font-size: 18px; font-weight: var(--v8-w8); line-height: 1.15; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.kp-body .kp-pdp--v8 .v8-tier-s { font-size: 13px; font-weight: 600; line-height: 1.15; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-tier-s.is-save { color: var(--v8-ok); }
body.kp-body .kp-pdp--v8 .v8-more { font-size: 13px; color: var(--v8-ink); text-decoration: underline; text-underline-offset: 2px; }

/* тираж и размеры */
body.kp-body .kp-pdp--v8 .v8-qty { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
body.kp-body .kp-pdp--v8 .v8-stepper { display: flex; align-items: center; height: 40px; border: 1px solid var(--v8-line); border-radius: 999px; padding: 0 4px; }
body.kp-body .kp-pdp--v8 .v8-stepper button { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 999px; background: none; font-size: 18px; font-weight: 400; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-stepper button:hover { background: var(--v8-fog); color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-stepper input {
  width: 56px; height: 32px; padding: 0; border: 0; background: none; box-shadow: none; outline: none;
  text-align: center; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums;
}
body.kp-body .kp-pdp--v8 .v8-sizes-head { display: flex; justify-content: space-between; align-items: center; }
body.kp-body .kp-pdp--v8 .v8-sizes-head .v8-link { color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-sizes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-size { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 8px; border-radius: 12px; background: #fff; border: 1px solid var(--v8-line); cursor: text; }
body.kp-body .kp-pdp--v8 .v8-size.is-filled { border-color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-size.is-out { opacity: .45; cursor: default; }
body.kp-body .kp-pdp--v8 .v8-size-k { font-size: 13px; font-weight: var(--v8-w8); line-height: 1; }
body.kp-body .kp-pdp--v8 .v8-size-q {
  width: 100%; height: 34px; padding: 0; border: 1px solid var(--v8-line); border-radius: 8px; background: #fff; box-shadow: none; outline: none;
  text-align: center; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums;
}
body.kp-body .kp-pdp--v8 .v8-size-q::placeholder { color: #A3A3A3; opacity: 1; }
body.kp-body .kp-pdp--v8 .v8-size-s { font-size: 12px; line-height: 1.15; color: var(--v8-mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.kp-body .kp-pdp--v8 .v8-size-s.is-order { color: var(--v8-wait); }

/* итог и кнопки */
body.kp-body .kp-pdp--v8 .v8-lines { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 1px solid var(--v8-line); }
body.kp-body .kp-pdp--v8 .v8-line { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 8px; align-items: baseline; font-size: 15px; line-height: 1.4; font-variant-numeric: tabular-nums; }
body.kp-body .kp-pdp--v8 .v8-line b { font-weight: 600; white-space: nowrap; }
body.kp-body .kp-pdp--v8 .v8-line-q { font-size: 13px; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-line-note { margin: -2px 0 0 104px; font-size: 13px; line-height: 1.4; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-line[hidden],
body.kp-body .kp-pdp--v8 .v8-line-note[hidden],
body.kp-body .kp-pdp--v8 .v8-tiersblk[hidden] { display: none; }
body.kp-body .kp-pdp--v8 .v8-total-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
body.kp-body .kp-pdp--v8 .v8-total-l { font-size: 15px; font-weight: 600; line-height: 28px; }
body.kp-body .kp-pdp--v8 .v8-total-r { display: flex; flex-direction: column; align-items: flex-end; }
body.kp-body .kp-pdp--v8 .v8-sum { font-size: 24px; font-weight: var(--v8-w8); line-height: 1.15; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.kp-body .kp-pdp--v8 .v8-total-notes { display: flex; flex-direction: column; gap: 12px; }
body.kp-body .kp-pdp--v8 .v8-terms { font-size: 13px; line-height: 1.5; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-terms b { font-weight: 600; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-warn { font-size: 13px; line-height: 1.5; color: var(--v8-wait); }
body.kp-body .kp-pdp--v8 .v8-warn[hidden] { display: none; }
body.kp-body .kp-pdp--v8 .v8-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-calc {
  height: 52px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 999px;
  background: var(--v8-y); color: var(--v8-ink); font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none;
}
body.kp-body .kp-pdp--v8 .v8-calc:hover { background: var(--v8-y-hover); color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-cart { height: 52px; padding: 0 24px; border: 1.5px solid var(--v8-ink); border-radius: 999px; background: #fff; font-size: 15px; font-weight: 600; }
body.kp-body .kp-pdp--v8 .v8-cart:hover { background: var(--v8-fog); }
body.kp-body .kp-pdp--v8 .v8-cart:disabled { opacity: .4; cursor: not-allowed; }
body.kp-body .kp-pdp--v8 .v8-cart.is-added { background: var(--v8-ok-bg); border-color: var(--v8-ok); color: var(--v8-ok); opacity: 1; }

/* файлы */
body.kp-body .kp-pdp--v8 .v8-files { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-file { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 1px solid var(--v8-line); border-radius: 12px; text-decoration: none; color: var(--v8-ink); transition: border-color .15s; }
body.kp-body .kp-pdp--v8 .v8-file:hover { border-color: var(--v8-ink); color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-file-top { display: flex; justify-content: space-between; align-items: center; }
body.kp-body .kp-pdp--v8 .v8-ftype { font-size: 12px; font-weight: var(--v8-w8); line-height: 1; padding: 4px 8px; border-radius: 999px; background: var(--v8-fog); color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-ftype--pdf { color: var(--v8-pdf); background: var(--v8-pdf-bg); }
body.kp-body .kp-pdp--v8 .v8-ftype--cdr { color: var(--v8-ok); background: var(--v8-ok-bg); }
body.kp-body .kp-pdp--v8 .v8-file-ic { font-size: 15px; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-file-nm { font-size: 13px; font-weight: 600; line-height: 1.15; }

/* консультация */
body.kp-body .kp-pdp--v8 .v8-consult { background: var(--v8-fog); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
body.kp-body .kp-pdp--v8 .v8-consult-rows { display: flex; gap: 24px; flex-wrap: wrap; font-size: 15px; font-weight: 600; }
/* сайт красит a[href="mailto:zakaz@…"] в белый с !important (под тёмную полосу шапки) — в карточке перебиваем */
body.kp-body .kp-pdp--v8 .v8-consult-rows a { color: var(--v8-ink) !important; font-weight: 600 !important; text-decoration: none; }
body.kp-body .kp-pdp--v8 .v8-msgs { display: flex; gap: 8px; flex-wrap: wrap; }
body.kp-body .kp-pdp--v8 .v8-msgs a {
  height: 40px; padding: 0 16px; display: flex; gap: 8px; align-items: center; background: #fff; border: 1px solid var(--v8-line);
  border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--v8-ink); text-decoration: none;
}
body.kp-body .kp-pdp--v8 .v8-msgs img { width: 20px; height: 20px; }
body.kp-body .kp-pdp--v8 .v8-mbar { display: none; }

/* модалка «Точный расчёт» */
body.kp-body .kp-pdp--v8 .v8-modal { position: fixed; inset: 0; z-index: 9999; background: rgba(17, 17, 17, .55); display: flex; align-items: center; justify-content: center; }
body.kp-body .kp-pdp--v8 .v8-modal[hidden] { display: none; }
body.kp-body .kp-pdp--v8 .v8-modal-box { width: 460px; max-width: 92vw; margin: 0; background: #fff; border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 12px; position: relative; }
body.kp-body .kp-pdp--v8 .v8-modal-h { font-family: var(--v8-tx); font-size: 24px; font-weight: var(--v8-w8); text-transform: uppercase; line-height: 1.15; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-modal-sum { font-family: var(--v8-tx); font-size: 15px; line-height: 1.5; background: var(--v8-fog); border-radius: 12px; padding: 12px 16px; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-modal-sum small { font-size: 13px; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-modal-in { height: 52px; width: 100%; margin: 0; border: 1px solid var(--v8-line); border-radius: 12px; padding: 0 16px; font-size: 15px; background: #fff; box-shadow: none; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-modal-in:focus { border-color: var(--v8-ink); outline: none; }
body.kp-body .kp-pdp--v8 textarea.v8-modal-ta { height: auto; min-height: 76px; padding: 14px 16px; line-height: 1.4; resize: vertical; }
body.kp-body .kp-pdp--v8 .v8-modal-btn { height: 52px; margin: 0; border: 0; border-radius: 999px; background: var(--v8-y); color: var(--v8-ink); font-size: 15px; font-weight: 600; text-transform: none; cursor: pointer; }
body.kp-body .kp-pdp--v8 .v8-modal-btn:hover { background: var(--v8-y-hover); }
body.kp-body .kp-pdp--v8 .v8-modal-status { margin: 0; font-family: var(--v8-tx); font-size: 13px; line-height: 1.5; }
body.kp-body .kp-pdp--v8 .v8-modal-status.is-err { color: var(--v8-wait); }
body.kp-body .kp-pdp--v8 .v8-modal-status.is-ok { color: var(--v8-ok); }
body.kp-body .kp-pdp--v8 .v8-modal-status[hidden] { display: none; }
body.kp-body .kp-pdp--v8 .v8-modal-legal { margin: 0; font-family: var(--v8-tx); font-size: 13px; line-height: 1.5; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-modal-legal a { color: var(--v8-mute); text-decoration: underline; }

/* ═══ Мобильная (макет: кадр 390 px) ═══ */
@media (max-width: 760px) {
  body.kp-body .kp-pdp--v8 .v8-gl { display: none; }
  body.kp-body .kp-pdp--v8 .v8-gs { display: inline; }
  body.kp-body .kp-pdp--v8 .kp-v8 { padding-bottom: 88px; }
  /* галерея */
  body.kp-body .kp-pdp--v8 .gal { gap: 0; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }   /* во всю ширину экрана */
  body.kp-body .kp-pdp--v8 .kp-crumbs { display: none; }
  body.kp-body .kp-pdp--v8 .kp-pdp-grid { gap: 12px; padding-top: 0; }                         /* миниатюры → H1 = 24 (12 + 12) */
  body.kp-body .kp-pdp--v8 .kp-v8 > .v8-head,
  body.kp-body .kp-pdp--v8 .kp-v8 > .v8-pricegrp { margin-bottom: -12px; }     /* шапка, цена, цвета — один блок с шагом 12 */
  body.kp-body .kp-pdp--v8 .v8-svg-cap { display: none; }
  body.kp-body .kp-pdp--v8 .v8-scheme-art .v8-svg-body { display: none; }
  body.kp-body .kp-pdp--v8 .v8-scheme-art .v8-svg-body-m:not([hidden]) { display: block; }
  body.kp-body .kp-pdp--v8 .v8-gtabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 4px; padding: 12px 16px; border: 0; }
  body.kp-body .kp-pdp--v8 .v8-gtab { height: 40px; justify-content: center; margin: 0; border: 0; border-radius: 999px; background: var(--v8-fog); font-size: 13px; font-weight: 600; color: var(--v8-ink); }
  body.kp-body .kp-pdp--v8 .v8-gtab.is-on { background: var(--v8-ink); color: #fff; font-weight: 600; }
  body.kp-body .kp-pdp--v8 .v8-gtab .v8-gcount { display: none; }
  body.kp-body .kp-pdp--v8 .gal-main-wrap { border-radius: 0; border-left: 0; border-right: 0; }
  body.kp-body .kp-pdp--v8 .v8-scheme { inset: 16px; }
  body.kp-body .kp-pdp--v8 .v8-scheme-art { padding: 0; }
  body.kp-body .kp-pdp--v8 .v8-scheme-hint { display: none; }
  body.kp-body .kp-pdp--v8 .gal-thumbs.gal-photo-thumbs,
  body.kp-body .kp-pdp--v8 .gal-thumbs.gal-ex-thumbs { display: flex; overflow-x: auto; padding: 12px 16px; gap: 8px; scroll-snap-type: none; scroll-padding-inline: 16px; }
  body.kp-body .kp-pdp--v8 .gal-thumb { flex: none; width: 52px; height: 52px; }
  body.kp-body .kp-pdp--v8 .gal-ex-cap { margin: 0; padding: 0 16px; }
  body.kp-body .kp-pdp--v8 .v8-gzones { padding: 12px 16px; }
  body.kp-body .kp-pdp--v8 .v8-gzone { height: 40px; padding: 0 8px; justify-content: center; gap: 4px; border-radius: 999px; border-width: 1.5px; }
  body.kp-body .kp-pdp--v8 .v8-gzone.is-on { background: var(--v8-ink); box-shadow: none; }
  body.kp-body .kp-pdp--v8 .v8-gzone.is-on b { color: #fff; }
  body.kp-body .kp-pdp--v8 .v8-gzone-tx b { font-size: 13px; font-weight: 600; }
  body.kp-body .kp-pdp--v8 .v8-gzone-tx span { display: none; }
  body.kp-body .kp-pdp--v8 .v8-gzone .v8-badge { min-width: 18px; height: 18px; }
  /* колонка */
  body.kp-body .kp-pdp--v8 .v8-title { font-size: 24px; }
  body.kp-body .kp-pdp--v8 .v8-ids { gap: 8px 12px; font-size: 12px; }
  body.kp-body .kp-pdp--v8 .v8-ids button.pv-id-copy { font-size: 12px; }
  body.kp-body .kp-pdp--v8 .v8-pricerow { gap: 8px; }
  body.kp-body .kp-pdp--v8 .v8-price { font-size: 30px; margin-right: 4px; }
  body.kp-body .kp-pdp--v8 .v8-print-head { min-height: 44px; }
  body.kp-body .kp-pdp--v8 .v8-switch { gap: 8px; min-height: 44px; }
  body.kp-body .kp-pdp--v8 .v8-summary { flex-direction: column; align-items: stretch; }
  body.kp-body .kp-pdp--v8 .v8-sumchip { height: auto; min-height: 40px; justify-content: space-between; padding: 4px 6px 4px 16px; }
  body.kp-body .kp-pdp--v8 .v8-sumchip button { flex: none; width: 32px; height: 32px; }
  body.kp-body .kp-pdp--v8 .v8-summary .v8-link { align-self: flex-start; height: 40px; }
  body.kp-body .kp-pdp--v8 .v8-panel { padding: 12px; border-radius: 12px; background: var(--v8-fog); }
  body.kp-body .kp-pdp--v8 .v8-seg--chips { align-self: stretch; padding: 0; background: none; gap: 8px; overflow-x: auto; }
  body.kp-body .kp-pdp--v8 .v8-seg--chips button { flex: none; height: 40px; padding: 0 16px; gap: 8px; background: #fff; border: 1.5px solid var(--v8-line); }
  body.kp-body .kp-pdp--v8 .v8-seg--chips button.is-on { background: var(--v8-ink); color: #fff; border-color: var(--v8-ink); box-shadow: none; }
  body.kp-body .kp-pdp--v8 .v8-place,
  body.kp-body .kp-pdp--v8 .v8-place.is-on { background: none; border: 0; box-shadow: none; gap: 8px; }
  body.kp-body .kp-pdp--v8 .v8-place-row { min-height: 40px; padding: 0; }
  body.kp-body .kp-pdp--v8 .v8-check { width: 20px; height: 20px; border-radius: 999px; border: 1.5px solid var(--v8-ink); background: #fff; }
  body.kp-body .kp-pdp--v8 .v8-check svg { display: none; }
  body.kp-body .kp-pdp--v8 .v8-place.is-on .v8-check { background: #fff; border-color: var(--v8-ink); }
  body.kp-body .kp-pdp--v8 .v8-place.is-on .v8-check::after { content: ""; width: 10px; height: 10px; border-radius: 999px; background: var(--v8-y); }
  body.kp-body .kp-pdp--v8 .v8-place-s { display: none; }
  body.kp-body .kp-pdp--v8 .v8-place-p { color: var(--v8-ink); }
  body.kp-body .kp-pdp--v8 .v8-place-m { gap: 8px; padding: 0 0 0 32px; }
  body.kp-body .kp-pdp--v8 .v8-place-m button { height: 34px; }
  body.kp-body .kp-pdp--v8 .v8-panel-foot .v8-link { min-height: 40px; }
  body.kp-body .kp-pdp--v8 .v8-done { height: 40px; padding: 0 24px; font-size: 15px; }
  body.kp-body .kp-pdp--v8 .v8-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.kp-body .kp-pdp--v8 .v8-stepper { height: 44px; padding: 0 2px; }
  body.kp-body .kp-pdp--v8 .v8-stepper button { width: 40px; height: 40px; }
  body.kp-body .kp-pdp--v8 .v8-stepper input { width: 52px; font-size: 16px; }
  body.kp-body .kp-pdp--v8 .v8-sizes { gap: 4px; }
  body.kp-body .kp-pdp--v8 .v8-size { padding: 4px; }
  body.kp-body .kp-pdp--v8 .v8-size-k { font-size: 12px; text-align: center; }
  body.kp-body .kp-pdp--v8 .v8-size-q { font-size: 16px; }
  body.kp-body .kp-pdp--v8 .v8-size-s { text-align: center; }
  body.kp-body .kp-pdp--v8 .v8-total-row { display: none; }
  body.kp-body .kp-pdp--v8 .v8-total-notes { margin-top: 0; gap: 4px; }
  body.kp-body .kp-pdp--v8 .v8-actions { grid-template-columns: 1fr; }
  body.kp-body .kp-pdp--v8 .v8-actions .v8-calc { display: none; }
  body.kp-body .kp-pdp--v8 .v8-file-ic { display: none; }
  body.kp-body .kp-pdp--v8 .v8-file-top { align-self: flex-start; }
  body.kp-body .kp-pdp--v8 .v8-file-nm { font-size: 12px; }
  body.kp-body .kp-pdp--v8 .v8-consult-rows { justify-content: space-between; gap: 8px; font-size: 13px; }
  body.kp-body .kp-pdp--v8 .v8-msgs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.kp-body .kp-pdp--v8 .v8-msgs a { height: 44px; padding: 0; gap: 4px; justify-content: center; font-size: 13px; }
  body.kp-body .kp-pdp--v8 .v8-mbar {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 59; gap: 12px; align-items: center;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--v8-line);
  }
  body.kp-body .kp-pdp--v8 .v8-mbar-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  body.kp-body .kp-pdp--v8 .v8-mbar-tx span { font-size: 12px; color: var(--v8-mute); }
  body.kp-body .kp-pdp--v8 .v8-mbar-tx b { font-size: 18px; font-weight: var(--v8-w8); }
  body.kp-body .kp-pdp--v8 .v8-mbar-btn { padding: 0 24px; flex: none; }
}

/* Подпись про цветность под способом; макет и подсказка в форме «Точный расчёт» */
body.kp-body .kp-pdp--v8 .v8-place-c { margin: -6px 0 0; padding: 0 14px 12px 44px; font-size: 13px; line-height: 1.4; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-modal-hint { margin: -6px 0 0; font-family: var(--v8-tx); font-size: 13px; line-height: 1.4; color: var(--v8-mute); }
body.kp-body .kp-pdp--v8 .v8-modal-file { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 8px 16px; border: 1px dashed #CFCFCB; border-radius: 12px; cursor: pointer; }
body.kp-body .kp-pdp--v8 .v8-modal-file:hover { border-color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-modal-file span { font-family: var(--v8-tx); font-size: 13px; font-weight: 600; color: var(--v8-ink); word-break: break-all; text-align: center; }
@media (max-width: 760px) { body.kp-body .kp-pdp--v8 .v8-place-c { margin: 0; padding: 0 0 0 32px; } }

@media (max-width: 760px) { body.kp-body .kp-pdp--v8 .v8-gtabs.is-single { display: none; } }   /* одна вкладка — переключать нечего */

/* Срок доставки под итогом (11.11.2026): дату и расшифровку пишет kp-pdp-v8.js */
body.kp-body .kp-pdp--v8 .v8-eta { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 12px; background: var(--v8-fog); }
body.kp-body .kp-pdp--v8 .v8-eta-ic { flex: none; margin-top: 1px; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-eta-tx { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.kp-body .kp-pdp--v8 .v8-eta-h { font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--v8-ink); }
body.kp-body .kp-pdp--v8 .v8-eta-h b { font-weight: var(--v8-w8); white-space: nowrap; }
body.kp-body .kp-pdp--v8 .v8-eta-s { font-size: 13px; line-height: 1.45; color: var(--v8-mute); }
@media (max-width: 760px) { body.kp-body .kp-pdp--v8 .v8-eta { padding: 12px 14px; gap: 10px; } body.kp-body .kp-pdp--v8 .v8-eta-h { font-size: 14px; } }

/* ═══ 11.11: заголовки — Futura (как на старой карточке и по сайту), текст — var(--v8-tx) ═══ */
body.kp-body .kp-pdp--v8 .kp-pdp-grid .v8-title { font-family: var(--v8-hd); font-weight: 700; line-height: 1.12; }
body.kp-body .kp-pdp--v8 .kp-pdp-grid :is(.v8-lbl, .v8-lbl *, .v8-modal-h) { font-family: var(--v8-hd); font-weight: 600; }   /* .v8-lbl * — вложенные .v8-gl/.v8-gs («Нанесение логотипа») иначе берут шрифт текста от правила `*` */
body.kp-body .kp-pdp--v8 .kp-pdp-grid .v8-lbl { font-size: 15px; line-height: 1.1; }
body.kp-body .kp-pdp--v8 .kp-pdp-grid .v8-modal-h { font-weight: 700; }

/* ═══ 11.11: методы нанесения — снова плитками в правой колонке (разметка и плитки — как в V1, kp.css .pv-method) ═══ */
body.kp-body .kp-pdp--v8 .v8-methods .pv-methods-grid { margin-top: 0; }
body.kp-body .kp-pdp--v8 .v8-methods .pv-method { text-decoration: none; color: var(--v8-ink); }

/* 12.11: иконки методов — как на действующей карточке (чёрный квадрат, kp.css .pv-mglyph), решение Н.; светлый вариант отклонён */
/* «Изменить» у выбранного нанесения — заметнее (единственный вход в выбор места и способа) */
body.kp-body .kp-pdp--v8 .v8-link[data-v8-edit] { color: var(--v8-ink); font-weight: 600; }
/* крестик модалки */
body.kp-body .kp-pdp--v8 .v8-modal-x { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--v8-ink); display: inline-flex; align-items: center; justify-content: center; }
body.kp-body .kp-pdp--v8 .v8-modal-x:hover { background: var(--v8-fog); }
body.kp-body .kp-pdp--v8 .kp-pdp-grid .v8-modal-h { padding-right: 40px; }
/* 12.11: мессенджеры в форме «Точный расчёт» — те же кнопки, что в блоке консультации, тремя равными колонками */
body.kp-body .kp-pdp--v8 .v8-modal-or { margin: 4px 0 0; font-size: 13px; line-height: 1.4; color: var(--v8-mute); text-align: center; }
body.kp-body .kp-pdp--v8 .v8-modal .v8-msgs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.kp-body .kp-pdp--v8 .v8-modal .v8-msgs a { height: 44px; padding: 0; justify-content: center; font-size: 14px; }
body.kp-body .kp-pdp--v8 .v8-modal-box { max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; }   /* форма выросла — на низких экранах прокручивается внутри */
body.kp-body .kp-pdp--v8 .v8-modal-box > * { flex-shrink: 0; }   /* иначе при max-height поля и кнопка сплющиваются вместо прокрутки (экраны ниже ~700px) */
@media (max-width: 760px) { body.kp-body .kp-pdp--v8 .v8-modal .v8-msgs { gap: 6px; } body.kp-body .kp-pdp--v8 .v8-modal .v8-msgs a { gap: 6px; font-size: 13px; } }
