@charset "UTF-8";

/* desktop-page.css — только ПК (min-width: 880px). Общее: page-core.css */

@media (min-width: 880px) {
  /* page.tpl / news подключают main.css в контенте и снова красят body в #f4f5f6 */
  html.is-page body.page {
    background: #fff !important;
  }

  html.is-page .page__main {
    max-width: var(--mm-rail) !important;
    padding-top: var(--mm-header);
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: clip;
    background: #fff;
    box-sizing: border-box;
  }

  html.is-page .page__main .container:not(.consult-inline):not(.contacts_form),
  html.is-page .page__main .container-fluid,
  html.is-page .page__main .container-bg:not(.consult-inline) {
    max-width: 100% !important;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  html.is-page body:has(.header.header_compact) .page__main {
    padding-top: var(--mm-header-compact);
  }

  html.is-page .page__main .row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html.is-page .page__main > .row {
    display: block;
  }

  html.is-page .page__main [class*="col-"] {
    min-width: 0;
    box-sizing: border-box;
  }

  html.is-page .page__main img,
  html.is-page .page__main iframe,
  html.is-page .page__main table,
  html.is-page .page__main video {
    max-width: 100%;
  }

  html.is-page .page__main .left__column,
  html.is-page .page__main .col-lg-3.left__column {
    display: none !important;
  }

  html.is-page .page__main .right__column,
  html.is-page .page__main .col-lg-9.right__column {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
  }

  html.is-page .page__main .track__munu,
  html.is-page .page__main .breadcrumbs {
    display: flex;
    flex-flow: row nowrap;
    float: none;
    clear: both;
    margin: 0;
    padding: 16px 0 8px;
    font-size: 14px;
    letter-spacing: 0.015em;
    line-height: 1.2;
    white-space: nowrap;
    list-style: none;
  }

  html.is-page .page__main .track__munu > li,
  html.is-page .page__main .breadcrumbs .breadcrumbs__item {
    float: none;
    display: inline-flex;
    align-items: center;
    margin: 0;
  }

  html.is-page .page__main .track__munu > li:not(:last-child)::after,
  html.is-page .page__main .breadcrumbs .breadcrumbs__item:not(:last-child)::after {
    content: "/";
    margin: 0 6px;
    color: var(--mm-muted);
  }

  html.is-page .page__main .track__munu a,
  html.is-page .page__main .breadcrumbs__link,
  html.is-page .page__main .breadcrumbs__item {
    font-size: 14px;
    letter-spacing: 0.015em;
    color: var(--mm-muted);
    text-decoration: none;
  }

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

  html.is-page .page__main .top__page {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 24px;
    margin: 0 0 20px;
  }

  html.is-page .page__main .catolog__caption,
  html.is-page .page__main h1.catolog__caption {
    margin: 0;
    padding: 0;
    font-family: var(--mm-font);
    font-size: 38px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    color: var(--mm-text);
    text-transform: none;
  }

  html.is-page .page__main .top__page-share {
    margin: 0;
  }

  /* Навигация раздела */
  html.is-page .company-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    padding: 0;
  }

  html.is-page .company-nav__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--mm-muted);
    text-decoration: none;
    text-transform: none;
    background: var(--mm-surface);
    border: 0;
    border-radius: var(--mm-radius-btn, 12px);
    transition: background-color .15s ease-out, color .15s ease-out;
  }

  html.is-page .company-nav__link:hover {
    color: var(--mm-text);
  }

  html.is-page .company-nav__link.is-active {
    color: #fff;
    background: var(--mm-brand);
  }

  html.is-page .company-nav__link.is-active:hover {
    color: #fff;
    background: var(--mm-hover);
  }

  /* Дубль .menu_2 из CMS body — скрываем */
  html.is-page .contents__block .menu_2,
  html.is-page .contents__block .acl.menu_2,
  html.is-page .right__column > .menu_2,
  html.is-page .right__column > .acl.menu_2 {
    display: none !important;
  }

  html.is-page .page__main .contents__block,
  html.is-page .page__main .contents__block-page {
    margin: 0 0 40px;
    padding: 0;
    float: none;
    width: 100%;
    max-width: 100%;
    color: var(--mm-text);
    font-family: var(--mm-font);
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.55;
  }

  html.is-page .page__main .contents__block img {
    max-width: 100%;
    height: auto;
  }

  html.is-page .page__main .contents__block h2,
  html.is-page .page__main .contents__block h3,
  html.is-page .page__main .contents__block h4 {
    margin: 28px 0 16px;
    font-family: var(--mm-font);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--mm-text);
    text-transform: none;
  }

  html.is-page .page__main .contents__block h2 {
    font-size: 28px;
  }

  html.is-page .page__main .contents__block h3 {
    font-size: 20px;
  }

  html.is-page .page__main .contents__block h4 {
    font-size: 16px;
  }

  html.is-page .page__main .contents__block h2:first-child,
  html.is-page .page__main .contents__block h3:first-child {
    margin-top: 0;
  }

  html.is-page .page__main .contents__block p {
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.01em;
    color: var(--mm-text);
  }

  html.is-page .page__main .contents__block a {
    color: var(--mm-brand);
  }

  html.is-page .page__main .contents__block a:hover {
    color: var(--mm-hover);
  }

  html.is-page .page__main .contents__block ul:not(.menu_2):not(.o_komp):not(.prev_im):not(.okom_slider):not(.news__list),
  html.is-page .page__main .contents__block ol {
    margin: 0 0 20px;
    padding: 0 0 0 1.15em;
  }

  html.is-page .page__main .contents__block ul:not(.menu_2):not(.o_komp):not(.prev_im):not(.okom_slider):not(.news__list) > li,
  html.is-page .page__main .contents__block ol > li {
    margin: 0 0 8px;
    padding: 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--mm-text);
  }

  html.is-page .page__main .contents__block strong,
  html.is-page .page__main .contents__block b {
    font-weight: 600;
    color: var(--mm-text);
  }

  /* ---- Legacy CMS utilities → современная типографика ---- */
  html.is-page .contents__block .ttu {
    text-transform: none !important;
  }

  html.is-page .contents__block .titl_a,
  html.is-page .contents__block .f30 {
    display: block;
    margin: 0 0 16px;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    color: var(--mm-text) !important;
  }

  html.is-page .contents__block .f24,
  html.is-page .contents__block .c_ff8915.f24,
  html.is-page .contents__block span.db.f24 {
    display: block;
    margin: 28px 0 16px;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0;
    color: var(--mm-text) !important;
  }

  html.is-page .contents__block .c_ff8915:not(.f24):not(.f30) {
    color: var(--mm-brand) !important;
  }

  /* Дублирующий заголовок страницы в body — скрываем */
  html.is-page .company-content--istoriya > p:first-child:has(.titl_a),
  html.is-page .company-content--nashi-dostizheniya > p:first-child:has(.titl_a),
  html.is-page .company-content--servis > p:first-child:has(.titl_a),
  html.is-page .company-content--pusko-naladka > p:first-child:has(.titl_a) {
    display: none;
  }

  /* Оранжевые ›› как маркеры списка */
  html.is-page .contents__block .c_ff8915.mr5 {
    display: inline-block;
    width: 0.55em;
    height: 0.55em;
    margin: 0 10px 0 2px !important;
    vertical-align: 0.15em;
    font-size: 0 !important;
    line-height: 0;
    color: transparent !important;
    background: var(--mm-brand);
    border-radius: 50%;
  }

  /* Двухколоночный блок «О компании» */
  html.is-page .company-content--o-kompanii .acl.mb25 {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: 32px 40px;
    align-items: start;
    margin: 0 0 36px !important;
    float: none;
    clear: both;
  }

  html.is-page .company-content--o-kompanii .acl.mb25 .fl,
  html.is-page .company-content--o-kompanii .acl.mb25 .fr,
  html.is-page .company-content--o-kompanii .w325 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  html.is-page .company-content--o-kompanii .acl.mb25 .fr {
    max-width: none;
    margin: 0;
  }

  html.is-page .company-content--o-kompanii .acl.mb25 .fr .mb30 {
    margin: 0 !important;
  }

  html.is-page .company-content--o-kompanii .acl.mb25 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: none;
  }

  html.is-page .company-content--o-kompanii > p:first-of-type {
    margin-bottom: 28px;
  }

  html.is-page .company-content--o-kompanii > p:first-of-type .f24 {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--mm-brand) !important;
  }

  html.is-page .company-content--o-kompanii > p:first-of-type .f30 {
    margin-bottom: 0;
  }

  /* Видео-карточки «О компании» */
  html.is-page .contents__block ul.o_komp {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 8px 0 32px;
    padding: 0 !important;
    list-style: none;
    float: none;
    clear: both;
  }

  html.is-page .contents__block ul.o_komp > li {
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8eaee;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(22, 29, 40, 0.04);
    transition: box-shadow .15s ease-out, border-color .15s ease-out;
  }

  html.is-page .contents__block ul.o_komp > li:hover {
    border-color: color-mix(in srgb, var(--mm-brand) 28%, #e8eaee);
    box-shadow: 0 8px 20px rgba(22, 29, 40, 0.08);
  }

  html.is-page .contents__block ul.o_komp > li > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: var(--mm-text);
    text-decoration: none;
  }

  html.is-page .contents__block ul.o_komp .o_komp_im,
  html.is-page .contents__block ul.o_komp .dtc {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f4f5f6;
  }

  html.is-page .contents__block ul.o_komp .o_komp_im img,
  html.is-page .contents__block ul.o_komp .dtc img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  html.is-page .contents__block ul.o_komp .vk_play {
    top: 50% !important;
    left: 50% !important;
    width: 48px;
    height: 48px;
    transform: translate(-50%, -50%);
    background-size: contain;
    opacity: 0.92;
  }

  html.is-page .contents__block ul.o_komp .db.ttu.f14,
  html.is-page .contents__block ul.o_komp span.db {
    display: block;
    padding: 12px 14px 14px;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1.35;
    text-transform: none !important;
  }

  /* История / сервис — широкие картинки */
  html.is-page .contents__block .history__img,
  html.is-page .contents__block img.history__img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 8px 0 28px;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(22, 29, 40, 0.08);
  }

  html.is-page .company-content--servis h2 img,
  html.is-page .company-content--servis img.dn_400 {
    float: left;
    width: 220px;
    max-width: 40%;
    height: auto;
    margin: 4px 24px 16px 0;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(22, 29, 40, 0.08);
  }

  html.is-page .company-content--servis h2 {
    overflow: hidden;
  }

  /* Галереи достижений / пусконаладки */
  html.is-page .contents__block .dop_phot {
    position: relative;
    display: block;
    margin: 0 0 28px !important;
    padding: 0;
    float: none;
    clear: both;
    overflow: visible;
  }

  html.is-page .contents__block .dop_phot > .prev_1,
  html.is-page .contents__block .dop_phot > .next_1 {
    display: none !important;
  }

  html.is-page .contents__block .dop_phot .pamagnifier {
    display: none !important;
  }

  html.is-page .contents__block ul.prev_im,
  html.is-page .contents__block ul.okom_slider {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    float: none !important;
    left: auto !important;
    position: static !important;
  }

  /* На пусконаладке/достижениях старые ленты скрываем — галереи собирает JS */
  html.is-page .company-content--pusko-naladka ul.prev_im,
  html.is-page .company-content--pusko-naladka ul.okom_slider,
  html.is-page .company-content--nashi-dostizheniya ul.prev_im,
  html.is-page .company-content--nashi-dostizheniya ul.okom_slider,
  html.is-page .company-content--pusko-naladka .dop_phot,
  html.is-page .company-content--nashi-dostizheniya .dop_phot {
    display: none !important;
  }

  html.is-page .contents__block ul.prev_im > li,
  html.is-page .contents__block ul.okom_slider > li {
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid #e8eaee;
    background: #fff;
    transition: box-shadow .15s ease-out, border-color .15s ease-out;
  }

  html.is-page .contents__block ul.prev_im > li:hover,
  html.is-page .contents__block ul.okom_slider > li:hover {
    border-color: color-mix(in srgb, var(--mm-brand) 28%, #e8eaee);
    box-shadow: 0 6px 16px rgba(22, 29, 40, 0.08);
  }

  html.is-page .contents__block ul.prev_im > li > a,
  html.is-page .contents__block ul.okom_slider > li > a {
    display: block;
    position: relative;
    text-decoration: none;
  }

  html.is-page .contents__block ul.prev_im .dtc,
  html.is-page .contents__block ul.okom_slider .dtc,
  html.is-page .contents__block ul.prev_im .clier,
  html.is-page .contents__block ul.okom_slider .clier {
    display: block !important;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f4f5f6;
  }

  html.is-page .contents__block ul.prev_im img,
  html.is-page .contents__block ul.okom_slider img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  html.is-page .contents__block ul.prev_im .vk_play,
  html.is-page .contents__block ul.okom_slider .vk_play {
    top: 50% !important;
    left: 50% !important;
    width: 40px;
    height: 40px;
    transform: translate(-50%, -50%);
    background-size: contain;
  }

  /* Photo galleries (пусконаладка / достижения) — как у товара */
  html.is-page .contents__block .dop_phot.is-merged-away,
  html.is-page .contents__block .dop_phot.is-gallery-source {
    display: none !important;
  }

  html.is-page .pusko-gallery {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 0 auto 36px;
    padding: 0;
    box-sizing: border-box;
  }

  html.is-page .pusko-gallery__stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: visible;
    border-radius: 16px;
    background: #f4f5f6;
  }

  html.is-page .pusko-gallery__main {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid #e8eaee;
    text-decoration: none;
    background: #f4f5f6;
  }

  html.is-page .pusko-gallery__main img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
    opacity: 1;
    transition: opacity .16s ease-out;
    will-change: opacity;
  }

  html.is-page .pusko-gallery__main img.is-switching {
    opacity: 0;
  }

  html.is-page .pusko-gallery__main .mm-gallery__play,
  html.is-page .pusko-gallery__main .vk_play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 64px;
    height: 64px;
    margin: 0;
    pointer-events: none;
    background: url(/design/2025-metalmaster-mob/img/icons/video-play.svg) center / contain no-repeat;
    transform: translate(-50%, -50%);
  }

  html.is-page .pusko-gallery .card-product__gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 8px #00000014;
    color: #161d28;
    cursor: pointer;
    transform: translateY(-50%);
    transition: color .15s ease-out, background-color .15s ease-out;
  }

  html.is-page .pusko-gallery .card-product__gallery-nav::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }

  html.is-page .pusko-gallery .card-product__gallery-nav:hover {
    color: var(--mm-brand);
    background-color: #fff;
  }

  html.is-page .pusko-gallery .card-product__gallery-nav_prev {
    left: 12px;
  }

  html.is-page .pusko-gallery .card-product__gallery-nav_prev::before {
    transform: rotate(45deg);
    margin-left: 2px;
  }

  html.is-page .pusko-gallery .card-product__gallery-nav_next {
    right: 12px;
  }

  html.is-page .pusko-gallery .card-product__gallery-nav_next::before {
    transform: rotate(-135deg);
    margin-right: 2px;
  }

  html.is-page .pusko-gallery .card-product__thumbs {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 12px;
    overflow: hidden;
    box-sizing: border-box;
  }

  html.is-page .pusko-gallery .card-product__thumbs-track {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
    gap: 8px;
    overflow: hidden;
    height: 64px;
  }

  html.is-page .pusko-gallery .card-product__thumb {
    position: relative;
    flex: 0 0 88px;
    width: 88px;
    height: 64px;
    margin: 0;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    background: #f4f5f6;
    cursor: pointer;
  }

  html.is-page .pusko-gallery .card-product__thumb.is-active {
    border-color: var(--mm-brand);
  }

  html.is-page .pusko-gallery .card-product__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  html.is-page .pusko-gallery .card-product__thumb-more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(22, 29, 40, 0.55);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
  }

  html.is-page .pusko-gallery .card-product__thumbs-nav {
    flex: 0 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #f4f5f6;
    color: var(--mm-text);
    cursor: pointer;
  }

  html.is-page .pusko-gallery .card-product__thumbs-nav::before {
    content: "";
    width: 7px;
    height: 7px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }

  html.is-page .pusko-gallery .card-product__thumbs-nav:first-child::before {
    transform: rotate(45deg);
    margin-left: 2px;
  }

  html.is-page .pusko-gallery .card-product__thumbs-nav:last-child::before {
    transform: rotate(-135deg);
    margin-right: 2px;
  }

  html.is-page .pusko-gallery .card-product__thumbs-nav:hover:not(:disabled) {
    color: var(--mm-brand);
    background: #fff;
    box-shadow: 0 2px 8px #00000014;
  }

  html.is-page .pusko-gallery .card-product__thumbs-nav:disabled {
    opacity: 0.35;
    cursor: default;
  }

  /* Баннер преимуществ на достижениях */
  html.is-page .contents__block .footr_dostig {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100% !important;
    max-width: 100%;
    min-height: 160px;
    height: auto !important;
    margin: 32px 0 8px;
    padding: 28px 36px;
    border-radius: 16px;
    background:
      linear-gradient(90deg, rgba(22, 29, 40, 0.55) 0%, rgba(22, 29, 40, 0.25) 55%, rgba(22, 29, 40, 0.15) 100%),
      url(/files/nashi_dostizhenija/ok_footer.jpg) center / cover no-repeat !important;
    color: #fff;
    box-shadow: 0 8px 24px rgba(22, 29, 40, 0.12);
  }

  html.is-page .contents__block .footr_dostig > div,
  html.is-page .contents__block .footr_dostig .fr {
    float: none !important;
    width: auto !important;
    max-width: 420px;
    margin: 0;
    padding: 0 !important;
    text-align: right;
  }

  html.is-page .contents__block .footr_dostig .ttu,
  html.is-page .contents__block .footr_dostig span {
    display: block;
    color: #fff !important;
    text-transform: none !important;
  }

  html.is-page .contents__block .footr_dostig .ttu {
    margin-bottom: 8px;
    font-size: 22px !important;
    font-weight: 600;
    line-height: 1.25;
  }

  html.is-page .contents__block .footr_dostig .db {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
    opacity: 0.92;
  }

  /* Таблицы в CMS, если есть */
  html.is-page .contents__block table {
    width: 100%;
    margin: 0 0 24px;
    border-collapse: collapse;
  }

  html.is-page .contents__block table td,
  html.is-page .contents__block table th {
    padding: 10px 12px;
    border-bottom: 1px solid #e8eaee;
    font-size: 14px;
    vertical-align: top;
  }

  @media (max-width: 1100px) {
    html.is-page .company-content--o-kompanii .acl.mb25 {
      grid-template-columns: 1fr;
    }

    html.is-page .contents__block ul.o_komp {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html.is-page .page__main .news-page-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  /* ---- Список новостей ---- */
  html.is-page .page__main .news-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
  }

  html.is-page .page__main .news-page-grid > .news {
    display: block;
    min-width: 0;
    height: auto;
    color: inherit;
    text-decoration: none !important;
  }

  html.is-page .page__main .news-page-grid > .news:hover,
  html.is-page .page__main .news-page-grid > .news:focus,
  html.is-page .page__main .news-page-grid > .news:visited {
    color: inherit;
    text-decoration: none !important;
  }

  html.is-page .page__main .news-page-grid .card-news {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8eaee;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(22, 29, 40, 0.04);
    transition: border-color .15s ease-out, box-shadow .15s ease-out;
  }

  html.is-page .page__main .news-page-grid > .news:hover .card-news {
    border-color: color-mix(in srgb, var(--mm-brand) 28%, #e8eaee);
    box-shadow: 0 10px 28px rgba(22, 29, 40, 0.1);
  }

  html.is-page .page__main .news-page-grid > .news:first-child {
    grid-column: 1 / -1;
  }

  html.is-page .page__main .news-page-grid > .news:first-child .card-news {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    min-height: 280px;
  }

  html.is-page .page__main .news-page-grid .card-news-container {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 0;
    overflow: hidden;
    background: var(--mm-surface);
  }

  html.is-page .page__main .news-page-grid > .news:first-child .card-news-container {
    aspect-ratio: auto;
    height: 100%;
    min-height: 280px;
  }

  html.is-page .page__main .news-page-grid .card-news-container::before {
    display: none !important;
    content: none !important;
    padding-top: 0 !important;
  }

  html.is-page .page__main .news-page-grid .card-news__img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  html.is-page .page__main .news-page-grid .card-news__info {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    padding: 16px 18px 18px;
  }

  html.is-page .page__main .news-page-grid > .news:first-child .card-news__info {
    justify-content: center;
    gap: 12px;
    padding: 28px 32px;
  }

  html.is-page .page__main .news-page-grid .tag.tag_date {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    flex: 0 0 auto;
    width: auto;
    max-width: max-content;
    height: auto !important;
    min-height: 0 !important;
    max-height: none;
    margin: 0;
    padding: 6px 12px 5px;
    line-height: 1.2;
    white-space: nowrap;
  }

  html.is-page .page__main .news-page-grid .card-news__title {
    width: 100%;
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.01em;
    color: var(--mm-text);
    text-transform: none;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    transition: color .15s ease-out;
  }

  html.is-page .page__main .news-page-grid > .news:first-child .card-news__title {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    font-size: 24px;
    line-height: 1.25;
  }

  html.is-page .page__main .news-page-grid > .news:hover .card-news__title {
    color: var(--mm-brand);
  }

  html.is-page .page__main .news-page-grid .card-news__excerpt {
    width: 100%;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--mm-muted);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-decoration: none !important;
  }

  html.is-page .page__main .news-page-grid > .news:first-child .card-news__excerpt {
    -webkit-line-clamp: 4;
    line-clamp: 4;
  }

  html.is-page .page__main .news-page-grid .card-news__more {
    flex: 0 0 auto;
    margin-top: auto;
    padding-top: 2px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--mm-brand);
    text-decoration: none !important;
  }

  html.is-page .page__main .news-page-grid + .pagination,
  html.is-page .page__main .news__list .pagination,
  html.is-page .page__main .actions__list + .pagination,
  html.is-page .page__main .contents__block > .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0 0;
  }

  html.is-page .page__main .pagination a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 500;
    color: var(--mm-text);
    text-decoration: none;
    background: var(--mm-surface);
    border-radius: var(--mm-radius-btn, 12px);
  }

  html.is-page .page__main .pagination a:hover {
    color: #fff;
    background: var(--mm-brand);
  }

  /* ---- Акции (c_actions) ---- */
  html.is-page .page__main .actions__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  html.is-page .page__main .actions__list-item {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8eaee;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(22, 29, 40, 0.04);
    transition: box-shadow .15s ease-out, border-color .15s ease-out;
  }

  html.is-page .page__main .actions__list-item:hover {
    border-color: color-mix(in srgb, var(--mm-brand) 28%, #e8eaee);
    box-shadow: 0 10px 28px rgba(22, 29, 40, 0.1);
  }

  html.is-page .page__main .actions__list-link {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
  }

  html.is-page .page__main .actions__list-middle {
    display: block;
    width: 100%;
    aspect-ratio: 1110 / 385;
    overflow: hidden;
    background: var(--mm-surface);
  }

  html.is-page .page__main .actions__list-middle picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  html.is-page .page__main .actions__list-middle img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease-out;
  }

  html.is-page .page__main .actions__list-item:hover .actions__list-middle img {
    transform: scale(1.02);
  }

  html.is-page .page__main .actions__list-top {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 16px;
    margin: 0;
    padding: 16px 20px 18px;
  }

  html.is-page .page__main .list__top-name {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mm-text);
    text-transform: none;
  }

  html.is-page .page__main .actions__list-item:hover .list__top-name {
    color: var(--mm-brand);
  }

  html.is-page .page__main .list__top-date {
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 500;
    color: var(--mm-muted);
  }

  html.is-page .page__main .actions-page__body {
    margin-top: 40px;
    padding: 24px 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  /* Дисконт — строчные карточки как в каталоге #single */
  html.is-page .page__main .cards-list#single {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin: 0;
    padding: 0;
  }

  html.is-page .page__main .cards-list#single .card-product {
    --slider-height: 272px;
    --slider-width: 394px;
    display: grid;
    grid-template-columns: 394px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-items: stretch;
    height: 272px;
    min-height: 272px;
    max-height: 272px;
    margin: 0;
    padding: 0;
    border: 1px solid #eceae6;
    border-radius: var(--mm-card-radius-single);
    background: #fff;
    box-shadow: 0 1px 0 rgba(22, 29, 40, 0.02);
    overflow: hidden;
    position: relative;
    max-width: 100%;
    transition: box-shadow .15s ease-out, border-color .15s ease-out;
  }

  html.is-page .page__main .cards-list#single .card-product:hover {
    border-color: #e5e5e5;
    box-shadow: var(--mm-card-hover-shadow);
  }

  html.is-page .page__main .cards-list#single .card-product:hover .card-product__title {
    color: var(--mm-brand);
  }

  html.is-page .page__main .cards-list#single .card-product > a:has(.card-product__slider),
  html.is-page .page__main .cards-list#single .card-product > div:has(.card-product__slider) {
    display: contents;
  }

  html.is-page .page__main .cards-list#single .card-product__slider {
    position: relative;
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: stretch;
    justify-self: stretch;
    width: 394px;
    height: 272px !important;
    min-height: 272px;
    max-height: 272px;
    margin: 0 !important;
    border-radius: var(--mm-card-radius-single) 0 0 var(--mm-card-radius-single);
    background: #f6f6f6;
    overflow: hidden;
  }

  html.is-page .page__main .cards-list#single .card-product__slider .slider,
  html.is-page .page__main .cards-list#single .card-product__slider .slider__container,
  html.is-page .page__main .cards-list#single .card-product__slider .slider__slide {
    height: 100% !important;
    min-height: 100%;
    margin: 0;
    padding: 0;
    border-radius: var(--mm-card-radius-single) 0 0 var(--mm-card-radius-single);
    overflow: hidden;
  }

  html.is-page .page__main .cards-list#single .card-product__slider .slider__image {
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
    border-radius: var(--mm-card-radius-single) 0 0 var(--mm-card-radius-single);
  }

  html.is-page .page__main .cards-list#single .card-product__badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 4;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 6px;
    width: auto;
    max-width: 370px;
    margin: 0;
    padding: 0;
    pointer-events: none;
  }

  html.is-page .page__main .cards-list#single .card-product__tag-option,
  html.is-page .page__main .cards-list#single .card-product .tag.card-product__tag-option,
  html.is-page .page__main .cards-list#single .mm-badge {
    white-space: nowrap;
    height: 28px;
    min-height: 28px;
    max-height: 28px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
  }

  html.is-page .page__main .cards-list#single .mm-badge_delivery {
    color: #fff;
    background: var(--mm-brand, #ec670b);
  }

  html.is-page .page__main .cards-list#single .card-product__link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "title sale"
      "title price"
      "infobadge inst";
    grid-column: 2;
    grid-row: 1 / span 2;
    column-gap: 16px;
    row-gap: 4px;
    align-items: start;
    align-content: start;
    align-self: stretch;
    height: 100%;
    min-height: 100%;
    padding: 16px 16px 74px 16px;
    color: inherit;
    text-decoration: none;
  }

  html.is-page .page__main .cards-list#single .card-product__section,
  html.is-page .page__main .cards-list#single .card-product__trade {
    display: contents;
    margin-bottom: 0;
  }

  html.is-page .page__main .cards-list#single .card-product__trade .float-right {
    display: contents;
  }

  html.is-page .page__main .cards-list#single .card-product__title {
    grid-area: title;
    min-height: 0;
    max-width: 420px;
    margin: 0;
    padding-right: 12px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mm-text);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  html.is-page .page__main .cards-list#single .card-product__price {
    display: block;
    grid-area: price;
    text-align: right;
    white-space: nowrap;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--mm-brand);
  }

  html.is-page .page__main .cards-list#single .card-product__price > del {
    display: block;
    margin-top: 4px;
    margin-left: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: #807f7d;
  }

  html.is-page .page__main .cards-list#single .card-product__sale {
    display: inline-flex;
    align-items: center;
    grid-area: sale;
    justify-self: end;
    align-self: end;
    min-height: 0;
    margin: 0 0 2px;
    padding: 4px 10px;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--mm-brand, #ec670b);
    background: #fff1ec;
    border-radius: 8px;
  }

  html.is-page .page__main .cards-list#single .card-product__info {
    display: flex;
    flex-direction: column;
    grid-area: infobadge;
    justify-content: flex-start;
    gap: 8px;
    width: min(100%, 360px);
    max-width: 360px;
    margin: 0;
    align-self: start;
    justify-self: start;
  }

  html.is-page .page__main .cards-list#single .card-product__info-text {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 18px;
    margin: 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    color: #807f7d;
  }

  html.is-page .page__main .cards-list#single .card-product__info-text > span {
    font-weight: 500;
    color: var(--mm-text);
  }

  html.is-page .page__main .cards-list#single .card-product__info-fallback {
    font-size: 12px;
    line-height: 1.35;
    color: #807f7d;
  }

  html.is-page .page__main .cards-list#single .card-product__btns-container {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
  }

  html.is-page .page__main .cards-list#single .card-product__btns-container .button {
    min-width: 154px;
    min-height: 42px;
    padding: 10px 24px;
    border-radius: var(--mm-radius-btn);
    font-size: 15px;
  }

  html.is-page .page__main > #consult-slot.consult-inline {
    margin-top: 0;
    margin-bottom: 40px;
    max-width: 100%;
    box-sizing: border-box;
  }

  html.is-page .footer.page__footer {
    padding-bottom: 0 !important;
  }

  /* ——— Контакты (FeedbackView) ——— */
  html.is-page .page__main .list_contacts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 32px;
    margin: 0 0 40px;
    padding: 0;
    position: relative;
    width: 100%;
    max-width: 100%;
  }

  html.is-page .page__main .list_contacts.row {
    display: grid;
    margin-left: 0;
    margin-right: 0;
  }

  html.is-page .page__main .list_contacts::after {
    display: none;
  }

  html.is-page .page__main .list_contacts > .col-md-6 {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    flex: none;
    margin: 0;
    padding: 0;
  }

  html.is-page .page__main .list_contacts-title {
    min-height: 44px;
    height: auto;
    margin: 0 0 16px;
    padding: 10px 18px;
    border-radius: 12px;
    background: #2e3a47;
    color: #fff;
    font-family: var(--mm-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: 0;
  }

  html.is-page .page__main .list_contacts-content {
    flex: 1 1 auto;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    color: var(--mm-muted);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0.01em;
  }

  html.is-page .page__main .list_contacts > .col-md-6:has(.lk_ic_2) .list_contacts-content {
    padding-right: 140px;
  }

  html.is-page .page__main .list_contacts-content li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 0 0 12px;
  }

  html.is-page .page__main .list_contacts-content .lk_ic {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    padding: 0;
  }

  html.is-page .page__main .list_contacts-content a {
    color: var(--mm-brand);
    text-decoration: none;
    border-bottom: 1px dashed rgba(255, 137, 21, 0.55);
  }

  html.is-page .page__main .list_contacts-content a:hover {
    border-bottom-color: var(--mm-brand);
  }

  html.is-page .page__main .list_contacts .lk_ic_2 {
    position: absolute;
    top: 60px;
    right: 0;
    width: 120px;
    height: auto;
    max-height: 160px;
    object-fit: cover;
    border-radius: 12px;
  }

  html.is-page .page__main .list_contacts-tel {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    max-width: 100%;
    min-height: 52px;
    height: auto;
    margin: auto 0 0;
    padding: 10px 18px;
    border: 1px solid var(--mm-brand);
    border-radius: 12px;
    background: #ffeddc;
    color: #454856;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
  }

  html.is-page .page__main .list_contacts-tel img {
    margin: 0;
    flex: 0 0 auto;
  }

  html.is-page .page__main .list_contacts-tel:hover {
    background: #ffe0c2;
    color: #2e3a47;
  }

  html.is-page .page__main .contacts_form {
    margin: 0 0 40px;
    padding: 32px 36px 28px;
    border-radius: 12px;
    background: #2e3a47;
  }

  html.is-page .page__main .contacts_form.container {
    max-width: 100%;
    width: 100%;
    padding-left: 36px;
    padding-right: 36px;
  }

  html.is-page .page__main .contacts_form-title {
    margin: 0 0 24px;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
  }

  html.is-page .page__main .contacts_form .form-control,
  html.is-page .page__main .contacts_form textarea {
    border-radius: 12px;
    border: 1px solid #d8dbe0;
    color: var(--mm-text);
  }

  html.is-page .page__main .contacts_form textarea {
    min-height: 140px;
  }

  html.is-page .page__main .contacts_form .button {
    min-width: 180px;
    min-height: 44px;
    padding: 10px 28px;
    border: 0;
    border-radius: 12px;
    background: var(--mm-brand);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
    cursor: pointer;
  }

  html.is-page .page__main .contacts_form .button:hover {
    background: #e67a00;
  }

  html.is-page .page__main .contacts_form .custom-checkbox-text,
  html.is-page .page__main .contacts_form .consent-pd {
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px;
    line-height: 1.45;
  }

  html.is-page .page__main .contacts_form .custom-checkbox-text a,
  html.is-page .page__main .contacts_form .consent-pd a {
    color: #ffb86b;
    text-decoration: underline;
  }

  html.is-page .page__main .region_box {
    margin: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  html.is-page .page__main .region_box > .row {
    display: block;
    margin: 0;
    width: 100%;
    max-width: 100%;
  }

  html.is-page .page__main .region_box-title {
    display: block;
    margin: 0 0 16px;
    color: var(--mm-text);
    font-family: var(--mm-font);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: none;
  }

  html.is-page .page__main .region_box-desc {
    display: block;
    margin: 0 0 20px;
    max-width: 72ch;
    color: var(--mm-muted);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.01em;
  }

  html.is-page .page__main .region_box-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 0 0 40px;
    padding: 10px 20px;
    border-radius: 12px;
    background: var(--mm-brand);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-transform: none;
  }

  html.is-page .page__main .region_box-btn:hover {
    background: #e67a00;
    color: #fff;
  }

  html.is-page .page__main .contact-data.row,
  html.is-page .page__main .contact-data {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px 40px;
    align-items: start;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  html.is-page .page__main .contact-data > [class*="col-"] {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 0;
    flex: none;
  }

  html.is-page .page__main .contact-data > .col-12 {
    grid-column: 1 / -1;
  }

  html.is-page .page__main .contact-data-title {
    display: block;
    margin: 0 0 16px;
    color: var(--mm-text);
    font-family: var(--mm-font);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
  }

  html.is-page .page__main .contact-data-desc {
    display: block;
    margin: 0 0 20px;
    color: var(--mm-muted);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.01em;
    text-transform: none;
  }

  html.is-page .page__main .contact-data-box {
    display: block;
    margin: 0 0 16px !important;
    color: var(--mm-text);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-transform: none;
  }

  html.is-page .page__main .ch_contact {
    margin: 0;
    font-size: 15px;
    text-transform: none;
  }

  html.is-page .page__main .ch_contact a {
    display: block;
    margin: 0 0 8px;
    color: var(--mm-brand) !important;
    font-weight: 600;
    text-decoration: none;
  }

  html.is-page .page__main .ch_contact a:hover {
    text-decoration: underline;
  }

  html.is-page .page__main .map_ch,
  html.is-page .page__main #contacts__map {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 400px;
    padding: 0;
    overflow: hidden;
    border-radius: 16px;
    box-sizing: border-box;
  }

  html.is-page .page__main .map_ch > ymaps,
  html.is-page .page__main #contacts__map > ymaps,
  html.is-page .page__main .map_ch [class*="ymaps-"] {
    max-width: 100% !important;
  }

  html.is-page .page__main .visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
