/* Refinement of the established red, graphite and cool-white identity.
   Loaded after page-specific styles by applySeo; no admin selectors. */
:root{--visual-ink:#202631;--visual-muted:#596373;--visual-surface:#eef1f5;--visual-line:#dce1e8}
.head .search{border-color:var(--visual-line);background:#f6f7f9;border-radius:12px}
.search input{min-width:0}
.search input::placeholder,.fb-find input::placeholder{color:var(--visual-muted);opacity:1}
.nav a,.catnav a{transition:color .18s ease,background-color .18s ease}
.catnav{border-bottom:1px solid var(--visual-line)}
.catnav-row{scrollbar-width:thin;scrollbar-color:#c8cfd9 transparent}
.fc-hero{padding-top:28px}
.fc-banner{background:var(--visual-surface);border-radius:16px;grid-template-columns:1.08fr 1fr;min-height:530px}
.fb-l{padding:44px 40px;color:var(--visual-ink)}
.fb-l h1{color:var(--visual-ink);font-size:clamp(32px,3.3vw,44px);line-height:1.1;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:normal;max-width:560px;margin-bottom:22px}
.hero-city{display:inline-block}
.fb-l h1 em{color:var(--red,#e02128)}
.fb-l>p{color:var(--visual-muted);font-size:16px;line-height:1.65;max-width:440px;margin-bottom:28px}
.fb-find{max-width:none;gap:8px;margin-bottom:20px}
.fb-find input{width:0;min-height:50px;font-size:16px;border:1px solid #c9d0db;background:#fff}
.fb-find button{min-width:52px;justify-content:center;background:var(--visual-ink)}
.fb-find button svg{width:20px;height:20px;flex:none}
.fc-cta{gap:10px}
.fc-btn{min-height:48px;padding:13px 18px;border-radius:10px;transition:background-color .18s ease,color .18s ease}
.fc-btn.ghost{background:#fff;color:var(--visual-ink)}
.fc-btn.ghost:hover{background:#dfe5ed}
.fb-promo{background:var(--visual-surface);min-height:530px;color:var(--visual-ink)}
.promo-art{display:block;position:absolute;inset:0 0 auto;height:310px;pointer-events:none}
.promo-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;mix-blend-mode:multiply}
.fb-promo .promo-slide{inset:auto 24px 24px;padding:22px 24px 48px;min-height:224px;background:#fff;border-radius:12px;justify-content:flex-start}
.promo-badge{background:transparent;color:var(--red,#e02128);padding:0;border-radius:0;font-size:12px;margin-bottom:8px}
.promo-h{font-size:26px;color:var(--visual-ink);font-weight:800;line-height:1.15}
.promo-p{font-size:14px;color:var(--visual-muted);margin:0 0 12px;max-width:400px}
.promo-btn{padding:0;min-height:30px;display:inline-flex;align-items:center;border-radius:4px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.promo-btn:hover{background:transparent;color:var(--red-d,#a9131a)}
.promo-dots{bottom:33px;left:43px;z-index:2}
.promo-dots button{width:30px;height:30px}
.promo-dots button::before{background:#b5bdc9;width:6px;height:6px}
.promo-dots button.on::before{background:var(--visual-ink);width:20px}
.fc-usp{gap:0;margin:22px 0 12px;border-bottom:1px solid var(--visual-line);padding-bottom:22px}
.fc-usp .u{background:transparent;border:0;border-radius:0;padding:8px 16px}
.fc-usp .ic{background:transparent;color:var(--visual-ink);width:30px;height:30px;border-radius:0}
.fc-usp .u b{font-size:13px;line-height:1.4}
.fc-usp .u span:not(.ic){color:var(--visual-muted)}
.fc-cats-h{margin-top:32px}
.fc-cats-h h2{font-size:26px;letter-spacing:-.025em}
.fc-cat{border:1px solid var(--visual-line);border-radius:12px;background:#fff;min-height:150px;transition:border-color .18s ease,background-color .18s ease}
.fc-cat:hover{transform:none;box-shadow:none;border-color:#aab5c4;background:#f6f7f9}
.fc-cat .cico{color:var(--visual-ink);width:38px;height:38px}
.fc-cat.repair{background:var(--visual-ink);border:0;border-radius:12px}
.fc-cat.repair:hover{background:#303a48}
.fc-cat.repair .sub{color:#dde2ea}
.fc-cat.repair .rbtn{color:var(--visual-ink);border-radius:8px}
.pcard{border-radius:12px;border-color:var(--visual-line);transition:border-color .18s ease}
.pcard:hover{box-shadow:none;border-color:#aab5c4}
.pcard .pimg{background:#f3f5f8}
.pcard .pimg img{padding:14px}
.pbody{padding:14px;gap:7px}
.pbody .pb-name{font-size:14px;line-height:1.45}
.pbody .pb-price b{font-size:19px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.pcard .pacts button{min-width:36px;min-height:36px;background:#fff}
.mbar{padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 18px -12px rgba(20,24,31,.25)}
@media(min-width:901px){.fb-l h1 br{display:none}}
@media(max-width:1100px) and (min-width:901px){.fb-l{padding:32px 24px}.fc-btn{padding:12px;font-size:14px}.fb-promo .promo-slide{inset:auto 16px 20px;padding:20px 20px 48px}}
@media(max-width:900px){
  .fc-banner{grid-template-columns:1fr;min-height:0}
  .fb-l{padding:32px;max-width:700px}
  .fb-l h1{font-size:40px;max-width:600px}
  .fb-l>p{max-width:580px}
  .fb-promo{min-height:340px}
  .promo-art{width:52%;height:100%;inset:0 auto 0 0}
  .promo-art img{object-fit:cover;object-position:48% center}
  .fb-promo .promo-slide{inset:24px 24px 24px 50%;min-height:0;justify-content:center}
  .promo-dots{left:calc(50% + 44px);bottom:32px}
  .fc-usp{grid-template-columns:1fr 1fr;row-gap:16px}
}
@media(max-width:560px){
  .head .container{gap:10px;padding-top:12px;padding-bottom:12px}
  .fc-hero{padding-top:16px}
  .fc-banner{border-radius:12px}
  .fb-l{padding:26px 20px}
  .fb-l h1{font-size:30px;line-height:1.12;margin-bottom:16px}
  .hero-city{font-size:.9em}
  .fb-l>p{font-size:15px;line-height:1.6;margin-bottom:22px}
  .fb-find{margin-bottom:16px}
  .fb-find input{padding:12px;font-size:16px}
  .fc-cta{display:grid;grid-template-columns:1fr;width:100%}
  .fc-btn{justify-content:center;font-size:15px}
  .fb-promo{min-height:490px}
  .promo-art{inset:0 0 auto;width:100%;height:220px}
  .promo-art img{object-position:center 42%}
  .fb-promo .promo-slide{inset:210px 16px 16px;padding:20px 20px 52px;justify-content:flex-start}
  .promo-h{font-size:23px}
  .promo-p{font-size:13px;line-height:1.5}
  .promo-dots{left:31px;bottom:20px}
  .fc-usp{grid-template-columns:1fr;margin-top:16px;row-gap:4px;padding-bottom:16px}
  .fc-usp .u{padding:8px 4px;align-items:center}
  .fc-cats-h h2{font-size:23px}
  .fc-cats{grid-template-columns:1fr 1fr;gap:10px}
  .fc-cat{padding:16px;min-height:155px}
  .fc-cat .lbl{font-size:15px;line-height:1.35}
  .fc-cat.repair{grid-column:1 / -1;min-height:220px}
  .pbody{padding:10px}
  .pbody .pb-name{font-size:13px}
}
@media(max-width:360px){.fb-promo{min-height:530px}.fb-l{padding:24px 16px}.fb-l h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.promo-slide,.fc-btn,.fc-cat,.pcard,.nav a,.catnav a{transition:none}}

/* Catalog: category graphics and a quiet, readable product directory. */
.catalog-page{padding-bottom:48px}
.catalog-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:12px 0 28px}
.catalog-page .cat-head{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;margin:0 0 10px}
.catalog-page .cat-head h1{font-size:40px;line-height:1.15;letter-spacing:-.035em;margin:0}
.catalog-page #catCount{color:var(--visual-muted);font-size:13px;font-variant-numeric:tabular-nums}
.catalog-summary{color:var(--visual-muted);font-size:16px;line-height:1.6;max-width:400px;margin:0}
.catalog-page .kbymodel{display:flex;align-items:center;gap:18px;margin:0;padding:22px 24px;max-width:none;border:0;border-radius:12px;background:var(--visual-surface)}
.catalog-page .kbymodel:hover{background:#e3e8ef}
.catalog-page .kbymodel b{font-size:16px;line-height:1.4;margin-bottom:6px}
.catalog-page .kbymodel span{font-size:13px;color:var(--visual-muted)}
.catalog-device-icon,.catalog-link-arrow{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.catalog-device-icon{width:40px;height:48px;color:var(--visual-ink)}
.catalog-link-arrow{width:20px;height:20px;color:var(--visual-ink)}
.catalog-page .ksecs{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 40px}
.catalog-page .ksec{display:grid;grid-template-columns:1fr auto;grid-template-rows:54px auto;align-items:start;gap:16px 12px;padding:20px;min-height:154px;border:1px solid var(--visual-line);border-radius:12px;background:#fff}
.catalog-page .ksec:hover{transform:none;box-shadow:none;background:#f7f8fa;border-color:#aab5c4}
.catalog-page .ksec .kic{grid-column:1;grid-row:1;width:48px;height:48px;border-radius:0;background:transparent;color:var(--visual-ink);place-items:start}
.catalog-page .ksec .kic svg{width:40px;height:40px;stroke-width:1.35}
.catalog-page .ksec b{grid-column:1/-1;grid-row:2;align-self:end;font-size:16px;line-height:1.4;font-weight:650;overflow-wrap:anywhere}
.catalog-page .ksec i{grid-column:2;grid-row:1;margin:0;background:var(--visual-surface);padding:4px 8px;border-radius:6px;font-size:12px;color:var(--visual-muted)}
.catalog-page .ksecs-h{font-size:24px;letter-spacing:-.025em;margin-bottom:18px}
.catalog-page .tree-filter{background:var(--visual-surface);border-radius:12px;padding:12px;margin-bottom:18px;justify-content:space-between}
.catalog-page .tree-filter input{max-width:520px;min-height:46px;border:1px solid #c9d0db;font-size:16px}
.catalog-page .tree-filter input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.catalog-page .tree-btns button{min-height:44px;background:transparent;color:var(--visual-ink);border:1px solid #c9d0db}
.catalog-page .ctree{box-shadow:none;border-radius:12px;border-color:var(--visual-line)}
.catalog-page .ctree>.node>.row{padding:18px 20px;min-height:64px;font-size:16px;font-weight:650}
.catalog-page .ctree .car{font-size:13px;width:20px}
.catalog-page .ctree .cnt{font-family:inherit;font-size:13px}
.catalog-page .ctree .node.open>.row{background:#f3f5f8}
.catalog-page .ctree .kids .row{min-height:48px}
.catalog-page .ctree .ptools select,.catalog-page .ctree .ptools .pf-reset{min-height:40px}
.noimg-cat .ni-ic{color:#66758a}
/* Offscreen drawer must not cast a shadow across the visible page. */
.cart:not(.open){box-shadow:none;visibility:hidden}
.cart.open{visibility:visible}
@media(max-width:900px){
  .catalog-intro{gap:24px}
  .catalog-page .ksecs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .catalog-page .kbymodel{padding:18px;gap:12px}
  .catalog-device-icon{width:30px}
  .catalog-link-arrow{display:none}
}
@media(max-width:560px){
  .catalog-intro{grid-template-columns:1fr;gap:18px;margin-bottom:20px}
  .catalog-page .cat-head h1{font-size:32px}
  .catalog-summary{font-size:15px}
  .catalog-page .kbymodel{padding:16px}
  .catalog-page .kbymodel b{font-size:15px}
  .catalog-page .ksecs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:28px}
  .catalog-page .ksec{padding:14px;gap:12px 4px;min-height:150px;grid-template-rows:42px auto}
  .catalog-page .ksec .kic,.catalog-page .ksec .kic svg{width:34px;height:34px}
  .catalog-page .ksec b{font-size:14px}
  .catalog-page .ksec i{font-size:11px;padding:3px 6px}
  .catalog-page .tree-filter{padding:10px}
  .catalog-page .tree-filter input{min-width:0;width:100%;flex:1 1 100%}
  .catalog-page .tree-btns{width:100%}
  .catalog-page .tree-btns button{flex:1;padding:8px;font-size:12px}
  .catalog-page .ctree>.node>.row{padding:14px 10px;font-size:14px;gap:6px}
  .catalog-page .ctree .cnt{font-size:11px}
}

/* Прямые ссылки на работы рядом с заявкой: доступны без JavaScript. */
.repair-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin:14px 0 18px}
.repair-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:var(--red,#E02128);font-size:14px;line-height:1.5;text-underline-offset:4px}
.repair-links a:hover{text-decoration-thickness:2px}

/* Общая оптика иконок: одна линия, читаемые силуэты и спокойный акцент. */
.svg-ic,.fc-svg{stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.catalog-page .ksec .kic{width:48px;height:48px;border-radius:12px;background:#f3f5f8;color:#344054;place-items:center;transition:background-color .18s ease,color .18s ease}
.catalog-page .ksec .kic svg{width:30px;height:30px;stroke-width:1.65}
.catalog-page .ksec:hover .kic,.catalog-page .ksec:focus-visible .kic{background:#fff0f0;color:#c51d25}
.fc-cat:not(.repair) .cico{color:#344054}
.noimg-cat .ni-ic{color:#66758a;stroke-width:1.65}
@media(prefers-reduced-motion:reduce){.catalog-page .ksec .kic{transition:none}}

/* Аудит 17.09: счётчик категорий должен читаться и на серой строке дерева. */
.catalog-page .ctree .cnt{color:#596579}
