* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
       color:#1f2a37; background:#fff; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:1100px; margin:0 auto; padding:0 24px; }
.disclaimer { background:#fff8e1; border-bottom:1px solid #f0e0a8; color:#6b5900;
              font-size:12px; text-align:center; padding:6px 16px; }
header.site { background:#2f7dd1; color:#fff; padding:14px 0 12px; position:sticky; top:0; z-index:20; }
header.site .headrow { display:flex; align-items:center; justify-content:space-between; }
.brandblock { display:flex; align-items:center; gap:10px; }
.brandname { font-size:19px; font-weight:800; letter-spacing:-0.01em; }
.tagline-sm { font-size:11px; color:#dceafb; margin-top:1px; }
header.site nav { display:flex; gap:22px; font-size:14px; }
header.site nav a { opacity:.92; }
header.site .phone { font-size:14px; font-weight:700; }
.searchrow { margin-top:10px; }
.searchbox { position:relative; max-width:440px; }
.searchbox input { width:100%; padding:9px 14px; border-radius:8px; border:none; font-size:13.5px; font-family:inherit; }
.search-dropdown { position:absolute; top:calc(100% + 4px); left:0; right:0; background:#fff; border-radius:8px;
        box-shadow:0 10px 30px rgba(0,0,0,.18); display:none; overflow:hidden; z-index:80; }
.search-dropdown.open { display:block; }
.search-dropdown a { display:block; padding:9px 14px; font-size:12.5px; color:#1f2a37; border-bottom:1px solid #f2f2f2; }
.search-dropdown a:last-child { border-bottom:none; }
.search-dropdown a:hover { background:#eaf4fd; }
.search-dropdown .sr-type { font-size:9.5px; text-transform:uppercase; color:#2f7dd1; font-weight:800; margin-right:6px; }
.search-dropdown .sr-empty { padding:12px 14px; font-size:12.5px; color:#999; }
footer.site { background:#1c4f85; color:#cfe0f2; padding:26px 0; font-size:13px; }
footer.site .wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; }
footer.site a { color:#e7f1fb; }
footer.site .legal { font-size:11.5px; color:#93aec6; margin-top:6px; }
footer.site .footlinks { font-size:11.5px; margin-top:8px; }
footer.site .footlinks a { color:#cfe0f2; text-decoration:underline; text-underline-offset:2px; }
footer.site .footlinks a:hover { color:#fff; }
article.longread ul, article.longread ol { margin:8px 0 8px 22px; }
article.longread li { font-size:15px; color:#333; margin:5px 0; }
article.longread .doc-meta { color:#6b7f93; font-size:13px; margin:0 0 6px; }
article.longread .doc-req { background:#f2f7fc; border:1px solid #dce8f4; border-radius:8px; padding:12px 16px; font-size:13.5px; line-height:1.7; }
.btn { display:inline-block; background:#2f7dd1; color:#fff; font-weight:700; font-size:14px;
        padding:11px 22px; border-radius:8px; border:none; cursor:pointer; text-align:center; }
.btn:hover { background:#1c4f85; }
.btn.outline { background:transparent; border:1.5px solid #2f7dd1; color:#2f7dd1; }
.btn.full { display:block; width:100%; }
.btn.small { padding:6px 12px; font-size:12.5px; }

.hero { background:linear-gradient(180deg,#eaf4fd,#fff); padding:52px 0 38px; border-bottom:1px solid #eee; }
.hero h1 { font-size:32px; max-width:700px; margin:0 0 12px; color:#1c4f85; }
.hero p.sub { font-size:16px; color:#48566a; max-width:560px; margin:0 0 22px; }
.symptoms { display:flex; gap:10px; flex-wrap:wrap; }
.symptoms a { background:#fff; border:1.5px solid #dce7f3; border-radius:999px; padding:9px 16px; font-size:13.5px; font-weight:600; color:#1c4f85; cursor:pointer; }
.symptoms a:hover { border-color:#2f7dd1; color:#2f7dd1; }
.symptoms.brands a { font-weight:700; }
.symptoms a.active { background:#2f7dd1; border-color:#2f7dd1; color:#fff; }
.symptoms a.all-pill { color:#8494a6; font-weight:600; }
.symptoms a.all-pill.active { background:#1f2a37; border-color:#1f2a37; color:#fff; }
.row-label { font-size:12.5px; font-weight:700; color:#7c8a9a; text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px; }
.picker-block { margin-bottom:18px; }
/* --- фасетный фильтр каталога --- */
.catalog-layout { display:grid; grid-template-columns:248px 1fr; gap:26px; align-items:start; }
.facets { position:sticky; top:84px; background:#fff; border:1px solid #e4eaf1; border-radius:14px; padding:6px 18px 18px; }
.facets-head { display:none; align-items:center; justify-content:space-between; font-weight:800; color:#1c4f85; font-size:16px; padding:10px 0; }
.facets-close { background:none; border:none; font-size:26px; line-height:1; color:#8494a6; cursor:pointer; }
.facet-group { padding:16px 0; border-bottom:1px solid #eef3f8; }
.facet-group:last-of-type { border-bottom:none; padding-bottom:4px; }
.facet-title { font-size:12px; font-weight:800; color:#7c8a9a; text-transform:uppercase; letter-spacing:.04em; margin:0 0 10px; }
.facet-opt { display:flex; align-items:center; gap:9px; padding:5px 0; font-size:14px; color:#33455c; cursor:pointer; user-select:none; }
.facet-opt input { width:17px; height:17px; accent-color:#2f7dd1; cursor:pointer; flex:none; }
.facet-opt .fname { flex:1; }
.facet-opt .fcount { color:#9aa7b6; font-size:12.5px; font-variant-numeric:tabular-nums; }
.facet-opt.disabled { opacity:.38; cursor:default; }
.facet-opt.disabled input { cursor:default; }
.facet-opt:hover:not(.disabled) .fname { color:#2f7dd1; }
.reset-all { width:100%; margin-top:16px; background:#eaf4fd; border:none; border-radius:9px; padding:11px; font-size:13.5px; font-weight:700; color:#2f7dd1; cursor:pointer; }
.reset-all:hover { background:#dcebfa; }
.filter-toggle { display:none; }
.ft-badge { display:inline-flex; align-items:center; justify-content:center; min-width:19px; height:19px; padding:0 5px; margin-left:8px; background:#fff; color:#2f7dd1; border-radius:999px; font-size:12px; font-weight:800; }
.catalog-main .grid3 { grid-template-columns:repeat(4,1fr); }
/* каталог шире: контейнер страницы раздвигается, фильтры ближе к краю, карточки не ужимаются */
.page-catalog .wrap { max-width:1440px; }
.page-catalog p.lead { max-width:none; }
@media (max-width:1240px){ .catalog-main .grid3 { grid-template-columns:repeat(3,1fr); } }
.facets-overlay { display:none; }
section { padding:42px 0; border-bottom:1px solid #f0f0f0; }
h2.sect { font-size:22px; margin:0 0 4px; color:#1c4f85; }
p.lead { color:#555; font-size:14.5px; max-width:620px; margin:0 0 22px; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.grid2 { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
@media (max-width:1000px){ .grid4 { grid-template-columns:repeat(3,1fr); } }
@media (max-width:720px){ .grid4 { grid-template-columns:repeat(2,1fr); } }
.pcard { border:1px solid #e4eaf1; border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.pcard .imgwrap { background:#eaf4fd; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; padding:14px; }
.pcard img { max-width:100%; max-height:100%; object-fit:contain; }
.pcard .pbody { padding:14px 16px 16px; display:flex; flex-direction:column; flex:1; }
.pcard .pbrand { font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#2f7dd1; font-weight:800; margin-bottom:4px; }
.pcard .pname { font-size:14.5px; font-weight:700; color:#1c4f85; margin:0 0 6px; }
.pcard .pname a { color:inherit; text-decoration:none; }
.pcard .pname a:hover { color:#2f7dd1; text-decoration:underline; }
.pcard .pdesc { font-size:13px; color:#555; margin:0 0 10px; flex:1; }
.pcard .pprice { font-size:17px; font-weight:800; color:#1c4f85; margin-bottom:8px; }
.pcard .part { font-size:11px; color:#999; font-family: ui-monospace, Menlo, monospace; margin-bottom:8px; }
.pcard table { width:100%; border-collapse:collapse; font-size:12px; margin-bottom:10px; }
.pcard table td { padding:4px 0; border-bottom:1px solid #f2f2f2; }
.pcard table td:first-child { color:#888; width:46%; }
.pcard .faq { background:#eaf4fd; border-radius:8px; padding:10px 12px; font-size:12.5px; margin-bottom:10px; }
.pcard .faq b { display:block; margin-bottom:3px; color:#1c4f85; font-size:12.5px; }
.trust { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.trust div { border:1px solid #eee; border-radius:10px; padding:16px; font-size:13px; color:#444; }
.trust b { display:block; color:#1c4f85; font-size:14px; margin-bottom:4px; }
.acard { border:1px solid #e4eaf1; border-radius:12px; padding:20px; background:#fff; }
.acard .tag { font-size:11px; text-transform:uppercase; color:#2f7dd1; font-weight:800; margin-bottom:8px; }
.acard h3 { font-size:17px; margin:0 0 8px; color:#1c4f85; }
.acard p { font-size:13.5px; color:#555; margin:0 0 12px; }
article.longread { max-width:760px; }
article.longread h2 { color:#1c4f85; font-size:21px; margin:28px 0 10px; }
article.longread h3 { color:#1c4f85; font-size:16px; margin:20px 0 8px; }
article.longread p { font-size:15px; color:#333; }
article.longread table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13.5px; }
article.longread table td { border:1px solid #eee; padding:8px 10px; }
.faqbox { background:#eaf4fd; border-radius:10px; padding:16px 18px; margin-top:10px; }
.faqbox .q { font-weight:700; color:#1c4f85; margin-top:10px; }
.breadcrumbs { font-size:12.5px; color:#888; margin-bottom:14px; }
.filter-note { display:none; align-items:center; justify-content:space-between; background:#eaf4fd;
        border-radius:10px; padding:10px 16px; font-size:13px; color:#1c4f85; margin-bottom:18px; }
.filter-note .reset-link { font-weight:700; color:#2f7dd1; background:none; border:none; cursor:pointer; font-size:13px; padding:0; }
.filter-note .reset-link:hover { text-decoration:underline; }
@media (max-width:900px) {
  .grid3,.trust { grid-template-columns:repeat(2,1fr); } .grid2 { grid-template-columns:1fr; }
  .catalog-layout { grid-template-columns:1fr; }
  .catalog-main .grid3 { grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); }
  .filter-toggle { display:inline-flex; align-items:center; background:#2f7dd1; color:#fff; border:none; border-radius:10px; padding:11px 18px; font-size:14.5px; font-weight:700; cursor:pointer; margin-bottom:18px; }
  .facets { position:fixed; top:0; left:0; height:100%; width:296px; max-width:86vw; border-radius:0; z-index:60; transform:translateX(-100%); transition:transform .25s ease; overflow-y:auto; box-shadow:0 0 34px rgba(0,0,0,.2); }
  .facets.open { transform:translateX(0); }
  .facets-head { display:flex; }
  .facets-overlay.show { display:block; position:fixed; inset:0; background:rgba(0,0,0,.42); z-index:55; }
}

/* --- FAB / cart / chat --- */
.fab { position:fixed; bottom:22px; width:56px; height:56px; border-radius:50%; background:#2f7dd1;
        color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px;
        box-shadow:0 6px 18px rgba(28,79,133,.35); cursor:pointer; z-index:50; }
.fab:hover { background:#1c4f85; }
.cart-fab { right:22px; }
.chat-fab { right:90px; }
.fab-badge { position:absolute; top:-4px; right:-4px; background:#e14b3d; color:#fff; font-size:11px;
              font-weight:800; width:20px; height:20px; border-radius:50%; align-items:center; justify-content:center; display:flex; }
.panel { position:fixed; bottom:88px; right:22px; width:340px; max-height:70vh; background:#fff;
          border-radius:14px; box-shadow:0 12px 40px rgba(0,0,0,.18); display:none; flex-direction:column;
          overflow:hidden; z-index:60; border:1px solid #e4eaf1; }
.panel.open { display:flex; }
.panel-head { background:#2f7dd1; color:#fff; padding:12px 16px; font-weight:700; display:flex; align-items:center; gap:8px; }
.panel-head .ai-badge { background:rgba(255,255,255,.25); font-size:10px; padding:2px 7px; border-radius:999px; }
.panel-head .closebtn { margin-left:auto; background:none; border:none; color:#fff; font-size:18px; cursor:pointer; }
.panel-body { padding:14px 16px; overflow-y:auto; flex:1; font-size:13.5px; }
.panel-body .empty { color:#999; text-align:center; padding:20px 0; }
.cart-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #f0f0f0; }
.cart-row img { width:44px; height:44px; object-fit:contain; background:#eaf4fd; border-radius:6px; }
.cart-row-info { flex:1; font-size:12.5px; }
.cart-row-price { color:#1c4f85; font-weight:700; }
.rm { background:none; border:none; color:#c33; cursor:pointer; font-size:14px; }
.cart-total { padding:12px 0; font-size:14.5px; text-align:right; }
.chat-body .msg { margin-bottom:10px; max-width:88%; padding:8px 12px; border-radius:10px; font-size:13px; }
.chat-body .msg.bot { background:#eaf4fd; color:#1f2a37; }
.chat-body .msg.user { background:#2f7dd1; color:#fff; margin-left:auto; }
.chat-body .typing { font-style:italic; color:#888; }
.chat-pcard { display:flex; gap:8px; margin-top:8px; background:#fff; border:1px solid #e4eaf1; border-radius:8px; padding:8px; }
.chat-pcard img { width:52px; height:52px; object-fit:contain; background:#eaf4fd; border-radius:6px; }
.cp-name { font-size:12px; font-weight:700; color:#1c4f85; }
.cp-price { font-size:12.5px; font-weight:800; margin:2px 0 6px; }
.chat-input-row { display:flex; gap:6px; padding:10px; border-top:1px solid #eee; }
.chat-input-row input { flex:1; border:1px solid #dce3ea; border-radius:8px; padding:8px 10px; font-size:13px; font-family:inherit; }
.chat-input-row button { background:#2f7dd1; color:#fff; border:none; border-radius:8px; padding:0 14px; cursor:pointer; }
.toast { position:fixed; bottom:88px; left:50%; transform:translateX(-50%) translateY(10px); background:#1f2a37; color:#fff;
          padding:10px 18px; border-radius:8px; font-size:13px; opacity:0; pointer-events:none; transition:all .25s; z-index:70; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* --- checkout overlay (big form) --- */
.overlay { position:fixed; inset:0; background:rgba(20,30,45,.5); display:none; align-items:flex-start;
        justify-content:center; z-index:100; overflow-y:auto; padding:5vh 16px; }
.overlay.open { display:flex; }
.checkout-modal { background:#fff; border-radius:16px; max-width:600px; width:100%; padding:30px 32px 32px; position:relative; }
.checkout-modal h2 { font-size:21px; color:#1c4f85; margin:0 0 18px; }
.ov-close { position:absolute; top:16px; right:18px; background:none; border:none; font-size:22px; color:#888; cursor:pointer; }
.co-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.co-grid .full { grid-column:1 / -1; }
.checkout-modal label { display:block; font-size:12.5px; color:#555; margin-bottom:12px; font-weight:600; }
.checkout-modal input, .checkout-modal select, .checkout-modal textarea { width:100%; margin-top:5px; padding:10px 12px;
        border:1px solid #dce3ea; border-radius:8px; font-size:13.5px; font-family:inherit; font-weight:400; }
.checkout-modal textarea { resize:vertical; min-height:60px; }
.co-section-title { font-size:13px; font-weight:800; color:#1c4f85; margin:18px 0 8px; text-transform:uppercase; letter-spacing:.03em; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:6px; }
.choice-card { border:1.5px solid #dce3ea; border-radius:10px; padding:10px 12px; font-size:13px; display:flex; align-items:center; gap:8px; cursor:pointer; }
.choice-card input { width:auto; margin:0; }
.co-summary { background:#eaf4fd; border-radius:10px; padding:14px 16px; margin:16px 0; font-size:13.5px; display:flex; justify-content:space-between; }
.order-ok { text-align:center; padding:20px 0; }
.order-ok .ok-icon { width:52px; height:52px; border-radius:50%; background:#2e9e5b; color:#fff; font-size:26px;
        display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.order-ok p { font-size:13.5px; color:#555; margin:8px 0 20px; }
@media (max-width:560px) { .panel { width:92vw; right:4vw; } .co-grid, .choice-grid { grid-template-columns:1fr; } }

/* --- landing page (SEO/GEO) --- */
.landing-hero { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; padding:44px 0; }
.landing-hero img { width:100%; border-radius:14px; background:#eaf4fd; }
.landing-hero .price-block { font-size:26px; font-weight:800; color:#1c4f85; margin:14px 0; }
.direct-answer { background:#eaf4fd; border-left:4px solid #2f7dd1; padding:16px 20px; border-radius:0 10px 10px 0; font-size:15.5px; margin:0 0 30px; }
.spec-table { width:100%; border-collapse:collapse; margin:16px 0 30px; }
.spec-table td { border:1px solid #e6e6e6; padding:9px 12px; font-size:14px; }
.spec-table td:first-child { background:#eaf4fd; font-weight:600; width:38%; }
@media (max-width:800px) { .landing-hero { grid-template-columns:1fr; } }

/* ============================================================
   UX-полировка (2026-07-12): токены, микроанимации, фокус,
   адаптивная шапка. Правила ниже переопределяют базовые выше
   (тот же селектор - побеждает более поздний), существующие
   строки не трогались.
   ============================================================ */
:root{
  --brand:#2f7dd1; --brand-dark:#1c4f85; --brand-tint:#eaf4fd;
  --line:#e4eaf1; --accent:#e14b3d;
  --shadow-sm:0 1px 2px rgba(28,79,133,.05),0 3px 10px rgba(28,79,133,.07);
  --shadow-md:0 8px 24px rgba(28,79,133,.14);
  --ease:.18s cubic-bezier(.4,0,.2,1);
}
html{ scroll-behavior:smooth; }
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }

/* плавность интерактивных элементов */
a,.btn,.symptoms a,.pcard,.acard,.trust div,.fab,.choice-card,
input,select,textarea,.search-dropdown a{
  transition:color var(--ease),background-color var(--ease),border-color var(--ease),
             box-shadow var(--ease),transform var(--ease);
}

/* видимый фокус для клавиатуры (доступность) */
:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; border-radius:4px; }
header.site a:focus-visible,.searchbox input:focus-visible{ outline-color:#fff; }
.btn:focus-visible{ outline-offset:3px; }

/* шапка: тень отделяет липкий слой от контента */
header.site{ box-shadow:0 2px 14px rgba(28,79,133,.18); }
.searchbox input:focus{ outline:none; box-shadow:0 0 0 3px rgba(255,255,255,.55); }

/* кнопки */
.btn:active{ transform:translateY(1px); }
.btn.outline:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }

/* pill-переключатели марка/симптом */
.symptoms a:hover{ transform:translateY(-1px); box-shadow:0 3px 10px rgba(47,125,209,.16); }
.symptoms a:active{ transform:translateY(0); }

/* карточки товара - подъём + мягкий зум фото (imgwrap уже overflow:hidden) */
.pcard:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:#cfe0f2; }
.pcard .imgwrap img{ transition:transform .3s ease; }
.pcard:hover .imgwrap img{ transform:scale(1.045); }

/* карточки статей и «Почему мы» */
.acard:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); border-color:#cfe0f2; }
.trust div:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm); }

/* плавающие кнопки корзины/чата */
.fab:hover{ transform:translateY(-2px) scale(1.05); box-shadow:0 10px 26px rgba(28,79,133,.45); }
.fab:active{ transform:scale(.96); }

/* выбор способа доставки/оплаты подсвечивается при выборе */
.choice-card:hover{ border-color:var(--brand); }
.choice-card:has(input:checked){ border-color:var(--brand); background:var(--brand-tint); }

/* заголовок героя - плавно масштабируется, плотнее набор */
.hero h1{ font-size:clamp(26px,4.4vw,36px); line-height:1.14; letter-spacing:-.02em; }

/* адаптивная шапка: nav переносится на свою строку - не ломается на телефоне */
@media (max-width:720px){
  header.site .headrow{ flex-wrap:wrap; row-gap:10px; }
  .brandblock{ order:1; }
  header.site .head-contacts{ order:2; margin-left:auto; flex-direction:row; align-items:center; gap:12px; }
  header.site nav{
    order:3; flex-basis:100%; gap:0; justify-content:space-between;
    border-top:1px solid rgba(255,255,255,.2); padding-top:9px;
    font-size:13.5px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  }
}
@media (max-width:480px){ .tagline-sm{ display:none; } }

/* уважать системную настройку «меньше движения» */
@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; scroll-behavior:auto !important; }
  .pcard:hover,.acard:hover,.trust div:hover,.fab:hover,.symptoms a:hover{ transform:none; }
}

/* --- чат: крупнее и ближе к привычному чат-виджету сайта --- */
.chat-panel{ width:400px; height:min(74vh,620px); max-height:none; }
.chat-panel .chat-body{ background:#f7fafd; }
.chat-body .msg{ max-width:90%; }
.chat-body .msg.bot b{ color:var(--brand-dark); }
.chat-quick{ display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 8px; }
.chat-quick button{ background:#fff; border:1px solid #cfe0f2; color:var(--brand-dark);
  border-radius:999px; padding:6px 11px; font-size:12px; cursor:pointer; font-family:inherit;
  transition:color var(--ease),border-color var(--ease); }
.chat-quick button:hover{ border-color:var(--brand); color:var(--brand); }
.chat-attach{ background:none; border:none; font-size:19px; line-height:1; cursor:pointer;
  color:#7c8a9a; padding:0 6px; transition:color var(--ease); }
.chat-attach:hover{ color:var(--brand); }
.chat-body .chat-hint{ font-size:11px; color:#8494a6; margin:6px 0 2px; }
@media (max-width:560px){ .chat-panel{ width:94vw; height:80vh; } }

/* ============================================================
   ВИЗУАЛЬНЫЙ АПГРЕЙД (2026-07-13): фирменная идентичность
   «тепло + надёжность» (синий = доверие, ember = искра/тепло),
   глубина, типографика, хаб-компоненты. Приличный вид,
   отличимый от типового 1С-магазина. Аппендится последним -
   переопределяет базовые правила выше.
   ============================================================ */
:root{
  --ink:#16202e; --ink-soft:#46536480; --soft:#4a5768; --muted:#78879a;
  --brand-700:#1c4f85; --brand-050:#eef5fc;
  --ember:#ee6c3a; --ember-2:#f7a23a; --amber-050:#fff5ec;
  --paper:#f6f9fc; --line:#e6ecf3;
  --r-md:14px; --r-lg:20px;
  --sh-sm:0 1px 2px rgba(20,40,70,.05),0 4px 14px rgba(20,40,70,.06);
  --sh-md:0 10px 30px rgba(20,40,70,.10);
  --sh-lg:0 22px 54px rgba(20,40,70,.15);
  --flame:linear-gradient(135deg,var(--ember-2),var(--ember));
}
body{ background:var(--paper); color:var(--ink); font-size:16px; }
.wrap{ max-width:1180px; }

/* eyebrow / надзаголовок */
.eyebrow{ display:inline-flex; align-items:center; font-size:12.5px; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase; color:var(--ember); margin:0 0 15px; }

/* шапка - глубже, подчёркивание навигации «пламенем» */
header.site{ background:linear-gradient(180deg,#2b74c4,#2569b2); padding:16px 0 14px;
  box-shadow:0 4px 22px rgba(20,40,70,.17); }
header.site nav a{ position:relative; padding-bottom:3px; opacity:.94; }
header.site nav a:hover{ opacity:1; }
header.site nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px;
  background:var(--flame); border-radius:2px; transition:right .22s; }
header.site nav a:hover::after{ right:0; }
.brandname{ font-size:20px; }
.searchbox input{ padding:11px 16px; border-radius:10px; box-shadow:var(--sh-sm); }

/* герой - тёплое сияние + плотная типографика */
.hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--line);
  background:radial-gradient(900px 380px at 84% -10%, rgba(247,162,58,.17), transparent 60%),
            linear-gradient(180deg,#e9f3fc 0%,var(--paper) 74%); padding:64px 0 50px; }
.hero h1{ color:var(--brand-700); letter-spacing:-.022em; }
.hero p.sub{ font-size:17.5px; color:var(--soft); max-width:610px; }

/* ритм секций и заголовки */
section{ padding:56px 0; border-bottom:1px solid var(--line); }
.section-alt{ background:#fff; }
h2.sect{ font-size:clamp(22px,3vw,29px); color:var(--brand-700); letter-spacing:-.012em; margin:0 0 6px; }
p.lead{ font-size:15.5px; color:var(--soft); max-width:680px; }

/* кнопки - глубина + «пламенный» вариант */
.btn{ border-radius:11px; padding:12px 24px; box-shadow:var(--sh-sm); }
.btn:hover{ box-shadow:var(--sh-md); }
.btn.flame{ background:var(--flame); border:none; }
.btn.flame:hover{ filter:brightness(1.05); background:var(--flame); }
.btn.lg{ padding:15px 30px; font-size:15.5px; }
.btn-row{ display:flex; flex-wrap:wrap; gap:12px; }

/* карточки товара - мягче тень, фирменный фон фото */
.pcard{ border-radius:var(--r-md); box-shadow:var(--sh-sm); border-color:var(--line); }
.pcard .imgwrap{ background:linear-gradient(160deg,#f1f7fd,#e7f0fa); }
.pcard .pprice{ font-size:19px; }

/* плитки категорий (хаб) */
.cats{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:16px; }
.cat{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-md); padding:16px 18px; box-shadow:var(--sh-sm); }
.cat:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); border-color:#cfe0f2; }
.cat .cat-ic{ width:48px; height:48px; border-radius:13px; background:var(--brand-050);
  display:flex; align-items:center; justify-content:center; font-size:24px; flex:none; }
.cat>span{ display:flex; flex-direction:column; }
.cat .cat-name{ display:block; font-weight:800; color:var(--brand-700); font-size:15px; line-height:1.25; }
.cat .cat-n{ display:block; font-size:12.5px; color:var(--muted); margin-top:3px; }

/* симптом-карточки (маршрутизация из героя) */
.symp-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(158px,1fr)); gap:12px; margin-top:8px; }
.symp{ display:flex; flex-direction:column; gap:5px; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-md); padding:15px 16px; box-shadow:var(--sh-sm); }
.symp:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); border-color:#f4c9a8; }
.symp .symp-ic{ font-size:23px; }
.symp .symp-t{ font-weight:800; color:var(--brand-700); font-size:14.5px; }
.symp .symp-s{ font-size:12px; color:var(--muted); }

/* полоса брендов */
.brands-strip{ display:flex; flex-wrap:wrap; gap:10px; }
.brands-strip a{ border:1px solid var(--line); background:#fff; border-radius:999px; padding:10px 21px;
  font-weight:800; color:var(--brand-700); font-size:14px; box-shadow:var(--sh-sm); }
.brands-strip a:hover{ border-color:var(--ember); color:var(--ember); transform:translateY(-2px); }

/* блок доверия - иконки */
.trust{ gap:16px; }
.trust div{ background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:18px; box-shadow:var(--sh-sm); }
.trust .t-ic{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
  border-radius:12px; background:var(--amber-050); font-size:21px; margin-bottom:10px; }

/* гео-блок (склады) */
.geo{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.geo .geo-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:20px 22px; box-shadow:var(--sh-sm); }
.geo .geo-city{ font-weight:800; color:var(--brand-700); font-size:16px; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
.geo .geo-addr{ font-size:13.5px; color:var(--soft); }

/* статьи - акцентный тег «пламенем» */
.acard{ box-shadow:var(--sh-sm); }
.acard .tag{ color:var(--ember); }
.acard:hover{ border-color:#f4c9a8; }

/* подвал - градиент, шире */
footer.site{ background:linear-gradient(180deg,#1c4f85,#163c66); padding:40px 0 28px; }

/* герой - две колонки: текст+кнопки слева, подборщик-виджет справа */
.hero-grid{ display:grid; grid-template-columns:1fr minmax(380px,460px); gap:46px; align-items:center; }
@media (max-width:900px){ .hero-grid{ grid-template-columns:1fr; gap:26px; } }

/* быстрый подбор в герое - марка + симптом вместе */
.quickpick{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:22px 24px; box-shadow:var(--sh-lg); }
.qp-title{ font-size:15.5px; font-weight:800; color:var(--brand-700); margin:0 0 15px;
  display:flex; align-items:center; gap:8px; }
.qp-row{ margin-bottom:15px; }
.qp-label{ display:block; margin:0 0 8px; font-size:11.5px; font-weight:800; text-transform:uppercase;
  letter-spacing:.04em; color:var(--muted); }
.qp-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.qp{ background:#fff; border:1.5px solid var(--line); border-radius:999px; padding:8px 15px;
  font-size:13.5px; font-weight:700; color:var(--brand-700); cursor:pointer; font-family:inherit;
  transition:color var(--ease),background-color var(--ease),border-color var(--ease); }
.qp:hover{ border-color:var(--brand); }
.qp.active{ background:var(--brand); border-color:var(--brand); color:#fff; }
.qp-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px;
  padding-top:16px; border-top:1px solid var(--line); }
.qp-count{ font-size:13.5px; color:var(--muted); font-weight:600; margin-left:2px; }
.qp-count b{ color:var(--brand-700); }

/* тонкая полоса доверия - не занимает высоту */
.trust-strip{ background:#fff; border-bottom:1px solid var(--line); }
.trust-strip .wrap{ display:flex; flex-wrap:wrap; gap:10px 30px; padding-top:15px; padding-bottom:15px; }
.trust-strip .ti{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--soft); font-weight:600; }
.trust-strip .ti b{ color:var(--brand-700); font-weight:800; }

@media (max-width:760px){
  .geo{ grid-template-columns:1fr; }
  .hero{ padding:44px 0 34px; }
  section{ padding:44px 0; }
}
@media (max-width:560px){
  .qp-row{ flex-direction:column; gap:7px; margin-bottom:14px; }
  .qp-label{ padding-top:0; }
}

/* шапка: телефон с иконкой + соцсети + кнопка AI-подбор */
header.site nav{ align-items:center; }
.head-contacts{ display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
a.phone{ display:inline-flex; align-items:center; gap:6px; color:#fff; }
a.phone svg{ opacity:.9; }
.socials{ display:flex; gap:8px; }
.soc{ width:27px; height:27px; border-radius:50%; background:rgba(255,255,255,.15); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; }
.soc:hover{ background:rgba(255,255,255,.32); transform:translateY(-1px); }
.soc svg{ width:15px; height:15px; }

/* совместимость на карточке (ось «марка котла») */
.pcard .pfits{ font-size:11.5px; color:#5a6b7e; margin:-2px 0 9px; line-height:1.35; }
.pcard .pfits b{ color:var(--brand-700); font-weight:700; }

/* компактная карточка: тяжёлый контент под «Подробнее» */
.pmore{ display:none; }
.pcard.open .pmore{ display:block; margin-top:6px; }
.pmore .pdesc{ margin-bottom:10px; }
.pmore-btn{ width:100%; background:none; border:none; color:var(--brand); font-weight:700;
  font-size:12.5px; cursor:pointer; padding:9px 0 0; font-family:inherit; text-align:center; }
.pmore-btn:hover{ text-decoration:underline; }

/* каскад устройства в подборщике (тип -> марка -> модель) */
.qp-cascade{ display:flex; flex-wrap:wrap; gap:8px; }
.qp-sel{ flex:1 1 140px; min-width:120px; padding:10px 12px; border:1.5px solid var(--line); border-radius:10px;
  font-size:13.5px; font-family:inherit; color:var(--brand-700); background:#fff; cursor:pointer; }
.qp-sel:disabled{ color:#aab6c4; background:#f4f7fb; cursor:default; }
.qp-sel:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(47,125,209,.12); }

/* дисклеймер совместимости в чате */
.chat-warn{ background:var(--amber-050); border:1px solid #f4d9b8; border-radius:8px; padding:8px 11px;
  font-size:11.5px; color:#8a5a1e; margin-top:8px; line-height:1.4; }

/* блок совместимости на оформлении */
.co-compat{ background:var(--amber-050); border:1px solid #f2d3ae; border-radius:12px; padding:14px 16px; margin:18px 0 4px; }
.co-compat.invalid{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(225,75,61,.14); }
.co-compat-warn{ font-size:12.5px; color:#7a5218; line-height:1.45; margin-bottom:11px; }
.co-link{ background:none; border:none; padding:0; color:var(--brand); font-weight:700; cursor:pointer; font-size:12.5px; font-family:inherit; text-decoration:underline; }
.co-check{ display:flex; align-items:flex-start; gap:9px; font-size:13px; color:var(--ink); font-weight:600; cursor:pointer; margin:0; }
.co-check input{ width:18px; height:18px; margin:1px 0 0; accent-color:var(--brand); flex:none; cursor:pointer; }
.co-check a{ color:var(--brand); font-weight:700; text-decoration:underline; }
.co-consent{ border:1px solid #dce8f4; background:#f2f7fc; border-radius:12px; padding:14px 16px; margin:10px 0 4px; }
.co-consent.invalid{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(225,75,61,.14); }

/* заметка о совместимости (каталог / лендинг) */
.compat-note{ background:var(--amber-050); border:1px solid #f2d3ae; border-radius:10px; padding:11px 15px;
  font-size:13px; color:#7a5218; margin:0 0 18px; line-height:1.45; }
.compat-note button, .compat-note a{ color:var(--brand); font-weight:700; cursor:pointer; background:none; border:none; font:inherit; text-decoration:underline; padding:0; }

/* правки 2026-07-14: подсказка у email, невалидные поля, кликабельные названия */
.hint-note{ color:#9aa7b6; font-weight:400; font-size:11.5px; }
.checkout-modal input.invalid, .checkout-modal select.invalid{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(225,75,61,.13); }
.cart-row-info a, .cp-name a{ color:inherit; }
.cart-row-info a:hover, .cp-name a:hover{ color:var(--brand); text-decoration:underline; }

/* ссылка-кнопка (открыть чат из текста) — добавлено для посадочных-симптомов и бренд-хабов */
.linklike{ color:var(--brand); font-weight:600; cursor:pointer; background:none; border:none; font:inherit; text-decoration:underline; padding:0; }
.linklike:hover{ color:var(--brand-dark); }

/* ссылка в конце trust-карточки — с новой строки, чтобы не слипалась с текстом */
.trust div > a{ display:inline-block; margin-top:9px; font-weight:600; }
