@charset "UTF-8";

/* desktop.css — только ПК (min-width: 880px). Мобилка: mm-core.css */

@media (width >= 1024px) {
  :target:before {
    height: 90px;
    margin: -90px 0 0;
  }
}


/* ---------- 1. Типографика ---------- */
@media (min-width: 880px) {
  .execute-nav {
    display: none !important;
  }

  :is(h1, h2, h3, h4, h5, h6):not([class]) {
    margin-bottom: 40px;
  }

  .title {
    font-size: 24px;
    margin-bottom: 16px;
  }

  .subtitle {
    font-size: 18px;
  }
}


@media (min-width: 1200px) {
  .title {
    font-size: 28px;
  }
}


/* ---------- 2. Каркас: всё в 1328px ---------- */
@media (min-width: 880px) {
  html,
  body,
  .page,
  button,
  input,
  select,
  textarea {
    font-family: var(--mm-font);
  }

  .page {
    background: #fff;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.4;
    color: var(--mm-text);
  }

  .page__navigation.navigation-fixed {
    display: none !important;
  }

  .page__main {
    width: 100%;
    max-width: var(--mm-rail) !important;
    margin-left: auto;
    margin-right: auto;
    padding-top: 180px;
    transition: padding-top .4s cubic-bezier(0.4, 0, 0.2, 1);
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
    overflow-x: clip;
    overflow-clip-margin: 32px;
  }

  body:has(.header.header_compact) .page__main {
    padding-top: 140px;
  }

  .page__footer,
  .footer.page__footer {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    /* main.css (.footer { padding-bottom: 108px }) часто грузится повторно в контенте */
    padding-bottom: 0 !important;
    box-sizing: border-box;
    overflow-x: clip;
  }

  /* Сброс «выездов» мобильной базы за края */
  .page__main .mb-16.pl-16 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page__main .pl-16 {
    padding-left: 0 !important;
  }

  /* ---------- 3. Шапка ПК: прехедер + main + nav ---------- */
  .header.page__header,
  .header {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    z-index: 100;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #fff;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px #0000000f;
    box-sizing: border-box;
    transform: none !important;
    gap: 0 !important;
    overflow: visible;
    transition: min-height .15s ease-out;
  }

  .header__preheader {
    display: block !important;
    width: 100%;
    background: var(--mm-surface);
    border-bottom: 1px solid #e0e0e0;
  }

  .header__preheader-inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 16px 20px;
    width: 100%;
    max-width: var(--mm-rail);
    min-height: 32px;
    margin: 0 auto;
    padding: 6px 0;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 1.2;
    color: var(--mm-muted);
  }

  .header__preheader-tag {
    margin-right: auto;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--mm-muted);
    white-space: nowrap;
  }

  .header__preheader-live,
  .header__preheader-live:link,
  .header__preheader-live:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mm-brand) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    white-space: nowrap;
  }

  .header__preheader-live::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 10px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Crect x='0' y='1' width='10' height='10' rx='1.5' fill='black'/%3E%3Cpath d='M11 4l5-2.5v9L11 8V4z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Crect x='0' y='1' width='10' height='10' rx='1.5' fill='black'/%3E%3Cpath d='M11 4l5-2.5v9L11 8V4z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .header__preheader-live:hover {
    color: var(--mm-brand) !important;
  }

  .header__preheader-social {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 6px;
  }

  .header__preheader-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    opacity: 1;
    transition: background-color .15s ease-out, transform .15s ease-out;
  }

  .header__preheader-social a:hover {
    background: color-mix(in srgb, var(--mm-brand) 8%, #fff);
    transform: translateY(-1px);
  }

  .header__preheader-social img {
    display: block;
    width: 18px;
    height: 18px;
    max-width: none;
  }

  .header__preheader-map,
  .header__preheader-map:link,
  .header__preheader-map:visited,
  .header__preheader-callback,
  .header__preheader-callback:link,
  .header__preheader-callback:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--mm-muted) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    white-space: nowrap;
  }

  .header__preheader-map:hover,
  .header__preheader-callback:hover {
    color: var(--mm-brand) !important;
  }

  .catalog-promo-banner {
    display: flex !important;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 8px 56px;
    box-sizing: border-box;
    color: #fff;
    background: var(--mm-brand);
  }

  html.catalog-promo-off .catalog-promo-banner,
  .catalog-promo-banner[hidden] {
    display: none !important;
  }

  .catalog-promo-banner__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    gap: 12px;
    min-height: inherit;
    color: inherit;
    text-decoration: none;
  }

  .catalog-promo-banner__inner:hover,
  .catalog-promo-banner__inner:focus,
  .catalog-promo-banner__inner:visited {
    color: inherit;
    text-decoration: none;
  }

  .catalog-promo-banner__text {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
  }

  .catalog-promo-banner__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 16px;
    color: var(--mm-brand);
    background: #fff;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1;
    transform: skewX(-14deg);
    white-space: nowrap;
  }

  .catalog-promo-banner__badge > span {
    display: inline-block;
    transform: skewX(14deg);
  }

  .catalog-promo-banner__close {
    position: absolute;
    top: 50%;
    right: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    transform: translateY(-50%);
    border-radius: var(--mm-radius-icon);
    transition: background-color .15s ease-out;
  }

  .catalog-promo-banner__close:hover {
    background: rgba(255, 255, 255, 0.16);
  }

  .header__preheader-map::before {
    content: "";
    width: 12px;
    height: 14px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M6 0C2.7 0 0 2.6 0 5.8c0 3.9 6 8.2 6 8.2s6-4.3 6-8.2C12 2.6 9.3 0 6 0zm0 7.9c-1.3 0-2.3-1-2.3-2.2S4.7 3.5 6 3.5s2.3 1 2.3 2.2S7.3 7.9 6 7.9z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M6 0C2.7 0 0 2.6 0 5.8c0 3.9 6 8.2 6 8.2s6-4.3 6-8.2C12 2.6 9.3 0 6 0zm0 7.9c-1.3 0-2.3-1-2.3-2.2S4.7 3.5 6 3.5s2.3 1 2.3 2.2S7.3 7.9 6 7.9z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .header__preheader-callback::before {
    content: "";
    width: 12px;
    height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 1.5c.4-.4 1-.4 1.4 0l2 2c.4.4.4 1 0 1.4L5.4 6.1c.7 1.4 1.9 2.6 3.4 3.4l1.2-1.2c.4-.4 1-.4 1.4 0l2 2c.4.4.4 1 0 1.4l-1.2 1.2c-.5.5-1.2.7-1.9.6-2.4-.4-4.7-1.8-6.5-3.6S1.6 6.1 1.2 3.7c-.1-.7.1-1.4.6-1.9l1.4-1.3z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 1.5c.4-.4 1-.4 1.4 0l2 2c.4.4.4 1 0 1.4L5.4 6.1c.7 1.4 1.9 2.6 3.4 3.4l1.2-1.2c.4-.4 1-.4 1.4 0l2 2c.4.4.4 1 0 1.4l-1.2 1.2c-.5.5-1.2.7-1.9.6-2.4-.4-4.7-1.8-6.5-3.6S1.6 6.1 1.2 3.7c-.1-.7.1-1.4.6-1.9l1.4-1.3z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .header__rail {
    display: flex !important;
    flex-flow: column nowrap !important;
    width: 100%;
    max-width: var(--mm-rail);
    height: auto;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    overflow: visible;
  }

  /* --- Основной ряд --- */
  .header__main {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: 16px !important;
    flex: 0 0 auto;
    height: auto !important;
    min-height: 88px !important;
    max-height: none;
    padding: 10px 0 !important;
    border-bottom: 0 !important;
    box-sizing: border-box;
    overflow: visible;
    position: relative;
  }

  .header__main > * {
    order: 0 !important;
  }

  .header .options,
  .header .header__options {
    display: none !important;
  }

  .header__catalog-wrap {
    position: relative;
    flex: 0 0 auto;
    z-index: 120;
  }

  .header .logo {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
  }

  .header .logo > img {
    display: block;
    height: 52px !important;
    max-height: 52px !important;
    width: auto !important;
  }

  .header .burger.header__catalog {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    width: auto !important;
    min-width: 0;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    background-color: var(--mm-brand) !important;
    border: 0 !important;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color .15s ease-out;
  }

  .header__catalog-wrap.is-open .burger.header__catalog,
  .header .burger.header__catalog:hover {
    background-color: var(--mm-hover) !important;
  }

  .header .burger.header__catalog .burger__line,
  .header .burger.header__catalog:before,
  .header .burger.header__catalog:after {
    display: none !important;
    content: none !important;
  }

  .header .burger.header__catalog .header__catalog-text {
    display: inline !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    color: #fff !important;
  }

  .header__catalog-burger {
    display: inline-block !important;
    position: relative;
    width: 18px;
    height: 14px;
    flex: 0 0 18px;
  }

  .header__catalog-burger > span {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: #fff;
    border-radius: 1px;
    transition: transform .2s ease-out, top .2s ease-out, opacity .15s ease-out;
  }

  .header__catalog-burger > span:nth-child(1) { top: 0; }
  .header__catalog-burger > span:nth-child(2) { top: 6px; }
  .header__catalog-burger > span:nth-child(3) { top: 12px; }

  .header .burger.header__catalog:hover .header__catalog-burger > span:nth-child(1),
  .header__catalog-wrap.is-open .header__catalog-burger > span:nth-child(1) {
    top: 6px;
    transform: rotate(45deg);
  }

  .header .burger.header__catalog:hover .header__catalog-burger > span:nth-child(2),
  .header__catalog-wrap.is-open .header__catalog-burger > span:nth-child(2) {
    opacity: 0;
  }

  .header .burger.header__catalog:hover .header__catalog-burger > span:nth-child(3),
  .header__catalog-wrap.is-open .header__catalog-burger > span:nth-child(3) {
    top: 6px;
    transform: rotate(-45deg);
  }

  /* --- Выпадающий каталог --- v3-no-card-borders */
  .header__catalog-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: var(--dc-left, 0);
    z-index: 130;
    padding-top: 8px;
    width: var(--dc-width, 280px);
    overflow: visible;
    filter: drop-shadow(0 10px 24px rgba(22, 29, 40, 0.12));
  }

  .header__catalog-wrap.is-open .header__catalog-dropdown {
    display: block !important;
  }

  .header__catalog-menu,
  .header__catalog-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .header__catalog-menu > li {
    position: relative;
  }

  .header__catalog-menu .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .header__catalog-menu [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: none !important;
  }

  .header__catalog-menu li,
  .header__catalog-menu a,
  .header__catalog-menu .sm-menu_flimg,
  .header__catalog-menu .sm-menu_blimg,
  .header__catalog-menu .sm-menu_img {
    border: 0 !important;
    box-shadow: none !important;
    outline: none;
  }

  /* L1 */
  .header__catalog-menu > li > ul {
    display: none;
    position: relative;
    width: 100%;
    overflow: visible;
    background: #fff;
    border: 1px solid #dbdbdb;
    border-radius: 16px !important;
    transition: border-radius .28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .header__catalog-menu > li > ul:has(> li > ul.is-open) {
    border-right-color: transparent;
    border-radius: 16px 0 0 16px !important;
  }

  .header__catalog-menu > li > ul > li {
    position: static;
  }

  .header__catalog-menu > li > ul > li:first-child > a {
    border-radius: 15px 15px 0 0;
  }

  .header__catalog-menu > li > ul > li:last-child > a {
    border-radius: 0 0 15px 15px;
  }

  .header__catalog-menu > li > ul:has(> li > ul.is-open) > li:first-child > a {
    border-radius: 15px 0 0 0;
  }

  .header__catalog-menu > li > ul:has(> li > ul.is-open) > li:last-child > a {
    border-radius: 0 0 0 15px;
  }

  .header__catalog-menu > li > ul > li > a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    color: var(--mm-text) !important;
    text-decoration: none !important;
    background-color: #fff;
    transition: color .15s ease-out, background-color .15s ease-out, font-weight .15s ease-out, border-radius .28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .header__catalog-menu > li > ul > li:has(> ul > li) > a {
    padding-right: 36px;
  }

  .header__catalog-menu > li > ul > li:has(> ul > li) > a::after,
  .header__catalog-menu > li > ul > li > ul > li:has(> ul > li) > a::after {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 8px;
    height: 12px;
    margin-top: -6px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M1 1l5 5-5 5' fill='none' stroke='%23ec670b' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: 1;
    content: "";
    pointer-events: none;
  }

  .header__catalog-menu > li > ul > li > a:hover,
  .header__catalog-menu > li > ul > li > a.maintainHover {
    color: var(--mm-brand) !important;
    font-weight: 600;
    background-color: #f5f5f5;
  }

  /* L2 panel — колонка дочерних */
  .header__catalog-menu > li > ul > li > ul {
    display: block !important;
    position: absolute;
    top: -1px;
    bottom: auto;
    left: 100%;
    width: var(--dc-child-width, 280px);
    min-width: var(--dc-child-width, 280px);
    max-width: var(--dc-child-width, 280px);
    /* 100% = padding-box родителя; +2px компенсирует border top/bottom, top:-1px стыкует края */
    min-height: calc(100% + 2px);
    height: auto;
    max-height: calc(100vh - 160px);
    padding: 8px 0 !important;
    margin: 0 !important;
    overflow: visible;
    background: #fff !important;
    border: 1px solid #dbdbdb !important;
    border-left: 0 !important;
    border-radius: 0 16px 16px 0 !important;
    box-sizing: border-box;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-12px);
    transition:
      opacity .22s ease,
      visibility .22s ease,
      transform .28s cubic-bezier(0.4, 0, 0.2, 1),
      border-radius .28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .header__catalog-wrap.is-panel-swap .header__catalog-menu > li > ul > li > ul,
  .header__catalog-wrap.is-panel-swap .header__catalog-menu > li > ul > li > ul > li > ul {
    transition: none !important;
  }

  .header__catalog-menu > li > ul > li > ul:has(> li > ul.is-open) {
    border-radius: 0 !important;
  }

  .header__catalog-menu > li > ul > li > ul.is-open,
  .header__catalog-menu > li > ul > li > ul[style].is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }

  .header__catalog-menu > li > ul > li > ul > li {
    position: static;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box;
    overflow: visible;
  }

  .header__catalog-menu > li > ul > li > ul > li > a {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 11px 18px !important;
    overflow: visible;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left !important;
    color: var(--mm-text) !important;
    text-decoration: none !important;
    background: #fff !important;
    transition: color .15s ease-out, background-color .15s ease-out, font-weight .15s ease-out;
  }

  .header__catalog-menu > li > ul > li > ul > li:has(> ul > li) > a {
    padding-right: 36px !important;
  }

  .header__catalog-count {
    display: none;
    box-sizing: border-box;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 650 !important;
    line-height: 1;
    text-align: center;
    color: var(--mm-brand) !important;
    background: color-mix(in srgb, var(--mm-brand) 18%, transparent);
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
    transform-origin: center;
    transition: transform .15s ease-out;
  }

  .header__catalog-menu li:not(:has(> ul > li)) > a > .header__catalog-count {
    display: inline-flex !important;
  }

  .header__catalog-menu a:hover > .header__catalog-count,
  .header__catalog-menu a.maintainHover > .header__catalog-count {
    transform: scale(1.12);
  }

  .header__catalog-menu > li > ul > li > ul > li > a:hover,
  .header__catalog-menu > li > ul > li > ul > li > a.maintainHover {
    color: var(--mm-brand) !important;
    font-weight: 600;
    background-color: #f5f5f5 !important;
  }

  /* Без картинок в выпадающем каталоге */
  .header__catalog-menu .sm-menu_flimg,
  .header__catalog-menu .sm-menu_blimg,
  .header__catalog-menu .sm-menu_img {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  /* L3 panel — колонка внуков справа от дочерних */
  .header__catalog-menu > li > ul > li > ul > li > ul {
    display: block !important;
    position: absolute;
    top: 0px;
    left: 100%;
    width: var(--dc-grandchild-width, 320px);
    min-width: var(--dc-grandchild-width, 320px);
    max-width: var(--dc-grandchild-width, 320px);
    min-height: calc(100% + 1px);
    height: auto;
    max-height: calc(100vh - 160px);
    margin: 0 !important;
    padding: 8px 0 !important;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff !important;
    border: 1px solid #dbdbdb !important;
    border-left: 0 !important;
    border-radius: 0 16px 16px 0 !important;
    box-sizing: border-box;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-12px);
    box-shadow: none !important;
    transition:
      opacity .22s ease,
      visibility .22s ease,
      transform .28s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .header__catalog-menu > li > ul > li > ul > li > ul.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }

  .header__catalog-menu > li > ul > li > ul > li > ul > li {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .header__catalog-menu > li > ul > li > ul > li > ul > li > a {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 11px 18px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35;
    text-align: left !important;
    color: var(--mm-text) !important;
    text-decoration: none !important;
    background: #fff !important;
    transition: color .15s ease-out, background-color .15s ease-out, font-weight .15s ease-out;
  }

  .header__catalog-menu > li > ul > li > ul > li > ul > li > a:hover,
  .header__catalog-menu > li > ul > li > ul > li > ul > li > a.maintainHover {
    color: var(--mm-brand) !important;
    font-weight: 600 !important;
    background-color: #f5f5f5 !important;
  }

  /* Поиск шире; город и телефон справа */
  .header__search {
    position: static !important;
    left: auto;
    top: auto;
    z-index: 5;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 560px !important;
    min-width: 260px !important;
    margin: 0 0 0 auto !important;
    transform: none;
  }

  .header__search .l-ss-c-host-wrapper,
  .header__search .l-ss-c-host-wrapper-is-search-input {
    width: 100% !important;
    max-width: 100% !important;
  }

  .header__search-input,
  .header__search .l-ss-c-search-input,
  .header__search #app-input {
    height: 40px !important;
    padding: 0 44px 0 14px !important;
    font-size: 15px !important;
    color: var(--mm-text) !important;
    background-color: var(--mm-surface) !important;
    background-image: url(/design/2025-metalmaster-mob/static/ya-site-form__submit.svg) !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 18px 18px !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  .header__search-input:hover,
  .header__search .l-ss-c-search-input:hover,
  .header__search #app-input:hover {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--mm-brand) 16%, transparent) !important;
  }

  .header__search-input:focus,
  .header__search .l-ss-c-search-input:focus,
  .header__search #app-input:focus {
    box-shadow: var(--mm-focus) !important;
  }

  .header__search-input::placeholder,
  .header__search .l-ss-c-search-input::placeholder {
    color: #807f7d !important;
    opacity: 1 !important;
  }

  /* Город / адрес между поиском и телефоном */
  .header__nav-geo {
    display: flex !important;
    flex: 0 1 auto;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    margin-left: 16px !important;
    min-width: 0;
    max-width: 220px;
    line-height: 1.15;
  }

  .header__nav-geo-city,
  .header__nav-geo-city:link,
  .header__nav-geo-city:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--mm-muted) !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color .15s ease-out;
  }

  .header__nav-geo-city .header__nav-geo-icon {
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    color: currentColor;
  }

  .header__nav-geo-city:hover {
    color: var(--mm-brand) !important;
  }

  .header__nav-geo-adr,
  .header__nav-geo-adr:link,
  .header__nav-geo-adr:visited {
    display: block;
    max-width: 100%;
    padding-left: 19px;
    font-size: 11px;
    font-weight: 300;
    line-height: 1.2;
    color: #807f7d !important;
    text-decoration: none !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .15s ease-out;
  }

  .header__nav-geo-adr:hover {
    color: var(--mm-brand) !important;
  }

  /* Телефон и email справа */
  .header__contacts {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center;
    margin-left: 16px !important;
    max-width: 240px;
  }

  .header__phones {
    display: flex;
    flex-flow: column nowrap;
    gap: 2px;
    min-width: 0;
  }

  .header__phones-tel,
  .header__phones-tel:link,
  .header__phones-tel:visited {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--mm-text) !important;
    text-decoration: none !important;
    white-space: nowrap;
  }

  .header__phones-tel i {
    font-style: normal;
    color: var(--mm-brand);
  }

  .header__phones-tel:hover {
    color: var(--mm-brand) !important;
  }

  .header__phones-mail,
  .header__phones-mail:link,
  .header__phones-mail:visited {
    font-size: 13px;
    font-weight: 400;
    color: #00aed6 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    white-space: nowrap;
  }

  .header__phones-mail:hover {
    color: var(--mm-brand) !important;
  }

  /* --- Навигация: ссылки + иконки --- */
  .header__nav {
    display: flex !important;
    flex: 0 0 40px !important;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 1;
    overflow: hidden;
    pointer-events: auto;
    box-sizing: border-box;
    background-color: #fff;
    transition:
      flex-basis .4s cubic-bezier(0.4, 0, 0.2, 1),
      max-height .4s cubic-bezier(0.4, 0, 0.2, 1),
      min-height .4s cubic-bezier(0.4, 0, 0.2, 1),
      opacity .18s ease .16s;
  }

  .header.header_compact .header__nav {
    flex-basis: 0 !important;
    min-height: 0 !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition:
      flex-basis .35s cubic-bezier(0.4, 0, 0.2, 1),
      max-height .35s cubic-bezier(0.4, 0, 0.2, 1),
      min-height .35s cubic-bezier(0.4, 0, 0.2, 1),
      opacity .12s ease;
  }

  /* Дропы выходят за ряд только когда он уже раскрыт */
  .header:not(.header_compact) .header__nav:has(.header__nav-item_drop:hover),
  .header:not(.header_compact) .header__nav:has(.header__nav-item_drop:focus-within) {
    overflow: visible;
  }

  .header__nav-links {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 8px 28px;
    min-width: 0;
    overflow: visible;
  }

  .header__nav-links > a,
  .header__nav-item > .header__nav-link,
  .header__nav-links > a:link,
  .header__nav-links > a:visited,
  .header__nav-item > .header__nav-link:link,
  .header__nav-item > .header__nav-link:visited {
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0;
    font-family: var(--mm-font);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.01em;
    color: var(--mm-text) !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0;
    white-space: nowrap;
    transition: color .15s ease-out;
  }

  .header__nav-links > a:hover,
  .header__nav-item:hover > .header__nav-link,
  .header__nav-item:focus-within > .header__nav-link {
    color: var(--mm-brand) !important;
  }

  .header__nav-links > a.header__nav-link_actions,
  .header__nav-links > a.header__nav-link_actions:link,
  .header__nav-links > a.header__nav-link_actions:visited {
    height: 28px;
    padding: 0 12px 0 6px;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #fff !important;
    background: #2f9e44 !important;
    border-radius: 999px;
    transition: background-color .15s ease-out, color .15s ease-out;
  }

  .header__nav-links > a.header__nav-link_actions::before {
    content: "%";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #2f9e44;
    background: #fff;
    border-radius: 50%;
  }

  .header__nav-links > a.header__nav-link_actions:hover {
    color: #fff !important;
    background: #278a3a !important;
  }

  .header__nav-item {
    position: relative;
    display: flex;
    align-items: center;
    height: 40px;
  }

  .header__nav-drop {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 120;
    display: block;
    min-width: 200px;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #dbdbdb;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(22, 29, 40, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(-50%, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    isolation: isolate;
    transition: opacity .16s ease-out, visibility .16s ease-out;
  }

  .header__nav-item_drop:hover > .header__nav-drop,
  .header__nav-item_drop:focus-within > .header__nav-drop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .header__nav-drop li {
    margin: 0;
    padding: 0;
  }

  .header__nav-drop a,
  .header__nav-drop a:link,
  .header__nav-drop a:visited {
    display: block;
    width: 100%;
    height: auto;
    padding: 10px 16px;
    font-family: var(--mm-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.01em;
    color: var(--mm-text) !important;
    text-decoration: none !important;
    white-space: nowrap;
    background: transparent !important;
    border: 0;
    box-sizing: border-box;
    transition: color .15s ease-out, background-color .15s ease-out;
  }

  .header__nav-drop a:hover {
    color: var(--mm-brand) !important;
    background: color-mix(in srgb, var(--mm-brand) 8%, #fff) !important;
  }

  .header__nav-tools {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    gap: 2px;
    margin-left: auto;
  }

  .header__nav-tools .header__tool,
  .header__nav-tools .header__tool:link,
  .header__nav-tools .header__tool:visited,
  .header__nav-tools .header__login {
    display: inline-flex !important;
    position: relative;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    width: 28px;
    min-width: 28px;
    height: 28px;
    padding: 0;
    margin: 0;
    color: #a4a6ad !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px;
    cursor: pointer;
    transition: color .18s ease-out, background-color .18s ease-out;
  }

  .header__nav-tools .header__tool_cart {
    --mm-tool-icon: url("/design/2025-metalmaster-mob/img/icons/i-shoping-cart.svg");
  }

  .header__nav-tools .header__login {
    --mm-tool-icon: url("/design/2025-metalmaster-mob/img/icons/lk-cabinet.png");
  }

  .header__nav-tools .header__tool:hover,
  .header__nav-tools .header__tool:focus-visible,
  .header__nav-tools .header__login:hover,
  .header__nav-tools .header__login:focus-visible {
    color: var(--mm-brand) !important;
    background: color-mix(in srgb, var(--mm-brand) 8%, #fff) !important;
  }

  .header__nav-tools .header__tool span,
  .header__nav-tools .header__login span {
    display: none !important;
  }

  .header__nav-tools .header__tool::before,
  .header__nav-tools .header__login::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 22px;
    transform: translate(-50%, -50%);
    background-color: currentColor;
    pointer-events: none;
    -webkit-mask: var(--mm-tool-icon) center / contain no-repeat;
    mask: var(--mm-tool-icon) center / contain no-repeat;
  }

  .header__nav-tools .header__tool img,
  .header__nav-tools .header__login img {
    display: block;
    width: 22px !important;
    height: 22px !important;
    max-width: 22px;
    object-fit: contain;
    opacity: 0;
  }

  .header__nav-tools .header__tool svg,
  .header__nav-tools .header__login svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: currentColor;
  }

  .header__nav-tools .header__tool .bi {
    display: block;
    font-size: 22px;
    line-height: 1;
    color: currentColor;
  }

  .header__nav-tools .header__tool_cart::after {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    min-width: 14px;
    padding: 0 3px;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    color: var(--mm-brand);
    background-color: color-mix(in srgb, var(--mm-brand) 20%, #fff);
    border-radius: 6px;
    content: attr(data-count);
  }

  .header__nav-tools .header__tool_cart[data-count="0"]::after {
    display: none;
  }

  /* ---------- 4. (legacy slot) ---------- */
  
  /* ---------- 5. Контейнеры и секции ---------- */

  /* Родитель (.page__main / .page__footer) уже 1328 — дети на всю его ширину */
  .page__main .container,
  .page__main .container-bg,
  .page__main .container-bg_news,
  .page__main > section,
  .page__main > div,
  .page__footer .container,
  .page__footer .container-bg {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  .page__main .container-bg,
  .page__main .container-bg_news,
  .page__footer .container-bg {
    margin-bottom: 56px;
    padding: 24px 32px;
    border-radius: 16px;
  }

  .page__main .container-bg_pt-sm {
    padding: 20px 32px 28px;
  }


  section {
    margin-bottom: 20px;
  }
}


@media (min-width: 1200px) {
  .page__main .container-bg,
  .page__footer .container-bg {
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media (min-width: 880px) {
  /* ---------- 7. Каталог-карточки (.catalog-main) ---------- */
  .page__main > section:has(.catalog-main) {
    margin-bottom: 56px;
    padding-left: 0 !important;
  }

  .catalog-main {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-columns: unset;
    grid-auto-flow: row;
    grid-template-rows: auto;
    gap: 24px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    scrollbar-width: auto;
    scrollbar-color: auto;
    scroll-snap-type: none;
    scrollbar-gutter: auto;
  }

  .catalog-main article {
    position: relative;
    min-width: 0;
    height: 100%;
  }

  .catalog-main .card-catalog,
  .catalog-main .card-catalog_sm {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    min-width: 0;
    height: 230px;
    max-height: 230px;
    min-height: 230px;
    padding: 0;
    background-color: var(--mm-surface);
    border: none;
    border-radius: 12px;
    text-decoration: none;
    scroll-snap-align: unset;
    box-sizing: border-box;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .2s ease-out, box-shadow .2s ease-out;
    overflow: hidden !important;
  }

  .catalog-main .card-catalog__link {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    justify-content: stretch;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    max-height: 230px;
    min-height: 0;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 2;
    background-color: var(--mm-surface);
  }

  .catalog-main .card-catalog__link:focus {
    outline: none;
  }

  .catalog-main .card-catalog:hover .card-catalog__link,
  .catalog-main .card-catalog:focus-within .card-catalog__link {
    pointer-events: none;
    background-color: transparent;
  }

  .catalog-main .card-catalog:hover .card-catalog__title,
  .catalog-main .card-catalog:focus-within .card-catalog__title {
    pointer-events: auto;
    position: relative;
    z-index: 6;
    background: linear-gradient(
      to bottom,
      var(--mm-surface) 0%,
      var(--mm-surface) 70%,
      rgba(244, 245, 246, 0)
    );
  }

  .catalog-main .card-catalog:hover,
  .catalog-main .card-catalog_sm:hover {
    z-index: 2;
    background-color: var(--mm-surface);
    transform: scale(1.03);
    box-shadow: 0 10px 28px rgba(22, 29, 40, 0.14);
  }

  .catalog-main .card-catalog:focus-within {
    background-color: var(--mm-surface);
    outline: none;
  }

  .catalog-main .card-catalog__img,
  .catalog-main .card-catalog_sm .card-catalog__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center bottom;
    align-self: stretch;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    background: var(--mm-surface) !important;
    transform: scale(1.8) translateY(36px) !important;
    transform-origin: center bottom;
    transition: opacity .28s ease, visibility .28s ease, transform .28s ease, filter .28s ease;
  }

  .catalog-main .card-catalog:hover .card-catalog__img,
  .catalog-main .card-catalog:focus-within .card-catalog__img {
    opacity: 1 !important;
    visibility: visible !important;
    filter: blur(5px) saturate(0.95) !important;
    background: transparent !important;
    transform: scale(1.8) translateY(36px) !important;
  }

  .catalog-main .card-catalog__img_wood,
  .catalog-main .card-catalog_sm .card-catalog__img_wood {
    transform: scale(1.75) translateY(56px) !important;
  }

  .catalog-main .card-catalog:hover .card-catalog__img_wood,
  .catalog-main .card-catalog:focus-within .card-catalog__img_wood {
    transform: scale(1.75) translateY(56px) !important;
  }

  .catalog-main .card-catalog__subs {
    position: absolute;
    top: calc(10px + 2em);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    display: none !important;
    flex-flow: column nowrap;
    gap: 0;
    padding: 0 16px 16px;
    background: linear-gradient(
      to bottom,
      var(--mm-surface) 0%,
      rgba(244, 245, 246, 0.94) 28%,
      rgba(244, 245, 246, 0.72) 52%,
      rgba(244, 245, 246, 0.28) 78%,
      rgba(244, 245, 246, 0) 100%
    );
    -webkit-backdrop-filter: blur(12px) saturate(1.05);
    backdrop-filter: blur(12px) saturate(1.05);
    border-radius: 0 0 12px 12px;
    color: var(--mm-text);
    box-sizing: border-box;
    overflow: hidden auto;
    pointer-events: none;
  }

  .catalog-main .card-catalog:hover .card-catalog__subs,
  .catalog-main .card-catalog:focus-within .card-catalog__subs {
    display: flex !important;
    pointer-events: auto;
  }

  .catalog-main .card-catalog__subs-title {
    display: none;
  }

  .catalog-main .card-catalog__subs ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .catalog-main .card-catalog__subs li {
    margin: 0 0 8px;
  }

  .catalog-main .card-catalog__subs li:last-child {
    margin-bottom: 0;
  }

  .catalog-main .card-catalog__subs li a {
    display: block;
    padding-right: 0;
    font-size: 13px;
    font-weight: 500;
    font-variation-settings: "wght" 500;
    line-height: 1.35;
    color: var(--mm-text);
    text-decoration: none;
  }

  .catalog-main .card-catalog__subs li a:hover,
  .catalog-main .card-catalog__subs li a:hover span {
    color: var(--mm-brand);
    text-decoration: none;
  }

  .catalog-main .card-catalog__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    z-index: 3;
    width: 100%;
    min-height: 2em;
    max-height: 2em;
    margin: 0;
    padding: 10px 10px 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-align: left;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    -webkit-hyphens: none;
    hyphens: none;
    color: var(--mm-text);
    background-color: var(--mm-surface);
  }
}


@media (min-width: 1100px) {
  .catalog-main {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
  }

  .catalog-main .card-catalog__title {
    font-size: 16px;
    letter-spacing: -0.045em;
  }

  .catalog-main .card-catalog__subs {
    top: calc(10px + 2em);
  }

  .catalog-main .card-catalog__img,
  .catalog-main .card-catalog_sm .card-catalog__img {
    transform: scale(1.7) translateY(38px) !important;
  }

  .catalog-main .card-catalog:hover .card-catalog__img,
  .catalog-main .card-catalog:focus-within .card-catalog__img {
    opacity: 1 !important;
    visibility: visible !important;
    filter: blur(5px) saturate(0.95) !important;
    background: transparent !important;
    transform: scale(1.8) translateY(38px) !important;
  }

  .catalog-main .card-catalog__img_wood,
  .catalog-main .card-catalog_sm .card-catalog__img_wood {
    transform: scale(1.75) translateY(58px) !important;
  }

  .catalog-main .card-catalog:hover .card-catalog__img_wood,
  .catalog-main .card-catalog:focus-within .card-catalog__img_wood {
    transform: scale(1.75) translateY(58px) !important;
  }
}

@media (min-width: 880px) {
  .page__main:has(.products-rail) {
    overflow-x: clip;
    overflow-clip-margin: 32px;
  }

  .page__main .products-rail {
    overflow: visible;
  }

  .page__main .products-rail > .rail-card-shadow {
    position: absolute;
    z-index: 0;
    border-radius: 12px;
    pointer-events: none;
    opacity: 0;
    background: transparent;
    box-shadow: var(--mm-card-hover-shadow);
    transition: opacity .15s ease-out;
  }

  .page__main .products-rail > .rail-card-shadow.is-on {
    opacity: 1;
  }

  .page__main .products-rail > .cards-list_prev,
  .page__main .products-rail > .video-container {
    position: relative;
    z-index: 1;
  }

  .page__main .section-head {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 12px 16px;
    margin-bottom: 28px;
  }

  .page__main .section-head > .title {
    flex: 0 1 auto;
    min-width: 0;
    max-width: none;
    margin-bottom: 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #000;
  }

  .page__main .container-bg_gradient .section-head > .title,
  .page__main .container-bg_new .section-head > .title {
    color: #fff;
  }

  /* Акция: заголовок растягивается, плашка справа */
  .page__main .section-head:has(> .card-link_pc) {
    align-items: center;
  }

  .page__main .section-head:has(> .card-link_pc) > .title {
    flex: 1 1 auto;
    min-width: max-content;
  }

  .page__main .products-rail > .section-nav {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
  }

  .page__main .section-head__all {
    display: inline !important;
    flex: 0 0 auto;
    margin: 0;
    padding: 0 0 8px;
    font-size: 16px;
    font-weight: 450;
    line-height: 1.15;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
    background: none;
    border: 0;
    box-shadow: none;
    transition: color .15s ease-out;
  }

  .page__main .section-head__all:hover {
    color: var(--mm-brand);
  }

  .page__main .section-nav__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    color: var(--mm-text);
    background-color: rgba(255, 255, 255, 0.92);
    border: 0;
    border-radius: 12px;
    box-shadow: 0 2px 8px #00000014;
    cursor: pointer;
    pointer-events: auto;
    transition: color .15s ease-out, background-color .15s ease-out;
  }

  .page__main .section-nav__btn_prev {
    left: 0;
    transform: translate(-50%, -50%);
  }

  .page__main .section-nav__btn_next {
    right: 0;
    transform: translate(50%, -50%);
  }

  /* Акция / Новинки — стрелки на границах цветного блока, не ленты карточек */
  .page__main :is(.container-bg_gradient, .container-bg_new):has(.products-rail) {
    overflow: visible;
  }

  .page__main :is(.container-bg_gradient, .container-bg_new) .products-rail > .section-nav {
    left: -32px;
    right: -32px;
  }

  .page__main .section-nav__btn::before {
    content: "";
    width: 8px;
    height: 8px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }

  .page__main .section-nav__btn_prev::before {
    transform: rotate(45deg);
    margin-left: 3px;
  }

  .page__main .section-nav__btn_next::before {
    transform: rotate(-135deg);
    margin-right: 3px;
  }

  .page__main .section-nav__btn:hover:not(:disabled) {
    color: var(--mm-brand);
    background-color: #fff;
  }

  .page__main .section-nav__btn:disabled,
  .page__main .section-nav__btn.is-disabled {
    opacity: 0.35;
    cursor: default;
  }

  .page__main :is(.container-bg_gradient, .container-bg_new) .section-nav__btn {
    border-color: transparent;
    box-shadow: 0 2px 8px rgba(22, 29, 40, 0.12);
  }

  .cards-list_prev {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    gap: 22px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .cards-list_prev::-webkit-scrollbar {
    display: none;
  }

  .cards-list_prev > .card-product {
    --slider-width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 0 0 calc((100% - 88px) / 5);
    width: calc((100% - 88px) / 5);
    max-width: calc((100% - 88px) / 5);
    height: auto;
    max-height: none;
    min-height: 0;
    padding: 0 8px 16px;
    border: 1px solid var(--mm-surface);
    border-radius: 12px;
    scroll-snap-align: start;
    box-sizing: border-box;
    overflow: hidden;
    transition: box-shadow .15s ease-out, border-color .15s ease-out;
  }

  .cards-list_prev > .card-product:hover {
    z-index: 2;
    border-color: #e5e5e5;
    box-shadow: none;
  }

  .cards-list_prev > .card-product:hover .card-product__title {
    color: var(--mm-brand);
  }

  /* Шильдики на изображении */
  .cards-list_prev {
    --mm-badge-h: 24px;
    --mm-badge-fs: 12px;
    --mm-badge-pad-x: 10px;
    --mm-badge-radius: 7px;
    --mm-badge-fw: 600;
  }

  .cards-list_prev > .card-product.card-product_prev > a:has(.card-product__slider) {
    position: relative;
    display: block;
    padding-top: 0 !important;
    color: inherit;
    text-decoration: none !important;
  }

  .cards-list_prev > .card-product.card-product_prev > a:has(.card-product__slider):hover,
  .cards-list_prev > .card-product.card-product_prev > a:has(.card-product__slider):focus,
  .cards-list_prev > .card-product.card-product_prev > a:has(.card-product__slider):visited {
    color: inherit;
    text-decoration: none !important;
  }

  .cards-list_prev > .card-product.card-product_prev .shields_container {
    position: absolute !important;
    top: 10px;
    left: 10px;
    right: auto;
    z-index: 6;
    display: flex !important;
    flex-flow: row wrap;
    align-items: center;
    gap: 6px;
    width: auto;
    max-width: calc(100% - 20px);
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    pointer-events: none;
    overflow: visible;
  }

  .cards-list_prev > .card-product.card-product_prev .card-product__slider {
    width: calc(100% + 16px);
    max-width: none;
    margin: 0 -8px 10px !important;
  }

  .cards-list_prev .shields_container .shild_item,
  .cards-list_prev .shields_container .mm-badge {
    margin: 0;
  }

  .cards-list_prev .shields_container .mm-badge {
    position: relative;
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: auto;
    max-width: none;
    height: var(--mm-badge-h);
    min-height: var(--mm-badge-h);
    max-height: var(--mm-badge-h);
    padding: 0 var(--mm-badge-pad-x);
    border: 0;
    border-radius: var(--mm-badge-radius);
    font-size: var(--mm-badge-fs);
    font-weight: var(--mm-badge-fw);
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none !important;
    white-space: nowrap;
    color: #fff;
  }

  .cards-list_prev .shields_container .mm-badge_hit {
    color: var(--mm-badge-hit-fg, #fff);
    background: var(--mm-badge-hit-bg, #ec670b);
  }

  .cards-list_prev .shields_container .mm-badge_action {
    color: var(--mm-badge-action-fg, #fff);
    background: var(--mm-badge-action-bg, #3faa62);
  }

  .cards-list_prev .shields_container .mm-badge_discount {
    color: var(--mm-badge-discount-fg, #fff);
    background: var(--mm-badge-discount-bg, #29323c);
  }

  .cards-list_prev .shields_container .mm-badge_new {
    color: var(--mm-badge-new-fg, #fff);
    background: var(--mm-badge-new-bg, #f37021);
  }

  .cards-list_prev .shields_container .mm-badge_installment {
    color: #fff !important;
    background: #FF5D5D !important;
  }

  /* Акция / Новинки — те же размеры карточек/фото, что у хитов */
  :is(.container-bg_gradient, .container-bg_new) .cards-list_prev > .card-product {
    flex: 0 0 calc((100% - 88px) / 5);
    width: calc((100% - 88px) / 5);
    max-width: calc((100% - 88px) / 5);
  }

  .cards-list_prev .card-product__slider {
    flex: 0 0 auto;
    width: calc(100% + 16px);
    max-width: none;
    height: auto;
    aspect-ratio: 4 / 3;
    margin-right: -8px;
    margin-left: -8px;
    margin-bottom: 10px;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
  }

  .cards-list_prev .card-product__slider .slider,
  .cards-list_prev .card-product.card-product_prev .card-product__slider .slider,
  .cards-list_prev .card-product__slider .slider__container,
  .cards-list_prev .card-product.card-product_prev .card-product__slider .slider__container,
  .cards-list_prev .card-product__slider .slider__slide,
  .cards-list_prev .card-product.card-product_prev .card-product__slider .slider__slide {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: none;
  }

  .cards-list_prev .card-product__slider .slider__slide > picture,
  .card-product__slider .slider__slide > picture {
    display: contents;
  }

  .cards-list_prev .card-product__slider .slider__image,
  .cards-list_prev .card-product__slider_hover .slider__image {
    border-radius: 12px 12px 0 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .cards-list_prev .card-product__slider .slider__container,
  .cards-list_prev .card-product.card-product_prev .card-product__slider .slider__container {
    gap: 0;
    padding: 0;
    overflow: hidden !important;
    overflow-x: hidden !important;
    scrollbar-width: none;
    scroll-snap-type: none;
    scrollbar-gutter: auto;
  }

  .cards-list_prev .card-product__slider .slider__container::-webkit-scrollbar,
  .cards-list_prev .card-product.card-product_prev .card-product__slider .slider__container::-webkit-scrollbar {
    display: none;
  }

  .cards-list_prev .card-product__slider .slider__slide,
  .cards-list_prev .card-product.card-product_prev .card-product__slider .slider__slide {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .cards-list_prev .card-product__tag-option {
    bottom: 10px;
  }

  .cards-list_prev .card-product__link {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    color: var(--mm-text);
  }

  .cards-list_prev .card-product__link .float-right {
    float: none;
    width: 100%;
  }

  .cards-list_prev .card-product__section {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 40px;
  }

  .cards-list_prev .card-product__trade {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 2px;
    margin: 0;
    padding: 0;
    /* цена + строка скидки: названия всегда с одной линии */
    min-height: 40px;
  }

  .cards-list_prev .card-product__price {
    margin: 0;
    min-height: 22px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--mm-text);
  }

  .cards-list_prev .card-product__price > del {
    margin-left: 6px;
    font-size: 13px;
    font-weight: 500;
  }

  .cards-list_prev .card-product__sale {
    margin: 0;
    min-height: 16px;
    font-size: 12px;
    line-height: 1.2;
  }

  .cards-list_prev .card-product__sale:not(:has(.discount)) {
    visibility: hidden;
  }

  .cards-list_prev .card-product__title {
    display: -webkit-box;
    margin: 0;
    padding: 0;
    min-height: calc(1.35em * 2);
    font-size: 13px;
    font-weight: 450;
    line-height: 1.35;
    color: var(--mm-muted);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    transition: color .15s ease-out;
  }

  .cards-list_prev .card-product_prev .card-product__price:after {
    width: 20px;
    background: linear-gradient(to right, transparent, #fff 70% 100%);
  }
}


@media (max-width: 1199px) and (min-width: 880px) {
  .cards-list_prev > .card-product {
    flex-basis: calc((100% - 66px) / 4);
    width: calc((100% - 66px) / 4);
    max-width: calc((100% - 66px) / 4);
  }

  :is(.container-bg_gradient, .container-bg_new) .cards-list_prev > .card-product {
    flex-basis: calc((100% - 66px) / 4);
    width: calc((100% - 66px) / 4);
    max-width: calc((100% - 66px) / 4);
  }

  .diskont-banner {
    --diskont-card-w: calc((100cqi - 3 * var(--diskont-gap)) / 4);
  }
}


@media (max-width: 1023px) and (min-width: 880px) {
  .cards-list_prev > .card-product {
    flex-basis: calc((100% - 44px) / 3);
    width: calc((100% - 44px) / 3);
    max-width: calc((100% - 44px) / 3);
  }

  :is(.container-bg_gradient, .container-bg_new) .cards-list_prev > .card-product {
    flex-basis: calc((100% - 44px) / 3);
    width: calc((100% - 44px) / 3);
    max-width: calc((100% - 44px) / 3);
  }

  .diskont-banner {
    --diskont-card-w: calc((100cqi - 2 * var(--diskont-gap)) / 3);
  }
}


@media (min-width: 880px) {
  #consult-slot.consult-inline:not(:empty),
  .page__main #consult-slot.consult-inline {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 56px !important;
    padding: 32px 36px;
    border: 1px solid #e8eaed;
    border-radius: 16px;
    background: #fff;
    box-sizing: border-box;
  }

  html.is-404 .footer__col-form,
  .consult-inline .footer__col-form {
    display: grid !important;
    grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1.2fr) !important;
    grid-template-rows: auto auto 1fr;
    gap: 12px 48px;
    align-items: start;
    width: 100%;
  }

  .consult-inline .footer__col-form > .title,
  html.is-404 .footer__col-form > .title {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 12px;
    font-family: var(--mm-font);
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.15;
    letter-spacing: 0;
    color: var(--mm-text);
    text-transform: none;
  }

  .consult-inline .footer__lead,
  html.is-404 .footer__col-form > .footer__lead {
    grid-column: 1;
    grid-row: 2;
    max-width: 34em;
    margin: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.01em;
    color: var(--mm-muted);
  }

  .consult-inline .footer__col-social,
  html.is-404 .footer__col-form > .footer__col-social {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
    margin: 0;
    text-align: left;
  }

  .consult-inline .footer__col-social .title,
  html.is-404 .footer__col-form .footer__col-social .title {
    margin: 0 0 16px;
    font-family: var(--mm-font);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.01em;
    color: var(--mm-text);
    text-transform: none;
  }

  .consult-inline .footer__col-social .social,
  html.is-404 .footer__col-form .footer__col-social .social {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
  }

  .consult-inline .form-consult,
  html.is-404 .footer__col-form > .form-consult {
    grid-column: 2;
    grid-row: 1 / -1;
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .consult-inline .form-consult .form-element {
    margin-bottom: 16px;
  }

  .consult-inline .form-consult .form-element__field {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    font-size: 15px;
    color: var(--mm-text);
    background: var(--mm-surface);
    border: 1px solid #e6e8ec;
    border-radius: var(--mm-radius-input);
    box-sizing: border-box;
    box-shadow: none;
    transition: box-shadow .15s ease-out, border-color .15s ease-out, background-color .15s ease-out;
  }

  .consult-inline .form-consult textarea.form-element__field,
  .page__footer .form-consult textarea.form-element__field {
    height: auto;
    min-height: 88px;
    padding: 12px 14px;
    line-height: 1.4;
    resize: vertical;
  }

  .consult-inline .form-consult .form-element__field:hover {
    border-color: color-mix(in srgb, var(--mm-brand) 28%, #e6e8ec);
  }

  .consult-inline .form-consult .form-element__field:focus,
  .consult-inline .form-consult .form-element__field:focus-visible {
    outline: none;
    border-color: transparent;
    background: #fff;
    box-shadow: var(--mm-focus);
  }

  .consult-inline .form-consent-rim label p,
  .consult-inline .form-consent-pd {
    font-size: 12px;
    line-height: 1.4;
    color: var(--mm-muted);
  }

  .consult-inline .form-consent-pd {
    display: block;
    margin: 16px 0 0 32px;
    text-align: left;
  }

  .consult-inline .form-consent-pd a,
  .consult-inline .form-consent-rim a {
    display: inline !important;
    margin: 0 !important;
    float: none !important;
    color: var(--mm-brand);
  }

  .consult-inline .form-consult .button,
  html.is-404 .footer__col-form .form-consult .button {
    align-self: flex-end;
    width: auto !important;
    min-width: 180px;
    max-width: 100%;
    min-height: 46px;
    margin-top: 24px;
    margin-left: auto;
    padding-left: 28px;
    padding-right: 28px;
    font-family: var(--mm-font);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    color: #fff;
    background: var(--mm-brand);
    border: 0;
    border-radius: var(--mm-radius-btn);
  }

  .consult-inline .form-consult .button:hover {
    background: var(--mm-hover);
  }

  .consult-inline .form-consult.is-sent,
  html.is-404 .footer__col-form > .form-consult.is-sent {
    justify-content: center;
  }

  .consult-inline .form-consult.is-sent .form-consult_ok,
  html.is-404 .footer__col-form > .form-consult.is-sent .form-consult_ok {
    min-height: 100%;
    justify-content: center;
    padding: 28px 32px;
  }

  .consult-inline .form-consult_ok-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 12px;
    background-size: 24px 24px;
  }

  .consult-inline .form-consult_ok-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
  }

  .consult-inline .form-consult_ok-text {
    max-width: 22em;
    font-size: 15px;
  }
}


@media (min-width: 880px) {
  /* ---------- 13. Аккордеон / SEO-текст ---------- */
  .accordion .title {
    font-size: 24px;
    margin-bottom: 24px;
  }

  /* ПК: без свёртки — полный текст */
  .page__main .about-company .accordion__content,
  .page__main .seo-text .accordion__content,
  .page__main .product-from-sections .accordion__content,
  .page__main .product-from-sections .js-accordion-content {
    max-height: none !important;
    height: auto;
    overflow: visible !important;
  }

  .page__main .about-company .accordion__content:before,
  .page__main .seo-text .accordion__content:before,
  .page__main .product-from-sections .accordion__content:before,
  .page__main .product-from-sections .js-accordion-content:before {
    display: none !important;
  }

  .page__main .about-company .js-accordion-btn,
  .page__main .seo-text .js-accordion-btn,
  .page__main .product-from-sections .js-accordion-btn {
    display: none !important;
  }

  .page__main .about-company {
    margin-top: 8px;
    padding: 32px 0 8px;
    background: transparent;
    border-radius: 0;
  }

  .page__main .about-company .about-company__title {
    max-width: 36em;
    margin: 0 0 28px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--mm-text);
  }

  .page__main .about-company .about-company__title .orange {
    color: var(--mm-brand);
  }

  .page__main .about-company__text {
    column-count: auto;
    color: var(--mm-text);
    font-size: 16px;
    font-weight: 350;
    line-height: 1.65;
  }

  .page__main .about-company__top {
    display: block;
  }

  .page__main .about-company__top::after {
    content: "";
    display: table;
    clear: both;
  }

  .page__main .about-company__media {
    float: right;
    order: 0;
    width: 38%;
    max-width: 420px;
    margin: 0 0 8px 40px;
    position: static;
  }

  .page__main .about-company__intro {
    order: 0;
  }

  .page__main .about-company__img {
    display: block;
    width: 100%;
    height: auto;
  }

  .page__main .about-company__intro > p {
    margin: 0 0 16px;
  }

  .page__main .about-company__intro > p:last-child {
    margin-bottom: 0;
  }

  .page__main .about-company__lead {
    clear: both;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #dbdbdb;
    font-size: 18px;
    font-weight: 450;
    line-height: 1.45;
    color: var(--mm-text);
  }

  .page__main .seo-text {
    width: 100%;
    max-width: 100%;
    margin: 0 0 40px;
    padding: 28px 0 8px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .page__main .seo-text .title {
    margin: 0 0 20px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--mm-text);
  }

  .page__main .seo-text__body {
    max-width: 100%;
    color: var(--mm-text);
    font-size: 16px;
    font-weight: 350;
    line-height: 1.65;
  }

  .page__main .seo-text__body p {
    margin: 0 0 14px;
  }

  .page__main .seo-text__body p:last-child {
    margin-bottom: 0;
  }

  /* Теги разделов: «Товар из разделов» / «Часто ищут» / «Рекомендуем» */
  .page__main .product-from-sections {
    width: 100%;
    max-width: 100%;
    margin: 0 0 40px;
    padding: 28px 0 8px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .page__main .product-from-sections .title {
    margin: 0 0 16px;
    color: var(--mm-text);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
  }

  .page__main .product-from-sections .js-accordion-content,
  .page__main .product-from-sections .accordion__content {
    padding: 0;
  }

  .page__main .product-from-sections .flex {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .page__main .product-from-sections .tag {
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: 100%;
    min-height: 36px;
    padding: 8px 14px;
    color: var(--mm-muted);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    text-decoration: none;
    background: var(--mm-surface);
    border-radius: 10px;
    transition: background-color .15s ease-out, color .15s ease-out;
  }

  .page__main .product-from-sections .tag:hover {
    color: var(--mm-brand);
    background: #eceef1;
  }
}


@media (min-width: 1200px) {
  .page__main .about-company .about-company__title {
    max-width: 40em;
    font-size: 36px;
  }

  .page__main .about-company__media {
    width: 36%;
    max-width: 460px;
    margin: 0 0 12px 48px;
  }

  .page__main .about-company__text {
    font-size: 17px;
    line-height: 1.7;
  }

  .page__main .about-company__lead {
    font-size: 20px;
  }
}

@media (min-width: 880px) {
  html.is-404 .page__main #consult-slot.consult-inline {
    margin-top: 0 !important;
    margin-bottom: 40px !important;
  }

  html.is-404 .page__main .consult-inline .footer__col-form > .title {
    font-family: var(--mm-font);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    color: var(--mm-text);
  }

  html.is-404 .consult-inline .footer__lead {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
  }

  html.is-404 .consult-inline .footer__col-social .title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
  }
}

@media (min-width: 880px) {
  #modal__city .ulcity {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 32px;
    max-height: min(68vh, 620px);
    min-height: 420px;
    padding: 8px 8px 12px;
  }

  .iziModal-overlay {
    background: rgba(22, 29, 40, 0.56) !important;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }

  #modal__city.iziModal {
    max-width: min(920px, calc(100vw - 64px));
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(22, 29, 40, 0.22);
  }

  #modal__city .iziModal-header {
    background: var(--mm-text) !important;
    padding: 18px 56px 18px 28px;
    box-shadow: none;
  }

  #modal__city .iziModal-header-title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #fff;
  }

  #modal__city .iziModal-header-buttons {
    top: 50%;
    right: 18px;
    margin-top: -18px;
  }

  #modal__city .iziModal-button-close {
    width: 36px;
    height: 36px;
    opacity: 0.85;
    transition: opacity .15s ease-out;
  }

  #modal__city .iziModal-button-close:hover {
    opacity: 1;
  }

  #modal__city .iziModal-content {
    padding: 28px 32px 32px;
    background: #fff;
    min-height: 520px;
    box-sizing: border-box;
  }

  #modal__city .iziModal-wrap {
    border-radius: 16px;
  }

  #modal__city .albhabet {
    margin: 0 0 20px;
    padding: 0 4px 16px;
    gap: 6px 14px;
  }

  #modal__city .div_regio > .proc {
    margin: 0 4px 18px;
  }

  /* ---------- 15. Модалки ---------- */
  .modal__content {
    max-width: 720px;
    margin: 0 auto;
  }

  .modal__btn {
    top: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
  }

  .modal .container-bg {
    margin: 0 auto;
    max-width: 100%;
  }

  /* Login — центрированная модалка на затемнённом оверлее (только ПК) */
  #login.modal {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background-color: rgba(22, 29, 40, 0.56);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    overflow-y: auto;
  }

  #login.modal .modal__content {
    width: 100%;
    max-width: 480px;
    margin: 0;
    transform: translateY(16px) scale(0.98);
    transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
  }

  #login.modal.active .modal__content {
    transform: translateY(0) scale(1);
  }

  #login .modal__btn {
    display: none;
  }

  #login .login-modal {
    position: relative;
    padding: 32px 36px 28px;
    margin: 0;
    background: #fff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(22, 29, 40, 0.2);
  }

  #login .login-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    color: #807f7d;
    background: var(--mm-surface);
    border: 0;
    border-radius: var(--mm-radius-icon);
    cursor: pointer;
    transition: background-color .15s ease-out, color .15s ease-out;
  }

  #login .login-modal__close:hover {
    color: var(--mm-brand);
    background: color-mix(in srgb, var(--mm-brand) 8%, #fff);
  }

  #login .login-modal__close-inline {
    display: none !important;
  }

  #login .title {
    margin-bottom: 20px;
    padding-right: 48px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--mm-text);
  }

  #login hr.margin-out {
    display: none;
  }

  #login .form-element {
    margin-bottom: 14px;
  }

  #login .form-element__label {
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--mm-text);
  }

  #login .form-element__field {
    height: 44px;
    padding: 0 14px;
    font-size: 15px;
    color: var(--mm-text);
    background: var(--mm-surface);
    border: 0;
    border-radius: var(--mm-radius-input);
  }

  #login .form-element__field:hover {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--mm-brand) 16%, transparent);
  }

  #login .form-element__field:focus {
    outline: none;
    box-shadow: var(--mm-focus);
  }

  #login a,
  #login a:link,
  #login a:visited,
  #login a:not([class]),
  #login a:link:not([class]) {
    color: var(--mm-text) !important;
    text-decoration: none !important;
  }

  #login a:hover,
  #login a:not([class]):hover,
  #login a:link:not([class]):hover {
    color: var(--mm-brand) !important;
    text-decoration: none !important;
  }

  #login .login-modal__forgot {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--mm-muted) !important;
  }

  #login .login-modal__forgot:hover {
    color: var(--mm-brand) !important;
  }

  #login .login-modal__actions {
    display: flex !important;
    grid-template-columns: none;
    justify-content: flex-end;
    margin-top: 8px;
    margin-bottom: 20px !important;
  }

  #login .login-modal__submit {
    width: auto;
    min-width: 140px;
    max-width: 180px;
    height: 44px;
    padding: 0 28px;
    margin-left: auto;
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--mm-radius-btn);
  }

  #login .login-modal__register {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    gap: 10px;
  }

  #login .login-modal__register-q {
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--mm-muted);
  }

  #login .login-modal__register-link {
    display: none !important;
  }

  #login .login-modal__register-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: var(--mm-text) !important;
    text-decoration: none !important;
    background: var(--mm-surface);
    border: 0;
    border-radius: var(--mm-radius-btn);
    transition: background-color .15s ease-out, color .15s ease-out;
  }

  #login .login-modal__register-btn:hover {
    color: var(--mm-brand) !important;
    background: color-mix(in srgb, var(--mm-brand) 10%, #fff);
  }

  #login #loginError.error {
    margin-bottom: 12px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.35;
    color: #b42318;
    background: color-mix(in srgb, #b42318 8%, #fff);
    border-radius: 10px;
  }

  #login #loginError.error:empty {
    display: none;
    margin: 0;
    padding: 0;
  }

  /* Форменные модалки — «Купить в 1 клик», «Получить КП», «Оформить заказ», «Связаться с менеджером» */
  #fast_order.modal,
  #trade.modal,
  #sale.modal,
  #found-cheaper.modal,
  #consult.modal {
    display: block;
    padding: 48px 24px 32px;
    background-color: rgba(22, 29, 40, 0.56);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    overflow-x: hidden;
    overflow-y: auto;
  }

  #fast_order.modal .modal__content,
  #trade.modal .modal__content,
  #sale.modal .modal__content,
  #found-cheaper.modal .modal__content,
  #consult.modal .modal__content {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 32px 36px 28px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(22, 29, 40, 0.2);
    box-sizing: border-box;
    overflow: visible;
    transform: translateY(16px) scale(0.98);
    transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
  }

  #fast_order.modal.active .modal__content,
  #trade.modal.active .modal__content,
  #sale.modal.active .modal__content,
  #found-cheaper.modal.active .modal__content,
  #consult.modal.active .modal__content {
    transform: translateY(0) scale(1);
  }

  #fast_order .container-bg,
  #fast_order .container-bg_border,
  #trade .container-bg,
  #trade .container-bg_border,
  #sale .container-bg,
  #sale .container-bg_border,
  #found-cheaper .container-bg,
  #found-cheaper .container-bg_border,
  #consult .container-bg,
  #consult .container-bg_border {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #fast_order hr,
  #trade hr,
  #sale hr,
  #found-cheaper hr,
  #consult hr {
    display: none;
  }

  #fast_order .title,
  #trade .title,
  #sale .title,
  #found-cheaper .title,
  #consult .title {
    margin: 0 48px 20px 0;
    padding: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--mm-text);
  }

  #consult .title {
    margin-bottom: 8px;
  }

  #consult .consult-modal-product {
    margin: 0 0 20px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--mm-muted);
  }

  #fast_order > .modal__btn,
  #trade > .modal__btn,
  #sale > .modal__btn,
  #found-cheaper > .modal__btn,
  #consult > .modal__btn {
    top: 64px;
    right: calc((100vw - min(520px, calc(100vw - 48px))) / 2 + 16px);
    width: 40px;
    height: 40px;
    border-radius: var(--mm-radius-icon);
    background: var(--mm-surface);
    box-shadow: none;
    color: #807f7d;
  }

  #fast_order > .modal__btn:hover,
  #trade > .modal__btn:hover,
  #sale > .modal__btn:hover,
  #found-cheaper > .modal__btn:hover,
  #consult > .modal__btn:hover {
    color: var(--mm-brand);
    background: color-mix(in srgb, var(--mm-brand) 8%, #fff);
  }

  #fast_order .form-element,
  #trade .form-element,
  #consult .form-element {
    margin-bottom: 14px;
  }

  #fast_order .form-element__label,
  #trade .form-element__label,
  #consult .form-element__label {
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--mm-text);
  }

  #fast_order .form-element__label ~ input,
  #fast_order .form-element__label ~ textarea,
  #trade .form-element__label ~ input,
  #trade .form-element__label ~ textarea,
  #consult .form-element__label ~ input,
  #consult .form-element__label ~ textarea {
    margin-top: 6px;
  }

  #fast_order .form-element__field,
  #trade .form-element__field,
  #consult .form-element__field {
    box-sizing: border-box;
    height: 44px;
    padding: 0 14px;
    font-size: 15px;
    line-height: 1.2;
    color: var(--mm-text);
    background: var(--mm-surface);
    border: 0;
    border-radius: var(--mm-radius-input);
  }

  #fast_order textarea.form-element__field,
  #trade textarea.form-element__field,
  #consult textarea.form-element__field {
    height: auto;
    min-height: 88px;
    padding: 12px 14px;
    line-height: 1.4;
    resize: vertical;
  }

  #fast_order .form-element__field:hover,
  #trade .form-element__field:hover,
  #consult .form-element__field:hover {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--mm-brand) 16%, transparent);
  }

  #fast_order .form-element__field:focus,
  #trade .form-element__field:focus,
  #consult .form-element__field:focus {
    outline: none;
    border-color: transparent;
    box-shadow: var(--mm-focus);
  }

  #fast_order .form-consent-rim,
  #trade .form-consent-rim,
  #consult .form-consent-rim {
    margin: 4px 0 0;
    align-items: flex-start;
  }

  #fast_order .form-consent-rim p,
  #fast_order .form-consent-pd,
  #fast_order .form-element__note,
  #trade .form-consent-rim p,
  #trade .form-consent-pd,
  #trade .form-element__note,
  #consult .form-consent-rim p,
  #consult .form-consent-pd,
  #consult .form-element__note {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--mm-muted);
  }

  #fast_order .form-consent-pd,
  #trade .form-consent-pd,
  #consult .form-consent-pd {
    margin: 10px 0 0 32px !important;
  }

  #fast_order .form-element__note,
  #trade .form-element__note,
  #consult .form-element__note {
    margin-top: 10px;
  }

  #fast_order a,
  #fast_order a:link,
  #fast_order a:visited,
  #trade a,
  #trade a:link,
  #trade a:visited,
  #consult a,
  #consult a:link,
  #consult a:visited {
    color: var(--mm-text) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
  }

  #fast_order a:hover,
  #trade a:hover,
  #consult a:hover {
    color: var(--mm-brand) !important;
  }

  #fast_order #captcha-forder,
  #trade #captcha-trade,
  #consult #captcha-consult-modal {
    margin: 12px 0 4px;
  }

  #fast_order .grid_btns-duo,
  #trade .grid_btns-duo,
  #consult .grid_btns-duo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    grid-template-columns: none;
  }

  #fast_order .grid_btns-duo .button,
  #trade .grid_btns-duo .button,
  #consult .grid_btns-duo .button {
    box-sizing: border-box;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 140px;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px;
    margin: 0;
    padding: 0 22px;
    border: 0;
    border-radius: var(--mm-radius-btn);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
  }

  #fast_order .grid_btns-duo .button_icon-grey,
  #trade .grid_btns-duo .button_icon-grey,
  #sale .grid_btns-duo .button_icon-grey,
  #found-cheaper .grid_btns-duo .button_icon-grey,
  #consult .grid_btns-duo .button_icon-grey {
    display: none;
  }

  #fast_order .foc-thanks {
    margin-top: 8px;
    padding: 0;
    min-height: 0;
    background: none;
    font-size: 16px;
    font-weight: 600;
    color: var(--mm-text);
  }

  #calc_order.modal {
    display: block;
    padding: 48px 24px 32px;
    background-color: rgba(22, 29, 40, 0.56);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    overflow-x: hidden;
    overflow-y: auto;
  }

  #calc_order.modal .modal__content {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 32px 36px 28px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(22, 29, 40, 0.2);
    box-sizing: border-box;
    transform: translateY(16px) scale(0.98);
    transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
  }

  #calc_order.modal.active .modal__content {
    transform: translateY(0) scale(1);
  }

  #calc_order .container-bg,
  #calc_order .container-bg_border {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  #calc_order hr {
    display: none;
  }

  #calc_order .title {
    margin: 0 48px 20px 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--mm-text);
  }

  #calc_order > .modal__btn {
    top: 64px;
    right: calc((100vw - min(520px, calc(100vw - 48px))) / 2 + 16px);
    width: 40px;
    height: 40px;
    border-radius: var(--mm-radius-icon);
    background: var(--mm-surface);
    box-shadow: none;
  }

  #calc_order > .modal__btn:hover {
    color: var(--mm-brand);
    background: color-mix(in srgb, var(--mm-brand) 8%, #fff);
  }

  #calc_order .form-element {
    margin-bottom: 14px;
  }

  #calc_order .form-element__label {
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
  }

  #calc_order .form-element__field {
    box-sizing: border-box;
    height: 44px;
    padding: 0 14px;
    font-size: 15px;
    background: var(--mm-surface);
    border: 0;
    border-radius: var(--mm-radius-input);
  }

  #calc_order .form-element__field:hover {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--mm-brand) 16%, transparent);
  }

  #calc_order .form-element__field:focus {
    outline: none;
    box-shadow: var(--mm-focus);
  }

  #calc_order .form-consent-pd,
  #calc_order .form-element__note,
  #calc_order .form-consent-rim p {
    font-size: 13px;
    line-height: 1.4;
    color: var(--mm-muted);
  }

  #calc_order a {
    color: var(--mm-text) !important;
    text-decoration: underline !important;
  }

  #calc_order .grid_btns-duo {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    grid-template-columns: none;
  }

  #calc_order .grid_btns-duo .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 140px;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 22px;
    border-radius: var(--mm-radius-btn);
    max-width: 1200px;
  }

  .modal_news .modal-news-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .modal_video .modal__content {
    max-width: 1200px;
  }

  .modal_video .modal-video-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-height: calc(100vh - 140px);
  }

  .reviews-modal.modal_video {
    padding: 56px 32px 48px;
    background: rgba(22, 29, 40, 0.48);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  .reviews-modal.modal_video .modal__content {
    max-width: var(--mm-rail);
  }

  .reviews-modal.modal_video .modal__btn {
    top: 8px;
    right: 24px;
    width: 48px;
    height: 48px;
    background: #fff;
  }

  .reviews-modal .title {
    margin-bottom: 24px;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
  }

  .reviews-modal.modal_video .modal-video-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-height: none;
    padding: 0 0 8px;
  }

  .reviews-modal .card-video {
    height: 100%;
    transition: border-color .15s ease-out, box-shadow .15s ease-out;
  }

  .reviews-modal .video:hover .card-video {
    border-color: var(--mm-brand);
    box-shadow: var(--mm-card-hover-shadow);
  }

  .reviews-modal .card-video__title,
  .reviews-modal h3.card-video__title {
    font-size: 16px;
  }
}


