/* ==========================================================================
   Товар (/p/{slug}) — макет product, холст 1. Префикс pd-.
   ПК ≥1200 (контент 1200) · промежуточная 768–1199 · телефон <768.
   Цвета — только токены (тёмная тема — в tokens.css).
   ========================================================================== */

.pd { padding: 28px 0 64px; overflow-x: clip; } /* «удар» вердикта (pd-punch, scale 1.18) на телефоне на миг вылезал за край — без горизонтальной прокрутки */
.pd-wrap { display: flex; flex-direction: column; gap: 24px; }
.pd-top { display: flex; flex-direction: column; gap: 22px; margin-bottom: 16px; }
.pd-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pd-nw { white-space: nowrap; }
.pd [hidden] { display: none; }
.pd-muted { color: var(--text-3); }
.pd-only-m { display: none; }
.pd-link { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; font-size: 15px; font-weight: 600; color: var(--brand-text); }
.pd-link:hover { color: var(--link-hover); }
.pd-link svg { transition: transform var(--dur-hover) var(--ease-std); }
.pd-link:hover svg:last-child { transform: translateX(3px); }

/* крошки: на ПК — полные, на телефоне — «← раздел» */
.pd-crumbs .crumbs [aria-current] { max-width: 720px; font-weight: 500; }
.pd-back { display: none; }

/* плашка «Нашли ваш товар» — пришли с «Посчитать» по ссылке (/check) */
.pd-fc { display: flex; align-items: flex-start; gap: 10px; align-self: flex-start; max-width: 100%; box-sizing: border-box; padding: 10px 16px; border-radius: var(--r-14); background: var(--brand-bg); color: var(--brand-on-bg); font-size: 15px; line-height: 1.45; }
.pd-fc > svg { flex: none; margin-top: 1px; color: var(--brand-text); }
.pd-fc b { font-weight: 700; }
.pd-fc a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.pd-fc a:hover { color: var(--link-hover); }

