/* naapb.ru — слой сайта поверх темы Hallmark «основа» (theme.css копируется из lab/sandbox/themes/hallmark-main при сборке).
   Здесь только то, чего нет в теме: шапка в две строки с выпадающими списками, крошки, заголовок страницы, текст из content/,
   таблицы, плашка захвата, карточка услуги, подвал со списками. Только токены темы. */

/* ── шапка: строка 1 — знак, название, кнопка; строка 2 (от 62rem) — 7 разделов с выпадающими списками ── */
.nav__inner{flex-wrap:wrap;row-gap:0}
.nav__cta{margin-left:auto}
.nav__menu{order:2}
@media (min-width:62rem){
  .nav__inner{min-height:0;padding-top:var(--space-sm)}
  .nav__center{order:3;flex:1 0 100%;margin:var(--space-sm) 0 0;padding:var(--space-2xs) 0;gap:0;border-top:var(--rule-hair) solid var(--color-brand-rule);flex-wrap:wrap}
  .nav__cta{margin-left:auto}
}
.nav__item{position:relative;display:flex}
button.nav__link{background:none;border:0;font:inherit;font-size:var(--text-sm);cursor:pointer}
.nav__item > .nav__link::after{content:"";display:inline-block;width:0.4em;height:0.4em;margin-left:0.45em;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-0.2em) rotate(45deg);opacity:.8}
.nav__dd{display:none;position:absolute;left:0;top:100%;z-index:30;min-width:16rem;background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule);border-top:3px solid var(--color-edge);box-shadow:0 12px 28px -12px oklch(21% 0.035 275 / .35);padding:var(--space-2xs) 0}
.nav__dd a{display:block;padding:var(--space-xs) var(--space-md);color:var(--color-ink);text-decoration:none;font-size:var(--text-sm);white-space:nowrap}
@media (hover:hover){.nav__dd a:hover{background:var(--color-paper-2)}}
.nav__item:hover > .nav__dd,.nav__item:focus-within > .nav__dd{display:block}
.nav__item.is-shut > .nav__dd{display:none}
.nav__link[aria-current="page"]{background:var(--color-brand);color:var(--color-on-brand)}
.nav__sheet{max-height:calc(100svh - 6rem);overflow-y:auto}
.nav__sheet a,.nav__sh{color:var(--color-ink)}
.nav__sh{margin:0;padding:var(--space-sm);font-weight:600}
.nav__sub{display:grid;padding-left:var(--space-md);border-left:2px solid var(--color-rule-2);margin:0 0 var(--space-xs) var(--space-sm)}
.nav__sub a{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}
.nav--lp .nav__inner{justify-content:space-between}
.nav__mail{color:var(--color-on-brand);font-size:var(--text-sm);white-space:nowrap}
@media (max-width:39.99rem){.nav__mail{display:none}}

/* ── крошки ── */
.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-xs);font-size:var(--text-sm);color:var(--color-muted);margin:0 0 var(--space-lg)}
.crumbs a{color:var(--color-muted)}
.crumbs [aria-current]{color:var(--color-ink-2)}

/* ── первый экран страниц (форма справа), без высоты окна ── */
main.wrap{padding-top:0}
.hx--page{min-height:0;margin-inline:calc(-1 * var(--page-gutter));background:transparent}
.hx--page .hx__scr{padding-block:var(--space-xl) var(--space-2xl)}
.hx--page h1{font-size:clamp(1.875rem, 1.3rem + 2vw, 3rem)}
.hx--home{min-height:min(calc(100svh - 7rem), 52rem);margin-inline:calc(-1 * var(--page-gutter));background:transparent}
.hx .pbar{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-xl);margin:0}
.hx .pbar > div{padding-inline:0;border-left:0;border-bottom:var(--rule-hair) solid var(--color-rule)}
.hx .pbar b{font-size:var(--text-lg)}
.hx__note{margin:0}
.hx__side{align-self:start}
@media (min-width:60rem){.hx__side{position:sticky;top:var(--space-md)}}
@media (max-width:59.99rem){
  .hx--page .hx__main .lede{order:0}
  .hx--lp .hx__side{order:1}
  .hx--lp .hx__main .lede,.hx--lp .hx__main .pbar{order:2}
}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead [aria-invalid="true"]{border-color:var(--color-error);outline:2px solid var(--color-error)}
.lead.is-ok .form-msg{color:var(--color-success);font-weight:600}

/* ── заголовок справочных страниц и статей ── */
.phead{padding-block:var(--space-xl) 0;display:grid;gap:var(--space-md);max-width:60rem}
.phead .crumbs{margin:0}
.phead h1{font-size:clamp(1.875rem, 1.3rem + 2vw, 3rem);color:var(--color-ink)}
.phead .k{margin:0}
.phead .stamp{border-block:0;padding:0}
.answer{border-left:var(--space-2xs) solid var(--color-brand);background:var(--color-paper-2);padding:var(--space-md) var(--space-lg);font-size:var(--text-lg);line-height:1.5;color:var(--color-ink)}
.answer p:last-child{margin:0}

