/* ZeroBuild overrides over original old.css */
[style*="opacity:0"]{opacity:1!important;transform:none!important}
.zb-faq-a{padding:0 0 6px}
.zb-faq-a p{color:#4b5563;font-size:14px;line-height:1.7;margin:8px 0 0}
.zb-faq-a[hidden]{display:none}
#zb-burger, button[aria-label="Открыть меню"] { cursor: pointer; pointer-events: auto !important; }
#zb-burger *, button[aria-label="Открыть меню"] * { pointer-events: none; }
.zb-drawer{position:fixed;inset:0;z-index:2000;display:none}
.zb-drawer.open{display:block}
.zb-drawer .bk{position:absolute;inset:0;background:rgba(0,0,0,.5);animation:zb-fade .25s ease}
.zb-drawer .pn{position:absolute;top:0;right:0;bottom:0;width:min(340px,88vw);background:#fff;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 20px 20px}
.zb-drawer .pn .hd{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;margin:0 -20px;padding:12px 20px;background:#fff;border-bottom:1px solid #f3f3f3}
.zb-drawer .pn .hd-t{font-weight:800;font-size:15px;color:#111;letter-spacing:.02em}
.zb-drawer .pn a{display:block;padding:11px 4px;color:#222;font-weight:600;border-bottom:1px solid #f3f3f3;font-size:14px;line-height:1.35}
.zb-drawer .x{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:-8px;font-size:26px;line-height:1;background:none;border:0;border-radius:10px;cursor:pointer;color:#111}
.zb-drawer .x:active{background:#f3f3f3}
.zb-drawer.open .pn{animation:zb-slide .28s cubic-bezier(.22,.9,.3,1)}
@keyframes zb-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes zb-fade{from{opacity:0}to{opacity:1}}
.zb-dh{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#dc2626;margin:14px 0 2px}
.zb-drawer .zb-dtel{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 6px;padding:14px 16px;background:#dc2626;color:#fff;border-bottom:0;border-radius:12px;font-weight:700;font-size:15px;text-align:center}
.zb-drawer .zb-dtel:active{background:#b91c1c}
.zb-cookie{position:fixed;left:16px;bottom:16px;z-index:1500;background:#111;color:#fff;padding:12px 16px;border-radius:12px;font-size:13px;display:flex;gap:12px;align-items:center;max-width:min(440px,90vw)}
.zb-cookie[hidden]{display:none}
.zb-cookie a{color:#f87171}
.zb-cookie button{background:#fff;color:#111;border:0;border-radius:8px;padding:7px 14px;cursor:pointer;font-size:12px;font-weight:600}
.zb-consent{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#6b7280;line-height:1.5;margin:6px 0}
.zb-msg{font-size:13px;margin-top:8px;color:#15803d}
.zb-msg.err{color:#dc2626}
.zb-stars button{cursor:pointer}
/* floating contact popup */
.zb-contact-pop{position:fixed;bottom:96px;right:24px;width:288px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);border:1px solid #f1f1f1;overflow:hidden;z-index:200}
.zb-contact-pop[hidden]{display:none}
.zb-cp-head{background:linear-gradient(90deg,#dc2626,#b91c1c);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;color:#fff}
.zb-cp-head button{background:none;border:0;color:rgba(255,255,255,.7);font-size:20px;cursor:pointer}
.zb-contact-pop>a,.zb-cp-row{display:flex;flex-direction:column;gap:2px;padding:12px 18px;color:#374151;font-size:13px}
.zb-contact-pop>a b,.zb-cp-row b{font-size:14px;color:#111}
.zb-contact-pop>a span,.zb-cp-row span{font-size:11px;color:#9ca3af}
.zb-cp-mess{display:flex;gap:8px;padding:12px 18px;border-top:1px solid #f3f4f6}
.zb-cp-mess img{width:22px;height:22px}
/* live chat */
.zb-chat{position:absolute;bottom:72px;left:0;width:340px;max-width:calc(100vw - 3rem);background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);border:1px solid #f1f1f1;overflow:hidden;z-index:200}
.zb-chat[hidden]{display:none}
.zb-ch-head{background:linear-gradient(90deg,#dc2626,#b91c1c);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;color:#fff}
.zb-ch-head b{font-size:14px;display:block}
.zb-ch-head span{font-size:11px;color:rgba(255,255,255,.7);display:flex;gap:5px;align-items:center}
.zb-ch-head span i{width:6px;height:6px;border-radius:50%;background:#4ade80;display:inline-block}
.zb-ch-head button{background:none;border:0;color:rgba(255,255,255,.7);font-size:22px;cursor:pointer}
.zb-ch-msgs{background:#f9fafb;padding:14px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.zb-m{max-width:80%;padding:8px 12px;border-radius:16px;font-size:13.5px;line-height:1.5}
.zb-m.user{align-self:flex-end;background:#dc2626;color:#fff;border-bottom-right-radius:4px}
.zb-m.bot{align-self:flex-start;background:#fff;color:#1f2937;border-bottom-left-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid #f3f4f6}
.zb-q{display:flex;flex-wrap:wrap;gap:8px}
.zb-q button{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #fecaca;color:#b91c1c;font-size:12px;cursor:pointer}
.zb-q button:hover{background:#fef2f2}
.zb-ch-contact{padding:10px 14px;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:8px}
.zb-ch-contact[hidden]{display:none}
.zb-ch-contact input{padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px}
.zb-ch-contact label{font-size:10.5px;color:#6b7280;display:flex;gap:6px;align-items:flex-start}
.zb-ch-err{padding:8px 14px;background:#fef2f2;color:#b91c1c;font-size:12px}
.zb-ch-err[hidden]{display:none}
.zb-ch-in{padding:10px 14px;border-top:1px solid #f3f4f6;display:flex;gap:8px}
.zb-ch-in input{flex:1;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px}
.zb-ch-in button{width:36px;height:36px;border-radius:8px;background:#dc2626;color:#fff;border:0;cursor:pointer;font-size:15px}
.zb-ch-ft{padding:8px 14px;background:#f9fafb;border-top:1px solid #f3f4f6;font-size:10px;color:#9ca3af;text-align:center;line-height:1.7}
.zb-ch-ft a{font-size:11px;margin:0 4px}
.zb-ch-ft a:nth-child(1){color:#0284c7}.zb-ch-ft a:nth-child(2){color:#16a34a}.zb-ch-ft a:nth-child(3){color:#dc2626}
.zb-cp-body{display:flex;flex-direction:column;gap:4px;padding:12px}
.zb-cp-body a{padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:500;color:#374151;background:#f9fafb}
.zb-cp-body a:hover{background:#fef2f2;color:#b91c1c}
.zb-cp-book{background:#dc2626!important;color:#fff!important;font-weight:700!important;text-align:center}
.zb-up{position:fixed;right:16px;bottom:88px;width:44px;height:44px;border-radius:50%;background:rgba(17,17,17,.8);color:#fff;border:0;font-size:20px;cursor:pointer;z-index:60;display:none}
.zb-up.show{display:block}
.zb-search-dd{position:absolute;z-index:100;left:0;right:0;margin-top:8px;border-radius:14px;background:rgba(31,41,55,.97);border:1px solid rgba(255,255,255,.12);max-height:50vh;overflow-y:auto;padding:6px 0;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.zb-search-dd a{display:flex;justify-content:space-between;gap:8px;padding:9px 16px;color:rgba(255,255,255,.75);font-size:13.5px}
.zb-search-dd a:hover{color:#fff;background:rgba(255,255,255,.06)}
.zb-search-dd .none{padding:12px;color:rgba(255,255,255,.35);font-size:13px;text-align:center}
.zb-bcard{transition:background .2s}
.zb-bcard:hover{background:rgba(255,255,255,.2)!important}
.zb-bcard .zb-bicon{color:rgba(255,255,255,.5);transition:color .2s}
.zb-bcard:hover .zb-bicon{color:#f87171}
.zb-bcard:hover .zb-model{color:rgba(255,255,255,.6)}
.zb-bcard .zb-model{transition:color .2s}
/* listva.moscow: hero catalog button (bg-amber-600 via old.css, black hover here) */
.zb-catalog{transition:background-color .2s}
.zb-catalog:hover{background-color:#0c0a09!important}
.zb-bcard .zb-model:hover{color:rgba(255,255,255,.95)!important}
.zb-scard .zb-sub{transition:color .2s}
.zb-scard:hover .zb-sub{color:rgba(255,255,255,.85)!important}
/* listva.moscow: hero CTA row — одна строка везде, где хватает ширины колонки.
   old.css не содержит нужных responsive-утилит, поэтому раскладка — на чистом CSS.
   Перенос запрещает container query от ширины колонки (а не вьюпорта) — корректно
   и с открытым сайдбаром, и со свёрнутым, и на планшете. */
.zb-hero-left{container-type:inline-size;min-width:0}
.zb-hero-cta{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:100%}
.zb-hero-cta .zb-hero-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:auto;min-height:48px;padding-top:0;padding-bottom:0;padding-left:20px;padding-right:20px;border-radius:8px;font-size:15px;font-weight:800;line-height:1.2;white-space:nowrap;text-align:center}
.zb-hero-cta .zb-hero-btn svg{flex-shrink:0}
.zb-hero-cta .zb-hero-phone{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-left:0;padding-left:8px;padding-right:8px;border-radius:8px;font-size:17px;font-weight:800;letter-spacing:-0.025em;white-space:nowrap}
.zb-hero-cta .zb-hero-phone svg{flex-shrink:0}
@media (min-width:640px){
  .zb-hero-cta{flex-direction:row;flex-wrap:wrap;align-items:center}
  .zb-hero-cta .zb-hero-btn{flex:1 1 220px;width:auto;min-width:0;min-height:52px;padding-left:24px;padding-right:24px;font-size:16px}
  .zb-hero-cta .zb-hero-phone{flex:1 1 100%;justify-content:flex-start;min-width:0;min-height:52px;padding-left:4px;padding-right:4px}
}
@media (min-width:1024px){
  .zb-hero-cta{flex-wrap:wrap;gap:8px}
  .zb-hero-cta .zb-hero-btn{flex:0 1 auto;min-width:0;min-height:48px;gap:6px;padding-left:12px;padding-right:12px;font-size:15px}
  .zb-hero-cta .zb-hero-btn svg{width:16px;height:16px}
  .zb-hero-cta .zb-hero-phone{flex:0 1 auto;min-width:0;min-height:48px;gap:6px;font-size:14px}
  .zb-hero-cta .zb-hero-phone svg{width:16px;height:16px}
}
/* Колонки хватает на все три элемента — строго одна строка */
@container (min-width:580px){
  .zb-hero-cta{flex-wrap:nowrap}
  .zb-hero-cta .zb-hero-phone{flex:0 1 auto}
}