@media (min-width: 1200px) {
  .modal_video .modal-video-container {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .reviews-modal.modal_video .modal-video-container {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}


/* ---------- 16. Cookie-уведомление ---------- */
@media (min-width: 880px) {
  .cookie-notice {
    width: calc(100% - 40px);
    max-width: 1110px;
    padding: 18px 24px;
    border-radius: 12px;
    bottom: 24px;
  }
}

@media (min-width: 880px) {
  .scroll-top {
    position: fixed;
    z-index: 95;
    /* Справа от рельсы 1328: 48px зазор + 52px кнопка */
    right: max(16px, calc((100vw - var(--mm-rail)) / 2 - 100px));
    bottom: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    padding: 0;
    color: #fff;
    background: var(--mm-brand);
    border: 0;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(22, 29, 40, 0.18);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .2s ease-out, visibility .2s ease-out, transform .2s ease-out, background-color .15s ease-out;
  }

  .scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .scroll-top:hover {
    background: var(--mm-hover);
  }

  .scroll-top:active {
    background: color-mix(in srgb, var(--mm-brand) 80%, var(--mm-text));
  }

  .scroll-top svg {
    display: block;
  }
}


@media (min-width: 880px) {
  .page__footer {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .page__footer > .footer__top,
  .page__footer > .footer__mid {
    width: 100%;
    max-width: var(--mm-rail) !important;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
  }

  /* Пустой top (форма уехала в #consult-slot) — скрыть */
  .page__footer .footer__top.container-bg:not(:has(.footer__col-form)),
  .page__footer .footer__top.container-bg:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
  }

  .page__footer .footer__top.container-bg:has(.footer__col-form) {
    display: block;
    margin-bottom: 0;
    padding: 36px 40px;
    border: 1px solid #e8eaed;
    border-radius: 16px;
    background: #fff;
  }

  .page__footer .footer__col-form .title {
    margin-bottom: 14px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
  }

  .page__footer .footer__lead {
    max-width: 36em;
    margin-bottom: 16px;
    font-size: 15px;
    font-weight: 350;
    line-height: 1.45;
    color: var(--mm-muted);
  }

  .page__footer .form-consult {
    display: flex;
    flex-flow: column nowrap;
  }

  .page__footer .form-consult.is-sent .form-consult_ok {
    padding: 24px 28px;
  }

  .page__footer .form-consult .form-element {
    margin-bottom: 16px;
  }

  .page__footer .form-consent-rim label p,
  .page__footer .form-consent-pd {
    font-size: 12px;
    line-height: 1.4;
    color: var(--mm-muted);
  }

  .page__footer .form-consent-pd {
    display: block;
    margin: 16px 0 0 32px;
    text-align: left;
  }

  .page__footer .form-consent-pd a {
    display: inline !important;
    margin: 0 !important;
    float: none !important;
  }

  .page__footer .form-consult .button {
    align-self: flex-end;
    width: auto;
    min-width: 180px;
    max-width: 100%;
    margin-top: 24px;
    margin-left: auto;
    padding-left: 28px;
    padding-right: 28px;
  }

  /* 4 колонки: каталог×2 | компания | бренд */
  .page__footer .footer__mid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.9fr) 210px;
    align-items: start;
    column-gap: 40px;
    row-gap: 0;
    padding-top: 24px;
    padding-bottom: 28px;
  }

  .page__footer .footer__search {
    display: none !important;
  }

  .page__footer .footer__nav-group {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
  }

  .page__footer .footer__nav-group_catalog {
    grid-column: 1 / 3;
  }

  .page__footer .footer__nav-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
  }

  .page__footer .footer__nav-title {
    margin: 0 0 10px;
    font-family: var(--mm-font);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.02em;
    color: var(--mm-text);
    text-transform: none;
  }

  .page__footer ul.footer__nav-list,
  .page__footer .footer__nav-list {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .page__footer .footer__nav-list li {
    display: block;
    list-style: none;
    margin: 0;
    padding: 1px 0;
  }

  .page__footer .footer__nav-list li::marker,
  .page__footer .footer__nav-list li::before {
    content: none;
    display: none;
  }

  .page__footer .footer__nav-list a,
  .page__footer .footer__nav-list a.footer__nav-link,
  .page__footer .footer__nav-list a:link,
  .page__footer .footer__nav-list a:visited {
    display: inline;
    width: auto;
    max-width: 100%;
    padding: 0;
    font-family: var(--mm-font);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.01em;
    color: var(--mm-muted);
    text-decoration: none !important;
    background: none;
  }

  .page__footer .footer__nav-list a::before {
    content: none;
    display: none;
  }

  .page__footer .footer__nav-list a:hover,
  .page__footer .footer__nav-list a:focus-visible {
    color: var(--mm-brand);
    text-decoration: none !important;
  }

  .page__footer .footer__nav-list a.footer__nav-link_em {
    font-size: 13px;
    font-weight: 700;
  }

  .page__footer .footer__brand {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    padding: 0;
    border: 0;
  }

  .page__footer .footer__logo {
    flex: 0 0 auto;
    margin: 0;
  }

  .page__footer .footer__logo img {
    display: block;
    height: 32px;
    width: auto;
    max-width: none;
  }

  .page__footer .footer__requisites {
    margin: 0;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.65;
    color: var(--mm-muted);
  }

  .page__footer .footer__col-form .footer__col-social {
    flex: 0 0 auto;
    margin: 12px 0 0;
    text-align: left;
  }

  .page__footer .footer__col-form .footer__col-social .title {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.25;
  }

  .page__footer .footer__col-form .footer__col-social .social {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
  }

  .page__footer .social__link,
  .consult-inline .social__link {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: var(--mm-radius-btn);
    overflow: hidden;
    transition: background-color .15s ease-out;
  }

  .page__footer .social__link img,
  .consult-inline .social__link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .page__footer .social__link:hover,
  .consult-inline .social__link:hover {
    background: color-mix(in srgb, var(--mm-brand) 8%, #fff);
  }

  .page__footer .footer__info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "disclaimer payments"
      "links links";
    gap: 16px 40px;
    align-items: start;
    width: 100%;
    max-width: none !important;
    margin: 0;
    padding: 24px max(0px, calc((100% - var(--mm-rail)) / 2)) 36px;
    box-sizing: border-box;
    font-size: 13px;
    font-weight: 350;
    line-height: 1.5;
    color: var(--mm-muted);
    background-color: var(--mm-surface);
  }

  .page__footer .footer__disclaimer {
    grid-area: disclaimer;
    margin: 0;
    max-width: 78ch;
  }

  .page__footer .footer__info-links {
    grid-area: links;
    display: flex;
    flex-flow: row wrap;
    gap: 8px 20px;
    margin: 0;
  }

  .page__footer .footer__info-links a {
    color: var(--mm-text);
    text-decoration: none;
    white-space: nowrap;
    transition: color .15s ease-out;
  }

  .page__footer .footer__info-links a:not(:last-child)::after {
    content: none;
  }

  .page__footer .footer__info-links a:hover {
    color: var(--mm-brand);
  }

  .page__footer .footer__img {
    grid-area: payments;
    width: auto;
    max-width: 280px;
    margin: 0;
    justify-self: end;
  }
}