/* ── текст из content/ ── */
main .blk{margin-block:var(--space-2xl)}
.md,.prose{max-width:52rem;color:var(--color-ink-2)}
.md > :last-child,.prose > :last-child{margin-bottom:0}
.md ul,.md ol,.prose ul,.prose ol{margin:0 0 var(--space-md);padding-left:1.25rem}
.md li,.prose li{margin-bottom:var(--space-2xs)}
.md li > ul{margin:var(--space-2xs) 0 0}
.md h3,.prose h3{font-size:var(--text-lg);margin:var(--space-lg) 0 var(--space-sm);color:var(--color-ink)}
.prose h2{margin-top:var(--space-xl)}
.md b,.prose b{color:var(--color-ink);font-weight:600}
.md code{font-family:var(--font-mono);font-size:.9em}
.md blockquote{margin:0 0 var(--space-md);padding-left:var(--space-md);border-left:3px solid var(--color-rule)}
.md .tw,.prose .tw{margin:0 0 var(--space-md)}
.prose .note,.note{background:var(--color-paper-2);border-left:var(--space-2xs) solid var(--color-brand);padding:var(--space-sm) var(--space-md)}
.prose .grid{margin-bottom:var(--space-md)}
.kv{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:var(--space-xs) var(--space-md);margin:0 0 var(--space-md)}
.kv dt{color:var(--color-muted)}
.kv dd{margin:0}
@media (max-width:39.99rem){.kv{grid-template-columns:minmax(0,1fr)}.kv dd{margin-bottom:var(--space-xs)}}

/* таблицы текста: шапка-спецификация, строки с зеброй; шире экрана — прокрутка внутри блока */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl,.prose table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:1.45;font-variant-numeric:tabular-nums;min-width:32rem}
.tbl th,.prose th{font:500 var(--text-xs)/1.25 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);text-align:left;vertical-align:bottom;padding:0 var(--space-sm) var(--space-sm);border-bottom:3px solid var(--color-brand)}
.tbl td,.prose td{padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule);vertical-align:top;color:var(--color-ink)}
.tbl tbody tr:nth-child(even),.prose tbody tr:nth-child(even){background:var(--color-paper-2)}
.tbl td.num,.prose td.num{font-weight:600;min-width:8rem}  /* без nowrap: в плашках бывают цены-фразы; внутри суммы — неразрывные пробелы (NB) */
/* в теме у ячеек overflow-wrap:anywhere — авто-раскладка сжимает колонку до одной буквы; переносим только по словам */
.tbl th,.tbl td,.prose th,.prose td{overflow-wrap:break-word;hyphens:manual}
.tbl th:last-child,.tbl td:last-child{min-width:7rem}
.tbl th:first-child,.tbl td:first-child{min-width:6.5rem}
.tbl tr.grp th{padding-top:var(--space-lg);color:var(--color-brand);font:700 var(--text-base)/1.2 var(--font-display);text-transform:none;letter-spacing:0}
@media (max-width:39.99rem){.tbl,.prose table{min-width:28rem}}

/* ── плашка захвата ── */
.capbar .plate{max-width:52rem;padding-bottom:var(--space-md)}
.capbar .plate > label{font:700 var(--text-lg)/1.25 var(--font-display);color:var(--color-ink)}
.capbar .plate > p{margin:0 0 var(--space-sm)}
.plate-more{margin:0;padding:var(--space-sm) 0}

/* ── карточка услуги в статье, риск, нормы, содержание, ссылки ── */
.svc-card{background:var(--color-paper-2);border-top:var(--space-2xs) solid var(--color-brand);padding:var(--space-lg);max-width:52rem;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);justify-items:start}
.svc-card > .md{width:100%;min-width:0}
.svc-card .md{color:var(--color-ink-2)}
.alert .md{margin-top:var(--space-xs)}
.alert .date{min-width:0}
.laws .md{color:var(--color-muted)}
.toc ol{margin:0;padding-left:1.25rem;columns:2 18rem;column-gap:var(--space-2xl)}
.toc li{margin-bottom:var(--space-2xs);break-inside:avoid}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-xs)}
.chips a{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);text-decoration:none;font-size:var(--text-sm)}
@media (hover:hover){.chips a:hover{background:var(--color-paper-2)}}
.nextb .ladder a{color:var(--color-on-brand)}
.kb2{display:grid;grid-template-columns:minmax(0,1fr);column-gap:var(--space-2xl);border-bottom:var(--rule-hair) solid var(--color-rule)}
.kb2 .svc .pr{display:none}
@media (min-width:56rem){.kb2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.svc .muted{display:block}
/* цена в карточке — под текстом, а не колонкой справа: длинные «после описания задачи» сжимали название */
.svc .pr{grid-column:1;grid-row:auto;align-self:start;text-align:left;white-space:normal;margin-top:var(--space-2xs)}
.cases--links .case{text-decoration:none;color:var(--color-ink)}
.cases--links .case p{font-size:var(--text-sm)}
@media (hover:hover){.cases--links .case:hover b{text-decoration:underline}}
.faq details .md{padding-bottom:var(--space-md)}
.faq details .md p{padding:0}

/* ── подвал со списками ── */
.foot__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-xl)}
.foot__cols h4{margin:0 0 var(--space-sm);font:700 var(--text-base)/1.2 var(--font-display);color:var(--color-on-brand)}
.foot__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-on-brand-2)}
.foot__cols a{white-space:normal}
.foot__req a{white-space:normal}

/* ── короткая заявка под подбором и плашкой захвата (quick_lead): только контакт, товар уже внутри ── */
.lead--quick[hidden]{display:none}
.blk:has(> .lead--quick){display:block}  /* в теме секция с формой — две колонки; короткая форма идёт под подбором */
.lead--quick{max-width:52rem;margin-top:0;padding:var(--space-md) var(--space-lg) var(--space-lg);background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule);border-top:3px solid var(--color-edge);display:grid;gap:var(--space-sm)}
.lead--quick .sheet__t{margin:0;font:700 var(--text-lg)/1.25 var(--font-display);color:var(--color-ink)}
.lead--quick .ql-item{margin:0;color:var(--color-muted)}
.lead--quick .ql-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs);align-items:end}
@media (min-width:40rem){.lead--quick .ql-row{grid-template-columns:minmax(0,1fr) auto}}
.lead--quick .field{margin:0}
.lead--quick .btn{min-height:3rem}
.lead--quick .hx__fsub,.lead--quick .form-msg{margin:0}
