/* UI fixes 2026-09-23 (research/audit-2026-09-23/02-ui.md). Loaded after each page's inline <style>. */

/* Anchors (#zayavka, delivery table rows) land below the fixed header */
html{scroll-padding-top:96px}
.geo-table tr:target{background:rgba(255,106,31,.12)}

/* P0-1: headings never split inside a word */
main h1,main h2{overflow-wrap:normal!important;word-break:normal;hyphens:manual;text-wrap:balance}
@media(max-width:639px){
  main h1.disp{font-size:min(2.2rem,7.6vw)!important}
}
/* H1s with a 16-letter word («Профессиональная/ые») */
main h1.h1-long{font-size:clamp(1.5rem,6.6vw,3.5rem)!important}
@media(max-width:639px){main h1.h1-xl{font-size:5.6vw!important}}
@media(min-width:1024px){
  #zayavka h2.disp{font-size:clamp(2rem,3.8vw,3.4rem)!important}
  /* H2 in a half-width column: longest word («лаборатория,», «Производство», «маркетплейса») must fit */
  main [class*="lg:grid-cols-2"]>div h2.disp,main .lg\:col-span-5 h2.disp{font-size:clamp(2rem,3.8vw,3.4rem)!important}
}

/* P1-8: hero lead shown in full on mobile/tablet (was clamped to 4 lines with an ellipsis) */
.hero-sec p.lead{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}

/* P1-4: calculator results stay on one line each; the pair wraps as a whole if the row is too narrow */
#perL,#total{white-space:nowrap;font-size:clamp(1.3rem,2.4vw,2rem)!important}
.flex:has(>div>#perL){flex-wrap:wrap;row-gap:14px}
.flex:has(>div>#perL)>div:last-child{margin-left:auto}

/* P1-5: home price list label and price never touch */
#ceny .flex.items-baseline.justify-between{gap:16px}
#ceny .flex.items-baseline.justify-between>span:first-child{min-width:0}
#ceny .flex.items-baseline.justify-between>span:last-child{white-space:nowrap;flex:none}

/* P1-9: empty «Сети» row hidden in the mobile city cards */
@media(max-width:767px){.geo-table td.geo-empty{display:none!important}}

/* P2-1: mobile menu opaque so the hero headline does not show through */
#mobnav{background:#16130F!important;box-shadow:0 18px 30px -12px rgba(0,0,0,.6)}

/* P2-20: two-line display text in FAQ/cards no longer touches */
summary span.disp{line-height:1.15}

/* 2026-10-26 SEO week 1: header phone + 6-column footer */
.hdr-phone{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;white-space:nowrap;color:inherit;opacity:.9}
.hdr-phone:hover{opacity:1;color:var(--amber2,#FFB23E)}
@media (max-width:639px){.hdr-phone{display:none!important}}
@media (max-width:639px){[data-seo=related] a{border-radius:12px!important;font-size:13px!important;padding:8px 12px!important}}
@media (min-width:1024px){.ftcols{grid-template-columns:repeat(6,minmax(0,1fr))!important}}

/* 2026-10-26 product page expansion (data-seo=x-*) */
.x-h2{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.08}
[data-seo^="x-"] .vcard p.disp{line-height:1.2}
[data-seo="x-testrun"] table th,[data-seo="x-testrun"] table td{padding:14px 16px;font-size:15px;line-height:1.35;vertical-align:middle}
[data-seo="x-testrun"] table th{font-size:12px;padding-top:16px;padding-bottom:12px}
@media (max-width:639px){[data-seo="x-testrun"] table th,[data-seo="x-testrun"] table td{padding:10px 6px;font-size:13px}[data-seo="x-testrun"] table th{font-size:10.5px;letter-spacing:.04em}}
@media (max-width:639px){.x-h2{font-size:1.6rem;line-height:1.12}}
.vcard p.disp{line-height:1.2}

/* 2026-10-26 gel price table */
.ptable{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(244,238,226,.03)}
.ptable table{width:100%;border-collapse:collapse;text-align:center}
.ptable caption{caption-side:top;padding:14px 16px 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber2,#FFB23E)}
.ptable th{padding:12px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:rgba(244,238,226,.6);font-weight:600}
.ptable td{padding:16px 14px;border-top:1px solid var(--line);font-size:15.5px;color:#F4EEE2}
.ptable td b{display:block;font-weight:700}
.ptable td span{display:block;font-size:12px;color:rgba(244,238,226,.55);margin-top:2px;text-transform:uppercase;letter-spacing:.05em}
.ptable td.pp{font-family:'Unbounded',sans-serif;font-size:clamp(1.05rem,2.2vw,1.45rem);color:#FFB23E;font-weight:700}
@media (max-width:639px){.ptable th,.ptable td{padding:11px 6px}.ptable td{font-size:13.5px}.ptable th{font-size:10.5px}}