@media (min-width: 1200px) {
  .consult-inline .footer__col-form {
    gap: 16px 64px;
  }

  .page__main #consult-slot.consult-inline {
    padding: 32px 40px;
  }

  .page__footer .footer__mid {
    padding-top: 36px;
    padding-bottom: 36px;
    gap: 32px 48px;
  }

  .page__footer .footer__col-form .footer__col-social .title {
    font-size: 20px;
  }

  .page__footer .footer__col-form .footer__col-social .social,
  .consult-inline .footer__col-social .social {
    gap: 14px;
  }

  .page__footer .social__link,
  .consult-inline .social__link {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }
}


/* ---------- 19. Мобильное меню: на ПК не нужно ---------- */
@media (min-width: 880px) {
  #mobilemenu,
  #mobilemenu-overlay,
  .close_menu-m,
  .d-md-none {
    display: none !important;
  }
}

@media (min-width: 880px) {
  /* ---------- 21. Тэги: крупнее на десктопе ---------- */
  .tag {
    font-size: 14px;
  }

  .tag_sm {
    font-size: 12px;
  }

  /* ---------- 22. Формы ---------- */
  .form-consent-pd {
    display: block;
    margin-left: 32px;
    text-align: left;
  }

  p.form-consent-pd a,
  .form-consent-pd a {
    display: inline !important;
    margin: 0 !important;
    float: none !important;
  }
}

