/* Паспорт комплекта — одна вёрстка для экрана (страница сайта) и печати (PDF A4).
   На экране страницы идут карточками и тянутся по высоте, в печати каждая .pg — ровно лист A4. */
@font-face { font-family: Manrope; font-weight: 200 800; font-display: swap; src: url(../fonts/manrope-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: Manrope; font-weight: 200 800; font-display: swap; src: url(../fonts/manrope-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215; }
:root { --bg: #fffaf2; --soft: #fff3e2; --ink: #1f2633; --mut: #5b6372; --dim: #8b919c; --line: #eadfce;
  --acc: #ff8a1f; --acc2: #e5700a; --sun: #ffc23d; --sky: #2f9be8; --green: #1f9d63; --red: #e2513b; --dark: #2a2f38;
  --grad: linear-gradient(135deg, #ff9a2e 0%, #ffc23d 100%); }
* { box-sizing: border-box; }
html { background: #efe7db; -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 10.5pt/1.5 Manrope, 'Segoe UI', Arial, sans-serif; color: var(--ink); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
h1, h2, h3, h4 { margin: 0; letter-spacing: -.02em; }
p { margin: 0; }
img, svg { max-width: 100%; display: block; }
b { font-weight: 700; }

/* ---------- лист ---------- */
.pg { position: relative; background: #fff; width: 210mm; min-height: 297mm; margin: 0 auto 10mm; padding: 13mm 14mm 16mm; overflow: hidden; }
.pg::before { content: ''; position: absolute; left: 0; top: 0; right: 0; height: 4mm; background: var(--grad); }
.pg-foot { position: absolute; left: 14mm; right: 14mm; bottom: 7mm; display: flex; justify-content: space-between; font-size: 7.5pt; color: var(--dim); border-top: 1px solid var(--line); padding-top: 2mm; }
.pg-foot b { color: var(--acc2); }
.sec-n { display: inline-flex; align-items: center; gap: 2.5mm; font-size: 9pt; font-weight: 800; color: var(--acc2); margin-bottom: 2mm; }
.sec-n i { font-style: normal; width: 7mm; height: 7mm; border-radius: 50%; background: var(--grad); color: #fff; display: grid; place-items: center; font-size: 9pt; }
.pg h2 { font-size: 20pt; line-height: 1.12; margin-bottom: 2mm; }
.lead { color: var(--mut); font-size: 10.5pt; margin-bottom: 5mm; max-width: 165mm; }
.h3 { font-size: 12pt; font-weight: 800; margin: 5mm 0 2.5mm; display: flex; align-items: center; gap: 2mm; }
.h3 .tag { font-size: 7.5pt; font-weight: 700; padding: .6mm 2.4mm; border-radius: 99px; background: var(--soft); color: var(--acc2); }

/* ---------- обложка ---------- */
.cover { background: radial-gradient(160mm 110mm at 90% 0%, rgba(255, 194, 61, .35), transparent 70%), linear-gradient(180deg, #fff4e3, #fff 60%); }
.cv-top { display: flex; justify-content: space-between; align-items: center; margin-top: 3mm; }
.logo { display: flex; align-items: center; gap: 2.5mm; font-weight: 800; font-size: 11pt; }
.cv-kick { display: inline-block; margin-top: 12mm; font-size: 9.5pt; font-weight: 800; color: var(--acc2); background: rgba(255, 138, 31, .12); padding: 1.2mm 3.5mm; border-radius: 99px; }
.cover h1 { font-size: 30pt; line-height: 1.04; font-weight: 800; margin-top: 4mm; letter-spacing: -.03em; }
.cover h1 span { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cv-sub { font-size: 11.5pt; color: var(--mut); margin-top: 3mm; max-width: 150mm; }
.cv-img { margin: 6mm -4mm 0; border-radius: 6mm; overflow: hidden; }
.cv-img img { width: 100%; height: 88mm; object-fit: cover; object-position: 50% 55%; }
.cv-form { display: grid; grid-template-columns: 1.15fr 1fr; gap: 5mm; margin-top: 6mm; }
.box { border: 1.5px solid var(--line); border-radius: 4mm; padding: 4mm 5mm; background: #fff; }
.box h4 { font-size: 10.5pt; margin-bottom: 2.5mm; }
.chk-l { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.8mm; font-size: 9.5pt; }
.chk-l li { display: flex; align-items: center; gap: 2.5mm; }
.cb { flex: none; width: 4.2mm; height: 4.2mm; border: 1.5px solid var(--acc); border-radius: 1mm; }
.fill { flex: 1; border-bottom: 1px solid #b9b2a6; min-width: 12mm; height: 4.5mm; }
.qty { flex: none; width: 10mm; border-bottom: 1px solid #b9b2a6; height: 4.5mm; }
.fields { display: grid; gap: 3mm; font-size: 9.5pt; }
.fields div { display: flex; align-items: flex-end; gap: 2mm; white-space: nowrap; }

/* ---------- таблицы ---------- */
table { width: 100%; border-collapse: collapse; font-size: 9.5pt; }
th, td { text-align: left; padding: 2.2mm 2.5mm; border-bottom: 1px solid var(--line); vertical-align: top; }
th { font-size: 8pt; font-weight: 800; color: var(--dim); text-transform: uppercase; letter-spacing: .04em; background: var(--soft); }
td.n { width: 8mm; color: var(--dim); font-weight: 700; }
td.q { width: 22mm; font-weight: 800; white-space: nowrap; }
td.m { width: 20mm; }
td small { display: block; color: var(--mut); font-size: 8.5pt; margin-top: .6mm; }
.tw { border: 1.5px solid var(--line); border-radius: 4mm; overflow: hidden; }
.tw tr:last-child td { border-bottom: 0; }
.ico { width: 13mm; }
.ico svg { width: 11mm; height: 11mm; }

/* ---------- карточки и сетки ---------- */
.g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
.g3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4mm; }
.card { border-radius: 4mm; background: var(--bg); padding: 4mm 4.5mm; }
.card h4 { font-size: 10.5pt; margin-bottom: 2mm; display: flex; align-items: center; gap: 2mm; }
.card p, .card li { font-size: 9.2pt; color: var(--mut); }
.card ul { margin: 0; padding-left: 4mm; display: grid; gap: 1mm; }
.kv { display: grid; grid-template-columns: 1fr auto; gap: 1.2mm 3mm; font-size: 8.8pt; margin: 0; }
.kv dt { color: var(--mut); }
.kv dd { margin: 0; font-weight: 700; text-align: right; }
.spec img { height: 17mm; width: auto; margin: 0 auto 3mm; object-fit: contain; mix-blend-mode: multiply; }
.note { font-size: 8.5pt; color: var(--mut); background: var(--soft); border-radius: 3mm; padding: 2.5mm 3.5mm; margin-top: 4mm; }
.note b { color: var(--ink); }
.warn { font-size: 9pt; border-left: 1.2mm solid var(--red); background: #fff1ee; border-radius: 0 3mm 3mm 0; padding: 3mm 4mm; margin-top: 4mm; }
.warn b { color: var(--red); }
.ok { border-left-color: var(--green); background: #eefaf3; }
.ok b { color: var(--green); }
.fig { border-radius: 4mm; background: var(--bg); padding: 3mm; }
.fig-t { font-size: 10pt; font-weight: 800; margin-bottom: 2mm; display: flex; gap: 2mm; align-items: center; }
.fig-t .lt { width: 6.5mm; height: 6.5mm; border-radius: 1.6mm; background: var(--dark); color: #fff; display: grid; place-items: center; font-size: 9pt; }
.fig-c { font-size: 8.8pt; color: var(--mut); margin-top: 2mm; }

/* шаги */
.steps { counter-reset: s; display: grid; gap: 2.6mm; }
.st { display: grid; grid-template-columns: 9mm 1fr; gap: 3mm; align-items: start; }
.st::before { counter-increment: s; content: counter(s); width: 9mm; height: 9mm; border-radius: 50%; background: var(--grad); color: #fff; font-weight: 800; font-size: 11pt; display: grid; place-items: center; }
.st b { display: block; font-size: 10pt; }
.st span { font-size: 9pt; color: var(--mut); }
.tools { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; }
.tool { background: var(--bg); border-radius: 3.5mm; padding: 3mm; text-align: center; font-size: 8.5pt; }
.tool svg { width: 12mm; height: 12mm; margin: 0 auto 1.5mm; }
.tool b { display: block; font-size: 9pt; }
.tool small { color: var(--mut); }
.tool.in { outline: 1.5px solid var(--green); }
.tool.el { outline: 1.5px dashed var(--sky); }

/* ошибки */
.err { display: grid; grid-template-columns: 8mm 1fr; gap: 2.5mm; padding: 2.2mm 0; border-bottom: 1px solid var(--line); font-size: 9pt; }
.err:last-child { border-bottom: 0; }
.err i { font-style: normal; width: 7mm; height: 7mm; border-radius: 50%; background: #fde3de; color: var(--red); font-weight: 800; display: grid; place-items: center; }
.err b { display: block; font-size: 9.5pt; }
.err span { color: var(--mut); }
.codes td:first-child { font-weight: 800; color: var(--red); width: 12mm; }
.codes td { font-size: 8.8pt; padding: 1.7mm 2.2mm; }

/* FAQ */
.faq { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm 5mm; }
.qa b { display: block; font-size: 9.6pt; margin-bottom: .8mm; }
.qa p { font-size: 8.9pt; color: var(--mut); }
.contacts { display: grid; grid-template-columns: 1fr auto; gap: 5mm; align-items: center; margin-top: 5mm; background: var(--dark); color: #fff; border-radius: 4mm; padding: 5mm 6mm; }
.contacts b { font-size: 15pt; letter-spacing: -.02em; }
.contacts p { color: rgba(255, 255, 255, .78); font-size: 9pt; margin-top: 1mm; }
.contacts img { width: 24mm; height: 24mm; background: #fff; border-radius: 2mm; padding: 1.5mm; }

/* ---------- экран: страница на сайте ---------- */
.web-bar { position: sticky; top: 0; z-index: 5; background: rgba(255, 250, 242, .92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.web-bar .in { max-width: 210mm; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 12px; }
.web-bar a { color: var(--ink); text-decoration: none; font-weight: 700; font-size: 14px; }
.web-bar .dl { margin-left: auto; background: var(--acc); color: #fff; padding: 9px 16px; border-radius: 99px; font-size: 14px; }
.web-wrap { padding: 8mm 0 4mm; }
@media screen and (max-width: 820px) {
  body { font-size: 15px; }
  .pg { width: auto; min-height: 0; margin: 0 10px 14px; padding: 26px 16px 46px; border-radius: 14px; }
  .pg-foot { left: 16px; right: 16px; bottom: 12px; }
  .g2, .g3, .cv-form, .faq, .contacts { grid-template-columns: 1fr; }
  .tools { grid-template-columns: repeat(2, 1fr); }
  .pg h2 { font-size: 24px; }
  .cover h1 { font-size: 32px; }
  table { font-size: 13px; }
  .tw { overflow-x: auto; }
}
@media print {
  @page { size: A4; margin: 0; }
  html, body { background: #fff; }
  .pg { margin: 0; height: 297mm; page-break-after: always; break-after: page; }
  .pg:last-child { page-break-after: auto; break-after: auto; }
  .web-bar, .web-wrap > .web-only { display: none !important; }
  .web-wrap { padding: 0; }
}

.spec { padding: 3.5mm 3.5mm; }
.spec .kv { font-size: 8pt; grid-template-columns: auto 1fr; gap: .9mm 2mm; }
.spec .kv dt { white-space: nowrap; }
.spec h4 { font-size: 10pt; }
.fig img.schB { max-height: 112mm; width: auto; margin: 0 auto; }