/* ——— шапка ——— */
.pd-hero { display: grid; grid-template-columns: minmax(0, 1fr) 560px; gap: 56px; align-items: center; }
.pd-hero--solo { grid-template-columns: minmax(0, 1fr); }
.pd-hero--nophoto { grid-template-columns: minmax(0, 1fr) 380px; }
.pd-hero-t { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.pd-h1 { font-family: var(--font-display); font-weight: 700; font-size: 48px; line-height: 1.14; letter-spacing: var(--ls-h1); color: var(--text); overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.pd-hero--nophoto .pd-h1, .pd-hero--solo .pd-h1 { -webkit-line-clamp: 4; }
.pd-h1--long { font-size: 38px; -webkit-line-clamp: 4; }
.pd-brand { display: flex; align-items: center; gap: 8px; font-size: 16px; color: var(--text-2); }
.pd-brand b { font-weight: 600; color: var(--text); }
.pd-panel { position: relative; height: 380px; border-radius: var(--r-32); background-color: var(--warm-bg); background-image: var(--dots); background-size: var(--dots-size); overflow: hidden; }
.pd-photo { position: absolute; left: 36px; top: 36px; width: 280px; height: 280px; box-sizing: border-box; border-radius: var(--r-22); background: var(--photo-tile); border: 1px solid var(--warm-dots); display: flex; align-items: center; justify-content: center; overflow: hidden; animation: pd-ph-in .5s var(--ease-out) .3s both; }
.pd-photo img { width: 100%; height: 100%; object-fit: contain; padding: 18px; box-sizing: border-box; }
.pd-panel-cat { position: absolute; left: 30px; bottom: 12px; display: block; line-height: 0; }
.pd-ver { position: absolute; right: 22px; bottom: 30px; width: 262px; box-sizing: border-box; background: var(--surface); border-radius: var(--r-20); box-shadow: var(--sh-float); padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; --r: -2deg; transform: rotate(var(--r)); animation: pd-card .55s var(--ease-out) .45s both; }
.pd-hero--noversion .pd-photo { left: 50%; margin-left: -140px; top: 50px; }
.pd-hero--nophoto .pd-panel { height: auto; padding: 28px 40px; }
.pd-hero--nophoto .pd-ver { position: static; width: auto; --r: 0deg; }
.pd-ver-l { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--text-2); }
.pd-ver-v { font-family: var(--font-display); font-weight: 600; font-size: 19px; line-height: 1.2; letter-spacing: var(--ls-display); color: var(--text); }
.pd-ver-t { font-size: 14px; line-height: 1.45; color: var(--text-2); }
/* флаг — это данные (версия РСТ), а не декор: цвета флага, не темы */
.pd-flag { width: 20px; height: 14px; border-radius: 3px; flex-shrink: 0; background: linear-gradient(#FFFFFF 0 33.3%, #1C57C9 33.3% 66.6%, #D52B1E 66.6%); box-shadow: inset 0 0 0 1px var(--line); }
@keyframes pd-ph-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@keyframes pd-card { from { opacity: 0; transform: translateY(14px) rotate(var(--r)); } to { opacity: 1; transform: rotate(var(--r)); } }

/* ——— плашка состояния ——— */
.pd-sn { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; padding: 24px 28px; border-radius: var(--r-22); background: var(--surface-3); }
.pd-sn--out_of_stock { background: var(--warn-bg); }
.pd-sn--single_partner { background: var(--warm-bg); }
.pd-sn-t { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pd-sn-h { display: flex; align-items: center; gap: 14px; font-size: 19px; font-weight: 700; color: var(--text); }
.pd-sn--out_of_stock .pd-sn-h { color: var(--warn-text); }
.pd-sn--single_partner .pd-sn-h { color: var(--warm-dark); }
.pd-sn-ic { width: 44px; height: 44px; border-radius: 50%; background: var(--surface); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--text-2); }
.pd-sn--out_of_stock .pd-sn-ic { color: var(--warn-text-2); }
.pd-sn--single_partner .pd-sn-ic { color: var(--warm-text); }
.pd-sn-t p { font-size: 16px; line-height: 1.5; color: var(--text-2); max-width: 720px; }
.pd-sn--out_of_stock .pd-sn-t p { color: var(--warn-text); }
.pd-sn--single_partner .pd-sn-t p { color: var(--warm-dark); }
.pd-sn-act { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }

/* ——— вердикт ——— */
.pd-vd { display: grid; grid-template-columns: minmax(0, 1fr) 500px; gap: 48px; align-items: start; padding: 32px 36px; border-radius: var(--r-22); background: var(--surface-2); }
.pd-vd--solo { grid-template-columns: minmax(0, 1fr); }
.pd-vd--good { background: var(--brand-bg); }
.pd-vd--wait { background: var(--warn-bg); }
.pd-vd--fake { background: var(--risk-bg); }
.pd-vd-main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pd-vd-lab { display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; color: var(--text-2); }
.pd-vd--good .pd-vd-lab { color: var(--brand-on-bg); }
.pd-vd--wait .pd-vd-lab { color: var(--warn-text); }
.pd-vd--fake .pd-vd-lab { color: var(--risk); }
.pd-vd-stamp { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--text-3); color: #FFFFFF; animation: pd-stamp .25s var(--ease-out) .58s both; }
.pd-vd--good .pd-vd-stamp { background: var(--brand); }
.pd-vd--wait .pd-vd-stamp { background: var(--warn); color: var(--text); }
.pd-vd--fake .pd-vd-stamp { background: var(--risk); }
.pd-vd--no_data .pd-vd-stamp { background: var(--surface); border: 2px dashed var(--placeholder); color: var(--text); }
.pd-vd-title { font-family: var(--font-display); font-weight: 700; font-size: 46px; line-height: 1.12; letter-spacing: var(--ls-display); color: var(--text); transform-origin: 0 50%; animation: pd-punch .36s var(--ease-out) .62s both; }
.pd-vd--good .pd-vd-title { color: var(--brand-text); }
.pd-vd--wait .pd-vd-title { color: var(--warn-text-2); }
.pd-vd--fake .pd-vd-title { color: var(--risk); }
.pd-vd-reason { font-size: 18px; line-height: 1.5; color: var(--text); max-width: 520px; }
.pd-vd-how { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.pd-vd-how > svg { flex-shrink: 0; }
.pd-vd-how a { font-weight: 600; white-space: nowrap; color: var(--brand-text); }
@keyframes pd-stamp { 0% { opacity: 0; transform: scale(1.3) rotate(-12deg); } 60% { opacity: 1; } 100% { opacity: 1; transform: none; } }
@keyframes pd-punch { 0% { opacity: 0; transform: scale(1.18); } 55% { opacity: 1; transform: scale(.97); } 100% { opacity: 1; transform: none; } }

.pd-ev { background: var(--surface); border-radius: var(--r-18); border: 1px solid var(--line); padding: 4px 18px 18px; }
.pd-vd--good .pd-ev { border-color: var(--brand-track); }
.pd-ev-sum { display: flex; align-items: center; gap: 10px; height: 48px; cursor: pointer; font-size: 15px; font-weight: 600; color: var(--text); list-style: none; }
.pd-ev-sum::-webkit-details-marker { display: none; }
.pd-ev-sum > svg:first-child { color: var(--brand-text); }
.pd-ev-sum span { flex-grow: 1; }
.pd-ev-sum:hover { color: var(--brand-text); }
.pd-ev-chev { transition: transform .2s var(--ease-std); }
.pd-ev[open] .pd-ev-chev { transform: rotate(180deg); }
.pd-ev-body { display: flex; flex-direction: column; gap: 14px; }
.pd-ev-rows { display: flex; flex-direction: column; }
.pd-ev-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 44px; border-bottom: 1px solid var(--line-soft); color: var(--text-3); animation: pd-row .3s var(--ease-out) both; animation-delay: calc(.6s + var(--i, 0) * 70ms); }
.pd-ev-row dt { font-size: 15px; color: var(--text-2); }
.pd-ev-row dd { font-size: 16px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pd-ev-total { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--r-14); background: var(--surface-2); color: var(--text); }
.pd-ev-total > span { display: flex; flex-direction: column; gap: 2px; }
.pd-ev-total b { font-size: 15px; font-weight: 700; }
.pd-ev-total > span > span { font-size: 13px; font-variant-numeric: tabular-nums; color: var(--text-2); }
.pd-ev-total strong { font-family: var(--font-display); font-weight: 600; font-size: 24px; letter-spacing: var(--ls-display); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pd-ev-total--good { background: var(--brand-bg); color: var(--brand-on-bg); }
.pd-ev-total--good > span > span { color: var(--brand-on-bg); }
.pd-ev-total--good strong { color: var(--brand-text); }
.pd-ev-total--wait { background: var(--warn-bg); color: var(--warn-text); }
.pd-ev-total--wait > span > span { color: var(--warn-text); }
.pd-ev-total--wait strong { color: var(--warn-text-2); }
.pd-ev-total--fake { background: var(--risk-bg); }
.pd-ev-total--fake strong { color: var(--risk); }
@keyframes pd-row { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ——— следить за ценой ——— */
.pd-fl { border-radius: var(--r-32); background-color: var(--warm-bg); background-image: var(--dots); background-size: var(--dots-size); padding: 44px 48px; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: center; scroll-margin-top: 120px; }
.pd-fl-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; position: relative; }
.pd-fl-pill { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; height: 32px; padding: 0 12px; border-radius: var(--r-pill); background: var(--surface); color: var(--warm-on-bg); font-size: 14px; font-weight: 600; }
.pd-bell { transform-origin: 12px 3px; animation: pd-bell 2.4s var(--ease-std) 1.2s 2 both; }
@keyframes pd-bell { 0% { transform: rotate(0); } 4% { transform: rotate(16deg); } 9.5% { transform: rotate(-13deg); } 15% { transform: rotate(9deg); } 20.5% { transform: rotate(-5deg); } 25% { transform: rotate(2deg); } 29%, 100% { transform: rotate(0); } }
.pd-fl-h { font-family: var(--font-display); font-weight: 600; font-size: 30px; line-height: 1.2; letter-spacing: var(--ls-display); color: var(--text); text-wrap: balance; }
.pd-fl-lead { font-size: 17px; line-height: 1.5; color: var(--text-2); }
.pd-fl-lead b { color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pd-fl-label { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; color: var(--text-2); margin-bottom: 10px; }
.pd-fl-label svg { color: var(--warm-text); }
.pd-fl-form { display: flex; flex-direction: column; }
.pd-fl-field { display: flex; align-items: center; height: 64px; box-sizing: border-box; border: 2px solid var(--text); border-radius: var(--r-16); background: var(--surface); box-shadow: var(--sh-hard); padding: 0 8px 0 18px; gap: 12px; transition: border-color var(--dur-hover) var(--ease-std), box-shadow var(--dur-hover) var(--ease-std); }
.pd-fl-field:focus-within { border-color: var(--brand); }
.pd-fl-field.is-error { border-color: var(--risk); box-shadow: 0 6px 0 var(--risk); }
.pd-fl-box { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 12px; }
.pd-fl-field input { flex-grow: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 17px; height: 56px; color: var(--text); font-variant-numeric: tabular-nums; }
.pd-fl-field input::placeholder { color: var(--placeholder); }
.pd-fl-rub { font-size: 17px; color: var(--text-3); }
.pd-fl-go { height: 48px; padding: 0 22px; border: 0; border-radius: 11px; background: var(--brand); color: var(--on-accent); font: inherit; font-size: 17px; font-weight: 700; display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; cursor: pointer; transition: background-color var(--dur-hover) var(--ease-std); }
.pd-fl-go:hover { background: var(--brand-hover); }
.pd-fl-under { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.pd-fl-min { height: 36px; padding: 0 12px; border-radius: var(--r-10); border: 1px solid var(--warm-dots); background: var(--surface); display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 14px; color: var(--text-2); cursor: pointer; transition: border-color var(--dur-hover) var(--ease-std); }
.pd-fl-min > svg { color: var(--brand-text); }
.pd-fl-min b { color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pd-fl-min-go { font-weight: 600; color: var(--brand-text); }
.pd-fl-min:hover { border-color: var(--warm-text); }
html:not(.js) .pd-fl-min { display: none; }
.pd-fl-hint { font-size: 14px; line-height: 1.45; color: var(--warm-dark); }
.pd-fl-err { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border-radius: var(--r-14); background: var(--risk-bg); color: var(--risk); font-size: 15px; line-height: 1.45; animation: pd-row .3s var(--ease-out) both; }
.pd-fl-err svg { flex-shrink: 0; margin-top: 2px; }
.pd-fl-flash { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: var(--r-14); background: var(--surface); font-size: 16px; color: var(--text); animation: pd-row .45s var(--ease-out) both; }
.pd-fl-ok { width: 32px; height: 32px; border-radius: 50%; background: var(--brand); color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; animation: pd-spring .6s var(--ease-std) .3s both; }
@keyframes pd-spring { 0% { transform: scale(1); } 30% { transform: scale(.84); } 60% { transform: scale(1.18); } 80% { transform: scale(.96); } 100% { transform: scale(1); } }
.pd-fl-on { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 20px; border-radius: var(--r-20); background: var(--brand-bg); }
.pd-fl-onic { width: 44px; height: 44px; border-radius: 50%; background: var(--brand); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.pd-fl-ont { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pd-fl-mode { font-family: var(--font-display); font-weight: 600; font-size: 22px; letter-spacing: var(--ls-display); color: var(--brand-text); }
.pd-fl-ont p { font-size: 15px; line-height: 1.45; color: var(--brand-on-bg); }
.pd-fl-onact { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.pd-fl-subs { background: var(--surface); border-color: var(--surface); color: var(--brand-text); }
.pd-fl-edit { background: transparent; border-color: var(--brand-track); color: var(--brand-on-bg); }
.pd-fl-off { display: contents; }
.pd-fl-offbtn { min-height: 40px; padding: 0 6px; border: 0; background: transparent; font: inherit; font-size: 14px; font-weight: 600; color: var(--text-2); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pd-fl-offbtn:hover { color: var(--risk); }
.js .pd-fl-form[data-fl-hidden]:not(.is-open) { display: none; }
.pd-fl-appear { display: flex; }
.pd-fl-guest { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pd-fl-save { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; }
.pd-fl-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.pd-fl-save .sv-cap { display: none; }
.pd-fl-row .sv { width: auto; }
.pd-fl-words { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--brand-text); }
.pd-fl-words svg { flex-shrink: 0; }
.pd-fl-cap { font-size: 13px; color: var(--warm-dark); }
.pd-fl-side { display: flex; flex-direction: column; gap: 4px; align-items: stretch; }
.pd-fl-card { --r: 2deg; position: relative; z-index: 1; background: var(--surface); border-radius: var(--r-20); box-shadow: var(--sh-float); padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 16px; transform: rotate(var(--r)); animation: pd-card .55s var(--ease-out) .6s both; }
.pd-fl-ct { font-size: 16px; font-weight: 700; color: var(--text); }
.pd-fl-step { display: flex; gap: 12px; align-items: flex-start; }
.pd-fl-step > span:first-child { width: 36px; height: 36px; border-radius: var(--r-10); background: var(--warm-bg); color: var(--warm-text); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pd-fl-step > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.pd-fl-step b { font-size: 15px; font-weight: 700; color: var(--text); }
.pd-fl-step b + span { font-size: 14px; line-height: 1.45; color: var(--text-3); }
.pd-fl-bigcat { display: flex; justify-content: flex-end; padding-right: 8px; margin-top: -6px; line-height: 0; }

/* ——— вкладки ——— */
.pd-tabs-wrap { display: flex; flex-direction: column; gap: 28px; margin-top: 16px; }
.pd-tabs { border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; scroll-margin-top: 120px; }
.pd-tabs::-webkit-scrollbar { display: none; }
.pd-tabs ul { display: flex; }
.pd-tabs li { display: flex; flex-shrink: 0; }
.pd-tab { position: relative; height: 56px; padding: 0 11px; display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--text-2); white-space: nowrap; border-radius: var(--r-10) var(--r-10) 0 0; transition: background-color var(--dur-hover) var(--ease-std), color var(--dur-hover) var(--ease-std); }
.pd-tab:hover { background: var(--surface-2); color: var(--text); }
.pd-tab:focus-visible { outline-offset: -3px; }
.pd-tab[aria-current] { font-weight: 700; color: var(--text); }
.pd-tab[aria-current] > svg { color: var(--brand-text); }
.pd-tab[aria-current]::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--brand); transform-origin: left center; animation: pd-ul .24s var(--ease-std) .3s both; }
.pd-tab-n { min-width: 24px; height: 22px; padding: 0 7px; box-sizing: border-box; border-radius: 11px; background: var(--surface-3); color: var(--text-2); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; display: inline-flex; align-items: center; justify-content: center; }
.pd-tab[aria-current] .pd-tab-n { background: var(--brand-bg); color: var(--brand-on-bg); }
@keyframes pd-ul { from { transform: scaleX(.4); opacity: .3; } to { transform: none; opacity: 1; } }
.pd-pane { animation: pd-fade .4s var(--ease-out) .1s backwards; } /* без transform: после анимации — ни transform, ни своего слоя: лист «Ошибка?» (fixed) должен быть поверх затемнения */

/* заголовки разделов */
.pd-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 20px; }
.pd-sec-head > div { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pd-h2 { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 600; font-size: 30px; line-height: 1.2; letter-spacing: var(--ls-display); color: var(--text); scroll-margin-top: 120px; }
.pd-h2-ic { width: 44px; height: 44px; border-radius: var(--r-12); background: var(--brand-bg); color: var(--brand-text); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pd-h2-n { font-family: var(--font); font-size: 15px; font-weight: 600; color: var(--text-3); align-self: flex-end; padding-bottom: 6px; }
.pd-sec-lead { font-size: 16px; line-height: 1.5; color: var(--text-2); max-width: 720px; }
.pd-h3 { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 700; color: var(--text); margin-top: 8px; }
.pd-note-cap { margin-top: 20px; font-size: 13px; line-height: 1.45; color: var(--text-3); }

/* ——— «Где купить» ——— */
.pd-wh { display: flex; flex-direction: column; gap: 28px; }
.pd-wh-head { margin-bottom: 0; }
.pd-wh-meta { font-size: 15px; color: var(--text-3); padding-bottom: 6px; }
.pd-wh-body { display: flex; flex-direction: column; gap: 28px; }
.pd fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.pd-sort fieldset { display: flex; flex-direction: column; min-width: 0; }
.pd-sort legend { width: 100%; padding: 0 0 8px; display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; font-weight: 600; color: var(--text-2); }
.pd-sort-hint { font-size: 13px; font-weight: 400; color: var(--text-3); }
.pd-sort-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: var(--r-16); background: var(--surface-2); }
.pd-sort-opt { position: relative; height: 56px; border-radius: var(--r-12); display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 12px; font-size: 16px; font-weight: 600; color: var(--text); cursor: pointer; text-align: left; transition: background-color var(--dur-hover) var(--ease-std), color var(--dur-hover) var(--ease-std); }
.pd-sort-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pd-sort-opt:hover { background: var(--surface); }
.pd-sort-opt:has(input:checked) { background: var(--text); color: var(--bg); }
.pd-sort-opt:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.pd-sort-apply { margin-top: 8px; align-self: flex-start; }
.pd-sort-why { position: relative; padding-top: 12px; }
.pd-sort-tail { position: absolute; top: 5px; left: calc(12.5% + var(--i, 0) * 25% - 8px); width: 16px; height: 16px; background: var(--brand-bg); transform: rotate(45deg); border-radius: 3px; transition: left .2s var(--ease-std); }
.pd-sort-why p { position: relative; display: flex; gap: 12px; align-items: center; padding: 14px 18px; border-radius: var(--r-14); background: var(--brand-bg); font-size: 16px; line-height: 1.5; color: var(--brand-on-bg); animation: pd-row .24s var(--ease-out) .3s both; }
.pd-sort-why p svg { flex-shrink: 0; color: var(--brand-text); }

.pd-flash { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: var(--r-16); font-size: 16px; line-height: 1.45; scroll-margin-top: 120px; animation: pd-row .3s var(--ease-out) both; }
.pd-flash > svg { flex-shrink: 0; margin-top: 1px; }
.pd-flash > span { flex: 1 1 auto; }
.pd-flash--ok { background: var(--brand-bg); border: 1px solid var(--brand-track); color: var(--brand-on-bg); }
.pd-flash--warn { background: var(--warn-bg); border: 1px solid var(--warn-line); color: var(--warn-text); }
.pd-flash-x { width: 36px; height: 36px; margin: -6px -6px -6px 0; border: 0; border-radius: var(--r-10); background: transparent; color: inherit; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.pd-flash-x:hover { background: var(--surface); }

/* таблица */
.pd-wt { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.pd-col-shop { width: 19.3%; } .pd-col-price { width: 9.4%; } .pd-col-deliv { width: 8.8%; } .pd-col-final { width: 16.7%; }
.pd-col-trust { width: 17.2%; } .pd-col-upd { width: 13.5%; } .pd-col-act { width: 15.1%; }
.pd-wt thead th { text-align: left; height: 44px; padding: 0 12px; font-size: 13px; font-weight: 700; color: var(--text-3); border-bottom: 1px solid var(--line); }
.pd-wt thead .pd-th-final { color: var(--brand-text); background: color-mix(in srgb, var(--brand-bg) 50%, var(--surface)); }
.pd-wt-firstrow td { padding: 14px 12px 0; }
.pd-wt-first { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: var(--r-pill); background: var(--brand-bg); color: var(--brand-on-bg); font-size: 13px; font-weight: 700; }
.pd-wt-main td { padding: 18px 12px; vertical-align: top; border-bottom: 1px solid var(--line-soft); transition: background-color var(--dur-hover) var(--ease-std); }
.pd-wt-item:has(.pd-wt-det.is-open, .pd-wt-auto, .pd-wt-rep-row.is-open) .pd-wt-main td { border-bottom-color: transparent; }
.pd-wt-main .pd-c-final { background: color-mix(in srgb, var(--brand-bg) 50%, var(--surface)); }
.pd-wt-main:hover td { background: var(--surface-quiet); }
.pd-wt-main:hover .pd-c-final { background: color-mix(in srgb, var(--brand-bg) 70%, var(--surface)); }
.pd-m-l { display: none; }
.pd-wt-shop { display: flex; gap: 10px; align-items: flex-start; }
.pd-wt-shop .shop-mono, .pd-ho-shop .shop-mono, .pd-cv-exs .shop-mono, .pd-rv-shop .shop-mono { border-radius: var(--r-10); font-size: 14px; }
.pd-wt-shop > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding-top: 7px; }
.pd-wt-name { font-size: 16px; font-weight: 700; color: var(--text); overflow-wrap: anywhere; }
.pd-wt-name:hover { color: var(--brand-text); text-decoration: underline; text-underline-offset: 3px; }
.pd-wt-code { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; color: var(--brand-on-bg); }
.pd-wt-code > span { letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.pd-wt-base { display: block; padding-top: 7px; font-size: 16px; color: var(--text-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pd-c-deliv { color: var(--text-2); }
.pd-wt-dc { display: block; padding-top: 7px; font-size: 16px; white-space: nowrap; }
.pd-wt-days { display: inline-flex; align-items: center; gap: 5px; margin-top: 3px; font-size: 13px; color: var(--text-3); }
.pd-wt-final { display: block; padding-top: 2px; font-family: var(--font-display); font-weight: 600; font-size: 21px; letter-spacing: var(--ls-display); color: var(--text); white-space: nowrap; }
.pd-wt-final.is-best { color: var(--brand-text); }
.pd-wt-bdb { white-space: nowrap; height: 32px; padding: 0; border: 0; background: transparent; color: var(--brand-text); font: inherit; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.pd-wt-bdb:hover { color: var(--link-hover); }
.pd-chev { transition: transform .2s var(--ease-std); }
[aria-expanded="true"] .pd-chev { transform: rotate(180deg); }
.pd-c-trust { position: relative; }
.pd-ti { display: inline-flex; align-items: center; gap: 8px; color: var(--text-2); }
.pd-ti b { font-size: 14px; font-weight: 700; white-space: nowrap; }
.pd-ti-n { min-width: 34px; height: 26px; padding: 0 7px; border-radius: var(--r-8); box-sizing: border-box; background: var(--surface-3); border: 1.5px solid var(--line-strong); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pd-ti--reliable { color: var(--brand-text); }
.pd-ti--reliable .pd-ti-n { background: var(--brand-bg); border-color: var(--trust-good); }
.pd-ti--caveats { color: var(--warn-text-2); }
.pd-ti--caveats .pd-ti-n { background: var(--warn-bg); border-color: var(--warn); }
.pd-ti--risky { color: var(--risk); }
.pd-ti--risky .pd-ti-n { background: var(--risk-bg); border-color: var(--risk-line); }
.pd-ti--unknown .pd-ti-n { background: var(--surface); border: 1.5px dashed var(--placeholder); color: var(--text-2); }
.pd-wt-tb { height: 40px; padding: 0 8px 0 5px; margin-left: -5px; border: 0; border-radius: var(--r-10); background: transparent; font: inherit; cursor: pointer; transition: background-color var(--dur-hover) var(--ease-std); }
.pd-wt-tb:hover { background: var(--surface-2); }
.pd-wt-prem { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--warn-text); white-space: nowrap; }
.pd-wt-prem > span { height: 22px; padding: 0 7px; border-radius: 7px; background: var(--warn-bg); display: inline-flex; align-items: center; font-variant-numeric: tabular-nums; }
.pd-c-upd > span { display: inline-flex; align-items: center; gap: 5px; }
.pd-wt-ago { padding-top: 7px; font-size: 14px; color: var(--text-2); white-space: nowrap; }
.pd-wt-stale { margin-top: 8px; height: 26px; padding: 0 8px; border-radius: var(--r-8); background: var(--warn-bg); color: var(--warn-text); font-size: 13px; font-weight: 600; white-space: nowrap; animation: pd-flick 1.2s var(--ease-std) 1.4s 1 both; }
@keyframes pd-flick { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
.pd-c-act { text-align: left; }
.pd-c-act > * + * { margin-top: 6px; }
.pd-wt-gow { display: inline-flex; align-items: center; gap: 4px; }
.pd-wt-go { height: 40px; padding: 0 16px; border-radius: 11px; background: var(--brand); color: var(--on-accent); font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; transition: background-color var(--dur-hover) var(--ease-std); }
.pd-wt-go:hover { background: var(--brand-hover); color: var(--on-accent); }
.pd-wt-comm { width: 44px; height: 44px; margin: -2px -6px -2px -4px; border: 0; border-radius: var(--r-12); background: transparent; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--text-2); cursor: pointer; }
.pd-wt-comm > span { width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--line-total); box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.pd-wt-comm:hover { background: var(--surface-2); }
.pd-wt-nolink { display: inline-flex; flex-direction: column; gap: 2px; min-height: 40px; justify-content: center; }
.pd-wt-nolink > span:first-child { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--text-2); white-space: nowrap; }
.pd-wt-dom { font-size: 13px; color: var(--text-3); padding-left: 22px; }
.pd-wt-rep { display: flex; height: 40px; padding: 0 10px; margin-left: -10px; border-radius: var(--r-10); border: 1px solid transparent; background: transparent; color: var(--text-2); font: inherit; font-size: 14px; font-weight: 600; align-items: center; gap: 6px; white-space: nowrap; cursor: pointer; transition: background-color var(--dur-hover) var(--ease-std); }
.pd-wt-rep:hover { background: var(--surface-3); color: var(--text); }
.pd-wt-rep.is-auto { border-color: var(--warn-line); background: var(--warn-bg); color: var(--warn-text); }
.pd-wt-rep[aria-expanded="true"] { background: var(--surface-3); color: var(--text); }
.pd-wt-auto td { padding: 0 12px 16px; border-bottom: 1px solid var(--line-soft); }
.pd-wt-auto div { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--r-12); background: var(--warn-bg); font-size: 14px; line-height: 1.45; color: var(--warn-text); }
.pd-wt-auto svg { flex-shrink: 0; }
.pd-wt-auto b { font-weight: 600; }
.pd-wt-item:has(.pd-wt-det.is-open) .pd-wt-auto td { border-bottom-color: transparent; }

/* раскрываемые строки: без JS открыты, с JS — по кнопке */
.pd-wt-det td { padding: 0 12px 18px; border-bottom: 1px solid var(--line-soft); }
.js .pd-wt-det:not(.is-open), .js .pd-wt-rep-row:not(.is-open) { display: none; }
.pd-acc { display: none; }
.pd-det-body { border-radius: var(--r-16); background: var(--surface-2); padding: 16px; }
.pd-wt-det.is-open .pd-det-body { animation: pd-drop .22s var(--ease-std) both; }
@keyframes pd-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.pd-bd { display: flex; flex-direction: column; gap: 10px; }
.pd-bd-h { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--text); }
.pd-bd-steps { display: flex; gap: 10px; align-items: stretch; }
.pd-bd-op { align-self: center; font-size: 18px; font-weight: 700; color: var(--text-3); flex-shrink: 0; }
.pd-bd-step { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: var(--r-14); background: var(--surface); border: 1px solid var(--line); animation: pd-line .4s var(--ease-out) both; animation-delay: calc(.1s + var(--i, 0) * 100ms); }
.pd-bd-step.is-off { opacity: .7; }
.pd-bd-step.is-off .pd-bd-v { text-decoration: line-through; }
.pd-bd-l, .pd-bd-n { font-size: 13px; color: var(--text-3); }
.pd-bd-v { font-size: 16px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.pd-bd-v.is-minus { color: var(--brand-text); }
.pd-bd-total { flex: 0 0 230px; background: var(--brand-bg); border: 2px solid var(--brand); padding: 12px 16px; }
.pd-bd-total .pd-bd-l { font-weight: 700; color: var(--brand-on-bg); }
.pd-bd-total .pd-bd-v { font-family: var(--font-display); font-weight: 600; font-size: 22px; letter-spacing: var(--ls-display); color: var(--brand-text); white-space: nowrap; }
.pd-bd-total .pd-bd-n { color: var(--brand-on-bg); }
.pd-bd-cols, .pd-bd-run { display: none; }
@keyframes pd-line { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: none; } }
.pd-tr { display: grid; grid-template-columns: 250px minmax(0, 1fr) 380px; gap: 24px; align-items: start; padding: 16px 18px; }
.pd-tr-h { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--text); }
.pd-tr-w { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--text); }
.pd-tr-sub { font-size: 13px; font-weight: 700; color: var(--text-3); }
.pd-tr-w ul { display: flex; flex-direction: column; gap: 6px; }
.pd-tr-w li { display: flex; gap: 8px; align-items: flex-start; line-height: 1.4; }
.pd-tr-minus { width: 18px; height: 18px; border-radius: 50%; background: var(--risk-bg); color: var(--risk); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.pd-tr-w .pd-link { min-height: 32px; font-size: 14px; }
.pd-tr-ex { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: var(--text-2); }
.pd-tr-ex svg { flex-shrink: 0; color: var(--warn-text-2); }

/* сообщить об ошибке */
.pd-wt-rep-row td { padding: 0; border-bottom: 1px solid var(--line-soft); }
.pd-rep { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; padding: 22px 24px 24px; background: var(--surface-quiet); animation: pd-drop .22s var(--ease-std) both; }
.pd-rep-f { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pd-rep-f legend { padding: 0 0 10px; display: flex; flex-direction: column; gap: 4px; }
.pd-rep-h { font-size: 17px; font-weight: 700; color: var(--text); }
.pd-rep-s { font-size: 14px; color: var(--text-2); }
.pd-rep-x { position: absolute; right: 16px; top: 16px; width: 44px; height: 44px; border: 0; border-radius: var(--r-12); background: var(--surface-3); color: var(--text); display: none; align-items: center; justify-content: center; cursor: pointer; }
.pd-rep-opt { display: grid; grid-template-columns: 110px minmax(0, 1fr) 280px; gap: 16px; align-items: center; padding: 12px 12px 12px 18px; border-radius: var(--r-16); border: 1px solid var(--line); background: var(--surface); }
.pd-rep-opt:has(input:checked) { border: 2px solid var(--brand); background: var(--brand-bg); padding: 11px 11px 11px 17px; }
.pd-rep-k { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
.pd-rep-v { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pd-rep-v b { font-size: 16px; font-weight: 700; color: var(--text); overflow-wrap: anywhere; }
.pd-rep-v span { font-size: 13px; color: var(--text-3); }
.pd-rep-r { min-height: 44px; padding: 0 14px; border-radius: var(--r-12); border: 1px solid var(--line); background: var(--surface); display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--text); cursor: pointer; box-sizing: border-box; transition: border-color var(--dur-hover) var(--ease-std); }
.pd-rep-r:hover { border-color: var(--text); }
.pd-rep-r:has(input:checked) { border: 2px solid var(--brand); padding: 0 13px; }
.pd-rep-r:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 2px; }
.pd-rep-r input { width: 20px; height: 20px; margin: 0; accent-color: var(--brand); flex-shrink: 0; }
.pd-rep-other { min-height: 48px; padding: 0 18px; border-radius: var(--r-16); border-style: dashed; border-color: var(--line-total); background: transparent; }
.pd-rep-side { display: flex; flex-direction: column; gap: 10px; padding-top: 40px; }
.pd-rep-lh { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; font-weight: 600; color: var(--text-2); }
.pd-rep-lh span { font-size: 13px; font-weight: 400; color: var(--text-3); }
.pd-rep-side textarea { height: 124px; box-sizing: border-box; padding: 12px 14px; border-radius: var(--r-12); border: 1px solid var(--input-border); background: var(--surface); font: inherit; font-size: 16px; line-height: 1.45; resize: vertical; color: var(--text); }
.pd-rep-side textarea:focus { outline: 2px solid var(--focus); outline-offset: 0; border-color: var(--focus); }
.pd-rep-cap { font-size: 13px; line-height: 1.45; color: var(--text-3); }
.pd-rep-btns { display: flex; gap: 8px; }
.pd-rep-send { flex-grow: 1; }
.pd-rep-anon { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-3); }
.pd-dim { position: fixed; inset: 0; z-index: 90; background: var(--dim); }

/* итог сравнения */
.pd-sm { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 24px 28px; border-radius: var(--r-20); border: 1px solid var(--line); }
.pd-sm-ic { width: 64px; height: 64px; border-radius: var(--r-16); background: var(--brand-bg); color: var(--brand-text); display: flex; align-items: center; justify-content: center; }
.pd-sm-tro { transform-box: fill-box; transform-origin: 50% 100%; animation: pd-tro .8s var(--ease-std) 1.2s both; }
@keyframes pd-tro { 0%, 100% { transform: none; } 30% { transform: rotate(-10deg); } 60% { transform: rotate(6deg); } }
.pd-sm-t { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pd-sm-t h3 { display: flex; align-items: center; gap: 8px; font-size: 20px; font-weight: 700; color: var(--text); }
.pd-sm-t p { font-size: 19px; line-height: 1.55; color: var(--text); }
.pd-sm-sum { font-family: var(--font-display); font-weight: 600; letter-spacing: var(--ls-display); color: var(--brand-text); white-space: nowrap; }
.pd-sm-chip { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: var(--r-10); background: var(--brand-bg); color: var(--brand-text); font-weight: 700; white-space: nowrap; }
.pd-sm-cap { font-size: 13px; color: var(--text-3); }
.pd-sm-act { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.pd-sm-arr { transition: transform var(--dur-hover) var(--ease-std); }
.pd-sm-go:hover .pd-sm-arr { transform: translateX(3px); }
.pd-sm-link { font-size: 14px; }
.pd-sm-box { flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: var(--r-14); background: var(--surface); }
.pd-sm-box > span:first-child { font-size: 13px; color: var(--brand-on-bg); }
.pd-sm-box > b { font-family: var(--font-display); font-weight: 600; font-size: 30px; letter-spacing: var(--ls-display); color: var(--brand-text); }
.pd-sm-box > span:last-child { padding-top: 6px; border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--text-2); }

/* пусто */
.pd-wh-empty { display: flex; align-items: center; gap: 16px; padding: 22px 28px; border-radius: var(--r-20); background: var(--surface-2); }
.pd-wh-eic, .pd-cv-ic { width: 36px; height: 36px; border-radius: var(--r-10); background: var(--surface); color: var(--text-2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pd-wh-empty > div { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; }
.pd-wh-empty b { font-size: 17px; font-weight: 700; color: var(--text); }
.pd-wh-empty p { font-size: 15px; line-height: 1.45; color: var(--text-2); }
.pd-wh-eact { flex-shrink: 0; }

/* скрытые предложения */
.pd-ho { border: 1px solid var(--line); border-radius: var(--r-20); overflow: hidden; scroll-margin-top: 120px; }
.pd-ho-bar { min-height: 64px; padding: 12px 20px; display: flex; align-items: center; gap: 16px; cursor: pointer; list-style: none; background: var(--surface); transition: background-color var(--dur-hover) var(--ease-std); }
.pd-ho-bar::-webkit-details-marker { display: none; }
.pd-ho-bar:hover, .pd-ho[open] .pd-ho-bar { background: var(--surface-quiet); }
.pd-ho-t { display: flex; align-items: center; gap: 12px; flex-shrink: 0; font-size: 17px; font-weight: 700; color: var(--text); }
.pd-ho-on, .pd-ho-hide, .pd-ho[open] .pd-ho-off, .pd-ho[open] .pd-ho-show { display: none; }
.pd-ho[open] .pd-ho-on, .pd-ho[open] .pd-ho-hide { display: inline; }
.pd-ho-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.pd-ho-chip { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: var(--r-pill); background: var(--surface-3); color: var(--text-2); font-size: 13px; font-weight: 600; white-space: nowrap; }
.pd-ho-chip--risk { background: var(--risk-bg); color: var(--risk); }
.pd-ho-chip--unverified { background: var(--warn-bg); color: var(--warn-text); }
.pd-ho-chev { display: flex; transition: transform .2s var(--ease-std); }
.pd-ho[open] .pd-ho-chev { transform: rotate(180deg); }
.pd-ho-body { padding: 16px 24px 8px; border-top: 1px solid var(--line); animation: pd-drop .22s var(--ease-std) both; }
.pd-ho-lead { font-size: 16px; line-height: 1.5; color: var(--text-2); max-width: 820px; padding-bottom: 16px; }
.pd-ho-row { display: grid; grid-template-columns: 280px 180px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line-soft); }
.pd-ho-shop { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pd-ho-shop b { font-size: 16px; color: var(--text); }
.pd-ho-price { display: flex; flex-direction: column; font-size: 16px; color: var(--text-2); font-variant-numeric: tabular-nums; }
.pd-ho-price span { font-size: 13px; color: var(--text-3); }
.pd-ho-why { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.45; color: var(--text-2); }
.pd-ho-wic { width: 28px; height: 28px; border-radius: var(--r-8); background: var(--risk-bg); color: var(--risk); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: -3px; }
.pd-ho-why b { font-weight: 600; color: var(--risk); }
.pd-ho-row--unverified .pd-ho-wic { background: var(--warn-bg); color: var(--warn-text-2); }
.pd-ho-row--unverified .pd-ho-why b { color: var(--warn-text); }
.pd-ho-row--stock .pd-ho-wic { background: var(--surface-3); color: var(--text-2); }
.pd-ho-row--stock .pd-ho-why b { color: var(--text); }
.pd-ho-link { font-size: 14px; }

/* охват */
.pd-cv { display: grid; grid-template-columns: minmax(0, 1fr) 520px; gap: 48px; align-items: center; padding: 24px 28px; border-radius: var(--r-20); border: 1px solid var(--line); animation: pd-row .45s var(--ease-out) both; }
.pd-cv:not(:has(.pd-cv-ex)) { grid-template-columns: minmax(0, 1fr); }
.pd-cv-t { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pd-cv-t h3 { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 700; color: var(--text); }
.pd-cv-t ul { display: flex; flex-direction: column; gap: 10px; }
.pd-cv-t li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.5; color: var(--text); }
.pd-cv-t li .pd-cv-ic { background: var(--surface-2); }
.pd-cv-t li > span:last-child { padding-top: 6px; }
.pd-cv-t .pd-link { align-self: flex-start; min-height: 44px; }
.pd-cv-radar { transform-box: view-box; transform-origin: 12px 12px; animation: pd-radar .8s var(--ease-out) .2s both; }
@keyframes pd-radar { from { transform: rotate(-90deg); } to { transform: none; } }
.pd-cv-ex { display: flex; flex-direction: column; gap: 12px; padding: 20px; border-radius: var(--r-20); background: var(--surface-2); }
.pd-cv-exl, .pd-cv-exc { font-size: 13px; color: var(--text-3); }
.pd-cv-exrow { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 16px; align-items: center; padding: 14px 16px; border-radius: var(--r-14); background: var(--surface); border: 1px solid var(--line); }
.pd-cv-exs { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pd-cv-exs b { font-size: 16px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-cv-exp { font-family: var(--font-display); font-weight: 600; font-size: 19px; letter-spacing: var(--ls-display); color: var(--text); white-space: nowrap; }
.pd-cv--none { display: flex; align-items: center; gap: 14px; background: var(--surface-2); border: 0; }
.pd-cv--none b { flex: 1 1 auto; font-size: 16px; color: var(--text); }

/* ——— история цены ——— */
.pd-hs-head { align-items: flex-end; }
.pd-sec-head > .pd-hs-per { display: flex; flex-direction: row; align-items: center; gap: 12px; flex-shrink: 0; }
.pd-hs-perl { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; color: var(--text-2); }
.pd-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: var(--r-14); background: var(--surface-2); }
.pd-seg button { height: 40px; padding: 0 14px; border: 0; border-radius: var(--r-10); background: transparent; font: inherit; font-size: 15px; font-weight: 600; color: var(--text-2); cursor: pointer; transition: background-color var(--dur-hover) var(--ease-std), color var(--dur-hover) var(--ease-std); }
.pd-seg button[aria-pressed="false"]:hover { background: var(--surface); color: var(--text); }
.pd-seg button[aria-pressed="true"] { background: var(--text); color: var(--bg); }
.pd-chart { position: relative; min-height: 380px; margin: 8px 0 0; }
.pd-hs-skel { display: flex; flex-direction: column; gap: 14px; }
.pd-skel { display: block; border-radius: var(--r-8); background: linear-gradient(90deg, var(--line-soft) 0%, var(--surface-2) 40%, var(--line-soft) 80%); background-size: 250% 100%; animation: pd-skel 1.4s linear infinite; }
.pd-skel-box { height: 300px; border-radius: var(--r-16); }
.pd-skel-row { display: flex; align-items: center; gap: 12px; }
.pd-skel-dot { width: 24px; height: 24px; border-radius: 50%; }
.pd-skel-line { flex: 1 1 auto; height: 14px; }
.pd-skel-num { width: 90px; height: 14px; }
@keyframes pd-skel { from { background-position: 120% 0; } to { background-position: -20% 0; } }
.pd-hs-nojs { padding: 24px; border-radius: var(--r-16); background: var(--surface-2); color: var(--text-2); }
.pd-hs-legend { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.pd-hs-legend ul { display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--text-2); }
.pd-hs-legend li { display: inline-flex; align-items: center; gap: 8px; }
.pd-hs-legend b { color: var(--text); font-weight: 600; }
.pd-lg { display: inline-block; width: 28px; height: 3px; border-radius: 2px; }
.pd-lg--line { background: var(--brand); }
.pd-lg--avg { height: 0; border-top: 2px dashed var(--text-3); }
.pd-lg--gap { height: 14px; border-radius: 3px; border: 1px solid var(--line); background: repeating-linear-gradient(45deg, var(--line) 0 2px, transparent 2px 6px); }
.pd-hs-badge { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 16px; border-radius: var(--r-pill); background: var(--brand-bg); color: var(--brand-on-bg); font-size: 14px; font-weight: 600; animation: pd-badge .4s var(--ease-out) both; }
.pd-hs-badge.is-up { background: var(--warn-bg); color: var(--warn-text); }
@keyframes pd-badge { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
.pd-hs-hint { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 14px; color: var(--text-3); }
.pd-hs-stats { display: none; }
.pd-hs-empty, .pd-hs-err { display: flex; gap: 20px; align-items: center; padding: 28px 32px; border-radius: var(--r-22); background-color: var(--warm-bg); background-image: var(--dots); background-size: var(--dots-size); }
.pd-hs-err { background: var(--surface); background-image: none; border: 1px solid var(--line); }
.pd-hs-empty > span, .pd-hs-err > span { flex-shrink: 0; line-height: 0; }
.pd-hs-empty > div, .pd-hs-err > div { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.pd-hs-empty h3, .pd-hs-err h3 { font-size: 20px; font-weight: 700; color: var(--text); }
.pd-hs-empty p, .pd-hs-err p { font-size: 16px; line-height: 1.5; color: var(--text-2); max-width: 640px; }
.pd-hs-prog { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--text-3); }
.pd-hs-bar { width: 220px; height: 8px; border-radius: 4px; background: var(--surface); overflow: hidden; }
.pd-hs-bar i { display: block; height: 100%; border-radius: 4px; background: var(--warm-accent); }

/* svg графика — классы ставит chart.js */
.ch-wrap { position: relative; }
.ch-svg { display: block; width: 100%; overflow: visible; }
.ch-grid { stroke: var(--line-soft); stroke-width: 1; }
.ch-ax { fill: var(--text-3); font-size: 13px; font-family: var(--font); }
.ch-area { fill: var(--brand-bg); opacity: .75; animation: pd-fade .6s var(--ease-out) 1s both; }
.ch-line { fill: none; stroke: var(--brand); stroke-width: 2.6; stroke-linejoin: round; stroke-linecap: round; stroke-dasharray: 1; animation: pd-draw 1.2s var(--ease-std) .2s both; }
.ch-gap { fill: url(#pd-hatch); }
.ch-gap-l { fill: var(--text-3); font-size: 12px; font-family: var(--font); }
.ch-gap-lb { fill: var(--surface); }
.ch-hatch { stroke: var(--line); stroke-width: 2.5; }
.ch-avg { stroke: var(--text-3); stroke-width: 1.6; stroke-dasharray: 6 5; }
.ch-dot { fill: var(--surface); stroke: var(--text); stroke-width: 2.2; animation: pd-dot .4s var(--ease-out) 1.4s both; transform-box: fill-box; transform-origin: center; }
.ch-dot--min { stroke: var(--brand); }
.ch-cur { fill: var(--brand); stroke: var(--surface); stroke-width: 2.4; }
.ch-cur.is-archived { fill: var(--text-3); }
.ch-pulse { fill: var(--brand); transform-box: fill-box; transform-origin: center; animation: pd-pulse 2s var(--ease-std) 2.2s 3 both; }
.ch-vline { stroke: var(--text-3); stroke-width: 1.4; stroke-dasharray: 4 4; }
.ch-guide { stroke: var(--text-3); stroke-width: 1; stroke-dasharray: 3 3; }
.ch-hit { cursor: crosshair; fill: transparent; }
.ch-num { fill: var(--text); }
.ch-num-t { fill: var(--bg); font-size: 11px; font-weight: 700; font-family: var(--font); }
@keyframes pd-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes pd-fade { from { opacity: 0; } }
@keyframes pd-dot { 0% { opacity: 0; transform: scale(0); } 70% { opacity: 1; transform: scale(1.3); } 100% { opacity: 1; transform: none; } }
@keyframes pd-pulse { 0% { opacity: .3; transform: scale(.6); } 100% { opacity: 0; transform: scale(1.8); } }
.ch-call { position: absolute; z-index: 2; box-sizing: border-box; border-radius: var(--r-14); padding: 10px 14px; font-size: 13px; line-height: 1.4; animation: pd-pin .45s var(--ease-out) 1.6s both; pointer-events: none; }
.ch-call b { display: block; font-family: var(--font-display); font-weight: 600; font-size: 20px; letter-spacing: var(--ls-display); white-space: nowrap; }
.ch-call--cur { background: var(--brand); color: var(--on-accent); box-shadow: var(--sh-float); }
.ch-call--cur.is-archived { background: var(--surface); color: var(--text-2); border: 1px solid var(--line); }
.ch-call--cur.is-archived b { color: var(--text); }
.ch-call--min { background: var(--surface); color: var(--text-2); box-shadow: var(--sh-menu); }
.ch-call--min b { color: var(--text); }
.ch-call--peak { max-width: 250px; background: var(--warm-bg); color: var(--warm-dark); box-shadow: var(--sh-float); display: flex; gap: 8px; }
.ch-call--peak svg { flex-shrink: 0; color: var(--warm-text); margin-top: 1px; }
.ch-call--peak strong { color: var(--text); }
.ch-avg-pill { position: absolute; z-index: 1; height: 28px; padding: 0 10px; border-radius: var(--r-8); background: var(--surface); border: 1px solid var(--line); display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-2); white-space: nowrap; pointer-events: none; }
.ch-avg-pill b { color: var(--text); font-variant-numeric: tabular-nums; }
.ch-tip { position: absolute; z-index: 3; padding: 8px 12px; border-radius: var(--r-12); background: var(--text); color: var(--bg); font-size: 13px; line-height: 1.35; white-space: nowrap; pointer-events: none; opacity: 0; transform: translate(-50%, -100%); transition: opacity var(--dur-hover) var(--ease-std); }
.ch-tip.is-on { opacity: 1; }
.ch-tip b { display: block; font-size: 16px; }
@keyframes pd-pin { from { opacity: 0; transform: translateY(-10px) scale(.96); } to { opacity: 1; transform: none; } }
.ch-stats { display: flex; flex-direction: column; margin-top: 12px; }
.ch-stat { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 64px; border-bottom: 1px solid var(--line-soft); }
.ch-stat-n { width: 22px; height: 22px; border-radius: 50%; background: var(--text); color: var(--bg); font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.ch-stat-t { display: flex; flex-direction: column; font-size: 16px; color: var(--text); }
.ch-stat-t span { font-size: 13px; color: var(--text-3); }
.ch-stat b { font-family: var(--font-display); font-weight: 600; font-size: 20px; letter-spacing: var(--ls-display); color: var(--text); white-space: nowrap; }
.ch-stat.is-cur b { color: var(--brand-text); }

/* накрутка */
.pd-an { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 32px; margin-top: 48px; }
.pd-an-cat { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 20px; border-radius: var(--r-22); background-color: var(--warm-bg); background-image: var(--dots); background-size: var(--dots-size); }
.pd-an-bubble { --r: -2deg; padding: 18px 18px 20px; border-radius: var(--r-18); background: var(--surface); box-shadow: var(--sh-float); transform: rotate(var(--r)); animation: pd-card .45s var(--ease-out) .3s both; }
.pd-an-bubble p { margin-top: 12px; font-size: 16px; line-height: 1.5; color: var(--text); }
.pd-an-pill { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: var(--r-pill); background: var(--risk-bg); color: var(--risk); font-size: 14px; font-weight: 700; }
.pd-an-who { display: flex; align-items: flex-end; gap: 16px; font-size: 14px; line-height: 1.4; color: var(--warm-dark); }
.pd-an-who > span:first-child { line-height: 0; flex-shrink: 0; animation: pd-row .45s var(--ease-out) .3s both; }
.pd-an-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.pd-an-h { font-size: 22px; font-weight: 700; color: var(--text); }
.pd-an-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pd-an-card { display: flex; flex-direction: column; gap: 10px; padding: 18px 18px 20px; border-radius: var(--r-16); background: var(--surface-2); }
.pd-an-card--real { background: var(--surface); border: 2px solid var(--risk); }
.pd-an-ct { font-size: 14px; font-weight: 700; color: var(--text-2); }
.pd-an-card--real .pd-an-ct { color: var(--risk); }
.pd-an-card dl { display: flex; flex-direction: column; gap: 8px; }
.pd-an-card dl > div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; color: var(--text-2); }
.pd-an-card dd { color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pd-an-up dt { display: inline-flex; align-items: center; gap: 4px; }
.pd-an-up dt svg, .pd-an-up dd { color: var(--risk); font-weight: 600; }
.pd-an-sum { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pd-an-sum > span { display: flex; flex-direction: column; gap: 2px; font-size: 15px; color: var(--text); }
.pd-an-no { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: var(--risk); }
.pd-an-sum s { position: relative; font-family: var(--font-display); font-weight: 600; font-size: 22px; color: var(--text-3); text-decoration: none; }
.pd-an-sum s::after { content: ""; position: absolute; left: -2px; right: -2px; top: 52%; height: 2px; background: var(--risk-line); transform-origin: 0 50%; animation: pd-strike .3s var(--ease-out) .6s both; }
@keyframes pd-strike { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.pd-an-sum--real b { font-size: 16px; color: var(--text); }
.pd-an-sum--real strong { font-family: var(--font-display); font-weight: 700; font-size: 30px; letter-spacing: var(--ls-display); color: var(--risk); white-space: nowrap; }
.pd-an-sum--real strong.is-ok { color: var(--brand-text); }
.pd-an-foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.pd-an-foot p { font-size: 15px; line-height: 1.5; color: var(--text-2); max-width: 620px; }
.pd-an-foot .pd-link { flex-shrink: 0; }

/* ——— характеристики ——— */
.pd-sp { display: flex; flex-direction: column; gap: 24px; }
.pd-sp .pd-sec-head { margin-bottom: 0; }
.pd-sp-paid { padding: 24px 28px 28px; border-radius: var(--r-32); background-color: var(--warm-bg); background-image: var(--dots); background-size: var(--dots-size); display: flex; flex-direction: column; gap: 16px; }
.pd-sp-pt { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--warm-dark); }
.pd-sp-pt b { font-size: 16px; color: var(--warm-on-bg); }
.pd-sp-pic { width: 32px; height: 32px; border-radius: 50%; background: var(--surface); color: var(--warm-text); display: inline-flex; align-items: center; justify-content: center; }
.pd-sp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.pd-sp-card { padding: 22px 24px 12px; border-radius: var(--r-22); background: var(--surface); box-shadow: var(--sh-float); display: flex; flex-direction: column; gap: 16px; }
.pd-sp-card h3 { font-size: 18px; font-weight: 700; color: var(--text); }
.pd-sp-key { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: var(--r-14); background: var(--brand-bg); }
.pd-sp-key span { font-size: 14px; color: var(--brand-on-bg); }
.pd-sp-key b { font-family: var(--font-display); font-weight: 600; font-size: 30px; line-height: 1.15; letter-spacing: var(--ls-display); color: var(--brand-text); overflow-wrap: anywhere; }
.pd-sp-rows > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); font-size: 15px; }
.pd-sp-rows dt { color: var(--text-2); }
.pd-sp-rows dd { font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.pd-sp-rest { display: flex; flex-direction: column; gap: 12px; }
.pd-sp-rh { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 14px; font-weight: 700; color: var(--text-2); }
.pd-sp-rh > span { display: flex; align-items: center; flex: 1 1 auto; }
.pd-sp-rh > span::after { content: ""; flex: 1 1 auto; height: 1px; margin-left: 16px; background: var(--line); }
.pd-sp-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pd-sp-tile { border: 1px solid var(--line); border-radius: var(--r-16); background: var(--surface); transition: border-color var(--dur-hover) var(--ease-std); }
.pd-sp-tile:hover { border-color: var(--text); }
.pd-sp-tile[open] { grid-column: 1 / -1; background: var(--surface-quiet); }
.pd-sp-tile summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "t c" "p c"; gap: 4px 12px; align-items: center; padding: 16px 20px; cursor: pointer; list-style: none; }
.pd-sp-tile summary::-webkit-details-marker { display: none; }
.pd-sp-tt { grid-area: t; font-size: 13px; color: var(--text-3); }
.pd-sp-tt b { font-size: 17px; color: var(--text); margin-right: 4px; }
.pd-sp-prev { grid-area: p; font-size: 14px; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pd-sp-prev b { color: var(--text); }
.pd-sp-tile[open] .pd-sp-prev { display: none; }
.pd-sp-chev { grid-area: c; width: 32px; height: 32px; border-radius: 50%; background: var(--surface-2); display: inline-flex; align-items: center; justify-content: center; transition: transform .2s var(--ease-std); }
.pd-sp-tile[open] .pd-sp-chev { transform: rotate(180deg); background: var(--surface); }
.pd-sp-rows--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; padding: 0 20px 8px; }
.pd-sp-all { min-height: 72px; border: 1px dashed var(--line-total); border-radius: var(--r-16); background: transparent; display: flex; align-items: center; justify-content: center; gap: 8px; font: inherit; font-size: 15px; font-weight: 600; color: var(--brand-text); cursor: pointer; transition: border-color var(--dur-hover) var(--ease-std), background-color var(--dur-hover) var(--ease-std); }
.pd-sp-all:hover { border-color: var(--brand); background: color-mix(in srgb, var(--brand-bg) 40%, var(--surface)); }

/* ——— сравнение ——— */
.pd-cp { display: flex; flex-direction: column; gap: 12px; }
.pd-cp .pd-sec-head { margin-bottom: 8px; }
.pd-cp-sub { font-size: 14px; color: var(--text-3); margin-top: -6px; }
.pd-cp-sub b { color: var(--text); }
.pd-cp-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.pd-cp-this, .pd-cp-row { display: grid; grid-template-columns: 300px 180px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 20px; border-radius: var(--r-16); border: 1px solid var(--line); background: var(--surface); color: var(--text); animation: pd-row .45s var(--ease-out) .15s both; }
.pd-cp-this { border-style: dashed; padding-block: 12px; }
.pd-cp-row { transition: border-color var(--dur-hover) var(--ease-std), background-color var(--dur-hover) var(--ease-std); }
.pd-cp-row:hover { border-color: var(--text); color: var(--text); }
.pd-cp-row:hover .pd-cp-nm { text-decoration: underline; text-underline-offset: 3px; }
.pd-cp-row--bad { background: var(--warn-bg); border-color: var(--warn-line); }
.pd-cp-name { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pd-cp-cap { font-size: 13px; color: var(--text-3); }
.pd-cp-nm { font-size: 16px; font-weight: 700; }
.pd-cp-pr { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pd-cp-price { font-family: var(--font-display); font-weight: 600; font-size: 24px; letter-spacing: var(--ls-display); white-space: nowrap; }
.pd-cp-note { grid-column: 3 / -1; font-size: 14px; color: var(--text-2); }
.pd-cp-chip { justify-self: start; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: var(--r-10); background: var(--surface-3); font-size: 15px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pd-cp-chip--down { background: var(--brand-bg); color: var(--brand-text); }
.pd-cp-chip--up { background: var(--warm-bg); color: var(--warm-text); }
.pd-cp-chip--none { color: var(--text-2); }
.pd-cp-vw { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; min-width: 0; }
.pd-cp-v { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--text-2); }
.pd-cp-v svg { flex-shrink: 0; margin-top: 2px; }
.pd-cp-v--good svg { color: var(--brand-text); }
.pd-cp-v--bad svg { color: var(--warn-text-2); }
.pd-cp-best { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 10px; border-radius: var(--r-8); background: var(--brand-bg); color: var(--brand-on-bg); font-size: 13px; font-weight: 700; }
.pd-cp-go { display: flex; color: var(--text); transition: transform var(--dur-hover) var(--ease-std); }
.pd-cp-row:hover .pd-cp-go { transform: translateX(3px); }
.pd-cp-appear { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--brand-text); white-space: nowrap; }
.pd-cp-gen { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 8px; border-radius: var(--r-pill); font-size: 13px; font-weight: 600; }
.pd-cp-gen--new { background: var(--brand-bg); color: var(--brand-on-bg); }
.pd-cp-gen--old { background: var(--warm-bg); color: var(--warm-on-bg); }

/* ——— отзывы о магазинах ——— */
.pd-rv .pd-sec-head { margin-bottom: 12px; }
.pd-rv-q { font-size: 16px; color: var(--text-2); }
.pd-rv-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.pd-rv-chips li { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: var(--r-pill); background: var(--surface-2); font-size: 15px; font-weight: 600; color: var(--text); }
.pd-rv-chips svg { color: var(--brand-text); }
.pd-rv-t { width: 100%; margin-top: 24px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--line); border-radius: var(--r-20); overflow: hidden; }
.pd-rv-t thead th { height: 48px; padding: 0 16px; background: var(--surface-quiet); border-bottom: 1px solid var(--line); text-align: left; font-size: 13px; font-weight: 700; color: var(--text-2); white-space: nowrap; }
.pd-rv-t thead th svg { display: inline-block; vertical-align: -2px; margin-right: 6px; }
.pd-rv-t thead th:nth-child(2), .pd-rv-t thead th:nth-child(3), .pd-rv-t thead th:nth-child(4) { text-align: right; }
.pd-rv-t tbody th, .pd-rv-t tbody td { padding: 12px 16px; border-bottom: 1px solid var(--line-soft); font-size: 16px; vertical-align: middle; }
.pd-rv-t tbody tr:last-child > * { border-bottom: 0; }
.pd-rv-t tbody tr { transition: background-color var(--dur-hover) var(--ease-std); }
.pd-rv-t tbody tr:hover { background: var(--surface-quiet); }
.pd-rv-t td:nth-child(2), .pd-rv-t td:nth-child(3), .pd-rv-t td:nth-child(4) { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.pd-rv-shop { display: flex; align-items: center; gap: 12px; text-align: left; }
.pd-rv-shop a { font-weight: 700; color: var(--text); }
.pd-rv-shop a:hover { color: var(--brand-text); }
.pd-rv-ok { color: var(--brand-text); }
.pd-rv-bad { color: var(--risk); }
.pd-rv-bad.is-zero { color: var(--text-2); }
.pd-rv-go { text-align: right; }
.pd-rv-foot { margin-top: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.45; color: var(--text-2); }

/* ——— обзоры ——— */
.pd-ar-list { border: 1px solid var(--line); border-radius: var(--r-20); overflow: hidden; margin-bottom: 20px; }
.pd-ar-list li + li { border-top: 1px solid var(--line); }
.pd-ar-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) 44px; gap: 18px; align-items: center; padding: 22px 24px; color: var(--text); transition: background-color var(--dur-hover) var(--ease-std); }
.pd-ar-row:hover, .pd-ar-row:focus-visible { background: var(--surface-quiet); color: var(--text); }
.pd-ar-row:focus-visible { outline-offset: -3px; }
.pd-ar-ic { width: 48px; height: 48px; border-radius: var(--r-12); background: var(--surface-2); color: var(--text-2); display: flex; align-items: center; justify-content: center; }
.pd-ar-ic.is-ad { background: var(--warm-bg); color: var(--warm-text); }
.pd-ar-t { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pd-ar-t b { font-size: 18px; font-weight: 700; transition: color var(--dur-hover) var(--ease-std); }
.pd-ar-row:hover .pd-ar-t b { color: var(--brand-text); }
.pd-ar-meta { font-size: 14px; color: var(--text-3); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pd-ar-ad { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px; border-radius: var(--r-pill); background: var(--warm-bg); color: var(--warm-on-bg); font-size: 13px; font-weight: 700; }
.pd-ar-go { width: 44px; height: 44px; border-radius: var(--r-12); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; transition: background-color var(--dur-hover) var(--ease-std), border-color var(--dur-hover) var(--ease-std), color var(--dur-hover) var(--ease-std); }
.pd-ar-row:hover .pd-ar-go, .pd-ar-row:focus-visible .pd-ar-go { background: var(--text); border-color: var(--text); color: var(--bg); }

/* ——— аксессуары ——— */
.pd-ac-rule { display: grid; grid-template-columns: 56px minmax(0, 1fr) 320px; gap: 18px; align-items: center; padding: 22px 24px; border-radius: var(--r-22); background-color: var(--warm-bg); background-image: var(--dots); background-size: var(--dots-size); margin-bottom: 24px; }
.pd-ac-cat { line-height: 0; }
.pd-ac-rule b { font-size: 18px; color: var(--text); }
.pd-ac-rule p { margin-top: 6px; font-size: 15px; line-height: 1.5; color: var(--warm-dark); }
.pd-ac-ex { --r: 2deg; display: flex; flex-direction: column; gap: 8px; padding: 14px 18px; border-radius: var(--r-16); background: var(--surface); box-shadow: var(--sh-float); transform: rotate(var(--r)); font-size: 14px; color: var(--text-2); }
.pd-ac-ex span { display: flex; align-items: center; gap: 8px; }
.pd-ac-ex .is-yes svg { color: var(--brand-text); }
.pd-ac-ex .is-no svg { color: var(--risk); }
.pd-ac-ex u { text-decoration-color: var(--risk-line); text-underline-offset: 3px; }
.pd-ac-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: start; }
.pd-ac-card { border: 1px solid var(--line); border-radius: var(--r-20); padding: 20px 20px 16px; background: var(--surface); }
.pd-ac-card:not([open]) > .pd-ac-items { display: none; }
.pd-ac-head { display: flex; flex-direction: column; gap: 4px; padding-bottom: 14px; border-bottom: 1px solid var(--line); list-style: none; pointer-events: none; }
.pd-ac-head::-webkit-details-marker { display: none; }
.pd-ac-kt { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.pd-ac-kt > b { font-size: 18px; color: var(--text); }
.pd-ac-n { font-size: 13px; color: var(--text-3); white-space: nowrap; }
.pd-ac-from { font-size: 14px; color: var(--text-2); }
.pd-ac-from b { font-family: var(--font-display); font-weight: 600; font-size: 30px; letter-spacing: var(--ls-display); color: var(--brand-text); }
.pd-ac-items li { border-bottom: 1px solid var(--line-soft); }
.pd-ac-items li:last-child { border-bottom: 0; }
.js .pd-ac-card:not(.is-more) .pd-ac-extra { display: none; }
.pd-ac-row { display: grid; grid-template-columns: 52px minmax(0, 1fr) 16px; gap: 12px; align-items: center; padding: 14px 4px; margin: 0 -4px; border-radius: var(--r-12); color: var(--text); transition: background-color var(--dur-hover) var(--ease-std); }
.pd-ac-row:hover { background: var(--surface-quiet); color: var(--text); }
.pd-ac-th { width: 52px; height: 52px; border-radius: var(--r-12); background: var(--surface-2); color: var(--text-3); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.pd-ac-th img { width: 100%; height: 100%; object-fit: contain; background: var(--photo-tile); }
.pd-ac-th.is-off { background: var(--surface); border: 1px dashed var(--line-total); }
.pd-ac-it { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 15px; }
.pd-ac-it > b { font-weight: 600; line-height: 1.35; }
.pd-ac-it > span { font-size: 14px; color: var(--text-2); }
.pd-ac-it > span b { color: var(--text); }
.pd-ac-go { display: flex; color: var(--text-3); transition: transform var(--dur-hover) var(--ease-std); }
.pd-ac-row:hover .pd-ac-go { transform: translateX(3px); }
.pd-ac-more { width: 100%; margin-top: 12px; }
html:not(.js) .pd-ac-more { display: none; }
.pd-ac-more svg { transition: transform .2s var(--ease-std); }
.pd-ac-card.is-more .pd-ac-more svg { transform: rotate(180deg); }

/* ==========================================================================
   Промежуточная ширина (768–1199)
   ========================================================================== */
@media (max-width: 1199px) {
  .pd-hero { grid-template-columns: minmax(0, 1fr) 420px; gap: 32px; }
  .pd-hero--nophoto { grid-template-columns: minmax(0, 1fr) 320px; }
  .pd-h1 { font-size: 38px; }
  .pd-panel { height: 340px; }
  .pd-photo { width: 220px; height: 220px; left: 24px; top: 24px; }
  .pd-ver { right: 16px; bottom: 20px; width: 230px; }
  .pd-vd { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px; }
  .pd-vd-title { font-size: 38px; }
  .pd-fl { grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; padding: 36px; }
  .pd-fl-bigcat svg { width: 120px; height: auto; }
  .pd-sort-opt { font-size: 15px; gap: 8px; }
  .pd-sort-opt svg { display: none; }
  /* таблица: убираем «Доставку» и «Обновлено» в соседние ячейки */
  .pd-wt { table-layout: auto; }
  .pd-wt colgroup { display: none; }
  .pd-wt thead th:nth-child(3), .pd-wt thead th:nth-child(6), .pd-c-deliv, .pd-c-upd { display: none; }
  .pd-tr { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pd-bd-steps { flex-wrap: wrap; }
  .pd-bd-step { flex: 1 1 180px; }
  .pd-bd-total { flex: 1 1 100%; }
  .pd-bd-op { display: none; }
  .pd-rep { grid-template-columns: minmax(0, 1fr); }
  .pd-rep-side { padding-top: 0; }
  .pd-rep-opt { grid-template-columns: 90px minmax(0, 1fr) 240px; }
  .pd-sm { grid-template-columns: 64px minmax(0, 1fr); }
  .pd-sm-act { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; align-items: center; gap: 16px; }
  .pd-ho-row { grid-template-columns: 220px 140px minmax(0, 1fr); }
  .pd-ho-link { grid-column: 3; }
  .pd-cv { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pd-an { grid-template-columns: minmax(0, 1fr); }
  .pd-an-cat { flex-direction: row; align-items: center; }
  .pd-an-bubble { flex: 1 1 auto; }
  .pd-cp-this, .pd-cp-row { grid-template-columns: 220px 150px minmax(0, 1fr) auto; }
  .pd-sp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-ac-rule { grid-template-columns: 56px minmax(0, 1fr); }
  .pd-ac-ex { grid-column: 1 / -1; justify-self: start; }
  .pd-rv-t thead th { white-space: normal; }
}

/* ==========================================================================
   Телефон (<768)
   ========================================================================== */
@media (max-width: 767px) {
  .pd { padding: 8px 0 40px; }
  .pd-wrap { gap: 20px; }
  .pd-only-m { display: revert; }
  span.pd-only-m, b.pd-only-m { display: inline; }
  .pd-hide-m { display: none; }
  .pd-top { gap: 16px; margin-bottom: 8px; }
  .pd-crumbs { display: none; }
  .pd-back { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; align-self: flex-start; font-size: 14px; color: var(--text-2); }
  .pd-hero, .pd-hero--nophoto { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pd-hero:not(.pd-hero--solo) .pd-hero-t { order: 2; }
  .pd-hero:not(.pd-hero--solo) .pd-panel { order: 1; }
  .pd-hero--nophoto .pd-hero-t { order: 1; }
  .pd-hero--nophoto .pd-panel { order: 2; }
  .pd-h1 { font-size: 30px; line-height: 1.15; -webkit-line-clamp: 5; }
  .pd-panel { height: auto; min-height: 228px; border-radius: var(--r-22); display: flex; flex-direction: column; align-items: center; padding: 20px 16px; gap: 0; overflow: visible; }
  .pd-photo { position: relative; left: auto; top: auto; margin: 0; width: 188px; height: 188px; }
  .pd-hero--noversion .pd-photo { left: auto; margin-left: 0; top: auto; }
  .pd-panel-cat { left: 18px; bottom: 14px; }
  .pd-panel-cat svg { width: 44px; height: auto; }
  .pd-ver { position: relative; right: auto; bottom: auto; width: calc(100% + 8px); margin: 18px -4px -34px; --r: -1deg; }
  .pd-hero--nophoto .pd-panel { padding: 16px; }
  .pd-hero--nophoto .pd-ver { margin: 0; width: 100%; }

  .pd-sn { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 18px; margin-top: 12px; }
  .pd-sn-h { font-size: 17px; gap: 12px; }
  .pd-sn-ic { width: 40px; height: 40px; }
  .pd-sn-act { justify-content: stretch; flex-direction: column; align-items: stretch; gap: 8px; }
  .pd-sn-btn { width: 100%; }
  .pd-sn-act .pd-link { min-height: 44px; }

  .pd-vd { padding: 20px 18px; gap: 16px; border-radius: var(--r-22); }
  .pd-vd-stamp { width: 44px; height: 44px; }
  .pd-vd-stamp svg { width: 22px; height: 22px; }
  .pd-vd-lab { font-size: 13px; }
  .pd-vd-title { font-size: 30px; }
  .pd-vd-reason { font-size: 17px; }
  .pd-vd-how { display: none; }
  .pd-ev { padding: 0 14px 6px; }
  .pd-ev-body { flex-direction: column-reverse; }
  .pd-ev-total { margin-top: 4px; }
  .pd-ev-total strong { font-size: 22px; }
  .pd-ev-row dt { font-size: 15px; }
  .pd-ev-row { min-height: 45px; }
  .pd-ev-row > svg { display: none; }
  .pd-ev-row { grid-template-columns: minmax(0, 1fr) auto; }

  .pd-fl { grid-template-columns: minmax(0, 1fr); padding: 20px 18px; gap: 0; border-radius: var(--r-22); }
  .pd-fl-main { gap: 16px; }
  .pd-fl-cat { position: absolute; right: -6px; top: -12px; line-height: 0; }
  .pd-fl-h { font-size: 24px; padding-right: 60px; }
  .pd-fl-flash + .pd-fl-h { padding-right: 0; }
  .pd-fl-lead { font-size: 16px; }
  .pd-fl-side { display: none; }
  .pd-fl-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pd-fl-label { margin-bottom: -2px; }
  .pd-fl-field, .pd-fl-under { display: contents; }
  .pd-fl-box { order: 2; height: 56px; box-sizing: border-box; padding: 0 16px; border: 2px solid var(--text); border-radius: var(--r-16); background: var(--surface); box-shadow: 0 4px 0 var(--text); }
  .pd-fl-box:focus-within { border-color: var(--brand); }
  .pd-fl-field.is-error .pd-fl-box { border-color: var(--risk); box-shadow: 0 4px 0 var(--risk); }
  .pd-fl-field input { height: 48px; font-size: 16px; }
  .pd-fl-min { order: 3; width: 100%; height: 44px; justify-content: flex-start; border-style: dashed; }
  .pd-fl-min-go { margin-left: auto; }
  .pd-fl-go { order: 4; height: 52px; justify-content: center; border-radius: var(--r-12); }
  .pd-fl-under .pd-fl-hint { order: 5; }
  .pd-fl-hint { font-size: 13px; }
  .pd-fl-on { grid-template-columns: 40px minmax(0, 1fr); padding: 16px; background: var(--surface); }
  .pd-fl-onic { width: 40px; height: 40px; background: var(--brand-bg); color: var(--brand-text); }
  .pd-fl-mode { font-family: var(--font); font-size: 15px; font-weight: 700; align-self: flex-start; padding: 4px 10px; border-radius: var(--r-pill); background: var(--brand-bg); color: var(--brand-on-bg); }
  .pd-fl-ont p { color: var(--text); }
  .pd-fl-onact { grid-column: 1 / -1; justify-content: flex-start; }
  .pd-fl-subs { background: transparent; border-color: transparent; padding: 0 4px; }
  .pd-fl-edit { display: none; }
  .pd-fl-login { width: 100%; }
  .pd-fl-appear .btn { width: 100%; }
  /* «Сохранить» — под панелью, на всю ширину */
  .pd-fl-save { margin: 20px -18px -20px; padding: 20px 0 0; background: var(--bg); }
  .pd-fl-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .pd-fl-row .sv, .pd-fl-row .sv-row { width: 100%; }
  .pd-fl-row .sv-btn { width: 100%; justify-content: center; }
  .pd-fl-cap { order: 1; color: var(--text-3); }
  .pd-fl-save .sv-row > *, .pd-fl-save .sv-btn { flex: 1 1 auto; width: 100%; }
  .pd-fl-save { flex-direction: column; }
  .pd-fl-row { display: contents; }
  .pd-fl-words { order: 2; align-items: flex-start; }
  .pd-fl-words svg { margin-top: 3px; }

  .pd-tabs-wrap { gap: 20px; margin-top: 12px; }
  .pd-tabs { margin-inline: calc(-1 * var(--gutter)); padding-inline: 4px; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent 100%); mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent 100%); }
  .pd-tab { height: 48px; padding: 0 12px; }
  .pd-tab > svg { display: none; }
  .pd-h2 { font-size: 24px; gap: 10px; }
  .pd-h2-ic { width: 40px; height: 40px; }
  .pd-sec-head { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 16px; }
  .pd-sec-lead { font-size: 15px; }

  /* где купить: карточки */
  .pd-wh { gap: 16px; }
  .pd-wh-head { flex-direction: row; align-items: center; }
  .pd-wh-meta { display: none; }
  .pd-sort-seg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-sort-opt { height: 56px; justify-content: flex-start; font-size: 14px; padding: 0 10px; line-height: 1.2; }
  .pd-sort-opt svg { display: block; width: 16px; height: 16px; flex-shrink: 0; }
  .pd-sort-tail { left: calc(25% + var(--im, 0) * 50% - 8px); top: auto; }
  .pd-sort-why { padding-top: 12px; }
  .pd-sort-why p { font-size: 15px; align-items: flex-start; }
  .pd-sort-hint.pd-only-m { display: block; margin-top: 8px; }
  .pd-wh-body { display: flex; flex-direction: column-reverse; gap: 16px; }
  .pd-wt, .pd-wt tbody, .pd-wt tr, .pd-wt td { display: block; width: auto; }
  .pd-wt thead, .pd-wt colgroup { display: none; }
  .pd-wt-item { border: 1px solid var(--line); border-radius: var(--r-20); padding: 0 16px; margin-bottom: 12px; background: var(--surface); }
  .pd-wt-item.is-first { border: 2px solid var(--brand); padding: 0 15px; }
  .pd-wt .pd-wt-firstrow td { padding: 14px 0 0; }
  .pd-wt .pd-wt-main { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 12px; row-gap: 8px; padding: 16px 0; }
  .pd-wt-main td, .pd-wt-main:hover td, .pd-wt-main .pd-c-final, .pd-wt-main:hover .pd-c-final { padding: 0; border: 0; background: transparent; }
  .pd-wt .pd-c-shop { grid-column: 1 / 3; grid-row: 1; }
  .pd-wt .pd-c-act { display: contents; }
  .pd-c-act > .pd-wt-rep { grid-column: 3; grid-row: 1; justify-self: end; width: 44px; height: 44px; margin: 0; padding: 0; justify-content: center; border: 1px solid var(--line); border-radius: var(--r-12); }
  .pd-wt .pd-c-trust { grid-column: 1 / -1; grid-row: 2; padding-left: 46px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
  .pd-c-trust .pd-wt-prem { margin-top: 0; }
  .pd-wt-shop > div { padding-top: 7px; }
  .pd-wt .pd-c-final { grid-column: 1 / 3; grid-row: 3; }
  .pd-m-l { display: inline; font-size: 14px; color: var(--text-3); }
  .pd-m-block { display: block; font-size: 13px; }
  .pd-wt-final { font-size: 26px; padding-top: 0; }
  .pd-c-act > .pd-wt-gow, .pd-c-act > .pd-wt-nolink { grid-column: 3; grid-row: 3; align-self: center; margin: 0; }
  .pd-wt-nolink { align-items: flex-end; text-align: right; }
  .pd-wt .pd-c-price, .pd-wt .pd-c-deliv { display: flex; align-items: baseline; gap: 4px; grid-row: 4; font-size: 14px; }
  .pd-wt .pd-c-price { grid-column: 1; }
  .pd-wt .pd-c-deliv { grid-column: 2 / -1; flex-direction: row-reverse; justify-content: flex-end; }
  .pd-wt-base, .pd-wt-dc { padding: 0; font-size: 14px; }
  .pd-wt-days { margin: 0; font-size: 14px; color: var(--text-2); }
  .pd-wt-dc:not(:last-child)::before { content: "·"; margin: 0 4px; color: var(--text-3); }
  .pd-wt .pd-c-upd { grid-column: 1 / -1; grid-row: 5; display: flex; flex-wrap: wrap; gap: 8px; }
  .pd-wt-ago { padding: 0; font-size: 14px; }
  .pd-wt-stale { margin: 0; }
  .pd-wt .pd-wt-auto td { padding: 0 0 12px; border: 0; }
  .pd-wt-auto div { background: transparent; padding: 0; font-size: 13px; color: var(--warn-text); align-items: flex-start; }
  .pd-wt .pd-wt-det td { padding: 0; border: 0; border-top: 1px solid var(--line-soft); }
  .js .pd-wt .pd-wt-det:not(.is-open) { display: block; }
  .pd-acc { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 10px; border: 0; background: transparent; font: inherit; font-size: 16px; font-weight: 600; color: var(--text); cursor: pointer; padding: 0; }
  .pd-acc > span { flex: 1 1 auto; text-align: left; }
  .pd-acc > svg:first-child { color: var(--text-2); }
  .js .pd-wt-det:not(.is-open) .pd-det-body { display: none; }
  .pd-det-body { background: transparent; padding: 0 0 14px; }
  .pd-tr { padding: 0 0 14px; }
  .pd-tr-h { display: none; }
  .pd-bd-steps { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 0; }
  .pd-bd-steps .pd-bd-cols { display: contents; font-size: 13px; color: var(--text-3); }
  .pd-bd-cols span { padding: 4px 0 6px; }
  .pd-bd-cols span + span { text-align: right; padding-left: 16px; }
  .pd-bd-step { display: contents; }
  .pd-bd-op { display: none; }
  .pd-bd-step > span { padding: 4px 0; }
  .pd-bd-step > .pd-bd-v, .pd-bd-step > .pd-bd-run { padding-left: 16px; }
  .pd-bd-step > .pd-bd-n { padding-top: 0; }
  .pd-bd-total > .pd-bd-v { padding-left: 0; }
  .pd-bd-l { font-size: 15px; color: var(--text); }
  .pd-bd-v { text-align: right; font-size: 15px; }
  .pd-bd-run { display: block; text-align: right; font-size: 15px; color: var(--text-2); font-variant-numeric: tabular-nums; }
  .pd-bd-n { grid-column: 1 / -1; font-size: 13px; }
  .pd-bd-n:empty { display: none; }
  .pd-bd-total { display: flex; grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; margin-top: 10px; padding: 12px 14px; border: 0; border-radius: var(--r-12); }
  .pd-bd-total .pd-bd-l { font-size: 15px; }
  .pd-bd-total .pd-bd-v { font-size: 22px; }
  /* лист «сообщить об ошибке» */
  .pd-wt-rep-row td { border: 0; padding: 0; }
  .pd-wt-rep-row.is-open { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; max-height: 92vh; overflow-y: auto; border-radius: var(--r-22) var(--r-22) 0 0; background: var(--surface); box-shadow: var(--sh-menu); animation: pd-sheet .24s var(--ease-out) both; }
  @keyframes pd-sheet { from { transform: translateY(100%); } to { transform: none; } }
  .pd-rep { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px 16px 16px; background: var(--surface); }
  .pd-rep-x { display: inline-flex; }
  .pd-rep-f legend { padding-right: 56px; }
  .pd-rep-h { font-size: 20px; }
  .pd-rep-opt { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px; }
  .pd-rep-opt:has(input:checked) { padding: 13px; }
  .pd-rep-r { min-height: 48px; }
  .pd-rep-btns { position: sticky; bottom: 0; padding: 12px 0 0; background: var(--surface); }
  .pd-rep-send { height: 52px; }
  .pd-rep-anon { justify-content: center; }

  .pd-sm { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 18px; background: var(--brand-bg); border-color: var(--brand-track); }
  .pd-sm-t h3 { font-size: 17px; }
  .pd-sm-t p { font-size: 16px; }
  .pd-sm-chip { background: transparent; height: auto; padding: 0; font-weight: 600; color: inherit; }
  .pd-sm-chip svg { display: none; }
  .pd-sm-box { display: flex; margin-top: 12px; }
  .pd-sm-cap { order: 5; }
  .pd-sm-act { flex-direction: column; align-items: stretch; gap: 4px; }
  .pd-sm-go { width: 100%; }
  .pd-sm-link { align-self: flex-start; min-height: 44px; }
  .pd-sm-link svg { transform: rotate(180deg); }

  .pd-wh-empty { flex-direction: column; align-items: flex-start; padding: 18px; }
  .pd-wh-eact { width: 100%; }
  .pd-ho-bar { flex-wrap: wrap; padding: 14px 16px; gap: 10px; }
  .pd-ho-t { font-size: 16px; flex: 1 1 calc(100% - 40px); }
  .pd-ho-chips { order: 3; margin-left: 32px; flex-direction: column; align-items: flex-start; gap: 6px; }
  .pd-ho-chip { height: 28px; }
  .pd-ho-body { padding: 16px; }
  .pd-ho-lead { font-size: 15px; }
  .pd-ho-row { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 4px 12px; align-items: start; }
  .pd-ho-shop { display: contents; }
  .pd-ho-shop .shop-mono, .pd-ho-shop .shop-logo { grid-row: 1 / 4; }
  .pd-ho-shop b { grid-column: 2; padding-top: 6px; }
  .pd-ho-price { grid-column: 3; grid-row: 1; text-align: right; font-size: 16px; padding-top: 4px; }
  .pd-ho-why { grid-column: 2 / -1; font-size: 14px; }
  .pd-ho-row .pd-ho-wic { background: transparent; width: 18px; height: 18px; margin-top: 1px; }
  .pd-ho-link { grid-column: 2 / -1; min-height: 36px; }
  .pd-cv { padding: 0; border: 0; gap: 16px; }
  .pd-cv-t h3 { font-size: 18px; }
  .pd-cv-t li { font-size: 15px; }
  .pd-cv-t li .pd-cv-ic { display: none; }
  .pd-cv-t li > span:last-child { padding-top: 0; }
  .pd-cv-ex { padding: 14px; }
  .pd-cv-exrow { grid-template-columns: minmax(0, 1fr) auto; }
  .pd-cv-exrow .pd-wt-nolink { grid-column: 1 / -1; }
  .pd-cv--none { flex-direction: column; align-items: flex-start; padding: 16px; }

  .pd-hs-per { width: 100%; }
  .pd-hs-perl { display: none; }
  .pd-seg { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pd-seg button { height: 44px; padding: 0; }
  .pd-chart { min-height: 260px; }
  .pd-skel-box { height: 220px; }
  .pd-hs-stats { display: block; }
  .pd-hs-legend { flex-direction: column-reverse; align-items: flex-start; }
  .pd-hs-legend ul { flex-direction: column; gap: 8px; }
  .pd-hs-empty, .pd-hs-err { flex-direction: column; align-items: flex-start; padding: 20px; }
  .pd-hs-bar { width: 160px; }
  .ch-call--peak { max-width: 220px; }
  .pd-an { margin-top: 32px; gap: 16px; }
  .pd-an-cat { padding: 12px 16px; }
  .pd-an-bubble { transform: none; box-shadow: none; background: transparent; padding: 0; }
  .pd-an-bubble p, .pd-an-who > span:last-child { display: none; }
  .pd-an-who { order: -1; }
  .pd-an-who svg { width: 48px; height: auto; }
  .pd-an-cols { grid-template-columns: minmax(0, 1fr); }
  .pd-an-foot { flex-direction: column; align-items: flex-start; gap: 12px; }
  .pd-an-sum--real strong { font-size: 26px; }

  .pd-sp-paid { padding: 14px; border-radius: var(--r-22); gap: 12px; }
  .pd-sp-pt > span:last-child { display: none; }
  .pd-sp-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pd-sp-card { padding: 16px 16px 8px; }
  .pd-sp-key b { font-size: 26px; }
  .pd-sp-rows > div { grid-template-columns: minmax(0, 1fr); gap: 2px; font-size: 15px; }
  .pd-sp-rows dt { font-size: 14px; }
  .pd-sp-rh > span::after { display: none; }
  .pd-sp-tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pd-sp-tile summary { padding: 14px 16px; }
  .pd-sp-rows--2 { grid-template-columns: minmax(0, 1fr); padding: 0 16px 8px; }
  .pd-cp-this, .pd-cp-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; padding: 16px; }
  .pd-cp-this { grid-template-columns: minmax(0, 1fr) auto; }
  .pd-cp-note { display: none; }
  .pd-cp-name { grid-column: 1; }
  .pd-cp-go { grid-column: 2; grid-row: 1; align-self: start; }
  .pd-cp-chip { grid-column: 1 / -1; grid-row: 2; }
  .pd-cp-vw { grid-column: 1 / -1; }
  .pd-cp-appear { grid-column: 1 / -1; min-height: 36px; }
  .pd-cp-price { font-size: 20px; }
  .pd-rv-chips { flex-direction: column; align-items: flex-start; }
  .pd-rv-t, .pd-rv-t tbody, .pd-rv-t tr { display: block; border: 0; border-radius: 0; overflow: visible; }
  .pd-rv-t thead { display: none; }
  .pd-rv-t tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 8px; padding: 16px; margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--r-20); }
  .pd-rv-t tbody th, .pd-rv-t tbody td, .pd-rv-t tbody td:nth-child(n) { display: block; padding: 0; border: 0; text-align: left; }
  .pd-rv-t tbody th { grid-column: 1 / -1; padding-bottom: 12px; }
  .pd-rv-shop .shop-mono { display: none; }
  .pd-rv-t tbody td[data-l] { padding: 10px 0 10px 12px; background: var(--surface-2); font-size: 18px; }
  .pd-rv-t td[data-l]::before { content: attr(data-l); display: block; min-height: 34px; font-size: 13px; font-weight: 400; color: var(--text-2); }
  .pd-rv-t td[data-l]:first-of-type { border-radius: var(--r-12) 0 0 var(--r-12); }
  .pd-rv-trust { grid-column: 1 / -1; grid-row: 1; justify-self: end; }
  .pd-rv-t tbody .pd-rv-go { grid-column: 1 / -1; padding-top: 12px; }
  .pd-rv-go .btn { width: 100%; }
  .pd-ar-row { grid-template-columns: 40px minmax(0, 1fr); padding: 16px; gap: 14px; }
  .pd-ar-ic { width: 40px; height: 40px; }
  .pd-ar-go { display: none; }
  .pd-ar-t b { font-size: 16px; }
  .pd-ac-rule { grid-template-columns: 44px minmax(0, 1fr); padding: 16px; gap: 12px; }
  .pd-ac-cat svg { width: 44px; height: auto; }
  .pd-ac-ex { transform: none; box-shadow: none; font-size: 13px; }
  .pd-ac-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pd-ac-card { padding: 14px 16px; }
  .pd-ac-head { pointer-events: auto; cursor: pointer; flex-direction: row; align-items: center; padding-bottom: 0; border-bottom: 0; }
  .pd-ac-card[open] .pd-ac-head { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .pd-ac-kt { flex-direction: column; align-items: flex-start; gap: 2px; flex: 1 1 auto; }
  .pd-ac-n b { color: var(--brand-text); }
  .pd-ac-chev { width: 36px; height: 36px; border-radius: 50%; background: var(--surface-2); display: inline-flex; align-items: center; justify-content: center; transition: transform .2s var(--ease-std); }
  .pd-ac-card[open] .pd-ac-chev { transform: rotate(180deg); }
  .js .pd-ac-card:not(.is-more) .pd-ac-extra { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .pd *, .pd *::before, .pd *::after, .ch-svg * { animation: none !important; transition: none !important; }
}