@media (min-width: 880px) {
  .card-product__slider {
    position: relative;
  }

  .card-product__slider_hover .slider {
    height: 100%;
  }

  .card-product__slider_hover .slider__container {
    display: grid;
    grid-template: 1fr / 1fr;
    gap: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
    scrollbar-width: none;
    scroll-snap-type: none;
  }

  .card-product__slider_hover .slider__container::-webkit-scrollbar {
    display: none;
  }

  .card-product__slider_hover .slider__slide {
    grid-area: 1 / 1;
    flex: none;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity .08s linear;
  }

  .card-product__slider_hover .slider__slide.is-hover-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
  }

  .card-product__slider_hover .slider__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 12px 12px 0 0;
  }

  .card-product__slider_hover .card-product__tag-option,
  .card-product__slider_hover .card-product__tags-container {
    z-index: 5;
  }

  .card-product__hover-dots {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 6px;
    z-index: 4;
    display: flex;
    gap: 4px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease-out;
  }

  .card-product__slider_hover:hover .card-product__hover-dots {
    opacity: 1;
  }

  .card-product__hover-dots span {
    flex: 1 1 0;
    height: 2px;
    border-radius: 1px;
    background: rgba(22, 29, 40, 0.16);
    box-shadow: none;
    transition: background-color .12s ease-out;
  }

  .card-product__hover-dots span.is-active {
    background: var(--mm-brand);
  }

  /* ---------- 23. ПК-интерактив: канон hover / focus / active ---------- */
  .button {
    min-height: 44px;
    border-radius: var(--mm-radius-btn);
    transition: background-color .15s ease-out, color .15s ease-out, border-color .15s ease-out, box-shadow .15s ease-out;
  }

  .button_sm {
    min-height: 44px;
    padding: 10px 16px;
    border-radius: var(--mm-radius-btn);
  }

  .button:hover {
    --bg-color: var(--mm-hover);
    background-color: var(--mm-hover);
    color: #fff;
  }

  .button:active {
    background-color: color-mix(in srgb, var(--mm-brand) 80%, var(--mm-text));
  }

  .button:focus {
    box-shadow: none;
  }

  .button:focus-visible {
    box-shadow: var(--mm-focus);
  }

  .button:disabled,
  .button[aria-disabled="true"] {
    opacity: 0.45;
    pointer-events: none;
  }

  .button_green,
  .button_icon-green {
    --bg-color: var(--mm-green);
    background-color: var(--mm-green);
    color: #fff;
  }

  .button_green:hover,
  .button_icon-green:hover {
    --bg-color: var(--mm-green-hover);
    background-color: var(--mm-green-hover);
    color: #fff;
  }

  .button_green:active,
  .button_icon-green:active {
    background-color: color-mix(in srgb, var(--mm-green) 80%, var(--mm-text));
  }

  .button_border {
    color: var(--mm-brand);
    background-color: transparent;
    --bg-color: transparent;
    border: 1px solid var(--mm-brand);
  }

  .button_border:hover {
    --bg-color: var(--mm-brand);
    color: #fff;
    background-color: var(--mm-brand);
    border-color: var(--mm-brand);
  }

  .button_grey:hover,
  .button_icon-grey:hover,
  .button_icon:hover {
    --bg-color: color-mix(in srgb, var(--mm-brand) 8%, #fff);
    background-color: color-mix(in srgb, var(--mm-brand) 8%, #fff);
    color: var(--mm-brand);
  }

  .button_icon-white:hover {
    --bg-color: #fff;
    background-color: #fff7f0;
    color: var(--mm-brand);
  }

  .page__main .breadcrumbs__link:hover,
  .page__main .breadcrumbs__link:focus-visible {
    color: var(--mm-brand) !important;
  }

  .page__footer .footer__nav-list a {
    transition: color .15s ease-out;
  }

  .page__footer .footer__nav-list a:hover {
    color: var(--mm-brand);
  }

  .form-consent-rim a,
  .form-consent-pd a {
    color: var(--mm-brand) !important;
  }

  .form-consent-rim a:hover,
  .form-consent-pd a:hover {
    color: var(--mm-hover) !important;
  }

  .form-element__field {
    height: 44px;
    padding: 0 14px;
    background-color: var(--mm-surface);
    border: 0;
    border-radius: var(--mm-radius-input);
    box-shadow: none;
    transition: box-shadow .15s ease-out, background-color .15s ease-out;
  }

  textarea.form-element__field {
    height: auto;
    min-height: 88px;
    padding: 12px 14px;
  }

  .form-element__field:hover {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--mm-brand) 16%, transparent);
  }

  .form-element__field:focus,
  .form-element__field:focus-visible {
    outline: none;
    border-color: transparent;
    box-shadow: var(--mm-focus);
  }

  .form-element__field.is-error,
  .form-element__field[aria-invalid="true"] {
    box-shadow: 0 0 0 3px color-mix(in srgb, #b94a48 35%, transparent);
  }

  .form-element__checkbox {
    transition: background-color .15s ease-out, box-shadow .15s ease-out;
  }

  .form-element__checkbox:hover {
    background-color: color-mix(in srgb, var(--mm-brand) 12%, var(--mm-surface));
  }

  .form-element__checkbox:focus-visible {
    box-shadow: var(--mm-focus);
  }

  .card-product-detail__options-icon,
  .card-product__options-icon {
    transition: color .15s ease-out;
  }

  .card-product-detail__options-icon:hover,
  .card-product__options-icon:hover {
    color: var(--mm-brand);
  }

  .banner__button:hover {
    --bg-color: var(--mm-hover);
    background-color: var(--mm-hover);
    color: #fff;
  }

  /* ---------- Дисконт-баннер: текст слева, карточки как в Новинках справа ---------- */
  .diskont-banner {
    --diskont-gap: 22px;
    --diskont-card-w: calc((100cqi - 4 * var(--diskont-gap)) / 5);
    position: relative;
    display: grid;
    grid-template-columns: minmax(200px, 1fr) auto;
    align-items: stretch;
    gap: 20px 24px;
    min-height: 0;
    margin: 0;
    padding: 28px 32px 36px;
    overflow: hidden;
    isolation: isolate;
    container-type: inline-size;
    box-sizing: border-box;
    background:
      radial-gradient(ellipse 70% 90% at 8% 70%, rgba(236, 103, 11, 0.55), transparent 58%),
      radial-gradient(ellipse 45% 50% at 28% 8%, rgba(236, 103, 11, 0.22), transparent 48%),
      linear-gradient(145deg, #12171f 0%, #1a222c 48%, #161d28 100%);
    border-radius: 16px;
  }

  .catalog-grid-banner.diskont-banner {
    display: none;
  }

  html.is-home .diskont-banner:has(.diskont-banner__rail) .diskont-banner__fallback {
    display: none;
  }

  .diskont-banner__pct {
    position: absolute;
    left: 24%;
    top: 36%;
    z-index: 0;
    font-size: clamp(280px, 40cqi, 440px);
    font-weight: 800;
    line-height: 0.68;
    color: #ec670b;
    opacity: 0.3;
    pointer-events: none;
    user-select: none;
    transform: translate(-10%, -50%) rotate(-12deg);
    letter-spacing: -0.08em;
    text-shadow: 0 0 40px rgba(236, 103, 11, 0.25);
  }

  .diskont-banner__rail,
  .diskont-banner__copy {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .diskont-banner__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: visible;
    padding: 8px 8px 8px 0;
  }

  .diskont-banner__title,
  .diskont-banner__text,
  .diskont-banner__fallback {
    position: relative;
    z-index: 1;
  }

  .diskont-banner__title {
    margin: 0 0 14px;
    font-size: 52px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
    color: #fff;
  }

  .diskont-banner__text {
    margin: 0;
    max-width: 14em;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.88);
  }

  .diskont-banner__fallback {
    width: auto;
    max-width: max-content;
    margin-top: 16px;
    padding: 12px 28px;
    color: #161d28;
    background: #fff;
  }

  .diskont-banner .products-rail {
    width: calc(3 * var(--diskont-card-w) + 2 * var(--diskont-gap));
    max-width: 100%;
    overflow: visible;
  }

  .diskont-banner .cards-list_prev {
    gap: var(--diskont-gap);
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  .diskont-banner .cards-list_prev > .diskont-banner__item,
  .diskont-banner .cards-list_prev > .diskont-banner__more {
    flex: 0 0 var(--diskont-card-w);
    width: var(--diskont-card-w);
    max-width: var(--diskont-card-w);
    min-width: 0;
    scroll-snap-align: start;
    box-sizing: border-box;
  }

  .diskont-banner .section-nav__btn_prev {
    left: 0;
    transform: translate(-50%, -50%);
  }

  .diskont-banner .section-nav__btn_next {
    right: 0;
    transform: translate(50%, -50%);
  }

  .diskont-banner .cards-list_prev > .diskont-banner__item {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 0 8px 16px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mm-surface);
    border-radius: 12px;
    transition: box-shadow .15s ease-out, border-color .15s ease-out;
  }

  .diskont-banner .cards-list_prev > .diskont-banner__item:hover {
    z-index: 2;
    border-color: #e5e5e5;
    box-shadow: none;
  }

  .diskont-banner .cards-list_prev > .diskont-banner__item:hover .diskont-banner__name {
    color: var(--mm-brand);
  }

  .diskont-banner__photo-link {
    position: relative;
    display: block;
    color: inherit;
    text-decoration: none;
  }

  .diskont-banner__photo {
    display: block;
    width: calc(100% + 16px);
    margin: 0 -8px 10px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--mm-surface);
    border-radius: 12px 12px 0 0;
  }

  .diskont-banner__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }

  .diskont-banner__off {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: var(--mm-brand);
    border-radius: 7px;
    pointer-events: none;
  }

  .diskont-banner__body {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    color: inherit;
    text-decoration: none;
  }

  .diskont-banner__trade {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 40px;
  }

  .diskont-banner__cost {
    display: block;
    min-height: 22px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--mm-text);
  }

  .diskont-banner__cost del {
    margin-left: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--mm-muted);
  }

  .diskont-banner__sale {
    display: block;
    min-height: 16px;
    font-size: 12px;
    line-height: 1.2;
    color: var(--mm-muted);
  }

  .diskont-banner__name {
    display: -webkit-box;
    margin: 0;
    min-height: calc(1.35em * 2);
    font-size: 13px;
    font-weight: 450;
    line-height: 1.35;
    color: var(--mm-muted);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    transition: color .15s ease-out;
  }

  .diskont-banner .section-nav {
    display: block;
  }

  .diskont-banner__more {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 12px;
    color: #fff;
    background: #ec670b;
    border: 1px solid #ec670b;
    border-radius: 12px;
    text-decoration: none;
    transition: box-shadow .15s ease-out, background-color .15s ease-out, border-color .15s ease-out;
  }

  .diskont-banner__more:hover {
    color: #fff;
    background: var(--mm-hover);
    border-color: var(--mm-hover);
    box-shadow: var(--mm-card-hover-shadow);
  }

  .diskont-banner__more-arrow {
    display: block;
    width: 44px;
    height: 44px;
    border: 2px solid currentColor;
    border-radius: 12px;
  }

  .diskont-banner__more-arrow::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin: 15px 0 0 14px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
  }

  .diskont-banner__more-text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }


  /* ---------- 24. :target офсет ---------- */
  :target:before {
    height: 120px;
    margin: -120px 0 0;
  }

  /* ---------- 25. Скрытие переключателя версий ---------- */
  .switch_mobile_version {
    display: none !important;
  }

  html.is-404 .page-404 {
    max-width: var(--mm-rail);
    margin: 0 auto;
    padding-bottom: 48px;
    overflow: visible;
  }

  html.is-404 .page-404__cats {
    overflow: visible;
  }

  html.is-404 .page-404__hero {
    align-items: center;
    text-align: center;
    gap: 12px;
    margin-top: 8px;
    margin-bottom: 40px;
    padding: 40px 48px;
    border-radius: 20px;
  }

  html.is-404 .page-404__code {
    font-size: 148px;
    font-weight: 850;
    opacity: 0.45;
  }

  html.is-404 .page-404__title {
    font-size: 32px;
  }

  html.is-404 .page-404__text {
    max-width: 520px;
    margin-bottom: 8px;
    font-size: 17px;
  }

  html.is-404 .page-404__home {
    width: auto;
    min-width: 200px;
    padding-inline: 28px;
  }

  html.is-404 .page-404__cats .title {
    font-size: 24px;
  }

  html.is-404 .page-404 .catalog-main {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-columns: unset;
    grid-auto-flow: row;
    grid-template-rows: auto;
    gap: 24px;
    overflow: visible !important;
    scroll-snap-type: none;
    padding: 12px 8px 20px;
    margin: 0 -8px;
  }

  html.is-404 .page-404 .catalog-main > article {
    overflow: visible;
  }

  html.is-404 .page-404 .catalog-main > article:hover,
  html.is-404 .page-404 .catalog-main > article:focus-within {
    z-index: 3;
  }

  html.is-404 .page-404 .catalog-main .card-catalog__title {
    font-size: 15px;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
}
