/* Статьи всегда на белом фоне, независимо от темы сайта */
.art-light, .art-body { --text: #1a1a1a; --muted: #6b7684; --border: #e3e8ee; --surface: #fff; --blue: #005bff; --blue-dark: #0046cc; color-scheme: light; }
.art-light.art-light { background: #fff; color: #1a1a1a; border-radius: 20px; padding: 18px 28px 30px; margin: 14px auto 30px; box-shadow: 0 1px 3px rgba(20,30,60,.08); }
.art-body { background: #fff; color: #1a1a1a; }
@media (max-width: 640px) { .art-light.art-light { padding: 12px 14px 22px; border-radius: 14px; } }
/* Статьи: стили содержимого (.art-body) — общие для страницы статьи, предпросмотра и редактора в админке */
.art-body { font-size: 17px; line-height: 1.75; color: var(--text); overflow-wrap: anywhere; }
.art-body > *:first-child { margin-top: 0; }
.art-body h2 { font-size: 26px; line-height: 1.25; margin: 1.7em 0 .5em; letter-spacing: -.01em; scroll-margin-top: 90px; }
.art-body h3 { font-size: 21px; line-height: 1.3; margin: 1.5em 0 .4em; scroll-margin-top: 90px; }
.art-body h4 { font-size: 17px; margin: 1.3em 0 .3em; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.art-body p { margin: 0 0 1em; }
.art-body a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.art-body ul, .art-body ol { margin: 0 0 1em; padding-left: 1.5em; }
.art-body li { margin: .25em 0; }
.art-body hr { border: 0; border-top: 1px solid var(--border); margin: 2em 0; }
.art-body mark { background: #fff0a6; color: #1a1a1a; padding: 0 .2em; border-radius: 3px; }
.art-body code { background: #f0f4f8; padding: 2px 6px; border-radius: 6px; font-size: .88em; }
.art-body kbd { background: #fff; border: 1px solid #cfd6df; border-bottom-width: 2px; border-radius: 6px; padding: 1px 7px; font: .85em ui-monospace, Consolas, monospace; }
.art-body pre { background: #14181f; color: #e6edf3; padding: 14px 16px; border-radius: 12px; overflow: auto; font: 14px/1.55 ui-monospace, Consolas, monospace; margin: 0 0 1.2em; }
.art-body pre code { background: none; padding: 0; color: inherit; }
.art-body blockquote { margin: 1.4em 0; padding: 14px 18px; border-left: 4px solid var(--blue); background: rgba(0, 91, 255, .06); border-radius: 0 12px 12px 0; font-size: 1.04em; }
.art-body blockquote p:last-child { margin-bottom: 0; }
.art-body img { max-width: 100%; height: auto; border-radius: 12px; }
.art-body figure { margin: 1.5em 0; }
.art-body figure img { display: block; margin: 0 auto; }
.art-body figcaption { text-align: center; font-size: 13.5px; color: var(--muted); margin-top: 8px; }
.art-body figure.art-w33 { max-width: 33%; } .art-body figure.art-w50 { max-width: 50%; } .art-body figure.art-w75 { max-width: 75%; }
.art-body figure.art-w33, .art-body figure.art-w50, .art-body figure.art-w75 { margin-left: auto; margin-right: auto; }
.art-body figure.art-left { float: left; margin: .3em 1.4em 1em 0; }
.art-body figure.art-right { float: right; margin: .3em 0 1em 1.4em; }
.art-body figure.art-left.art-w100, .art-body figure.art-right.art-w100 { float: none; margin: 1.5em auto; }
.art-body::after { content: ""; display: block; clear: both; }
.art-body table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: 15.5px; display: block; overflow-x: auto; }
.art-body th, .art-body td { border: 1px solid var(--border); padding: 9px 12px; text-align: left; vertical-align: top; min-width: 90px; }
.art-body th { background: rgba(0, 91, 255, .08); font-weight: 700; }
.art-body tr:nth-child(even) td { background: rgba(0, 0, 0, .02); }
/* врезки */
.art-note, .art-tip, .art-warn, .art-danger { margin: 1.4em 0; padding: 14px 18px 14px 52px; border-radius: 14px; position: relative; border: 1px solid; }
.art-note > :last-child, .art-tip > :last-child, .art-warn > :last-child, .art-danger > :last-child { margin-bottom: 0; }
.art-note::before, .art-tip::before, .art-warn::before, .art-danger::before { position: absolute; left: 16px; top: 13px; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: 15px; font-family: system-ui, sans-serif; }
.art-note { background: #eef4ff; border-color: #cfe0ff; } .art-note::before { content: "i"; background: #2f6bff; }
.art-tip { background: #e9f8ef; border-color: #bfeed3; } .art-tip::before { content: "✓"; background: #1a9d5a; }
.art-warn { background: #fff6e0; border-color: #ffe0a0; } .art-warn::before { content: "!"; background: #f59e0b; }
.art-danger { background: #ffecef; border-color: #ffc6d0; } .art-danger::before { content: "×"; background: #e5243b; }
/* шаги */
.art-steps { list-style: none; padding: 0; counter-reset: st; margin: 1.5em 0; }
.art-steps > li { counter-increment: st; position: relative; padding: 4px 0 4px 54px; margin: 0 0 1.1em; min-height: 40px; }
.art-steps > li::before { content: counter(st); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--blue); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; }
.art-steps > li > strong:first-child { display: block; font-size: 1.05em; }
/* колонки и галерея */
.art-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 1.4em 0; }
.art-cols > div > :last-child { margin-bottom: 0; }
.art-gallery { display: grid; gap: 10px; margin: 1.5em 0; grid-template-columns: repeat(2, 1fr); }
.art-gallery.art-g3 { grid-template-columns: repeat(3, 1fr); }
.art-gallery.art-g4 { grid-template-columns: repeat(4, 1fr); }
.art-gallery figure { margin: 0; }
.art-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
/* спойлер */
.art-body details { border: 1px solid var(--border); border-radius: 12px; margin: 1em 0; background: var(--surface, #fff); }
.art-body summary { padding: 12px 16px; cursor: pointer; font-weight: 700; list-style: none; position: relative; padding-right: 40px; }
.art-body summary::-webkit-details-marker { display: none; }
.art-body summary::after { content: "+"; position: absolute; right: 16px; top: 8px; font-size: 22px; color: var(--blue); }
.art-body details[open] > summary::after { content: "−"; }
.art-body details > :not(summary) { margin-left: 16px; margin-right: 16px; }
.art-body details > :last-child { margin-bottom: 14px; }
/* видео */
.art-video { position: relative; aspect-ratio: 16 / 9; margin: 1.5em 0; border-radius: 14px; overflow: hidden; background: #000; }
.art-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* кнопка */
.art-body a.art-btn { display: inline-block; background: var(--blue); color: #fff; text-decoration: none; padding: 11px 22px; border-radius: 12px; font-weight: 700; margin: .4em 0 1em; }
.art-body a.art-btn:hover { background: var(--blue-dark); }
/* карточка товара в тексте (цена и наличие подгружаются из базы при каждом показе) */
.art-product { margin: 1.4em 0; }
.art-product-card { display: grid; grid-template-columns: 128px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 14px 18px 14px 14px; border: 1px solid var(--border); border-radius: 18px; background: linear-gradient(135deg, #fff, #f6f9ff); text-decoration: none !important; color: var(--text) !important; max-width: 680px; margin: 1.3em 0; box-shadow: 0 2px 10px rgba(20, 40, 90, .07); transition: box-shadow .18s, transform .18s, border-color .18s; }
.art-product-card:hover { box-shadow: 0 10px 28px rgba(0, 91, 255, .16); transform: translateY(-2px); border-color: #b9d0ff; }
.art-product-card img, .art-product-card .art-ph { width: 128px; height: 128px; object-fit: cover; border-radius: 14px; background: #eef1f6; display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--muted); }
.apc-info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.apc-meta { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }
.apc-brand { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--blue); }
.apc-t { font-weight: 700; font-size: 16px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.apc-st { font-size: 12.5px; font-weight: 700; }
.apc-st.ok { color: #12905a; } .apc-st.no { color: #b26a00; }
.apc-side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.apc-p { font-weight: 800; font-size: 24px; letter-spacing: -.01em; white-space: nowrap; }
.apc-b { background: var(--blue); color: #fff; padding: 10px 16px; border-radius: 12px; font-weight: 700; font-size: 13.5px; white-space: nowrap; }
.art-product-card:hover .apc-b { background: var(--blue-dark); }
/* ссылка на товар в строке текста с актуальной ценой */
.art-body a.art-plink-live { text-decoration: none; background: rgba(0, 91, 255, .08); border-bottom: 2px solid rgba(0, 91, 255, .35); border-radius: 6px; padding: 1px 6px; color: var(--blue); font-weight: 600; white-space: normal; }
.art-body a.art-plink-live:hover { background: rgba(0, 91, 255, .16); }
.art-pp { background: var(--blue); color: #fff; border-radius: 6px; padding: 0 6px; font-size: .85em; font-weight: 700; margin-left: 4px; white-space: nowrap; }
/* в редакторе цену не знаем — показываем метку */
#ed a.art-plink { background: rgba(0, 91, 255, .08); border-bottom: 2px dashed rgba(0, 91, 255, .5); text-decoration: none; border-radius: 6px; padding: 1px 6px; font-weight: 600; }
#ed a.art-plink::after { content: " ₽ цена с сайта"; background: var(--blue); color: #fff; border-radius: 6px; padding: 0 6px; font-size: .78em; margin-left: 4px; font-weight: 700; }
/* лайки */
.at-like { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 34px 0 0; padding: 18px 20px; border: 1px solid var(--border); border-radius: 18px; background: #fafbfd; }
.at-like b { font-size: 16px; }
.at-like small { color: var(--muted); display: block; font-size: 13px; }
.lk-btn { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid #ffc2cd; background: #fff; color: #d6244a; border-radius: 999px; padding: 10px 20px; font: inherit; font-weight: 800; font-size: 15px; cursor: pointer; transition: transform .12s, background .15s; }
.lk-btn:hover { background: #fff1f4; transform: scale(1.04); }
.lk-btn.on { background: #e5243b; border-color: #e5243b; color: #fff; }
.lk-btn svg { width: 20px; height: 20px; fill: currentColor; }
.lk-btn.pop svg { animation: lkpop .35s; }
@keyframes lkpop { 0% { transform: scale(1); } 40% { transform: scale(1.5); } 100% { transform: scale(1); } }
@media (max-width: 640px) {
  .art-body { font-size: 16px; }
  .art-body h2 { font-size: 22px; } .art-body h3 { font-size: 19px; }
  .art-cols { grid-template-columns: 1fr; }
  .art-gallery.art-g3, .art-gallery.art-g4 { grid-template-columns: repeat(2, 1fr); }
  .art-body figure.art-left, .art-body figure.art-right { float: none; margin: 1.2em auto; }
  .art-body figure.art-w33, .art-body figure.art-w50 { max-width: 100%; }
  .art-product-card { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .art-product-card img, .art-product-card .art-ph { width: 88px; height: 88px; }
  .apc-side { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
  .apc-p { font-size: 21px; }
}

/* ---------- разъёмы: схема + таблица расшифровки ---------- */
.cn-box { margin: 1.6em 0; border: 1px solid var(--border); border-radius: 18px; background: #fff; padding: 16px 18px 14px; box-shadow: 0 2px 10px rgba(20, 40, 90, .06); }
.cn-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.cn-title { font-size: 18px; margin-right: 10px; }
.cn-maker { color: var(--muted); font-size: 13.5px; }
.cn-mir { border: 1px solid #d5dbe6; background: #fff; border-radius: 999px; padding: 6px 14px; font: inherit; font-size: 13px; font-weight: 700; color: #2b3445; cursor: pointer; }
.cn-mir:hover { background: #f1f5ff; border-color: #b9d0ff; }
.cn-grid { display: grid; grid-template-columns: minmax(260px, 420px) minmax(0, 1fr); gap: 20px; align-items: start; }
.cn-fig { position: sticky; top: 90px; }
.cn-svgw { background: linear-gradient(180deg, #eef2f8, #e4e9f1); border-radius: 14px; padding: 14px 10px; display: flex; justify-content: center; overflow-x: auto; }
.cn-svg { max-width: 100%; height: auto; display: block; }
.cn-house path, .cn-house rect { fill: #2b313b; stroke: #0f1319; stroke-width: 2; }
.cn-pin { cursor: pointer; outline: none; }
.cn-pin .cn-dot { stroke: rgba(0, 0, 0, .5); stroke-width: 1.5; transition: transform .12s; }
.cn-pin .cn-ring { stroke: rgba(255, 255, 255, .35); stroke-width: 1; }
.cn-pin .cn-halo { fill: none; stroke: transparent; stroke-width: 3; }
.cn-pin.un .cn-dot { opacity: .5; stroke-dasharray: 3 3; }
.cn-pin:hover .cn-dot, .cn-pin.hv .cn-dot { transform: scale(1.12); }
.cn-pin.hv .cn-halo { stroke: rgba(255, 255, 255, .55); }
.cn-pin.on .cn-halo { stroke: #ffd400; stroke-width: 3.5; }
.cn-pin:focus-visible .cn-halo { stroke: #7fb0ff; }
.cn-view { text-align: center; font-size: 12.5px; color: var(--muted); margin-top: 6px; }
.cn-card { margin-top: 10px; min-height: 66px; border: 1px dashed #cfd6df; border-radius: 12px; padding: 10px 12px; font-size: 14px; background: #fafbfd; }
.cn-card .cn-hint { color: var(--muted); font-size: 13px; text-align: center; line-height: 44px; }
.cn-sel { display: flex; gap: 10px; align-items: flex-start; }
.cn-sel .t { font-weight: 800; line-height: 1.3; }
.cn-sel .s { font-size: 13px; color: var(--muted); margin-top: 2px; }
.cn-sel .x { margin-top: 5px; line-height: 1.45; }
.cn-sw { flex: none; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid rgba(0, 0, 0, .35); position: relative; overflow: hidden; display: inline-block; vertical-align: middle; }
.cn-sw i { position: absolute; left: -4px; right: -4px; top: 50%; height: 8px; transform: translateY(-50%) rotate(-45deg); }
.cn-sw.none { background: repeating-linear-gradient(45deg, #e6eaf0 0 4px, #fff 4px 8px); }
.cn-tbl { max-height: 520px; overflow: auto; border: 1px solid var(--border); border-radius: 12px; }
.cn-t { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 0; display: table; }
.cn-t th { position: sticky; top: 0; background: #f1f5fb; text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #5b6676; padding: 8px 10px; border: 0; border-bottom: 1px solid var(--border); z-index: 1; }
.cn-t td { padding: 8px 10px; border: 0; border-bottom: 1px solid #eef1f6; vertical-align: top; background: transparent !important; }
.cn-t tr { cursor: pointer; outline: none; transition: background .12s; }
.cn-t tr:hover td, .cn-t tr.hv td { background: #f3f7ff !important; }
.cn-t tr.on td { background: #fff4c2 !important; }
.cn-t tr.un td { color: #8b94a3; }
.cn-t td.n { width: 44px; white-space: nowrap; font-size: 15px; }
.cn-t td.c { width: 150px; }
.cn-t td.c span:last-child { margin-left: 7px; font-size: 13px; vertical-align: middle; }
.cn-t .d { font-size: 13px; color: #5b6676; margin-top: 3px; line-height: 1.4; }
.cn-t .mut { font-weight: 400; }
.cn-kind { font-style: normal; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: #eef1f6; color: #4a5568; margin-left: 4px; white-space: nowrap; }
.cn-kind.k-power { background: #ffe9e9; color: #b3261e; } .cn-kind.k-ground { background: #e8e8ea; color: #222; } .cn-kind.k-speaker { background: #e6f4ea; color: #137333; }
.cn-kind.k-signal { background: #e8f0fe; color: #1a56c4; } .cn-kind.k-data { background: #f3e8fd; color: #7b2fc4; } .cn-kind.k-antenna { background: #fff4d6; color: #8a5a00; }
.cn-note { margin-top: 12px; font-size: 13.5px; color: #5b6676; line-height: 1.5; padding: 10px 12px; background: #f7f9fc; border-radius: 10px; }
.cn-box:not(.cn-ready) .cn-tbl { max-height: none; }
/* заглушка в редакторе статьи */
.art-conn { margin: 1.4em 0; padding: 18px; border: 2px dashed #9db6e6; border-radius: 14px; background: #f3f7ff; color: #2b4a8a; font-weight: 700; text-align: center; }
.art-conn::before { content: "🔌 Разъём: "; font-weight: 600; }
@media (max-width: 760px) {
  .cn-grid { grid-template-columns: 1fr; }
  .cn-fig { position: static; }
  .cn-box { padding: 12px; }
  .cn-tbl { max-height: none; }
  .cn-t td.c { width: auto; }
}
@media print { .cn-mir, .cn-card { display: none; } .cn-grid { grid-template-columns: 1fr; } .cn-tbl { max-height: none; } }
.cn-box .cn-t { display: table; width: 100%; margin: 0; font-size: 14.5px; overflow: visible; }
.cn-box .cn-t th, .cn-box .cn-t td { min-width: 0; border-left: 0; border-right: 0; border-top: 0; }
.cn-box .cn-t td { border-bottom: 1px solid #eef1f6; }
.cn-box .cn-t th { border-bottom: 1px solid var(--border); }
.cn-box .cn-t tr:nth-child(even) td { background: transparent; }
.cn-box .cn-t td.c { white-space: nowrap; width: auto; }
.cn-box .cn-t td.c .cn-sw { min-width: 22px; }
.cn-box .cn-t td.c span:last-child { display: inline-block; vertical-align: middle; }
.cn-compact .cn-grid { grid-template-columns: 1fr; }
.cn-compact .cn-tbl { display: none; }
.cn-compact .cn-fig { position: static; }
.cn-svgw { background: #e9edf4; }
.cn-notch { fill: #e9edf4; stroke: #0f1319; stroke-width: 2; }
/* расшифровка — под схемой, на всю ширину */
.cn-box .cn-grid { grid-template-columns: 1fr; gap: 16px; }
.cn-box .cn-fig { position: static; max-width: 560px; margin: 0 auto; width: 100%; }
.cn-box .cn-tbl { max-height: none; overflow: visible; }
.cn-box .cn-t { font-size: 15px; }
.cn-box .cn-t th { white-space: nowrap; position: static; }
.cn-box .cn-t td { padding: 10px 12px; }
.cn-box .cn-t td.n { width: 56px; }
.cn-box .cn-t td.c { width: 170px; }
@media (max-width: 760px) { .cn-box .cn-t td.c { width: auto; } .cn-box .cn-t td { padding: 9px 8px; } }
.cn-pin rect.cn-bar { stroke: #000; stroke-width: 3; }
.cn-pin rect.cn-ring { stroke: #000; stroke-width: 3; }
.cn-pin.un rect.cn-bar { opacity: .55; }
.cn-pin .cn-lab { paint-order: stroke; stroke: #fff; stroke-width: 5px; stroke-linejoin: round; }
.cn-pin.on .cn-lab { fill: #b3261e; }
.cn-pin:hover .cn-bar, .cn-pin.hv .cn-bar { filter: brightness(1.12); }
/* длинная расшифровка — в 2 колонки, компактнее */
.cn-tcols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; align-items: start; }
.cn-box .cn-tcols .cn-t { font-size: 14px; }
.cn-box .cn-tcols .cn-t td { padding: 6px 8px; }
.cn-box .cn-tcols .cn-t td.n { width: 38px; }
.cn-box .cn-tcols .cn-t td.c { width: 135px; }
.cn-box .cn-tcols .cn-t td.c .cn-sw { width: 18px; height: 18px; min-width: 18px; }
.cn-box .cn-tcols .cn-t td.c span:last-child { font-size: 12.5px; white-space: normal; }
@media (max-width: 900px) { .cn-tcols { grid-template-columns: 1fr; } }
/* схема в статье сворачивается */
.cn-fold .cn-head { cursor: pointer; align-items: center; }
.cn-fold.cn-ready .cn-head:hover .cn-title { color: var(--blue); }
.cn-fold-b { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--blue); white-space: nowrap; padding: 6px 12px; border: 1px solid #cfd8ea; border-radius: 999px; background: #f3f7ff; }
.cn-fold-b i { font-style: normal; display: inline-block; transition: transform .2s; }
.cn-fold.cn-ready:not(.cn-folded) .cn-fold-b i { transform: rotate(180deg); }
.cn-fold .cn-head { gap: 10px; }
.cn-folded .cn-body { display: none; }
.cn-folded { padding-bottom: 12px; }
@media print { .cn-folded .cn-body { display: block; } .cn-fold-b { display: none; } }
.cn-folded .cn-head { margin-bottom: 0; }
/* цвета в две колонки — переносятся и не залезают на название */
.cn-box .cn-tcols .cn-t td.c { white-space: normal; width: 150px; padding-right: 14px; }
.cn-box .cn-tcols .cn-t td.c span:last-child { display: inline-block; max-width: calc(100% - 30px); line-height: 1.25; margin-left: 6px; vertical-align: middle; overflow-wrap: anywhere; }
.cn-box .cn-tcols .cn-t td.f { padding-left: 10px; }
/* меньше пустого места вокруг разъёмов в статье */
.cn-box { margin: 14px 0; }
.cn-box + .cn-box { margin-top: 10px; }
.cn-box + p:has(> br:only-child), .cn-box + p:empty { display: none; }
/* кнопки шапки: «Отразить» левее, «Свернуть/Показать» — в правом углу */
.cn-btns { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-wrap: nowrap; }
.cn-btns .cn-fold-b, .cn-btns .cn-mir { margin: 0; }
/* ===== телефон: расшифровка контактов компактными карточками ===== */
.cn-un-b { display: none; }
@media (max-width: 760px) {
  .cn-box .cn-tbl { border: 0; border-radius: 0; }
  .cn-box .cn-tcols { display: block; }
  .cn-box .cn-t, .cn-box .cn-t tbody { display: block; width: 100%; }
  .cn-box .cn-t thead { display: none; }
  .cn-box .cn-t tr { display: grid; grid-template-columns: 38px 1fr; column-gap: 8px; align-items: start; padding: 9px 4px; border-bottom: 1px solid #eef1f6; }
  .cn-box .cn-t tr.un { display: none; }
  .cn-box.cn-showun .cn-t tr.un { display: grid; opacity: .75; }
  .cn-box .cn-t td, .cn-box .cn-tcols .cn-t td { display: block; border: 0; padding: 0; width: auto; background: transparent; }
  .cn-box .cn-t td.n { grid-row: 1 / span 2; grid-column: 1; align-self: center; text-align: center; width: auto; font-size: 15px; font-weight: 800; background: #eef2f9; border-radius: 10px; padding: 6px 0; min-width: 0; }
  .cn-box .cn-t td.f { grid-column: 2; grid-row: 1; padding: 0; font-size: 15px; line-height: 1.3; }
  .cn-box .cn-t td.c, .cn-box .cn-tcols .cn-t td.c { grid-column: 2; grid-row: 2; white-space: normal; margin-top: 4px; padding: 0; font-size: 13px; color: #5b6676; }
  .cn-box .cn-t td.c .cn-sw, .cn-box .cn-tcols .cn-t td.c .cn-sw { width: 16px; height: 16px; min-width: 16px; vertical-align: -3px; }
  .cn-box .cn-t td.c span:last-child, .cn-box .cn-tcols .cn-t td.c span:last-child { display: inline; max-width: none; margin-left: 6px; font-size: 13px; }
  .cn-box .cn-t .d { margin-top: 2px; font-size: 13px; }
  .cn-box .cn-t tr.on { background: #fff4c2; border-radius: 10px; }
  .cn-un-b { display: block; width: 100%; margin: 0 0 6px; padding: 9px; border: 1px dashed #cfd6df; background: #fafbfd; border-radius: 10px; font: inherit; font-size: 13.5px; font-weight: 700; color: #5b6676; cursor: pointer; }
  .cn-un-b::before { content: "Показать неиспользуемые контакты (" attr(data-n) ")"; }
  .cn-box.cn-showun .cn-un-b::before { content: "Скрыть неиспользуемые контакты"; }
}
@media (max-width: 760px) { .cn-box .cn-t td.n, .cn-box .cn-tcols .cn-t td.n { background: #eef2f9; padding: 6px 0; } .cn-box .cn-t tr.on td.n { background: #ffe680; } }
/* телефон: описание сокращено до одной строки, полностью — у выбранного контакта */
@media (max-width: 760px) {
  .cn-box .cn-t .d { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; line-clamp: 1; overflow: hidden; }
  .cn-box .cn-t tr.on .d { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
}
/* телефон: шрифт карточек контактов мельче */
@media (max-width: 760px) {
  .cn-box .cn-t tr { padding: 7px 3px; grid-template-columns: 32px 1fr; }
  .cn-box .cn-t td.n { font-size: 13px; }
  .cn-box .cn-t td.f { font-size: 13px; line-height: 1.25; }
  .cn-box .cn-t .d { font-size: 11.5px; line-height: 1.3; }
  .cn-box .cn-t td.c, .cn-box .cn-tcols .cn-t td.c, .cn-box .cn-t td.c span:last-child, .cn-box .cn-tcols .cn-t td.c span:last-child { font-size: 11.5px; }
  .cn-box .cn-t td.c .cn-sw, .cn-box .cn-tcols .cn-t td.c .cn-sw { width: 13px; height: 13px; min-width: 13px; vertical-align: -2px; }
  .cn-box .cn-t .cn-kind { font-size: 10px; padding: 0 6px; }
  .cn-un-b { font-size: 12px; padding: 7px; }
}
/* телефон: строка с названием цвета в списке не показывается (цвет виден на схеме и в плашке над списком) */
@media (max-width: 760px) {
  .cn-box .cn-t td.c, .cn-box .cn-tcols .cn-t td.c { display: none; }
  .cn-box .cn-t td.n { grid-row: 1; align-self: start; }
}
/* телефон: описание в скобках сразу после названия */
@media (max-width: 760px) {
  .cn-box .cn-t td.f { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
  .cn-box .cn-t tr.on td.f { display: block; overflow: visible; }
  .cn-box .cn-t td.f .d, .cn-box .cn-t tr.on td.f .d { display: inline; margin: 0; font-size: 11.5px; color: #5b6676; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
  .cn-box .cn-t td.f .d::before { content: "("; } .cn-box .cn-t td.f .d::after { content: ")"; }
}
/* телефон: плашка типа контакта в списке не показывается */
@media (max-width: 760px) { .cn-box .cn-t .cn-kind { display: none; } }
/* выравнивание содержимого строк по центру по вертикали */
.cn-box .cn-t td { vertical-align: middle; }
@media (max-width: 760px) { .cn-box .cn-t tr { align-items: center; } .cn-box .cn-t td.n { align-self: center; } }
.cn-pdf { border: 1px solid #d5dbe6; background: #fff; border-radius: 999px; padding: 6px 14px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; color: #2b3445; white-space: nowrap; }
.cn-pdf:hover { background: #f1f5ff; border-color: #b9d0ff; }
@media (max-width: 520px) { .cn-btns { flex-wrap: wrap; justify-content: flex-end; } }
@media print { .cn-pdf { display: none; } }
/* фото в статье: всегда вмещаются по ширине, пропорции сохраняются; клик — увеличение */
.art-body img { max-width: 100% !important; height: auto !important; }
.art-body figure, .art-body .art-gallery { max-width: 100%; }
.art-body figure img { max-width: 100% !important; }
.art-body img { cursor: zoom-in; }
.art-body a img, .art-body .cn-box img, .art-body .art-product img { cursor: auto; }
.iz-box { position: fixed; inset: 0; z-index: 9999; background: rgba(8, 12, 20, .92); display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; user-select: none; -webkit-user-select: none; }
.iz-img { max-width: none; max-height: none; transform-origin: center center; will-change: transform; cursor: grab; border-radius: 0 !important; }
.iz-bar { position: absolute; top: 12px; right: 12px; display: flex; gap: 8px; }
.iz-bar button { width: 42px; height: 42px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .16); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; backdrop-filter: blur(6px); }
.iz-bar button:hover { background: rgba(255, 255, 255, .3); }
