/* ===== Восход — дошлифовка дизайна 2026-11-03 (loaded after app.css; remove the <link> to roll back) ===== */
:root {
  --ink: #1c1c1c;
  --text: #3a3a3a;
  --muted: #6b6b6b;
  --line: #e6e7ea;
  --red-tint: #fdecee;
  --r-btn: 4px;
  --r: 6px;
  --r-card: 8px;
  --sh-card: 0 2px 12px rgb(43 52 59 / 8%);
  --sh-hover: 0 12px 28px rgb(43 52 59 / 16%);
}
body { color: var(--text); }
h1, h2, h3, .section h2, .title-block h1 { color: var(--ink); }
a { color: var(--ink); }

/* type scale */
.title-block h1 { font-size: 36px; line-height: 44px; }
.section h2 { font-size: 32px; line-height: 40px; }
.section .lead { color: var(--muted); font-size: 16px; line-height: 24px; }
.crumbs, .crumbs a { color: var(--muted); font-size: 13px; }
.section { padding: 64px 0; }

/* buttons */
.btn-red {
  border-radius: var(--r-btn);
  padding: 16px 32px;
  min-height: 52px;
  line-height: 20px;
  letter-spacing: .03em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.dz-btn-outline {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: 14px 28px;
  border: 1.5px solid var(--red); border-radius: var(--r-btn);
  color: var(--red); background: #fff;
  font-weight: 700; font-size: 14px; letter-spacing: .03em; white-space: nowrap;
}
.dz-btn-outline:hover { background: var(--red-tint); color: var(--red-deep, #d51222); }

/* desktop nav: active underline */
.nav .menu > li.active > a { color: #fff; box-shadow: inset 0 -2px 0 #fff; }

/* hero */
.hero h1 { color: var(--ink); font-size: 52px; line-height: 60px; }
.hero-kicker { font-size: 13px; font-weight: 600; letter-spacing: .06em; margin: 14px 0 0; }
.hero p { color: var(--text); font-size: 17px; line-height: 28px; }
.hero-pills a {
  display: inline-flex; align-items: center; min-height: 36px;
  padding: 6px 16px; border-radius: 999px; font-size: 14px;
  border: 1px solid var(--line);
}
.hero-actions { gap: 16px; flex-wrap: wrap; }
.hero-actions .tb-btn-sep { display: none; }
.hero-actions .link-dash {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: 14px 28px;
  border: 1.5px solid var(--red); border-radius: var(--r-btn);
  color: var(--red); background: #fff;
  font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; line-height: 20px;
}
.hero-actions .link-dash:hover { background: var(--red-tint); }
.fid-item span { color: var(--text); font-size: 14px; text-transform: none; }
.fid-item b { color: var(--red); font-size: 13px; }

/* cards */
.catalog-item { border-radius: var(--r-card); box-shadow: var(--sh-card); color: var(--ink); }
.catalog-item:hover { box-shadow: var(--sh-hover); }
.catalog-item-img {
  background: #f7f7f7; margin: 8px 8px 0; border-radius: var(--r);
  height: 240px; padding: 12px; align-items: center;
}
.catalog-item-img img { max-height: 216px; }
.catalog-item .name { font-size: 15px; font-weight: 600; line-height: 20px; padding: 14px 12px 10px; min-height: 64px; color: var(--ink); }
.catalog-item-bar { border-top: 1px solid var(--line); }
.price-item { padding: 10px 14px; }
.price-item-txt { color: var(--muted); font-size: 12px; line-height: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.catalog-item .price { color: var(--ink); font-size: 20px; line-height: 26px; font-weight: 700; white-space: nowrap; }
.btn-item { width: 56px; min-width: 56px; }
.btn-wide { width: auto; min-width: 0; padding: 0 14px; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; color: #fff; }

/* steps, stats, reviews */
.step .n { width: 56px; height: 56px; font-size: 22px; color: var(--red); border: 2px solid var(--red); }
.step h3 { font-size: 18px; line-height: 24px; }
.step p { color: var(--text); font-size: 15px; line-height: 22px; }
.stat b { font-size: 44px; line-height: 52px; color: var(--ink); }
.stat span { color: var(--muted); }
.reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.reviews blockquote { background: #fff; border: 1px solid var(--line); border-radius: var(--r-card); padding: 24px; box-shadow: var(--sh-card); }
.reviews blockquote p { margin: 0; line-height: 24px; }
.home-gallery img { border-radius: var(--r-card); }

/* section page */
.pills a { border-radius: 999px; padding: 8px 16px; border-color: var(--line); color: var(--ink); }
.cat-aside { border-color: var(--line); border-radius: var(--r-card); box-shadow: var(--sh-card); }
.dz-sheet-close { display: none; }
.cat-tree > li > a { padding: 8px 8px; border-bottom-color: #f1f2f4; border-radius: 4px; color: var(--ink); }
.cat-tree .is-open > a { background: var(--red-tint); }
.cat-aside-cta { border-radius: var(--r-btn); min-height: 48px; }
.catalog-toolbar { border-color: var(--line); padding: 8px 10px; gap: 6px; color: var(--muted); background: #f7f7f7; border: 0; }
.catalog-toolbar > span { margin-right: 6px; }
.sort-link { padding: 6px 12px; border-radius: var(--r-btn); border: 0 !important; color: var(--ink); }
.sort-link.is-active { background: #fff; color: var(--red); box-shadow: var(--sh-card); }
.pager a, .pager span { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r-btn); border-color: var(--line); }
.dz-cat-btns { display: none; }
.dz-sub-tg, .dz-menu-foot { display: none; }
.wrap.content { padding-left: 16px; padding-right: 16px; }

/* product page */
.price-kicker { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.product .price { font-size: 42px; line-height: 50px; color: var(--ink); margin: 0 0 4px; }
.price-note { color: var(--muted); }
.dz-buy { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 4px; }
.dz-buy .btn-red { flex: 1 1 240px; }
.dz-buy .dz-btn-outline { flex: 1 1 200px; }
.product-card-page .benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; padding: 16px 20px; font-size: 14px; border-radius: var(--r-card); }
.product-side { border-radius: var(--r-card); box-shadow: none; background: #f7f7f7; }
.swatch { border-radius: var(--r); width: 44px; height: 44px; }
.swatch.is-active { box-shadow: 0 0 0 2px #fff inset; }
.lock-card { border-radius: var(--r-card); }
.props th { color: var(--muted); font-weight: 400; }
.props td { color: var(--ink); font-weight: 500; }
.share-btn { border-radius: var(--r-btn); }

/* footer */
.site-footer { color: #c9c9c9; }
.dz-phone-sub { display: block; color: #9a9a9a; font-size: 13px; }

/* ================= mobile ================= */
@media (max-width: 980px) {
  /* header: burger | logo | call icon */
  .header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 1px 0 var(--line); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .top_bar { min-height: 64px; }
  .topbar-grid { grid-template-columns: 44px 1fr 44px; min-height: 64px; gap: 8px; }
  .logo { grid-column: 2; }
  .logo img, .logo svg { height: 36px; }
  .top-phone { grid-column: 3; }
  .top-phone small { display: none; }
  .top-phone a {
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: 50%;
    border: 1.5px solid var(--red); font-size: 0;
  }
  .top-phone a .ico-phone {
    width: 20px; height: 20px; margin: 0; border-radius: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .navwrap { position: absolute; top: 10px; left: 16px; padding: 0; z-index: 70; }
  .navwrap .wrap { padding: 0; max-width: none; }
  .nav-grid { background: none; box-shadow: none; min-height: 0; display: block; border-radius: 0; }
  .menu-btn {
    display: flex; align-items: center; justify-content: center;
    margin: 0; width: 44px; height: 44px; border-radius: var(--r);
    background: var(--red); position: relative; z-index: 3; cursor: pointer;
  }
  .call-top-btn { display: none; }

  /* menu: white full-height panel + overlay */
  .nav { display: none; }
  body.nav-open .header { z-index: 80; }
  body.nav-open .nav {
    display: block; position: fixed; top: 0; left: 0; bottom: 0;
    width: min(340px, 88vw); background: #fff; z-index: 2;
    overflow-y: auto; padding: 72px 16px 32px;
    box-shadow: 8px 0 30px rgb(0 0 0 / 18%);
  }
  body.nav-open { overflow: hidden; }
  body.nav-open .menu-btn span { background: transparent; }
  body.nav-open .menu-btn span:before { top: 0; transform: rotate(45deg); }
  body.nav-open .menu-btn span:after { top: 0; transform: rotate(-45deg); }
  .nav .menu { padding: 0; gap: 0; min-height: 0; }
  .nav .menu > li { position: relative; border-bottom: 1px solid var(--line); }
  .nav .menu > li > a {
    color: var(--ink); text-transform: none; font-size: 16px; font-weight: 600;
    padding: 14px 44px 14px 0; letter-spacing: 0;
  }
  .nav .menu > li.active > a { color: var(--red); box-shadow: none; }
  .nav .has-sub:hover .sub, .nav .has-sub:focus-within .sub, .nav .sub { display: none; }
  .nav .has-sub.dz-open > .sub { display: block; padding: 0 0 10px; }
  .nav .sub a { color: var(--text); font-size: 15px; padding: 9px 12px; border-radius: 4px; }
  .nav .sub a:hover { background: var(--red-tint); color: var(--red); }
  .dz-sub-tg {
    display: block; position: absolute; right: 0; top: 4px; width: 44px; height: 44px;
    border: 0; background: none; cursor: pointer; color: var(--red);
    font-size: 22px; line-height: 1; font-family: inherit;
  }
  .dz-sub-tg:before { content: "+"; }
  .has-sub.dz-open > .dz-sub-tg:before { content: "−"; }
  .dz-menu-foot { display: block; padding: 24px 0 0; }
  .dz-menu-foot a.dz-menu-phone { display: block; font-size: 22px; font-weight: 700; color: var(--ink); }
  .dz-menu-foot small { display: block; color: var(--muted); margin: 2px 0 16px; }
  .dz-menu-foot .btn-red { width: 100%; }
  .dz-ov { display: none; position: fixed; inset: 0; background: rgb(0 0 0 / 45%); z-index: 75; }
  body.nav-open .dz-ov, body.dz-sec-open .dz-ov { display: block; }

  /* type */
  .title-block { padding: 20px 0 16px; }
  .title-block h1 { font-size: 28px; line-height: 34px; }
  .section { padding: 48px 0; }
  .section h2 { font-size: 26px; line-height: 32px; }
  .hero { padding-top: 20px; }
  .hero h1 { font-size: 32px; line-height: 38px; }
  .hero p { font-size: 16px; line-height: 24px; }
  .hero-txt { padding-bottom: 24px; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero-actions .btn-red, .hero-actions .link-dash { width: 100%; }
  .reviews { grid-template-columns: 1fr; }
  .steps { gap: 20px; }

  /* catalog: buttons instead of long list; aside becomes bottom sheet */
  .catalog-layout { display: flex; flex-direction: column; gap: 0; }
  .catalog-main { order: 1; width: 100%; }
  .cat-aside { display: none; }
  .dz-cat-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 16px; order: 0; }
  .dz-cat-btns.dz-one { grid-template-columns: 1fr; }
  .dz-cat-btns button {
    min-height: 48px; border: 1px solid var(--line); background: #fff; border-radius: var(--r);
    font: inherit; font-size: 15px; font-weight: 500; color: var(--ink); cursor: pointer;
  }
  .dz-cat-btns button[aria-expanded="true"] { border-color: var(--red); color: var(--red); }
  body.dz-sec-open .cat-aside {
    display: block; position: fixed; left: 0; right: 0; bottom: 0; top: auto;
    max-height: 82vh; overflow-y: auto; z-index: 90; margin: 0;
    border-radius: 12px 12px 0 0; padding: 20px 16px 24px; box-shadow: 0 -12px 40px rgb(0 0 0 / 20%);
  }
  .dz-sec-open .dz-sheet-close { display: block; position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; background: none; font-size: 28px; color: var(--muted); cursor: pointer; }
  .catalog-toolbar { display: none; }
  body.dz-sort-open .catalog-toolbar { display: flex; }
  .pills { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; margin-bottom: 16px; -webkit-overflow-scrolling: touch; }
  .pills li { flex: 0 0 auto; }

  /* product */
  .product .price { font-size: 34px; line-height: 42px; }
  .product-sides { grid-template-columns: 1fr 1fr; gap: 8px; }
  .product-side img { height: 260px; }
  .product-side:only-child { grid-column: 1 / -1; }
  .dz-buy { flex-direction: column; }
  .dz-buy .btn-red, .dz-buy .dz-btn-outline { flex: none; width: 100%; }

  /* bottom bar (existing .mobile-callbar, space for Jivo kept) */
  .mobile-callbar { gap: 8px; padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) 12px; box-shadow: 0 -2px 14px rgb(0 0 0 / 10%); }
  .mobile-callbar a { min-height: 44px; display: flex; align-items: center; justify-content: center; border-radius: var(--r-btn); font-size: 14px; text-transform: uppercase; letter-spacing: .02em; }
  body { padding-bottom: 68px; }
}

@media (max-width: 640px) {
  .cards, .hit-grid, .cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .hits-slide { flex-basis: calc(50% - 10px); }
  .catalog-item-img { height: 172px; margin: 6px 6px 0; padding: 8px; }
  .catalog-item-img img { max-height: 156px; }
  .catalog-item .name { font-size: 13px; line-height: 17px; min-height: 48px; padding: 10px 8px 8px; }
  .price-item { padding: 8px 8px 8px 10px; min-width: 0; }
  .price-item-txt { font-size: 10px; line-height: 14px; }
  .catalog-item .price { font-size: 15px; line-height: 20px; }
  .btn-item { width: 40px; min-width: 40px; }
  .btn-wide { font-size: 0; gap: 0; padding: 0; width: 40px; min-width: 40px; }
  .arrow { width: 24px; height: 24px; }
  .arrow:after { left: 7px; top: 7px; width: 7px; height: 7px; }
  .stats { gap: 20px 12px; }
  .stat b { font-size: 34px; line-height: 40px; }
  .product-card-page .benefits { grid-template-columns: 1fr; }
}

/* ===== v4 — conversion pass 2026-11-03 ===== */
/* home hero: offer + quick picker + one primary CTA */
.dz-offer { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 18px 0 0 !important; }
.dz-offer b { color: var(--red); font-size: 34px; line-height: 40px; font-weight: 700; letter-spacing: -.01em; }
.dz-offer span { color: var(--text); font-size: 15px; line-height: 22px; }
.dz-pick-lbl { margin: 22px 0 0 !important; font-size: 13px !important; line-height: 18px !important; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted) !important; }
.dz-pick-lbl + .hero-pills { margin-top: 10px; }
.hero-pills a { background: #fff; border: 1px solid var(--line); color: var(--ink); font-weight: 500; }
.hero-pills a:hover { border-color: var(--red); color: var(--red); background: #fff; }
.hero-pills a:after { content: " →"; color: var(--red); }

/* trust row under hero */
.fid-item b { text-transform: none; letter-spacing: 0; }

/* section offer strip */
.dz-strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; }
.dz-strip span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: #f4f5f6; border-radius: 999px; font-size: 13px; line-height: 18px; color: var(--ink); }
.dz-strip span:before { content: ""; width: 14px; height: 14px; flex: none; background: var(--red); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.2 11.6 2.6 8l1.2-1.2 2.4 2.4 6-6L13.4 4.4z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.2 11.6 2.6 8l1.2-1.2 2.4 2.4 6-6L13.4 4.4z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* clean placeholders (borrowed photos are being replaced) */
.catalog-item-img.is-placeholder, .product-side.is-placeholder {
  background: #f4f5f6 url("/assets/img/door-ph.svg") center 42% / auto 58% no-repeat !important;
  position: relative;
}
.catalog-item-img.is-placeholder img, .product-side.is-placeholder img { opacity: 0 !important; }
.catalog-item-img.is-placeholder:after, .product-side.is-placeholder:before {
  content: "Фото модели скоро"; position: absolute; left: 0; right: 0; bottom: 10px; text-align: center;
  font-size: 12px; line-height: 16px; color: var(--muted);
}
.product-side.is-placeholder:before { bottom: auto; top: calc(42% + 29% + 12px); }
.product-sides:has(> .product-side.is-placeholder + .product-side.is-placeholder) > .product-side + .product-side { display: none; }
.product-sides:has(> .product-side.is-placeholder + .product-side.is-placeholder) > .product-side { grid-column: 1 / -1; }

/* short form: name + phone only (email/message stay in markup, optional server-side) */
.popup .popup-form input[name="email"], .popup .popup-form textarea[name="message"] { display: none; }
.popup .popup-form .popup-row { grid-template-columns: 1fr 1fr; }
.dz-form-note { margin: -6px 0 14px; color: var(--muted); font-size: 14px; line-height: 20px; }

/* 404 helpers */
.dz-404 { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 8px; }

/* contacts: icons in the red circles */
.contact-ico { position: relative; }
.contact-ico:after { content: ""; position: absolute; inset: 16px; background: #fff; -webkit-mask: var(--dz-ico) center/contain no-repeat; mask: var(--dz-ico) center/contain no-repeat; }
.contact-ico { --dz-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E"); }
.contact-ico.pin { --dz-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.contact-ico.mail { --dz-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E"); }

/* desktop nav fits at 981–1180 */
@media (min-width: 981px) and (max-width: 1180px) {
  .nav .menu > li > a { padding-left: 12px; padding-right: 12px; font-size: 13px; }
  .call-top-btn span { display: none; }
}

@media (max-width: 980px) {
  /* hero mobile: offer first, short copy */
  .hero h1 { font-size: 30px; line-height: 36px; }
  .hero-txt > p:not([class]) { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; line-height: 22px; }
  .dz-offer b { font-size: 30px; line-height: 36px; }
  .hero-pills { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .hero-pills a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 10px 14px; font-size: 15px; border-radius: var(--r); }
  .hero-actions { margin-top: 18px; }
  .hero-actions .link-dash { border: 0; min-height: 40px; }
  .hero-photo { display: none; }
  /* trust row: compact 3 columns */
  .fid { grid-template-columns: repeat(3, 1fr) !important; gap: 0; margin-top: 0; }
  .fid-item { flex-direction: column; text-align: center; gap: 6px; padding: 14px 6px !important; border-right: 1px solid var(--line); border-bottom: 0; }
  .fid-ico { width: 36px; height: 36px; margin: 0 auto; }
  .fid-ico img { width: 28px; height: 28px; }
  .fid-item span { font-size: 12px; line-height: 15px; }
  .fid-item b { font-size: 12px; }

  /* section strip: one line, scroll */
  .dz-strip { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 12px; padding: 0 16px; scrollbar-width: none; }
  .dz-strip span { flex: none; font-size: 12px; padding: 5px 10px; }

  /* product: price + CTA in first screen */
  .product-side img { height: 220px; }
  .product-sides:has(> .product-side.is-placeholder + .product-side.is-placeholder) > .product-side { min-height: 200px; }
  .product-sides:has(> .product-side.is-placeholder + .product-side.is-placeholder) img { height: 170px; }
  .product-price-row { margin-top: 12px; }
  .dz-buy .dz-btn-outline { display: none; }

  /* bottom bar: slim, two short buttons, room for the Jivo launcher on the right */
  .mobile-callbar { width: calc(100% - 84px); gap: 6px; padding: 6px 6px calc(6px + env(safe-area-inset-bottom)) 8px; border-top-right-radius: 12px; z-index: 60; }
  .mobile-callbar a { min-height: 42px; padding: 0 8px; font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; white-space: nowrap; border-radius: var(--r); gap: 6px; }
  .mobile-callbar .mcb-call { background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line); }
  .mobile-callbar .mcb-call:before { content: ""; width: 16px; height: 16px; background: var(--red); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat; }
  .mobile-callbar .mcb-order { background: var(--red); color: #fff; }
  body { padding-bottom: 0; }
  .site-footer { padding-bottom: 72px; }
  /* Jivo stays, but never above an open menu / sheet / form */
  body.nav-open > jdiv, body.dz-sec-open > jdiv, body:has(.popup.is-open) > jdiv { display: none !important; }
  body.nav-open .top-phone { visibility: hidden; }
}
@media (max-width: 640px) {
  .popup .popup-form .popup-row { grid-template-columns: 1fr; }
  .catalog-item-img.is-placeholder:after { bottom: 6px; font-size: 11px; }
}

/* ===== v5: polish ===== */
.hero-pills a:after { content: "→"; margin-left: 8px; }
.call-top-btn .plus-clb { display: none; }
.dz-buy .btn-red { white-space: nowrap; }
@media (min-width: 981px) and (max-width: 1180px) {
  .catalog-item .price { font-size: 17px; }
  .btn-wide { padding: 0 10px; letter-spacing: .02em; }
  .btn-wide .arrow { display: none; }
}

/* ===== v6: Jivo on the left (mobile widget) -> bar moves right; product price on narrow ===== */
@media (max-width: 980px) {
  body.dz-jl .mobile-callbar { left: auto; right: 0; width: calc(100% - 92px); border-top-right-radius: 0; border-top-left-radius: 12px; padding-left: 8px; padding-right: 6px; }
  .product-price-row .share-btn { padding: 8px 10px; font-size: 13px; }
}
@media (max-width: 400px) {
  .product-info .product-price-row .price { font-size: 32px; line-height: 38px; white-space: nowrap; }
}

/* ===== v8: contact icons visible (red glyph in red ring) ===== */
.contact-ico { position: relative; flex: none; }
.contact-ico:after { background: var(--red); inset: 14px; }
/* v9: shorter contacts form (email optional -> hidden, message kept compact) */
.contacts-form input[name=email] { display: none; }
.contacts-form textarea[name=message] { min-height: 96px; height: 96px; }
/* v10: consent label as one text block (flex split text and link into columns) */
.check { display: block; position: relative; padding-left: 24px; text-align: left; line-height: 1.4; }
.check input { position: absolute; left: 0; top: 0; margin: 2px 0 0; }
/* v11: «Каталог» mega-menu (desktop) */
@media (min-width: 981px) {
  .nav-grid { position: relative; }
  .nav .menu > li.has-mega { position: static; }
  .nav .sub.mega {
    display: block; visibility: hidden; opacity: 0; pointer-events: none;
    left: 0; right: 0; top: 100%; min-width: 0; margin-top: 0;
    padding: 22px 28px 16px; border-radius: 0 0 12px 12px; border-top: 3px solid var(--red);
    max-height: calc(100vh - 160px); overflow: auto; z-index: 60;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease, visibility 0s linear .2s;
  }
  .nav .has-mega:hover > .mega, .nav .has-mega:focus-within > .mega {
    visibility: visible; opacity: 1; pointer-events: auto; transform: none;
    transition: opacity .15s ease .15s, transform .15s ease .15s, visibility 0s linear .15s;
  }
  .nav .has-mega.dz-mega-off > .mega { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
  .mega-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; }
  .mega-h {
    font-size: 12px; line-height: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em;
    color: var(--muted); padding-bottom: 8px; margin-bottom: 6px; border-bottom: 1px solid var(--line);
  }
  .nav .mega ul { list-style: none; margin: 0; padding: 0; }
  .nav .mega .mega-col a { display: block; padding: 6px 0; font-size: 15px; line-height: 20px; color: var(--ink); text-transform: none; }
  .nav .mega .mega-col a:hover, .nav .mega a:focus-visible { color: var(--red); }
  .nav .mega a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; border-radius: 2px; }
  .nav .mega .mega-sale { color: var(--red); font-weight: 600; }
  .mega-foot {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted);
  }
  .nav .mega-foot a { display: inline; padding: 0; }
  .nav .mega-foot .mega-all { font-weight: 600; color: var(--red); text-transform: uppercase; letter-spacing: .04em; }
  .nav .mega-foot .mega-note a { color: var(--red); text-decoration: underline; }
  body:has(.has-mega:hover) > jdiv, body:has(.has-mega:focus-within) > jdiv { z-index: 40 !important; }
}
@media (min-width: 981px) and (max-width: 1180px) {
  .nav .sub.mega { padding: 18px 20px 14px; }
  .mega-cols { gap: 0 20px; }
  .nav .mega .mega-col a { font-size: 14px; padding: 5px 0; }
  .mega-note { display: none; }
}
@media (max-width: 980px) {
  .nav .mega .mega-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
  .nav .mega .mega-h { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); padding: 10px 12px 2px; }
  .nav .mega ul { list-style: none; margin: 0; padding: 0; }
  .nav .mega .mega-col a { padding: 7px 12px; font-size: 14px; }
  .nav .mega .mega-sale { color: var(--red); font-weight: 600; }
  .nav .mega-note { display: none; }
  .nav .mega-foot .mega-all { color: var(--red); font-weight: 600; }
}
.nav .mega .mega-col a.mega-sale { color: var(--red); font-weight: 600; }
/* v13: menus open on hover or keyboard focus only (a mouse click must not pin them open); hovering another item hides the mega panel */
@media (min-width: 981px) {
  .nav .menu:has(> li:not(.has-mega):hover) .mega { visibility: hidden; opacity: 0; pointer-events: none; transition: none; }
  .nav .has-sub:not(.has-mega):focus-within:not(:hover):not(:has(:focus-visible)) > .sub { display: none; }
}
