

/* Start:/local/templates/maslomart/assets/css/main.css?179390151376629*/
@font-face {
    font-family: "Manrope";
    src: url("/local/templates/maslomart/assets/css/fonts/Manrope-ExtraLight.ttf") format("truetype");
    font-style: normal;
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/local/templates/maslomart/assets/css/fonts/Manrope-Light.ttf") format("truetype");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/local/templates/maslomart/assets/css/fonts/Manrope-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/local/templates/maslomart/assets/css/fonts/Manrope-Medium.ttf") format("truetype");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/local/templates/maslomart/assets/css/fonts/Manrope-SemiBold.ttf") format("truetype");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/local/templates/maslomart/assets/css/fonts/Manrope-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/local/templates/maslomart/assets/css/fonts/Manrope-ExtraBold.ttf") format("truetype");
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

body {
    margin: 0;
    font-family: Manrope, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
    overflow-x: hidden;
}

html:has(.record-success),
body:has(.record-success),
body:has(.record-success) main {
    background: var(--White);
}

body:has(.record-success) header {
    background: var(--White);
}

body:has(.record-success) header .main_header_out_border {
    background: var(--White);
}

a {
    text-decoration: none;
}

* {
    outline: none !important;
}

.content_wrap
{
    max-width: var(--ContentWidth);
    margin: auto;
}

/* 14:20 - 400 */
.text1 {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

/* 16:24 - 500 */
.text2 {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
}

/* 16:24 - 400 */
.text3 {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}

/* 12:16 - 500 */
.text4 {
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px;
}

/* 12:16 - 600 */
.text5 {
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px;
}

/* Desktop Title/H3 20:28 */
.textTitle1 {
    color: var(--White);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
}

/* Desktop Title/H4 18:24 */
.textTitle2 {
    color: var(--Black);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
}

/* Desktop Title/H1 32:40 */
.textTitleH1 {
    color: var(--Black);
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px;
    margin: 0;
    margin-bottom: 32px;
}

/* Desktop Title/H2 24:32 */
.textTitleH2 {
    color: var(--Black);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px;
}


/* Desktop Title/Accent Title */
.accentTitle {
    color: var(--Red);
    font-size: 48px;
    font-style: normal;
    font-weight: 800;
    line-height: 52px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 48px;
    padding: 12px 24px;
    border-radius: 12px;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}

@media (max-width: 991px) {
    .button {
        min-height: 36px;
        padding: 8px 20px;
        font-size: 14px;
        line-height: 20px;
    }
}

a.button{
    color: var(--Black);
    text-decoration: none;
}

.button.white {
    border: 1px solid var(--neutral-200);
    background: var(--White);
    color: var(--Black);
    transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

.button.white:hover,
.button.white:focus {
    border-color: var(--Yellow);
    background: var(--White);
    color: var(--Black);
}

.button.white:active {
    border-color: var(--Yellow);
    background: var(--yellow-50);
    color: var(--Black);
}

a.button.white:hover,
a.button.white:focus,
a.button.white:active {
    color: var(--Black);
}

.button.yellow {
    border: 1px solid var(--yellow-800);
    background: var(--yellow-800, #FFD633);
    color: var(--Black);
    transition: background-color 0.35s ease, border-color 0.35s ease;
}

a.button.yellow:visited {
    background: var(--yellow-800, #FFD633);
    border-color: var(--yellow-800);
    color: var(--Black);
}

.button.yellow:hover,
.button.yellow:focus,
.button.yellow:focus-visible,
.button.yellow:active,
a.button.yellow:visited:hover,
a.button.yellow:visited:focus,
a.button.yellow:visited:focus-visible,
a.button.yellow:visited:active {
    background: var(--yellow-700);
    border-color: var(--yellow-700);
    color: var(--Black);
}

.button:disabled,
.button[disabled],
.button.disabled,
.button[aria-disabled="true"],
.button.yellow:disabled,
.button.yellow[disabled],
.button.yellow.disabled,
.button.yellow.disabled:hover,
.button.yellow.disabled:focus,
.button.yellow.disabled:focus-visible,
.button.yellow.disabled:active,
a.button.yellow.disabled:visited,
a.button.yellow.disabled:visited:hover,
a.button.yellow.disabled:visited:focus,
a.button.yellow.disabled:visited:focus-visible,
a.button.yellow.disabled:visited:active,
.button.yellow[aria-disabled="true"],
.button.yellow[aria-disabled="true"]:hover,
.button.yellow[aria-disabled="true"]:focus,
.button.yellow[aria-disabled="true"]:focus-visible,
.button.yellow[aria-disabled="true"]:active,
a.button.yellow[aria-disabled="true"]:visited,
a.button.yellow[aria-disabled="true"]:visited:hover,
a.button.yellow[aria-disabled="true"]:visited:focus,
a.button.yellow[aria-disabled="true"]:visited:focus-visible,
a.button.yellow[aria-disabled="true"]:visited:active,
.button.white:disabled,
.button.white[disabled],
.button.white.disabled,
.button.white.disabled:hover,
.button.white.disabled:focus,
.button.white.disabled:focus-visible,
.button.white.disabled:active,
.button.white[aria-disabled="true"],
.button.white[aria-disabled="true"]:hover,
.button.white[aria-disabled="true"]:focus,
.button.white[aria-disabled="true"]:focus-visible,
.button.white[aria-disabled="true"]:active {
    border-color: var(--neutral-150);
    background: var(--neutral-100);
    color: var(--neutral-400);
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
    opacity: 1;
}

/* «Смотреть все» в заголовках секций — Neutral/500 (#626C77) */
.textTitleH1 a {
    color: var(--neutral-500);
    text-decoration: none;
    padding: 8px;
    transition: color 0.35s ease;
}

.textTitleH1 a:hover,
.textTitleH1 a:focus-visible {
    color: var(--Black);
}

.textTitleH1.all_link {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/*top_menu*/
header {
    margin-bottom: 32px;
}

/* Десктоп: верхняя полоска уезжает, основная с логотипом липнет */
@media (min-width: 1420px) {
    header {
        position: sticky;
        /* высота .top_header_out_border: 12+20+12 padding/line + 1px border */
        top: -45px;
        z-index: 200;
        width: 100%;
    }

    header .main_header_out_border {
        background: var(--White);
    }
}

header .top_header {
    padding: 12px 0;
    display: flex;
    justify-content: space-between;
    max-width: var(--ContentWidth);
    margin: auto;
}

header .top_header_out_border {
    background: var(--White);
    border-bottom: 1px solid var(--neutral-150, #E9ECF0);
}

header .top_header .top_menu ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

header .top_header .top_menu ul li{
    display: inline;
    padding-right: 24px;
}

header .top_header .top_menu ul a{
    color: var(--neutral-500);
    text-decoration: none;
}

header .top_header .contacts{
    display: flex;
    align-items: center;
    gap: 24px;
}

/* «Заказать звонок» — слева от телефона */
header .top_header .contacts .contacts__callback {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    cursor: pointer;
    color: var(--Black);
    text-decoration: none;
    transition: opacity 0.35s ease;
}

header .top_header .contacts .contacts__callback:hover,
header .top_header .contacts .contacts__callback:focus,
header .top_header .contacts .contacts__callback:focus-visible {
    opacity: 0.7;
    outline: none;
}

header .top_header .contacts .phone{
    text-decoration: none;
    color: var(--Black);
    /*padding-right: 24px;*/
}

header .top_header .contacts .location{
    display: flex;
    align-items: center;
    color: var(--Black);
    cursor: pointer;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    text-align: left;
    transition: opacity 0.35s ease;
}

header .top_header .contacts .location:hover,
header .top_header .contacts .location:focus,
header .top_header .contacts .location:focus-visible {
    opacity: 0.7;
    outline: none;
}

header .top_header .contacts .location img{
    padding-right: 1px;
}

/* Модалка выбора города */
.mm-city-modal__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    max-height: 300px;
    padding-right: 8px;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
}

.mm-city-modal__city {
    width: 100%;
}

/* Текущий город (домен / $arRegion) */
.button.white.mm-city-modal__city.is-current {
    border-color: var(--Yellow);
    background: var(--White);
    color: var(--Black);
}

.button.white.mm-city-modal__city.is-current:hover,
.button.white.mm-city-modal__city.is-current:focus,
.button.white.mm-city-modal__city.is-current:focus-visible {
    border-color: var(--Yellow);
    background: var(--White);
    color: var(--Black);
}

/* «Ваш город …?» у переключателя города в шапке */
.mm-city-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* Tip корзины/сравнения — та же карточка, что у города */
.mm-header-tip-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.mm-city-confirm,
.mm-header-tip {
    position: absolute;
    top: calc(100% + 12px);
    left: auto;
    right: 0;
    z-index: 9999999;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    box-sizing: border-box;
    width: 330px;
    padding: 20px;
    border-radius: 12px;
    background: var(--White);
    box-shadow: 0 8px 16px 4px rgba(138, 145, 153, 0.16);
    color: var(--Black);
    text-align: center;
}

.mm-city-confirm[hidden],
.mm-header-tip[hidden] {
    display: none;
}

.mm-city-confirm::before,
.mm-city-confirm::after,
.mm-header-tip::before,
.mm-header-tip::after {
    content: "";
    position: absolute;
    left: auto;
    top: -16px;
    border: 8px solid transparent;
    border-bottom-color: rgba(138, 145, 153, 0.12);
}

/* Город: триггер шире (иконка + название) */
.mm-city-confirm::before,
.mm-city-confirm::after {
    right: 16px;
}

/* Tip корзины/сравнения: стрелка по центру иконки ~23px (треугольник 16px) */
.mm-header-tip::before,
.mm-header-tip::after {
    right: 4px;
}

.mm-city-confirm::after,
.mm-header-tip::after {
    top: -14px;
    border-bottom-color: var(--White);
}

.mm-city-confirm__title,
.mm-header-tip__title {
    margin: 0;
    color: var(--Black);
}

.mm-city-confirm__actions,
.mm-header-tip__actions {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.mm-city-confirm__actions .button,
.mm-header-tip__actions .button {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
}

/* Слот только держит клон; позиционирование — от .mm-city-wrap */
.mm-city-confirm-slot[hidden] {
    display: none;
}

.mm-city-wrap--mobile .mm-city-confirm::before,
.mm-city-wrap--mobile .mm-city-confirm::after {
    right: 12px;
}

@media (min-width: 1420px) {
    .mm-city-wrap--mobile .mm-city-confirm-slot {
        display: none;
    }
}

@media (max-width: 1419px) {
    .mm-city-wrap:not(.mm-city-wrap--mobile) > .mm-city-confirm {
        display: none;
    }
}

/* ≤991: попап города над нижним меню (.mobile_bottom_menu ≈ 58px) */
@media (max-width: 991px) {
    .mm-city-confirm {
        position: fixed;
        top: auto;
        left: 16px;
        right: 16px;
        bottom: 70px;
        width: auto;
    }

    .mm-city-confirm::before,
    .mm-city-confirm::after {
        display: none;
    }
}

/*
 * Tip корзины/сравнения на мобилке выносится в body (desktop-шапка display:none).
 * Селектор от родителя — чтобы не зависеть только от модификатора и не уехать
 * в absolute top:100% под низ viewport.
 */
body > .mm-header-tip {
    position: fixed;
    top: auto;
    left: 16px;
    right: 16px;
    bottom: 70px;
    width: auto;
}

body > .mm-header-tip::before,
body > .mm-header-tip::after {
    display: none;
}

/*main_header*/
header .main_header_out_border {
    box-shadow: 0px 8px 16px 4px rgba(138, 145, 153, 0.16);
}

header .main_header {
    padding: 18px 0;
    display: flex;
    justify-content: space-between;
    max-width: var(--ContentWidth);
    margin: auto;
}

header .main_header .left {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    min-width: 0;
}

header .main_header .left .logo{
    padding-right: 32px;
    display: flex;
}

header .main_header .main_menu ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

header .main_header .main_menu ul li{
    display: inline;
    padding: 12px;
}

header .main_header .main_menu ul a{
    color: var(--Black);
    text-decoration: none;
}

header .main_header .right {
    display: flex;
    flex: 1 1 auto;
    gap: 48px;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}

header .main_header .right .buttons {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

header .main_header .right .icons {
    display: flex;
    flex: 0 1 auto;
    gap: 24px;
    align-items: center;
    min-width: 0;
    justify-content: flex-end;
}

header .main_header.is-search-open .right .icons,
header .main_header.is-search-closing .right .icons {
    flex: 1 1 auto;
    justify-content: flex-start;
}

header .main_header .right .icons a{
    display: flex;
    position: relative;
}

header .main_header .mm-header-icons__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 24px;
    align-items: center;
}

/* Search expands left: hide menu (Catalog…Reviews), keep fav/compare/basket */
header .main_header.is-search-open .main_menu,
header .main_header.is-search-closing .main_menu {
    display: none;
}

header .main_header.is-search-open .left,
header .main_header.is-search-closing .left {
    flex: 0 0 auto;
}


/* Счётчик избранного / сравнения / корзины в шапке и нижнем меню */
.header-icon__count {
    position: absolute;
    right: -6px;
    bottom: 10px;
    z-index: 1;
    box-sizing: border-box;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background-color: var(--Red);
    color: var(--White);
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
}

.header-icon__count.empted {
    display: none;
}

footer .mobile_bottom_menu__icon {
    position: relative;
    display: inline-flex;
    width: 24px;
    height: 24px;
}

footer .mobile_bottom_menu__icon .header-icon__count {
    right: -6px;
    bottom: -2px;
}

/*footer*/
footer {
    background: var(--neutral-700, #2C3135);
    flex-shrink: 0;
}

/* Зазор контент → подвал: только у body > footer (десктоп 80 / мобилка 40) */
body > footer {
    margin-top: 80px;
}

@media (max-width: 991px) {
    body > footer {
        margin-top: 40px;
    }
}

footer .footer_top {
    border-bottom: 1px solid var(--neutral-600);
    padding: 52px 0;
    display: flex;
    justify-content: space-between;
}

footer .footer_top .logo{
    display: flex;
    align-items: center;
}

footer .footer_main {
    padding: 64px 0;
    border-bottom: 1px solid var(--neutral-600);
}

footer .footer_main .row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

/* Bootstrap .row clearfix (::before/::after) становится grid-item и
   выталкивает 4-ю колонку («Информация») на вторую строку */
footer .footer_main .row::before,
footer .footer_main .row::after {
    display: none;
    content: none;
}

footer .footer_main .row.one{
    margin-bottom: 60px;
}

footer .footer_main .row.two{
    margin-bottom: 32px;
}

footer .footer_main .row .col {

}

/* Белый title только у сайтового подвала, не у бургер-меню */
body > footer .footer_main .row .col .title{
    margin: 0;
    margin-bottom: 16px;
    text-decoration: none;
    color: var(--White);
}

body > footer .footer_main .row .col a.title {
    display: block;
    color: var(--White);
    cursor: pointer;
    transition: opacity 0.35s ease;
}

body > footer .footer_main .row .col a.title:hover,
body > footer .footer_main .row .col a.title:focus,
body > footer .footer_main .row .col a.title:focus-visible {
    opacity: 0.7;
    outline: none;
    text-decoration: none;
    color: var(--White);
}

footer .footer_main .row .col .title{
    margin: 0;
    margin-bottom: 16px;
    text-decoration: none;
}

footer .footer_main .row .col a.title {
    display: block;
    cursor: pointer;
    transition: opacity 0.35s ease;
}

footer .footer_main .row .col a.title:hover,
footer .footer_main .row .col a.title:focus,
footer .footer_main .row .col a.title:focus-visible {
    opacity: 0.7;
    outline: none;
    text-decoration: none;
}

footer .footer_main .row .col .links{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

footer .footer_main .row .col .links a, footer .footer_main .row .col .links span{
    color: var(--neutral-400);
    text-decoration: none;
}

footer .footer_main .soc_links{
    display: flex;
    gap: 8px;
}

footer .footer_main .soc_links .soc_link img{
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.10);
}

/* Магазины приложений (МП): 4-я колонка у адресов, сетка 2×2 */
footer .footer_main .col.apps .footer-apps {
    margin: 0;
}

footer .footer_main .col.apps .apps {
    margin: 0;
}

footer .footer_main .col.apps .app {
    display: grid;
    grid-template-columns: auto auto;
    gap: 8px;
    align-items: start;
    justify-content: start;
    justify-items: start;
}

footer .footer_main .col.apps .app__icon {
    display: flex;
    align-items: center;
    margin: 0;
    width: auto;
}

footer .footer_main .col.apps .app__icon svg {
    display: block;
    width: 127px;
    height: 40px;
}

footer .footer_bottom {
    padding: 64px 0;
}

footer .footer_bottom p{
    margin: 0;
    color: var(--White);
    opacity: 0.3;
}

/*mobile*/
.mobile_content_wrap {
    padding: 0 16px;
}

.mobile_header {
    display: none;
}

.mobile_header .top {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
    align-items: center;
}

.mobile_header .top .logo a {
    display: block;
    line-height: 0;
    font-size: 0;
}

.mobile_header .top .logo img{
    display: block;
    width: 158px;
    height: 16px;
}

.mobile_header .top .actions {
    display: flex;
    align-items: center;
}

/* Figma Header/Mobile ButtonGroup: каждая кнопка p 8, иконка 24×24 */
.mobile_header .top .actions > a,
.mobile_header .top .actions > button,
.mobile_header .top .actions > .mob_menu_btn,
.mobile_header .top .actions .mm-city-wrap .mm-city-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 8px;
    border: 0;
    background: none;
    line-height: 0;
    cursor: pointer;
    box-sizing: border-box;
    transition: opacity 0.35s ease;
}

.mobile_header .top .actions > a:hover,
.mobile_header .top .actions > a:focus,
.mobile_header .top .actions > a:focus-visible,
.mobile_header .top .actions > button:hover,
.mobile_header .top .actions > button:focus,
.mobile_header .top .actions > button:focus-visible,
.mobile_header .top .actions > .mob_menu_btn:hover,
.mobile_header .top .actions > .mob_menu_btn:focus,
.mobile_header .top .actions > .mob_menu_btn:focus-visible,
.mobile_header .top .actions .mm-city-wrap .mm-city-trigger:hover,
.mobile_header .top .actions .mm-city-wrap .mm-city-trigger:focus,
.mobile_header .top .actions .mm-city-wrap .mm-city-trigger:focus-visible {
    opacity: 0.7;
    outline: none;
}

.mobile_header .top .actions img {
    display: block;
    width: 24px;
    height: 24px;
    margin: 0;
}

.mobile_header .search {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    border-radius: 12px;
    background: var(--neutral-100);
    box-sizing: border-box;
}

.mobile_header .search .search_field{
    border: none;
    outline: none;
    color: var(--Black, #1D2023);
    background: var(--neutral-100);
    width: 100%;
    min-width: 0;
}

.mobile_header .search .search_field::placeholder {
    color: var(--neutral-400);
}

/* Desktop header search: expands left over menu, keeps fav/compare/basket */
.mm-header-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

.mm-header-search__toggle {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    line-height: 0;
}

.mm-header-search.is-open .mm-header-search__toggle,
.mm-header-search.is-closing .mm-header-search__toggle {
    display: none;
}

.mm-header-search__form {
    display: none;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 12px;
    background: var(--neutral-100, #F1F2F4);
    box-sizing: border-box;
    opacity: 0;
    transform: translateX(12px);
}

.mm-header-search.is-open,
.mm-header-search.is-closing {
    flex: 1 1 auto;
    width: 100%;
}

.mm-header-search.is-open .mm-header-search__form,
.mm-header-search.is-closing .mm-header-search__form {
    display: flex;
}

.mm-header-search.is-open .mm-header-search__form {
    opacity: 1;
    transform: translateX(0);
    animation: mmHeaderSearchIn 0.22s ease;
}

.mm-header-search.is-closing .mm-header-search__form {
    animation: mmHeaderSearchOut 0.2s ease forwards;
}

@keyframes mmHeaderSearchIn {
    from {
        opacity: 0;
        transform: translateX(16px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes mmHeaderSearchOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(16px);
    }
}

.mm-header-search__collapse,
.mm-header-search__clear,
.mm-header-search__submit {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    line-height: 0;
    opacity: 1;
}

.mm-header-search__collapse:hover,
.mm-header-search__clear:hover,
.mm-header-search__submit:hover {
    opacity: 0.7;
}

.mm-header-search__form .search_field,
.mm-header-search__input {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    color: var(--Black, #1D2023);
}

.mm-header-search__clear {
    display: none;
    padding: 4px;
}

.mm-header-search__clear.is-visible {
    display: inline-flex;
}

.mm-header-search__sep {
    flex: 0 0 auto;
    align-self: center;
    width: 1px;
    height: 20px;
    margin: 0 4px;
    background: var(--neutral-200, #E2E5EB);
}

.mm-header-search__clear img,
.mm-header-search__submit img {
    display: block;
    width: 12px;
    height: 12px;
}

.mm-header-search__submit img {
    width: 20px;
    height: 20px;
}

.mm-search-empty {
    padding: 24px 0 40px;
    color: var(--neutral-500, #626C77);
}

.service_btn.mobile.button.yellow {
    margin-bottom: 16px;
    text-align: center;
    display: none;
    padding: 8px 20px;
}

footer .mobile_btn {
    display: none;
}

footer .footer_main .row.one .title img
{
    display: none;
}

footer .footer_main .row.one .title img.hide
{
    transform: rotate(180deg);
}

footer .footer_main .row.one .links[style*="display: block"]{
    display:flex!important;
}

footer .mobile_bottom_menu
{
    width: 100%;
    padding: 8px 0;
    position: fixed;
    bottom: 0px;
    background: var(--White);
    z-index: 100;
    display: flex;
    justify-content: space-between;
    display: none;
    box-shadow: 0 -24px 16px rgba(124, 144, 160, 0.12);
}

footer .mobile_bottom_menu a
{
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 4px;
    color: var(--neutral-500);
    align-items: center;
    flex: 1;
    letter-spacing: 0.2px;
}

footer .mobile_bottom_menu a.active
{
    color: var(--Black);
}

footer .mobile_bottom_menu a img
{
    height: 24px;
    width: 24px;
}

main .mobile_main_menu {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 99999;
    display: none;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    background: var(--White);
    padding-top: 105px;
}

/* Избранное / сравнение в мобильном меню (как в Ozon: иконка + название + N товаров) */
main .mobile_main_menu .mm-menu-actions {
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: 100%;
    padding: 0 0 8px;
    box-sizing: border-box;
}

main .mobile_main_menu .mm-menu-action {
    flex: 1 1 0;
    min-width: 0;
    gap: 8px;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
}

main .mobile_main_menu .mm-menu-action img {
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}

main .mobile_main_menu .mm-menu-action__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
}

main .mobile_main_menu .mm-menu-action__label {
    color: var(--Black);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

main .mobile_main_menu .mm-menu-action__meta {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    color: var(--neutral-500);
}

main .mobile_main_menu .mm-menu-action__count.empted {
    display: inline;
}

/* Пункты верхней шапки (Компания, корп. клиентам, вакансии, контакты) */
main .mobile_main_menu .mm-menu-top {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 0 16px;
    margin: 0;
    border-bottom: 1px solid var(--neutral-150);
    box-sizing: border-box;
}

main .mobile_main_menu .mm-menu-top .links {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
}

main .mobile_main_menu .mm-menu-top .links a {
    display: block;
    padding: 8px 0;
    margin: 0;
    color: var(--Black);
    text-decoration: none;
    /* Как у .title в бургере: 16/24 и на 992–1419, где m_textTitle1 ещё нет */
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    transition: color 0.35s ease, opacity 0.35s ease;
}

main .mobile_main_menu .mm-menu-top .links a:hover,
main .mobile_main_menu .mm-menu-top .links a:focus,
main .mobile_main_menu .mm-menu-top .links a:focus-visible {
    color: var(--Black);
    opacity: 0.7;
}

.mob_menu_btn {
    cursor: pointer;
}

/* Шапка поверх меню */
header:has(.mob_menu_btn.opened) {
    position: relative;
    z-index: 999999;
    background: var(--White);
}

main .mobile_main_menu footer {
    background: var(--White);
    margin: 0;
}

main .mobile_main_menu footer .content_wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 16px 24px;
    box-sizing: border-box;
}

main .mobile_main_menu footer .footer_main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0;
    margin: 0;
    border-bottom: 0;
}

main .mobile_main_menu footer .footer_main .title,
main .mobile_main_menu footer .footer_main .row .col .title,
main .mobile_main_menu footer .footer_main .row .col a.title {
    color: var(--Black);
}

main .mobile_main_menu footer .footer_main .row .col a.title:hover,
main .mobile_main_menu footer .footer_main .row .col a.title:focus,
main .mobile_main_menu footer .footer_main .row .col a.title:focus-visible {
    color: var(--Black);
    opacity: 0.7;
}

main .mobile_main_menu footer .footer_main .row .col .links a,
main .mobile_main_menu footer .footer_main .row .col .links span {
    color: var(--neutral-500);
}

main .mobile_main_menu footer .footer_main .row .col .title {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

main .mobile_main_menu footer .footer_bottom {
    padding: 0;
    margin: 0;
    border: 0;
}

main .mobile_main_menu footer .footer_bottom p {
    margin: 0;
    color: var(--neutral-500);
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
}

main .mobile_main_menu footer .mobile_btn {
    display: block;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

main .mobile_main_menu footer .mobile_btn .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

/* Ссылки: py 8 у пунктов, 16px до разделителя как gap в макете */
main .mobile_main_menu footer .footer_main .row.one {
    display: flex;
    flex-direction: column;
    padding: 0 0 16px;
    margin: 0;
    border-bottom: 1px solid var(--neutral-150);
}

main .mobile_main_menu footer .footer_main .row.one .col {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 8px 0;
    margin: 0;
}

main .mobile_main_menu footer .footer_main .row.one .title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    margin: 0;
}

main .mobile_main_menu footer .footer_main .row.one .title img {
    display: block;
    flex-shrink: 0;
}

main .mobile_main_menu footer .footer_main .row.one .links {
    margin: 0;
    padding: 0;
    gap: 8px;
}

/* Контакты */
main .mobile_main_menu footer .footer_main .row.two {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 0 0;
    margin: 0;
}

main .mobile_main_menu footer .footer_main .row.two .col {
    margin: 0;
    padding: 0;
}

main .mobile_main_menu footer .footer_main .row.two .col .title {
    margin: 0 0 4px;
}

main .mobile_main_menu footer .footer_main .row.two .col .links span {
    font-size: 12px;
    line-height: 16px;
}

/* «Заказать звонок» — отдельная колонка, отступ как у phone/email через gap ряда */
main .mobile_main_menu footer .footer_main .row.two .mobile_menu__callback {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--Black);
    text-align: left;
    cursor: pointer;
    transition: opacity 0.35s ease;
}

main .mobile_main_menu footer .footer_main .row.two .mobile_menu__callback:hover,
main .mobile_main_menu footer .footer_main .row.two .mobile_menu__callback:focus,
main .mobile_main_menu footer .footer_main .row.two .mobile_menu__callback:focus-visible {
    opacity: 0.7;
    outline: none;
}

/* Кнопка + соцсети */
main .mobile_main_menu footer .footer_main .row.three {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 0 8px;
    margin: 0;
    border-bottom: 1px solid var(--neutral-150);
}

main .mobile_main_menu footer .footer_main .row.three .col {
    margin: 0;
    padding: 0;
}

/* выше специфичность, чем у .row.three .col { padding: 0 } */
main .mobile_main_menu footer .footer_main .row.three .col.soc {
    margin: 0;
    padding: 8px 0;
}

main .mobile_main_menu footer .footer_main .soc_links {
    display: flex;
    gap: 8px;
    width: 100%;
}

main .mobile_main_menu footer .footer_main .soc_links .soc_link {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 2px;
    border-radius: 12px;
    box-sizing: border-box;
}

main .mobile_main_menu footer .footer_main .soc_links .soc_link img {
    display: block;
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    background: transparent;
}

main .mobile_main_menu footer .footer_main .col.soc .tg {
    background: #2BA6E1;
}

main .mobile_main_menu footer .footer_main .col.soc .vk {
    background: #07F;
}

main .mobile_main_menu footer .footer_main .col.soc .ok {
    background: #F7931E;
}

main .mobile_main_menu footer .footer_main .col.soc .yt {
    background: #CD201F;
}

main .mobile_main_menu footer .footer_main .col.soc .fr {
    background: #C03;
}

@media (max-width: 991px)
{
    /* Mobile Title/H4 14:20 */
    .m_textTitle2 {
        color: var(--Black);
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 20px;
    }

    /* Mobile Title/H3 16:24 */
    .m_textTitle1 {
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 24px;
    }

    /* 12:16 - 400 */
    .m_text2 {
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 16px;
    }

    /* 14:20 - 400 */
    .m_text3 {
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
    }

    /* 14:20 - 500 */
    .m_text4 {
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px;
    }

    /* 16:24 - 500 */
    .m_text5 {
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 24px;
    }

    /* 10:16 - 400 */
    .m_text6 {
        font-size: 10px;
        font-style: normal;
        font-weight: 400;
        line-height: 16px;
        letter-spacing: 0;
    }

    /* 14:20 - 600 */
    .m_text7 {
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: 20px;
    }

    /* 12:16 - 500 */
    .m_text8{
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 16px;
    }

    /* Mobile Title/H2 20:28 */
    .m_textTitleH2 {
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 28px;
    }

    /* Mobile Title/H1 24:32 */
    .m_textTitleH1 {
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: 32px;
        margin-bottom: 24px;
    }

    .service_btn.mobile.button.yellow {
        display: block;
    }
}

/* Шапка / подвал / нижнее мобильное меню / боковые отступы контейнеров */
@media (max-width: 1419px) {
    .mobile_header {
        display: block;
    }

    .top_header_out_border {
        display: none;
    }
    .main_header_out_border {
        display: none;
    }
    header {
        margin-bottom: 0;
    }

    .content_wrap {
        padding: 0 16px;
        width: auto;
    }

    /* Figma Search: pb 8 под полем (после общего .content_wrap) */
    .mobile_header.content_wrap {
        padding: 0 16px 8px;
        box-sizing: border-box;
    }

    footer .content_wrap{
        padding: 24px;
        padding-bottom: 64px;
    }

    footer .footer_top .button.yellow {
        display: none;
    }

    footer .footer_top {
        padding: 0;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }

    footer .footer_top .logo img{
        height: 16px;
    }

    footer .footer_main {
        padding: 0;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }

    footer .footer_main .row.one .col .title{
        padding: 8px 0;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
    }

    footer .footer_main .row.one .col .title img{
        display: block;
        flex-shrink: 0;
    }

    footer .footer_main .row.one .links{
        margin-top: 4px;
        padding-bottom: 8px;
        gap: 8px;
        display: none;
    }

    footer .footer_main .row.one{
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid var(--neutral-600);
        padding-bottom: 16px;
        margin-bottom: 16px;
    }

    footer .footer_main .row.two{
        display: flex;
        flex-direction: column;
        padding-top: 8px;
        margin: 0;
    }

    /* Контакты+соцсети: без боковых отступов content_wrap (24px) */
    footer .footer_main .row.two.footer_contacts {
        margin-left: -14px;
        margin-right: -14px;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }

    footer .footer_main .row.two .col{
        margin-bottom: 16px;
    }

    footer .footer_main .row.two .col.soc {
        margin-bottom: 24px;
    }

    footer .footer_main .row.two .col.empty{
        display: none;
    }

    footer .footer_main .row.two .col .title{
        margin-bottom: 4px;
    }

    footer .footer_main .row.three{
        display: flex;
        flex-direction: column;
        padding-bottom: 8px;
    }

    footer .footer_main .row.three .col.address{
        display: none;
    }

    footer .footer_main .col.apps {
        padding-right: calc(var(--bs-gutter-x) / 2) !important;
        padding-left: calc(var(--bs-gutter-x) / 2) !important;
        box-sizing: border-box;
    }

    footer .footer_bottom {
        padding: 0;
    }

    footer .footer_main .row.three .col {
        padding: 8px 0;
        margin-bottom: 16px;
    }

    footer .footer_main .row.three .soc_link img {
        padding: 0 12px;
    }

    footer .footer_main  .mobile_btn {
        display: block;
    }

    footer .footer_main  .mobile_btn a{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    footer .mobile_bottom_menu
    {
        display: flex;
    }

    /* Виджет открытых линий — выше нижнего мобильного меню */
    .b24-widget-button-wrapper.b24-widget-button-position-bottom-right {
        right: 10px;
        bottom: 128px;
    }
}

/* Виджет открытых линий — цвета нового шаблона (на случай CSS без инлайна) */
.b24-widget-button-inner-item,
.b24-widget-button-pulse,
.b24-widget-button-social-item {
    background-color: var(--yellow-800);
}

.b24-widget-button-popup {
    border-color: var(--yellow-800);
}

.b24-widget-button-popup-triangle {
    border-right-color: var(--yellow-800);
    border-bottom-color: var(--yellow-800);
}

.flex {
    display: flex;
}

.lead_text{
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    margin-top: 16px;
    line-height: 40px;
}

p:first-of-type,
.introtext:first-of-type,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    margin-top: 0px;
}

h2 {
    font-size: 29px;
}

.bordered {
    border: 1px solid #ececec;
}

.font_upper_md {
    font-size: 11px;
    line-height: 20px;
    text-transform: uppercase;
    letter-spacing: 0;
}

a.dark_link:hover, .dark_link:hover span, .dl:hover a, .selected a.dark_link, a.muted:hover, .hover_color_theme:hover {
    color: var(--Yellow);
}

a.dark_link {
    color: #222;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.visible-xs,
tr.visible-xs,
th.visible-xs,
td.visible-xs {
    display: none !important;
}

@media (max-width: 767px) {
    .visible-xs {
        display: block !important;
    }
    tr.visible-xs {
        display: table-row !important;
    }
    th.visible-xs,
    td.visible-xs {
        display: table-cell !important;
    }
}

.muted {
    color: #999;
    text-decoration: none;
}

.muted {
    font-size: 12px !important;
    line-height: 16px !important;
    font-style: normal !important;
    font-family: 'Manrope';
    font-weight: 500 !important;
    color: #999;
    text-decoration: none;
}


body .module-pagination .point_sep {
    cursor: default;
    vertical-align: bottom;
    line-height: 30px;
    background: url(/local/templates/maslomart/assets/css/../img/svg/catalog/dots_pagination.svg) center no-repeat;
    font-size: 0px;
}

.colored_theme_bg,
.colored_theme_bg_before:before,
.colored_theme_hover_bg_before:hover:before,
.colored_theme_bg_before:before,
.colored_theme_hover_bg:hover,
.colored_theme_hover_bg-block:hover .colored_theme_hover_bg-el,
.video-block .image .play:after,
.landings-list__item--active,
.item-accordion-wrapper.opened .accordion-head:before {
    background-color: var(--yellow-800);
    border-color: var(--yellow-800);
}

a.dark_link:hover,
.dark_link:hover span,
.dl:hover a,
.selected a.dark_link,
a.muted:hover,
.hover_color_theme:hover {
    color: var(--Yellow);
}

blockquote {
    display: block;
    margin-block-start: 16px;
    margin-block-end: 16px;
    margin-inline-start: 40px;
    margin-inline-end: 40px;
    unicode-bidi: isolate;
}

blockquote {
    margin: 43px 0 45px;
    min-height: 40px;
    padding: 2px 20px 2px 37px;
    position: relative;
    vertical-align: middle;
    border: none;
    font-weight: bold;
    margin: 42px 0px;
}

blockquote:before {
    bottom: 5px;
    content: " ";
    display: block;
    left: 0;
    position: absolute;
    top: 5px;
    width: 2px;
    background-color: #ffc424;
}

blockquote p {
    font-size: 19px;
    line-height: 24px;
}

b,
strong {
    color: #383838;
}

.btn.btn-default {
    background-color: #ffd633;
    border-color: #ffd633;
    color: #ffffff;
}

.btn.btn-default:hover, .btn.btn-default:active, .btn.btn-default:focus {
    background-color: var(--yellow-700);
    border-color: var(--yellow-700);
}

body .main_block_info_text a,
.link {
    color: var(--orange);
    text-decoration: none;
}

a {
    color: #333;
}


a:hover {
    color: var(--Yellow);
}

.common_select .common_select-link .trigger {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 38px;
    cursor: pointer;
    text-align: center;
    line-height: 38px;
}
.common_select .common_select-link .trigger:before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    background: url("/local/templates/maslomart/assets/img/svg/trianglearrow_down.svg") 1px 1px no-repeat;
    background-position: var(--light, 1px 1px) var(--dark, -9px 1px);
    vertical-align: middle;
}

.common_select .common_select-link {
    position: relative;
    display: block;
    width: 100%;
    height: 41px;
    margin: 0 0px 0px;
    padding: 0 33px 0 11px;
    border-radius: 3px;
    background: #fafafa;
    border: 1px solid #eeeeee;
    cursor: pointer;
    overflow: hidden;
    min-width: 200px;
}

.common_select .common_select-link .ik_select_link_text {
    font-size: 16px;
    line-height: 39px;
    max-width: 100%;
    height: 39px;
    cursor: pointer;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
    -ms-text-overflow: ellipsis;
}

body:not(.jqm-initied) .ik_select_dropdown.common_select-dd {
    z-index: 10 !important;
}

.ik_select_dropdown.common_select-dd {
    background: #fff;
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);
    margin-top: 4px;
}

.ik_select_list .ik_select_list_inner {
    position: static !important;
    overflow: auto;
}

ul {
    padding: 0;
}

ul > li {
    list-style-type: none;
    position: relative;
}

.ik_select_list .ik_select_list_inner ul,
.ik_select_list .ik_select_list_inner ul li {
    margin: 0px;
}

.ik_select_list .ik_select_list_inner ul li {
    text-align: left;
    padding: 4px 9px 4px 9px;
    cursor: pointer;
    background: #fff;
}

.ik_select_list .ik_select_list_inner ul li.ik_select_active{
    color: #FFF;
    background: #ffd52e;
}

.ik_select_list .ik_select_list_inner ul li:hover {
    background: #fafafa;
}

.cluster_custom svg .cls-cluster2,
.cls-marker2 {
    fill: #F04148 !important;
}

body .ymaps-b-balloon {
    margin: -59px 0 0 -38px;
    width: 305px !important;
    background: var(--White);
    border-radius: 3px;
    padding: 30px 45px 30px 30px;
    -webkit-box-shadow: 0px 5px 20px 0px rgba(18, 25, 38, 0.1);
    -moz-box-shadow: 0px 5px 20px 0px rgba(18, 25, 38, 0.1);
    box-shadow: 0px 5px 20px 0px rgba(18, 25, 38, 0.1);
}

body .ymaps-b-balloon:after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: 19px;
    z-index: 2;
    /* закрывает верх ромба — остаётся только хвостик вниз */
    background: var(--White);
}

body .ymaps-b-balloon .ymaps-b-balloon__content > ymaps {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}

body .ymaps-b-balloon .ymaps-b-balloon__content-holster {
    padding: 0;
}

body .ymaps-b-balloon .ymaps-b-balloon__tr {
    display: none;
}

body .ymaps-b-balloon .ymaps-b-balloon__tl {
    display: none;
}

body .ymaps-b-balloon .ymaps-b-balloon__content {
    border: none;
    background-color: var(--White);
}

body .ymaps-b-balloon .ymaps-b-balloon__bl {
    display: none;
}

body .ymaps-b-balloon .ymaps-b-balloon__br {
    display: none;
}

/* Родной хвост Яндекса — гасим, рисуем свой через :before */
body .ymaps-b-balloon .ymaps-b-balloon__tail,
body .ymaps-b-balloon .ymaps-b-balloon__sprite_type_tail,
body .ymaps-b-balloon-shadow .ymaps-b-balloon-shadow__tail {
    display: none;
}

body .ymaps-b-balloon .ymaps-b-balloon__close.close_custom {
    top: 11px !important;
    right: 11px !important;
    width: 26px !important;
    height: 26px !important;
    background: none !important;
    border-radius: 100% !important;
    transition: background-color 0.35s ease;
    -moz-transition: background-color 0.35s ease;
    -ms-transition: background-color 0.35s ease;
    -o-transition: background-color 0.35s ease;
    -webkit-transition: background-color 0.35s ease;
}

body .ymaps-label {
    display: none !important;
}

body .ymaps-b-balloon:before {
    content: "";
    background: var(--White);
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -10px;
    left: 50%;
    margin-left: -10px;
    z-index: 1;
    box-sizing: border-box;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.ymaps-b-balloon .ymaps-b-balloon__close.close_custom {
    top: 0 !important;
    right: 0 !important;
    width: 40px !important;
    height: 40px !important;
    background: none !important;
    border-radius: 100% !important;
    transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    -ms-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    -webkit-transition: background-color 0.3s ease;
}

.ymaps-b-balloon .ymaps-b-balloon__close svg {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -5px 0 0 -5px;
    width: 10px;
    height: 10px;
    opacity: 0.35;
    background: none;
}

.ymaps-b-balloon .ymaps-b-balloon__close svg path {
    fill: #333;
    fill: var(--white_text_black);
}

.ymaps-b-balloon .ymaps-b-balloon__close:hover svg {
    opacity: 1;
}

.ymaps-shadows-pane {
    display: none;
}


.map_info_store .section-name {
    margin: 0 0 2px;
    color: #999999;
}
.map_info_store .name {
    font-size: 17px;
    font-weight: bold;
    line-height: 20px;
    color: #333;
}
.map_info_store .properties {
    display: flex;
    flex-wrap: wrap;
    margin: 26px 0 0px;
    flex-direction: column;
}
.map_info_store .property {
    margin: 16px 0 0;
    word-break: break-word;
}
.map_info_store .property:first-of-type {
    margin-top: 0;
}
.map_info_store .property .title-prop {
    margin: 0 0 3px;
    color: #666;
}
.map_info_store .property .value {
    color: #333;
}
.map_info_store .button {
    margin: 18px 0 0;
    display: inline-block;
}

.font_mlg {
    font-size: 19px;
    line-height: 23px;
}

.font_sm {
    font-size: 14px;
    line-height: 24px;
}

.font_exlg {
    font-size: 25px;
    line-height: 20px;
} /*24px*/

.font_lg {
    font-size: 21px;
    line-height: 22px;
} /*20px*/

.font_mlg {
    font-size: 19px;
    line-height: 23px;
} /*18px*/

.font_mxs {
    font-size: 18px;
    line-height: 23px;
} /*17px*/

.font_md {
    font-size: 17px;
    line-height: 25px;
} /*16px*/

.font_sm {
    font-size: 14px;
    line-height: 24px;
} /*14px*/

.font_xs {
    font-size: 13px;
    line-height: 27px;
} /*13px*/

.font_sxs {
    font-size: 12px;
    line-height: 27px;
} /*12px*/

.font_xxs {
    font-size: 11px;
    line-height: 20px;
} /*11px*/

.font_xxss {
    font-size: 10px;
    line-height: 20px;
} /*10px*/

.font_upper_md {
    font-size: 11px;
    line-height: 20px;
    text-transform: uppercase;
    letter-spacing: 0;
} /*11px*/

.font_upper {
    font-size: 10px;
    line-height: 20px;
    text-transform: uppercase;
    letter-spacing: 0;
    text-decoration: none;
} /*10px*/

.font_upper_xs {
    font-size: 9px;
    line-height: 20px;
    text-transform: uppercase;
    letter-spacing: 0;
} /*9px*/


body .ymaps-map .ymaps-b-balloon, .fancybox-title{font: 15px/25px "Montserrat", Arial, sans-serif;}

.btn {
    font-size: 11px;
    font-weight: normal;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0px;
    border: 1px solid;
    letter-spacing: 0;
    border-radius: 3px;
    padding: 12px 21px 11px;
    overflow: hidden;
    transition: background-color 0.3s;
}

.btn.btn-transparent-border-color {
    border-color: var(--yellow-800);
    color: var(--orange);
}

body .btn.btn-transparent-border-color:hover {
    color: var(--White);
}


.btn.btn-transparent-border-color:hover {
    background-color: var(--yellow-800);
    border-color: var(--yellow-800);
}

.url-block span.back-url-text {
    padding-left: 15px;
    vertical-align: middle;
}




.uploader {
    border-radius: 3px;
    padding: 11px 54px 5px 44px;
    border: 1px solid #ececec;
    position: relative;
    margin-bottom: -1px;
    background: #fafafa;
    background: var(--light_bg_black);
    cursor: pointer;
    transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    -ms-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    -webkit-transition: background-color 0.3s ease;
    margin-top: 10px;
}

.uploader:before {
    content: "";
    position: absolute;
    top: 12px;
    left: 26px;
    width: 9px;
    height: 18px;
    background: url(/local/templates/maslomart/assets/img/svg/content_icons.svg) -118px -117px no-repeat;
}

.uploader input[type="file"] {
    z-index: 10;
    opacity: 0;
    border: none;
    background: none;
    position: absolute;
    top: 0;
    right: 0;
    float: right;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.uploader:hover {
    background: #ffd633;
    border-color: #ffd633;
}

.uploader .filename {
    overflow: hidden;
    display: inline-block;
    width: 100%;
    white-space: nowrap;
    font-size: 16px;
    color: #333;
    text-overflow: ellipsis;
    cursor: pointer;
    line-height: 24px;
    padding-left: 9px;
}

.uploader .action {
    display: none;
    position: absolute;
    top: 9px;
    left: 9px;
    background: #fff;
    border-radius: 3px;
    color: white;
    padding: 7px 12px;
    font-size: 12px;
    line-height: 15px;
    margin-right: 10px;
}

.uploader:hover .filename {
    color: #fff;
}

.uploader:hover .action {
    color: #fff;
}

.uploader:hover:before {
    background-position: -128px -117px;
}

input:not(.btn) {
    line-height: 20px;
}

input[type="file"] {
    display: block;
}

/* —— Популярное на главной —— */
.mm-popular {
    position: relative;
    margin-bottom: 80px;
}

.mm-popular .textTitleH1.all_link {
    margin-bottom: 32px;
}

.mm-popular .catalog-section-grid {
    margin-bottom: 0;
}

.mm-popular .module-pagination,
.mm-popular .bottom_nav {
    display: none;
}

@media (max-width: 991px) {
    .mm-popular {
        margin-bottom: 32px;
    }

    .mm-popular .textTitleH1.all_link {
        margin-bottom: 16px;
    }
}

/* —— Преимущества на главной (под баннером) —— */
.mm-advantages {
    margin-bottom: 80px;
}

/* Карусель: 4 карточки в ширину контейнера (≥992), gap 16 — как у .сauses */
.mm-advantages .slider-mm-advantages {
    position: relative;
}

/* Стрелки — как у отзывов / популярного */
.mm-advantages .slider-mm-advantages .owl-nav {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    pointer-events: none;
    z-index: 2;
}

.mm-advantages .slider-mm-advantages .owl-nav .owl-prev,
.mm-advantages .slider-mm-advantages .owl-nav .owl-next {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 48px;
    height: 48px;
    padding: 12px;
    margin: 0;
    border: 0;
    border-radius: 80px;
    background: var(--White);
    box-shadow: 0 1px 4px 1px rgba(138, 145, 153, 0.16);
    color: transparent;
    font-size: 0;
    transition: background-color 0.35s ease;
}

.mm-advantages .slider-mm-advantages .owl-nav .owl-prev {
    left: -24px;
}

.mm-advantages .slider-mm-advantages .owl-nav .owl-next {
    right: -24px;
}

.mm-advantages .slider-mm-advantages .owl-nav .owl-prev:hover,
.mm-advantages .slider-mm-advantages .owl-nav .owl-prev:focus-visible,
.mm-advantages .slider-mm-advantages .owl-nav .owl-next:hover,
.mm-advantages .slider-mm-advantages .owl-nav .owl-next:focus-visible {
    background: var(--neutral-070);
}

.mm-advantages .slider-mm-advantages .owl-nav .owl-prev img,
.mm-advantages .slider-mm-advantages .owl-nav .owl-next img {
    display: block;
    width: 24px;
    height: 24px;
}

.mm-advantages .owl-stage {
    align-items: stretch;
}

.mm-advantages .owl-item {
    display: flex;
    height: auto;
}

.mm-advantages__card {
    flex: 1;
    width: 100%;
    height: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px 24px;
    border-radius: 16px;
    background: var(--neutral-070);
}

.mm-advantages__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    padding: 16px;
    box-sizing: border-box;
    border-radius: 80px;
    background: var(--yellow-800);
    flex-shrink: 0;
}

.mm-advantages__icon-img {
    display: block;
    width: 24px;
    height: 24px;
}

.mm-advantages__text {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mm-advantages__title {
    margin: 0;
    color: var(--Black);
}

.mm-advantages__desc {
    margin: 0;
    color: var(--neutral-500);
}

.mm-advantages__desc--mobile {
    display: none;
}

@media (max-width: 991px) {
    .mm-advantages {
        margin-bottom: 32px;
    }

    .mm-advantages .slider-mm-advantages .owl-nav {
        display: none;
    }

    /* autoWidth: фиксированная ширина карточки, peek соседней */
    .mm-advantages .slider-mm-advantages .mm-advantages__card {
        width: 280px;
        flex: 1 0 auto;
        height: 100%;
        gap: 16px;
        padding: 16px 12px;
        box-sizing: border-box;
    }

    .mm-advantages__icon {
        width: 48px;
        height: 48px;
        padding: 12px;
    }

    .mm-advantages__text {
        gap: 8px;
    }

    .mm-advantages__card--chair .mm-advantages__desc--desktop,
    .mm-advantages__card--auto .mm-advantages__desc--desktop {
        display: none;
    }

    .mm-advantages__card--chair .mm-advantages__desc--mobile,
    .mm-advantages__card--auto .mm-advantages__desc--mobile {
        display: block;
    }
}

.bonus_program {
    border-radius: 16px;
    background: var(--neutral-700);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 80px;
    height: 250px;
    padding: 40px;
    box-sizing: border-box;
    overflow: hidden;
}

.bonus_program .left {
    display: flex;
    flex-direction: column;
    flex:0 0 auto;
    min-width: 0;
}

.bonus_program .textTitleH1 {
    margin: 0 0 20px;
    color: var(--White);
}

.bonus_program .text3 {
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.70);
}

.bonus_program .left .mobile {
    display: none;
}

.bonus_program .buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.bonus_program .right {
    display: flex;
    align-items: center;
}

.bonus_program .right img {
    display: block;
    /* Стек карточек из макета (SVG): 570×210 */
    max-width: 570px;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.faq_info-img {
    max-width: 1000px;
    width: 100%;
}

/* Второй кадр шага: на десктопе кнопка уже внутри общего скрина */
.faq_info-mobile-only {
    display: none;
}

.faq_info-phone {
    color: var(--Black);
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
    transition: color 0.35s ease;
}

.faq_info-phone:hover,
.faq_info-phone:focus-visible {
    color: var(--Yellow);
}

@media (max-width: 991px) {
    .bonus_program {
        margin-bottom: 32px;
        padding: 24px 16px;
        height: auto;
        flex-direction: column;
        align-items: stretch;
    }

    .bonus_program .right {
        display: none;
    }

    .bonus_program .left {
        width: 100%;
    }

    .bonus_program .textTitleH1 {
        margin-bottom: 12px;
    }

    .bonus_program .text3 {
        margin-bottom: 0;
    }

    .bonus_program .left .mobile {
        display: block;
        width: 100%;
        max-width: 570px;
        margin: 12px auto 0;
        height: auto;
        object-fit: contain;
    }

    .bonus_program .buttons {
        flex-direction: column;
        margin: 12px 0 0;
    }

    .bonus_program .buttons a {
        width: 100%;
        justify-content: center;
    }
    .faq_info-img {
        max-width: 400px;
        width: 100%;
    }

    .faq_info-mobile-only {
        display: block;
    }
}


.сauses {
    margin-bottom: 80px;
}

.сauses .all_link {
    align-items: flex-start;
}

.owl-stage {
    display: flex;
}

.owl-item {
    display: flex;
}

.сauses .textTitleH1.all_link {
    align-items: baseline;
    margin-bottom: 24px;
}

.сauses .text3 {
    color: var(--neutral-500);
    margin: 0 0 32px;
}

/* Карточки одной высоты по самому высокому слайду */
.сauses .owl-stage {
    align-items: stretch;
}

.сauses .owl-item {
    display: flex;
    height: auto;
}

.сauses .item {
    flex: 1;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    background: var(--neutral-070);
    padding: 24px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.сauses .item .accentTitle {
    margin: 0 0 20px;
}

.сauses .item .text3 {
    margin: 0;
    color: var(--Black);
}

@media (max-width: 991px) {
    .сauses {
        margin-bottom: 32px;
    }

    /* Без вылета за content_wrap — последний слайд с отступом 16px, как заголовок */
    .сauses .owl-stage-outer {
        overflow: visible;
    }

    /*
     * Хак: у последнего слайда нет лишнего margin Owl.
     * !important — Owl пишет margin-right инлайном.
     */
    .сauses .owl-item:last-child {
        margin-right: 0 !important;
    }

    .сauses .textTitleH1 a {
        display: none;
    }

    /*
     * Макет 360: карточка ровно 244px (не % — иначе autoWidth Owl зацикливает ширину).
     * gap 8, справа peek соседней; у последнего — без хвоста (margin-right: 0).
     * Высота — 100% от owl-item, все карточки одинаковые по самому высокому тексту.
     */
    .сauses .slider-сauses .item {
        width: 244px;
        flex: 1 0 auto;
        height: 100%;
        padding: 16px 16px 24px;
        gap: 16px;
        box-sizing: border-box;
    }

    .сauses .item .accentTitle {
        margin: 0;
        font-size: 40px;
        line-height: 44px;
    }

    .сauses .text3 {
        margin-bottom: 24px;
    }

    .сauses .textTitleH1,
    .сauses .m_textTitleH1 {
        margin-bottom: 12px;
    }
}


.flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.row.flexbox {
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.col-xs-6 {
    width: 50%;
}


@media (min-width: 1200px) {
    .catalog_block.items .item_block.col-5, .col-lg-20 {
        width: 20%;
    }
}

.dark-color:hover,
body .colored_theme_hover_text:hover,
.top-block .menu > li > a:hover {
    color: var(--Yellow);
}

a.colored,
.colored,
body .colored_theme_text,
body .colored_theme_text_with_hover:not(:hover) {
    color: var(--orange);
}

.clearfix {
    clear: both;
    max-width: 1378px;
    margin: 0 auto;
}

* {
    margin: 0;
    padding: 0;
}

body .main-catalog-wrapper .product-view--type2 .product-info {
    max-width: var(--ContentWidth);
}


body .main-catalog-wrapper .product-view--type2 .product-info {
    padding: 40px 0px;
    margin: auto;
}

.flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flexbox--row {
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    align-items: center;
}

.product-view--type2 .product-info > .flexbox {
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    gap: 16px;
}

@media (max-width: 1500px) {
    .product-view--type2 .product-info > .flexbox {
        align-items: flex-start;
        width: 100%;
    }
}

.align-items-normal {
    -webkit-box-align: normal !important;
    -webkit-align-items: normal !important;
    -moz-box-align: normal !important;
    -ms-flex-align: normal !important;
    align-items: normal !important;
}

.font_xs {
    font-size: 13px;
    line-height: 27px;
}

.muted {
    font-size: 12px !important;
    line-height: 16px !important;
    font-style: normal !important;
    font-family: 'Manrope';
    font-weight: 500 !important;
    color: #999;
    text-decoration: none;
}

.properties__item--inline {
    display: inline;
}

.custom_buy-button span, .custom_buy-button a {
    border-radius: 12px !important;
    background: #FFD633;
    margin-bottom: 8px;
    margin-top: 12px;
    width: 100%;
    text-transform: none;
    color: #1D2023 !important;
    font-family: 'Manrope';
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    padding: 12px !important;
}


.custom_buy-service a {
    border-radius: 12px;
    border: 1px solid #E2E5EB;
    color: #1D2023;
    font-family: 'Manrope';
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    padding: 12px;
}

.hidden {
    display: none !important;
    visibility: hidden !important;
}

.no-buy__content {
    display: none !important;
}

.ordered-block {
    margin: 50px 0px 50px;
}

h2 {
    font-size: 29px;
    line-height: 28px;
    margin: 31px 0 23px;
}

.btn.btn-transparent:hover, .btn.btn-transparent:active, .btn.btn-transparent:focus {
    background-color: #ffdc52;
    border-color: #ffdc52;
}

.loader_circle {
    background: url("/local/templates/maslomart/assets/css/../img/svg/loaders/double_ring.svg") no-repeat center center;
}

.new_icon_block {
    width: 23px !important;
}

/* —— Избранное / сравнение / шаринг: off → on с анимацией 0.35s —— */
.catalog-card__fav,
.catalog-card__compare,
.product-topheader__share {
    display: inline-grid;
    grid-template-columns: 24px;
    grid-auto-flow: column;
    align-items: center;
    column-gap: 8px;
    cursor: pointer;
}

.catalog-card__fav .catalog-card__action-icon,
.catalog-card__compare .catalog-card__action-icon,
.product-topheader__share .catalog-card__action-icon {
    grid-column: 1;
    grid-row: 1;
    display: block;
    width: 24px;
    height: 24px;
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.catalog-card__fav .catalog-card__action-icon--on,
.catalog-card__compare .catalog-card__action-icon--on,
.product-topheader__share .catalog-card__action-icon--on {
    opacity: 0;
}

/* Hover / focus / added — кроссфейд к жёлтой active-иконке */
.catalog-card__fav:hover .catalog-card__action-icon--off,
.catalog-card__fav:focus-visible .catalog-card__action-icon--off,
.catalog-card__fav.added .catalog-card__action-icon--off,
.catalog-card__compare:hover .catalog-card__action-icon--off,
.catalog-card__compare:focus-visible .catalog-card__action-icon--off,
.catalog-card__compare.added .catalog-card__action-icon--off,
.product-topheader__share:hover .catalog-card__action-icon--off,
.product-topheader__share:focus-visible .catalog-card__action-icon--off {
    opacity: 0;
}

.catalog-card__fav:hover .catalog-card__action-icon--on,
.catalog-card__fav:focus-visible .catalog-card__action-icon--on,
.catalog-card__fav.added .catalog-card__action-icon--on,
.catalog-card__compare:hover .catalog-card__action-icon--on,
.catalog-card__compare:focus-visible .catalog-card__action-icon--on,
.catalog-card__compare.added .catalog-card__action-icon--on,
.product-topheader__share:hover .catalog-card__action-icon--on,
.product-topheader__share:focus-visible .catalog-card__action-icon--on {
    opacity: 1;
}

/* —— Контентные таблицы (CMS DETAIL_TEXT и т.п.) —— */
/* Не трогаем корзину / оформление / служебные таблицы Bitrix */
/* Обёртка: скролл только у таблицы, не у страницы */
.service-detail__table-scroll {
    width: 100%;
    max-width: 100%;
    margin: 0 0 24px;
    padding-bottom: 12px; /* зазор до горизонтального скролла */
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}

.service-detail__text table,
.detail_text table,
.news-detail table,
table.table-price {
    width: 100%;
    max-width: 100%;
    margin: 0 0 24px;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--neutral-150);
    border-radius: 16px;
    background: var(--White);
    overflow: hidden;
    box-sizing: border-box;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--Black);
}

.service-detail__table-scroll > table,
.service-detail__table-scroll > table.table-price {
    margin-bottom: 0;
}

.service-detail__text table th,
.service-detail__text table td,
.detail_text table th,
.detail_text table td,
.news-detail table th,
.news-detail table td,
table.table-price th,
table.table-price td {
    box-sizing: border-box;
    padding: 16px 24px;
    border: none;
    border-bottom: 1px solid var(--neutral-150);
    vertical-align: middle;
    background-color: transparent;
    transition: background-color 0.35s ease;
}

/* Последняя строка — без нижней линии */
.service-detail__text table tr:last-child th,
.service-detail__text table tr:last-child td,
.detail_text table tr:last-child th,
.detail_text table tr:last-child td,
.news-detail table tr:last-child th,
.news-detail table tr:last-child td,
table.table-price tr:last-child th,
table.table-price tr:last-child td {
    border-bottom: none;
}

/* Шапка: первая строка (часто все ячейки — td из CMS) */
.service-detail__text table thead th,
.service-detail__text table tr:first-child th,
.service-detail__text table tr:first-child td,
.detail_text table thead th,
.detail_text table tr:first-child th,
.detail_text table tr:first-child td,
.news-detail table thead th,
.news-detail table tr:first-child th,
.news-detail table tr:first-child td,
table.table-price thead th,
table.table-price tr:first-child th,
table.table-price tr:first-child td {
    background: var(--neutral-070);
    font-weight: 600;
    color: var(--Black);
    vertical-align: bottom;
}

/* Числовые колонки (не первая) */
.service-detail__text table td:not(:first-child),
.service-detail__text table th:not(:first-child),
.detail_text table td:not(:first-child),
.detail_text table th:not(:first-child),
.news-detail table td:not(:first-child),
.news-detail table th:not(:first-child),
table.table-price td:not(:first-child),
table.table-price th:not(:first-child) {
    font-weight: 600;
    white-space: nowrap;
}

.service-detail__text table tr:first-child td:not(:first-child),
.service-detail__text table tr:first-child th:not(:first-child),
.detail_text table tr:first-child td:not(:first-child),
.detail_text table tr:first-child th:not(:first-child),
.news-detail table tr:first-child td:not(:first-child),
.news-detail table tr:first-child th:not(:first-child),
table.table-price tr:first-child td:not(:first-child),
table.table-price tr:first-child th:not(:first-child) {
    font-weight: 500;
    color: var(--neutral-500);
    white-space: normal;
}

/* Hover строк данных (шапка в thead или первая строка tbody из CMS) */
.service-detail__text table:has(thead) tbody tr:hover td,
.service-detail__text table:has(thead) tbody tr:hover th,
.service-detail__text table:not(:has(thead)) tbody tr:not(:first-child):hover td,
.service-detail__text table:not(:has(thead)) tbody tr:not(:first-child):hover th,
.detail_text table:has(thead) tbody tr:hover td,
.detail_text table:has(thead) tbody tr:hover th,
.detail_text table:not(:has(thead)) tbody tr:not(:first-child):hover td,
.detail_text table:not(:has(thead)) tbody tr:not(:first-child):hover th,
.news-detail table:has(thead) tbody tr:hover td,
.news-detail table:has(thead) tbody tr:hover th,
.news-detail table:not(:has(thead)) tbody tr:not(:first-child):hover td,
.news-detail table:not(:has(thead)) tbody tr:not(:first-child):hover th,
table.table-price:has(thead) tbody tr:hover td,
table.table-price:has(thead) tbody tr:hover th,
table.table-price:not(:has(thead)) tbody tr:not(:first-child):hover td,
table.table-price:not(:has(thead)) tbody tr:not(:first-child):hover th {
    background-color: var(--neutral-070);
}

/* Таблицы деталки услуг — мобилка ≤991 */
@media (max-width: 991px) {
    .service-detail,
    .service-detail__layout,
    .service-detail__main,
    .service-detail__text {
        min-width: 0;
        max-width: 100%;
    }

    .service-detail__table-scroll {
        margin-bottom: 16px;
    }

    .service-detail__table-scroll > table,
    .service-detail__table-scroll > table.table-price {
        margin-bottom: 0;
        border-radius: 12px;
        font-size: 14px;
        line-height: 20px;
        width: max-content;
        min-width: 100%;
        max-width: none;
    }

    .service-detail__table-scroll > table th,
    .service-detail__table-scroll > table td {
        padding: 12px 16px;
    }
}

@media (max-width: 991px) {
    .detail_text,
    .news-detail {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .detail_text table,
    .news-detail table {
        margin-bottom: 16px;
        border-radius: 12px;
        font-size: 14px;
        line-height: 20px;
        min-width: 560px;
    }

    .detail_text table th,
    .detail_text table td,
    .news-detail table th,
    .news-detail table td {
        padding: 12px 16px;
    }
}

/* —— Корзина (75773): оверрайды Bitrix UI —— */

/* Корзина: sticky «Ваш заказ» только в ряду ≥1200 (см. basket_new/style.css) */
@media (min-width: 1200px) {
    #basket-root .main_flex_block .total {
        position: sticky;
        top: 24px;
        align-self: flex-start;
        z-index: 5;
    }

    #basket-root .main_flex_block .basket-checkout-container.basket-checkout-container-fixed {
        position: static;
        top: auto;
    }

    #basket-root .main_flex_block .basket-checkout-container.basket-checkout-container-fixed-hide {
        opacity: 1;
    }
}

div[class^="bx-"] input[type="button"],
div[class^="bx-"] input[type="submit"],
div[class^="bx-"] button {
    text-transform: inherit;
    font-family: inherit;
    border: inherit;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
}

.add_to_fav_block {
    position: absolute;
    bottom: 0;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 12px 8px;
    cursor: pointer;
}

body #basket-root *,
#content #bx-soa-order-form *,
.sale_order_full_table .sale-paysystem-wrapper * {
    font-family: "Manrope", sans-serif;
}

#basket-root .basket-checkout-block-total-price {
    padding: 0 20px 0 5px;
}

/* Корзина: qty min 124px на десктопе, растёт с цифрами; мобилка — basket_new/style.css */
@media (min-width: 992px) {
    #basket-root .catalog-card--basket .catalog-card__side-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 16px;
        width: 100%;
    }

    #basket-root .catalog-card--basket .catalog-card__qty {
        flex: 0 0 auto;
        width: auto;
        min-width: 124px;
        max-width: none;
        align-items: center;
    }

    #basket-root .catalog-card--basket .catalog-card__qty-value {
        display: block;
        box-sizing: border-box;
        width: 36px;
        min-width: 28px;
        height: 100%;
        margin: 0;
        padding: 0 8px;
        border: 0;
        background: transparent;
        box-shadow: none;
        outline: none;
        line-height: calc(var(--catalog-card-action-h, 48px) - 2px);
        text-align: center;
        color: var(--Black);
        field-sizing: content;
    }

    @supports (field-sizing: content) {
        #basket-root .catalog-card--basket .catalog-card__qty-value {
            width: auto;
        }
    }
}

/* End */


/* Start:/local/templates/maslomart/assets/css/vars.css?1793901513765*/
:root {
    --ContentWidth: 1376px;
    --White: #fff;
    --neutral-070: #F6F7F9;
    --neutral-500: #626C77;
    --neutral-100: #F2F3F7;
    --neutral-150: #E9ECF0;
    --neutral-200: #E2E5EB;
    --neutral-300: #BBC1C7;
    --neutral-400: #969FA8;
    --neutral-500: #626C77;
    --neutral-600: #434A51;
    --neutral-700: #2C3135;
    --neutral-800: #1D2023;
    --Black: #1D2023;
    --Red: #F04148;
    --Green: #4CBC6F;
    --yellow-800: #FFD633;
    --yellow-700: #FFDC52;
    --yellow-300: #FFF0B3;
    --yellow-50: #FFFDF3;
    --Yellow: #FFCC00;
    --orange: #ef9a21;
    /* Bonus levels — same mapping as site_mobile_app */
    --bonus-level-start: var(--neutral-300);
    --bonus-level-premium: var(--Yellow);
    --bonus-level-vip: var(--Black);
}

/* End */


/* Start:/local/templates/maslomart/assets/css/forms.css?179390151391878*/
/**
 * Переиспользуемые формы MasloMart.
 *
 * Карточка формы — как buy-card / checkout-блоки:
 *   белый фон, radius 16, тень, padding 24
 * Поля — Figma Input (9658:54915):
 *   label 14/20 neutral-500, TextField bg neutral-100, radius 12, pad 12×16
 *
 * Референс карточки: checkout «Получатель» 9658:54909 + .shadowed-block
 */

/* Белая карточка-обёртка (переиспользуется: отзывы, checkout и т.д.) */
.mm-form-card {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 24px;
    border: 0;
    border-radius: 16px;
    background: var(--White);
    box-shadow:
        0 2px 16px 1px rgba(138, 145, 153, 0.16),
        0 16px 16px 0 rgba(138, 145, 153, 0.04);
}

.mm-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
    /* Bitrix blog .default: div.blog-comment-fields { background:#f1f1f1 } */
    background: transparent !important;
    background-color: transparent !important;
}

.mm-form-card .blog-comment-fields,
.mm-form-card .mm-form,
div.blog-comment-form.mm-form-card div.blog-comment-fields,
div.blog-comment-form--mm div.blog-comment-fields.mm-form {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0;
}

.mm-form__section {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.mm-form__row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

.mm-form__row > .mm-form__field,
.mm-form__row > .form-group,
.mm-form__row > [class*="col-"] {
    flex: 1 1 calc(50% - 10px);
    min-width: 0;
    max-width: 100%;
}

.mm-form__field,
.mm-form .form-group {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 0;
    position: static;
}

.mm-form__label,
.mm-form .form-group > label,
.mm-form label.rating_label,
.mm-modal__dialog--ask-form .form div.form-control > label:not(.error):not(.mm-form__error) {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 0 8px;
    color: var(--neutral-500);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    position: static !important;
    transform: none !important;
    pointer-events: auto;
    opacity: 1;
    height: auto;
    left: auto;
    top: auto;
}

.mm-form .required-star,
.mm-form__req {
    color: var(--Red);
}

.mm-form__control,
.mm-form .form-control,
.mm-form input.form-control,
.mm-form textarea.form-control,
.mm-form select.form-control,
.mm-form .input .form-control,
.mm-form .form-group .form-control,
.EXTENDED form#form_comment .mm-form .form-control,
.EXTENDED form#form_comment .mm-form input.form-control,
.EXTENDED form#form_comment .mm-form textarea.form-control,
.EXTENDED #reviews_content .blog-comment-form--mm .mm-form .form-control,
.mm-modal__dialog--ask-form .form div.form-control input.inputtext:not([data-sid="RATING"]),
.mm-modal__dialog--ask-form .form div.form-control input[type="text"]:not([data-sid="RATING"]),
.mm-modal__dialog--ask-form .form div.form-control input[type="email"],
.mm-modal__dialog--ask-form .form div.form-control input[type="tel"],
.mm-modal__dialog--ask-form .form div.form-control input[type="password"],
.mm-modal__dialog--ask-form .form div.form-control textarea,
.mm-modal__dialog--ask-form .form div.form-control select {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 12px 16px !important;
    /* transparent border — чтобы hover/focus не прыгали по высоте */
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: var(--neutral-100) !important;
    color: var(--Black) !important;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    box-shadow: none !important;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    resize: vertical;
    min-height: 48px;
    transition: background-color 0.35s ease, border-color 0.35s ease;
}

.mm-form textarea.form-control,
.mm-form textarea.mm-form__control,
.mm-modal__dialog--ask-form .form div.form-control textarea {
    min-height: 96px;
    resize: vertical;
}

.mm-form__control::placeholder,
.mm-form .form-control::placeholder,
.mm-modal__dialog--ask-form .form div.form-control input::placeholder,
.mm-modal__dialog--ask-form .form div.form-control textarea::placeholder {
    color: var(--neutral-400);
    opacity: 1;
}

/* Hover — Figma Input Size=48 State=Hover (9658:94123) */
.mm-form__control:hover,
.mm-form .form-control:hover,
.EXTENDED form#form_comment .mm-form .form-control:hover,
.EXTENDED #reviews_content .blog-comment-form--mm .mm-form .form-control:hover,
.mm-modal__dialog--ask-form .form div.form-control input:not([data-sid="RATING"]):not([type="file"]):hover,
.mm-modal__dialog--ask-form .form div.form-control textarea:hover,
.mm-modal__dialog--ask-form .form div.form-control select:hover {
    background: var(--neutral-100) !important;
    border-color: var(--neutral-200) !important;
    box-shadow: none !important;
}

/* Focus — Figma Input Size=48 State=Focus (9658:94159): bg neutral-070, border Yellow #FFCC00 */
.mm-form__control:focus,
.mm-form .form-control:focus,
.mm-form__control:focus-visible,
.mm-form .form-control:focus-visible,
.EXTENDED form#form_comment .mm-form .form-control:focus,
.EXTENDED form#form_comment .mm-form .form-control:focus-visible,
.EXTENDED #reviews_content .blog-comment-form--mm .mm-form .form-control:focus,
.EXTENDED #reviews_content .blog-comment-form--mm .mm-form .form-control:focus-visible,
.mm-modal__dialog--ask-form .form div.form-control input:not([data-sid="RATING"]):not([type="file"]):focus,
.mm-modal__dialog--ask-form .form div.form-control input:not([data-sid="RATING"]):not([type="file"]):focus-visible,
.mm-modal__dialog--ask-form .form div.form-control textarea:focus,
.mm-modal__dialog--ask-form .form div.form-control textarea:focus-visible,
.mm-modal__dialog--ask-form .form div.form-control select:focus,
.mm-modal__dialog--ask-form .form div.form-control select:focus-visible {
    background: var(--neutral-070) !important;
    border-color: var(--Yellow) !important;
    box-shadow: none !important;
    outline: none;
}

.mm-form__control:hover:focus,
.mm-form .form-control:hover:focus,
.EXTENDED form#form_comment .mm-form .form-control:hover:focus,
.EXTENDED #reviews_content .blog-comment-form--mm .mm-form .form-control:hover:focus,
.mm-modal__dialog--ask-form .form div.form-control input:not([data-sid="RATING"]):not([type="file"]):hover:focus,
.mm-modal__dialog--ask-form .form div.form-control textarea:hover:focus,
.mm-modal__dialog--ask-form .form div.form-control select:hover:focus {
    background: var(--neutral-070) !important;
    border-color: var(--Yellow) !important;
}

.mm-form__control.is-error,
.mm-form .form-control.error,
.mm-form textarea.error,
.mm-form input.error,
.EXTENDED form#form_comment .mm-form .form-control.error,
.EXTENDED form#form_comment .mm-form .form-control.is-error,
.mm-modal__dialog--ask-form .form div.form-control input:not([data-sid="RATING"]):not([type="file"]).is-error,
.mm-modal__dialog--ask-form .form div.form-control input:not([data-sid="RATING"]):not([type="file"]).error,
.mm-modal__dialog--ask-form .form div.form-control textarea.is-error,
.mm-modal__dialog--ask-form .form div.form-control textarea.error,
.mm-modal__dialog--ask-form .form div.form-control select.is-error,
.mm-modal__dialog--ask-form .form div.form-control select.error {
    border-color: var(--Red) !important; /* перебивает hover/focus и aspro .form-control */
    background: var(--neutral-100) !important;
    box-shadow: none !important;
}

/* Figma Input State=Error (9925:51804): текст 12/16 Red, отступ сверху 10px
   Только у label/сообщения — не у .form-control.error (иначе pointer-events: none на поле) */
.mm-form label.error,
.mm-form label.mm-form__error,
.mm-form .mm-form__error:not(input):not(textarea):not(select):not(.form-control):not(.mm-form__control),
.EXTENDED form#form_comment .mm-form label.error,
.EXTENDED form#form_comment .mm-form label.mm-form__error,
.mm-modal__dialog--ask-form .form label.error,
.mm-modal__dialog--ask-form .form label.mm-form__error,
.mm-modal__dialog--ask-form .form div.form-control > label.error,
.mm-modal__dialog--ask-form .form div.form-control > label.mm-form__error {
    display: block;
    position: static;
    top: auto;
    right: auto;
    left: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 10px 0 0;
    border: 0;
    background: transparent;
    box-sizing: border-box;
    color: var(--Red);
    font-family: Manrope, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    text-transform: none;
    letter-spacing: 0;
    pointer-events: none;
}

/* Aspro animated-labels → статичный label сверху как в макете */
.mm-form .form-group.animated-labels,
.mm-form .animated-labels {
    padding-top: 0 !important;
}

.mm-form .form-group.animated-labels > label,
.mm-form .animated-labels > label {
    position: static !important;
    transform: none !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 20px !important;
    color: var(--neutral-500) !important;
    background: transparent !important;
}

.mm-form .form-group.animated-labels .input,
.mm-form .animated-labels .input {
    margin: 0;
    padding: 0;
}

.mm-form .form-group.animated-labels .form-control,
.mm-form .animated-labels .form-control {
    padding: 12px 16px !important;
}

/* Upload / drop-zone внутри формы */
.mm-form .drop-zone,
.mm-modal__dialog--ask-form .drop-zone,
.mm-form__upload {
    display: block;
    width: 100%;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: 12px;
    background: var(--neutral-100);
    box-sizing: border-box;
    overflow: hidden;
}

.mm-form .drop-zone.bordered,
.mm-modal__dialog--ask-form .drop-zone.bordered,
.mm-form .drop-zone.rounded3,
.mm-modal__dialog--ask-form .drop-zone.rounded3 {
    border: 0 !important;
    border-radius: 12px !important;
}

.mm-form .drop-zone__wrapper,
.mm-modal__dialog--ask-form .drop-zone__wrapper,
.mm-form .drop-zone__wrapper.rounded3,
.mm-modal__dialog--ask-form .drop-zone__wrapper.rounded3 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    height: auto;
    min-height: 48px;
    margin: 0;
    padding: 12px 16px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    box-sizing: border-box;
    transition: background-color 0.35s ease;
}

.mm-form .drop-zone__wrapper:hover,
.mm-modal__dialog--ask-form .drop-zone__wrapper:hover,
.mm-form .drop-zone.dragover,
.mm-modal__dialog--ask-form .drop-zone.dragover {
    background: var(--neutral-150);
    border: 0;
}

.mm-form .drop-zone__wrapper-text,
.mm-modal__dialog--ask-form .drop-zone__wrapper-text {
    position: relative;
    padding-left: 20px;
    color: var(--neutral-500);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

.mm-modal__dialog--ask-form .drop-zone__wrapper,
.mm-modal__dialog--ask-form .drop-zone__wrapper.rounded3 {
    height: 48px;
    min-height: 48px;
    padding: 0 16px;
}

.mm-modal__dialog--ask-form .drop-zone__wrapper-text {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mm-form .drop-zone__wrapper-text span,
.mm-modal__dialog--ask-form .drop-zone__wrapper-text span {
    color: var(--neutral-500);
}

/* Спрайт: -118 чёрная (светлая тема), -128 белая (тёмная) — ширина >9px показывает обе */
.mm-form .drop-zone__wrapper-text:before,
.mm-modal__dialog--ask-form .drop-zone__wrapper-text:before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 9px;
    height: 18px;
    background: url("/local/templates/maslomart/assets/img/svg/content_icons.svg") -118px -117px no-repeat;
    background-size: auto;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) div.form-control:has(input[type="file"]) > label:not(.drop-zone) {
    display: none;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 12px;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) div.form-control:has(.reviews-attach) {
    height: auto;
    overflow: visible;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__bar {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 48px;
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--neutral-200);
    border-radius: 12px;
    background: var(--White);
    overflow: hidden;
    transition: background-color 0.35s ease, border-color 0.35s ease;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__bar:hover,
:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__bar:focus-within {
    border-color: var(--Yellow);
    background: var(--White);
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__bar:active {
    border-color: var(--Yellow);
    background: var(--yellow-50);
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__pick {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    align-self: stretch;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0 16px;
    cursor: pointer;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__caption {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__caption:before {
    content: "";
    display: block;
    flex: 0 0 9px;
    width: 9px;
    height: 18px;
    background: url("/local/templates/maslomart/assets/img/svg/content_icons.svg") -118px -117px no-repeat;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__name {
    min-width: 0;
    overflow: hidden;
    color: var(--Black);
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__input {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    align-self: stretch;
    width: 40px;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: opacity 0.35s ease;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__remove[hidden] {
    display: none;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__remove:hover,
:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__remove:focus-visible {
    opacity: 0.6;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__remove img {
    display: block;
    width: 16px;
    height: 16px;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__preview {
    display: none;
    width: 100%;
    height: auto;
    overflow: visible;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__preview.is-shown {
    display: block;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__preview img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 120px;
    border-radius: 12px;
}

/* ЛК: фото автомобиля. Пустая строка 48px; с кадром фото целиком, без обрезки. */
#lk-modal .reviews-attach {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0;
}

#lk-modal .reviews-attach__bar {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 48px;
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    margin: 0;
    padding: 0;
    /* Как .mm-form__control: transparent border → серый на hover → жёлтый на focus */
    border: 1px solid transparent;
    border-radius: 12px;
    background: var(--neutral-100);
    overflow: hidden;
    transition: background-color 0.35s ease, border-color 0.35s ease;
}

#lk-modal .reviews-attach__bar:hover {
    border-color: var(--neutral-200);
    background: var(--neutral-100);
}

/*
 * Жёлтый «focus»: :focus-within недостаточно — нативный file dialog
 * снимает DOM-фокус. Класс is-active держит состояние до ухода на другое поле.
 */
#lk-modal .reviews-attach__bar:focus-within,
#lk-modal .reviews-attach__bar:hover:focus-within,
#lk-modal .reviews-attach__bar.is-active,
#lk-modal .reviews-attach__bar.is-active:hover {
    border-color: var(--Yellow);
    background: var(--neutral-070);
}

#lk-modal .reviews-attach__bar.is-error,
#lk-modal .reviews-attach__bar.is-error:hover,
#lk-modal .reviews-attach__bar.is-error:focus-within,
#lk-modal .reviews-attach__bar.is-error.is-active,
#lk-modal .reviews-attach__bar.is-error.is-active:hover {
    border-color: var(--Red);
}

#lk-modal .reviews-attach__pick {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    align-self: stretch;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0 16px;
    cursor: pointer;
}

#lk-modal .reviews-attach__caption {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
}

#lk-modal .reviews-attach__caption:before {
    content: "";
    display: block;
    flex: 0 0 9px;
    width: 9px;
    height: 18px;
    background: url("/local/templates/maslomart/assets/img/svg/content_icons.svg") -118px -117px no-repeat;
}

#lk-modal .reviews-attach__name {
    min-width: 0;
    overflow: hidden;
    color: var(--Black);
    text-overflow: ellipsis;
    white-space: nowrap;
}

#lk-modal .reviews-attach__input {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
}

#lk-modal .reviews-attach__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    align-self: stretch;
    width: 40px;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: opacity 0.35s ease;
}

#lk-modal .reviews-attach__remove[hidden] {
    display: none;
}

#lk-modal .reviews-attach__remove:hover,
#lk-modal .reviews-attach__remove:focus-visible {
    opacity: 0.6;
}

#lk-modal .reviews-attach__remove img {
    display: block;
    width: 16px;
    height: 16px;
}

#lk-modal .reviews-attach__bar.is-filled {
    flex: 0 0 auto;
    height: auto;
    min-height: 0;
    max-height: none;
    padding-top: 8px;
    padding-bottom: 8px;
}

#lk-modal .reviews-attach__preview {
    display: none;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    margin: 0 0 0 8px;
    overflow: hidden;
    border-radius: 8px;
}

#lk-modal .reviews-attach__preview.is-shown {
    display: flex;
}

/* Высота ограничена, ширина считается из пропорций кадра — без обрезки и без растягивания. */
#lk-modal .reviews-attach__preview img {
    display: block;
    width: auto;
    height: auto;
    max-width: 168px;
    max-height: 72px;
    object-fit: contain;
    border-radius: 8px;
}

#lk-modal [data-mm-modal-panel="car-add"] .mm-modal__fields,
#lk-modal [data-mm-modal-panel="car-edit"] .mm-modal__fields {
    gap: 12px;
}

/* Превью загруженных фото: целиком, ограничение по высоте 175px */
.mm-form .drop-zone__images {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 16px 16px 0;
    box-sizing: border-box;
}

.mm-form .drop-zone__images:empty {
    display: none;
    padding: 0;
}

.mm-form .drop-zone__image {
    position: relative;
    display: block;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.mm-form .drop-zone__image img {
    display: block;
    position: static;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 175px;
}

.mm-form .drop-zone__image-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 32px;
    height: 32px;
}

.mm-form .drop-zone__image-icon {
    background-image: url("/local/templates/maslomart/assets/img/svg/close-drop.svg");
}

/* Captcha row: инпут и картинка в одной линии; ошибка — под строкой (flex-basis 100%) */
.mm-form__captcha,
.mm-form .captcha-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    column-gap: 16px;
    row-gap: 8px;
    width: 100%;
    margin: 0;
}

.mm-form__captcha > .form-group,
.mm-form .captcha-row > [class*="col-"] {
    flex: 0 1 auto;
    max-width: 100%;
    padding: 0;
    float: none;
    width: auto;
}

/* Поле кода забирает свободную ширину строки. basis 0% — иначе width:100% у .form-group занимает всю строку и картинка переносится */
.mm-form__captcha > .form-group:has(#captcha_word),
.mm-form__captcha > .form-group:has(input[name="captcha_word"]),
.mm-form .captcha-row > .form-group:has(#captcha_word),
.mm-form .captcha-row > .form-group:has(input[name="captcha_word"]) {
    flex: 1 1 0%;
    width: auto;
    min-width: 0;
    max-width: none;
}

/* Картинка + «Поменять» — по центру высоты с инпутом (align-items: flex-end у ряда) */
.mm-form__captcha > .form-group:has(.captcha-img),
.mm-form .captcha-row > .form-group:has(.captcha-img) {
    flex: 0 0 auto;
    width: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: flex-end;
    min-height: 48px;
    height: auto;
    overflow: visible;
}

/* Сообщение ошибки капчи на всю ширину под инпутом и картинкой */
.mm-form__captcha > label.error,
.mm-form__captcha > label.mm-form__error,
.mm-form .captcha-row > label.error,
.mm-form .captcha-row > label.mm-form__error,
.mm-form .captcha-row > .mm-form__error {
    flex: 1 0 100%;
    flex-basis: 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    order: 10;
    margin: 0;
}

.mm-form .captcha-img {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    width: auto;
    max-width: none;
    height: auto;
    overflow: visible;
}

.mm-form .captcha-img .captcha_img,
.mm-form .captcha-img > img,
.detail .mm-form .captcha-img > img,
.EXTENDED .detail .mm-form .captcha-img > img,
.EXTENDED #reviews_content .mm-form .captcha-img > img {
    display: block;
    flex-shrink: 0;
    width: auto;
    height: 48px;
    max-width: 100%;
    max-height: none;
    object-fit: fill;
    object-position: center;
    box-sizing: border-box;
    border: 1px solid var(--neutral-200);
    border-radius: 12px;
    background: var(--neutral-100);
}

.mm-form .captcha-img .refresh,
.mm-form .captcha-img .captcha_reload {
    flex-shrink: 0;
    margin: 0;
    position: static;
}

.mm-form button.captcha_reload,
.mm-form .captcha-img .captcha_reload a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background-color: var(--yellow-800);
    background-image: url("/local/templates/maslomart/assets/css/../img/svg/refresh.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    color: var(--Black);
    box-sizing: border-box;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.35s ease;
}

.mm-form button.captcha_reload::before,
.mm-form button.captcha_reload::after,
.mm-form .captcha-img .captcha_reload::before,
.mm-form .captcha-img .captcha_reload::after,
.mm-form .captcha-img .captcha_reload a::before,
.mm-form .captcha-img .captcha_reload a::after {
    content: none;
}

.mm-form button.captcha_reload img,
.mm-form .captcha-img .captcha_reload img {
    display: block;
    width: 24px;
    height: 24px;
    max-width: none;
    max-height: none;
}

.mm-form button.captcha_reload:hover,
.mm-form button.captcha_reload:focus-visible,
.mm-form .captcha-img .captcha_reload a:hover,
.mm-form .captcha-img .captcha_reload a:focus-visible {
    background-color: var(--yellow-700);
    border-bottom-color: transparent;
}

@media (min-width: 992px) {
    .auth-page__card .captcha-img > img,
    .auth-page__card .captcha-img .captcha_img,
    .registraion-page .captcha-img > img,
    .registraion-page .captcha-img .captcha_img {
        width: 180px;
        max-width: 180px;
        height: 48px;
    }
}

@media (max-width: 991px) {
    .mm-form__captcha,
    .mm-form .captcha-row {
        /* wrap нужен: ошибка с basis 100% уходит на следующую строку; поле+картинка+рефреш остаются в одном ряду */
        flex-wrap: wrap;
        column-gap: 8px;
    }

    .mm-form__captcha > .form-group:has(#captcha_word),
    .mm-form__captcha > .form-group:has(input[name="captcha_word"]),
    .mm-form .captcha-row > .form-group:has(#captcha_word),
    .mm-form .captcha-row > .form-group:has(input[name="captcha_word"]) {
        flex: 1 1 0%;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .mm-form__captcha > .form-group:has(.captcha-img),
    .mm-form .captcha-row > .form-group:has(.captcha-img) {
        flex: 0 0 auto;
        min-width: 0;
        max-width: 100%;
        min-height: 36px;
    }

    .mm-form .captcha-img {
        gap: 8px;
        min-width: 0;
        max-width: 100%;
    }

    .mm-form .captcha-img .captcha_img,
    .mm-form .captcha-img > img,
    .detail .mm-form .captcha-img > img,
    .EXTENDED .detail .mm-form .captcha-img > img,
    .EXTENDED #reviews_content .mm-form .captcha-img > img {
        width: 96px;
        max-width: 96px;
        height: 36px;
        min-width: 0;
        flex: 0 1 96px;
    }

    .mm-form button.captcha_reload,
    .mm-form .captcha-img .captcha_reload a {
        width: 36px;
        height: 36px;
        min-height: 36px;
        padding: 6px;
        background-size: 20px 20px;
    }
}

.mm-form__message {
    margin: 0;
}

.mm-form__message.alert {
    background: transparent;
    border: 0;
    padding: 0;
}

.mm-form__message--error {
    color: var(--Red);
}

.mm-form__error {
    margin: 0;
    padding: 10px 0 0;
    color: var(--Red);
    font-family: Manrope, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.mm-form .mm-form__error[hidden],
.mm-modal .mm-form__error[hidden],
.mm-form__error[hidden] {
    display: none !important;
    padding: 0;
}

.mm-form__message--success {
    color: var(--Green);
}

.mm-form__note {
    margin: 0;
    color: var(--neutral-500);
}

/* —— Checkbox (CSS, не SVG) —— Figma 9765:56447 / 9765:63349 —— */
.mm-form__checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    background: none;
}

.mm-form__checkbox--end {
    flex-direction: row-reverse;
    width: 100%;
}

.mm-form__checkbox > input[type="checkbox"],
.mm-form__checkbox-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    opacity: 0 !important;
    appearance: none !important;
    pointer-events: none;
}

/* Hit-area 24×24, box 18×18 inset 3px, radius 4 */
.mm-form__checkbox-ui {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    pointer-events: none;
}

.mm-form__checkbox-ui::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: var(--neutral-150);
    box-sizing: border-box;
    transition: background-color 0.35s ease;
}

.mm-form__checkbox-ui::after {
    content: "";
    position: absolute;
    top: 6px;
    left: 10px;
    width: 5px;
    height: 9px;
    border: solid var(--Black);
    border-width: 0 2px 2px 0;
    box-sizing: border-box;
    opacity: 0;
    transform: rotate(45deg) scale(0.6);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.mm-form__checkbox > input[type="checkbox"]:checked ~ .mm-form__checkbox-ui::before,
input[type="checkbox"].mm-form__checkbox-input:checked + .mm-form__checkbox .mm-form__checkbox-ui::before,
.is-checked > .mm-form__checkbox-ui::before,
.is-selected > .mm-form__checkbox-ui::before {
    background: var(--yellow-800);
}

.mm-form__checkbox > input[type="checkbox"]:checked ~ .mm-form__checkbox-ui::after,
input[type="checkbox"].mm-form__checkbox-input:checked + .mm-form__checkbox .mm-form__checkbox-ui::after,
.is-checked > .mm-form__checkbox-ui::after,
.is-selected > .mm-form__checkbox-ui::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
}

.mm-form__checkbox > input[type="checkbox"]:focus-visible ~ .mm-form__checkbox-ui,
input[type="checkbox"].mm-form__checkbox-input:focus-visible + .mm-form__checkbox .mm-form__checkbox-ui {
    outline: 2px solid var(--Yellow);
    outline-offset: 2px;
    border-radius: 4px;
}

.mm-form__checkbox-text {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--Black);
}

/* —— Radio (CSS, не SVG) —— */
.mm-form__radio {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    background: none;
    appearance: none;
    -webkit-appearance: none;
}

.mm-form__radio--end {
    flex-direction: row-reverse;
    width: 100%;
}

.mm-form__radio > input[type="radio"],
.mm-form__radio-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    opacity: 0 !important;
    appearance: none !important;
    pointer-events: none;
}

.mm-form__radio-ui {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    pointer-events: none;
}

.mm-form__radio-ui::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--neutral-150);
    box-sizing: border-box;
}

.mm-form__radio-ui::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    margin-left: -4px;
    border-radius: 50%;
    background: var(--Black);
    opacity: 0;
    box-sizing: border-box;
}

.mm-form__radio > input[type="radio"]:checked ~ .mm-form__radio-ui::before,
input[type="radio"].mm-form__radio-input:checked ~ .mm-form__radio-ui::before,
.is-selected > .mm-form__radio-ui::before,
.is-checked > .mm-form__radio-ui::before {
    background: var(--yellow-800);
}

.mm-form__radio > input[type="radio"]:checked ~ .mm-form__radio-ui::after,
input[type="radio"].mm-form__radio-input:checked ~ .mm-form__radio-ui::after,
.is-selected > .mm-form__radio-ui::after,
.is-checked > .mm-form__radio-ui::after {
    opacity: 1;
}

.mm-form__radio-text {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--Black);
}

/* —— Segmented control —— */
.mm-form__segment {
    display: flex;
    width: 100%;
    padding: 4px;
    border-radius: 12px;
    background: var(--neutral-100);
    box-sizing: border-box;
}

.mm-form__segment-option {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    cursor: pointer;
}

.mm-form__segment-option input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    opacity: 0 !important;
}

.mm-form__segment-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 8px;
    color: var(--neutral-700);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    text-align: center;
    box-sizing: border-box;
    transition: background-color 0.35s ease, color 0.35s ease;
}

.mm-form__segment-option.is-active .mm-form__segment-label,
.mm-form__segment-option input:checked + .mm-form__segment-label {
    background: var(--White);
    color: var(--Black);
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(29, 32, 35, 0.08);
}

.mm-form__segment--slide {
    position: relative;
}

.mm-form__segment-slider {
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc((100% - 8px) / var(--mm-segment-count, 2));
    border-radius: 8px;
    background: var(--White);
    box-shadow: 0 1px 2px rgba(29, 32, 35, 0.08);
    transform: translateX(calc(100% * var(--mm-segment-index, 0)));
    transition: transform 0.35s ease;
    pointer-events: none;
    z-index: 0;
}

.mm-form__segment--slide .mm-form__segment-option {
    z-index: 1;
}

.mm-form__segment--slide .mm-form__segment-option.is-active .mm-form__segment-label,
.mm-form__segment--slide .mm-form__segment-option input:checked + .mm-form__segment-label {
    background: transparent;
    box-shadow: none;
}

.mm-form__switch {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 4px 0;
    cursor: pointer;
    color: var(--Black);
    box-sizing: border-box;
}

.mm-form__switch-text {
    flex: 1 1 auto;
    min-width: 0;
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

/* Ссылка на обработку ПДн — жёлтая */
.mm-form__switch-text a,
.bonus-reg__consent a {
    color: var(--Yellow);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.35s ease, border-color 0.35s ease;
}

.mm-form__switch-text a:hover,
.mm-form__switch-text a:focus-visible,
.bonus-reg__consent a:hover,
.bonus-reg__consent a:focus-visible {
    color: var(--Yellow);
    border-bottom-color: var(--Yellow);
}

/* Обёртка согласия: ошибка сразу под свичем */
.mm-form__consent {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: auto;
    max-width: 100%;
}

.mm-form__consent > .mm-form__switch {
    width: auto;
    max-width: 100%;
    justify-content: flex-start;
}

.mm-form__consent > label.error,
.mm-form__consent > .mm-form__error {
    width: 100%;
    padding: 10px 0 0;
    margin: 0;
}

.mm-form__switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

/* Track 36×20 + thumb — Figma Switcher 9765:52421 / 9765:63575 */
.mm-form__switch-ui {
    position: relative;
    flex-shrink: 0;
    width: 36px;
    height: 20px;
    border-radius: 10px;
    background: var(--neutral-150);
    box-sizing: border-box;
    transition: background-color 0.35s ease;
}

.mm-form__switch-ui::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--White);
    box-shadow: 0 1px 4px 1px rgba(138, 145, 153, 0.16);
    transition: transform 0.35s ease;
}

.mm-form__switch input:checked ~ .mm-form__switch-ui {
    background: var(--yellow-800);
}

.mm-form__switch input:checked ~ .mm-form__switch-ui::after {
    transform: translateX(16px);
}

.mm-form__switch input:focus-visible ~ .mm-form__switch-ui {
    outline: 2px solid var(--Yellow);
    outline-offset: 2px;
}

@media (max-width: 991px) {
    .mm-form__switch-text {
        font-size: 12px;
        line-height: 16px;
    }

    /* Input Size=36 + label 12/16 (Figma) */
    .mm-form__label,
    .mm-form .form-group > label,
    .mm-form label.rating_label,
    .mm-modal__dialog--ask-form .form div.form-control > label:not(.error):not(.mm-form__error) {
        font-size: 12px;
        line-height: 16px;
    }

    .mm-form__control,
    .mm-form .form-control,
    .mm-form input.form-control,
    .mm-form textarea.form-control,
    .mm-form select.form-control,
    .mm-form .input .form-control,
    .mm-form .form-group .form-control,
    .EXTENDED form#form_comment .mm-form .form-control,
    .EXTENDED form#form_comment .mm-form input.form-control,
    .EXTENDED form#form_comment .mm-form textarea.form-control,
    .EXTENDED #reviews_content .blog-comment-form--mm .mm-form .form-control,
    .mm-modal__dialog--ask-form .form div.form-control input.inputtext:not([data-sid="RATING"]),
    .mm-modal__dialog--ask-form .form div.form-control input[type="text"]:not([data-sid="RATING"]),
    .mm-modal__dialog--ask-form .form div.form-control input[type="email"],
    .mm-modal__dialog--ask-form .form div.form-control input[type="tel"],
    .mm-modal__dialog--ask-form .form div.form-control input[type="password"],
    .mm-modal__dialog--ask-form .form div.form-control textarea,
    .mm-modal__dialog--ask-form .form div.form-control select {
        min-height: 36px;
        padding: 8px 12px !important;
        font-size: 14px;
        line-height: 20px;
    }

    .mm-modal__dialog--ask-form .drop-zone__wrapper,
    .mm-modal__dialog--ask-form .drop-zone__wrapper.rounded3 {
        height: 36px;
        min-height: 36px;
        padding: 0 12px;
    }

    :is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__bar {
        flex-basis: 36px;
        height: 36px;
        min-height: 36px;
        max-height: 36px;
    }

    :is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .reviews-attach__name {
        font-size: 14px;
        line-height: 20px;
    }

    .mm-form textarea.form-control,
    .mm-form textarea.mm-form__control,
    .mm-modal__dialog--ask-form .form div.form-control textarea {
        min-height: 72px;
    }

    .mm-form__segment {
        padding: 2px;
    }

    .mm-form__segment-label {
        min-height: 32px;
        padding: 6px;
        border-radius: 10px;
        font-size: 14px;
        line-height: 20px;
    }

    .mm-form__segment-slider {
        top: 2px;
        bottom: 2px;
        left: 2px;
        width: calc((100% - 4px) / var(--mm-segment-count, 2));
        border-radius: 10px;
    }
}

/* Actions / submit */
.mm-form__actions,
.mm-form .blog-comment-buttons-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

.mm-form__actions .button,
.mm-form .blog-comment-buttons-wrapper .button,
.mm-form .blog-comment-buttons-wrapper .btn,
.mm-form .blog-comment-buttons-wrapper input[type="button"],
.mm-form .blog-comment-buttons-wrapper input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 12px 24px;
    min-height: 48px;
    border: 1px solid var(--yellow-800);
    border-radius: 12px;
    background: var(--yellow-800);
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    text-transform: none !important;
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.35s ease, border-color 0.35s ease;
}

.mm-form__actions .button:hover,
.mm-form .blog-comment-buttons-wrapper .button:hover,
.mm-form .blog-comment-buttons-wrapper .btn:hover,
.mm-form .blog-comment-buttons-wrapper input[type="button"]:hover,
.mm-form .blog-comment-buttons-wrapper input[type="submit"]:hover {
    background: var(--yellow-700);
    border-color: var(--yellow-700);
    color: var(--Black);
}

.mm-form__actions .button.white:hover,
.mm-form__actions .button.white:focus {
    border-color: var(--Yellow);
    background: var(--White);
    color: var(--Black);
}

.mm-form__actions .button.white:active {
    border-color: var(--Yellow);
    background: var(--yellow-50);
    color: var(--Black);
}

@media (max-width: 767px) {
    .mm-form__row {
        flex-direction: column;
        gap: 20px;
    }

    .mm-form__row > .mm-form__field,
    .mm-form__row > .form-group,
    .mm-form__row > [class*="col-"] {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
    }

    .mm-form__actions .button,
    .mm-form .blog-comment-buttons-wrapper .button,
    .mm-form .blog-comment-buttons-wrapper .btn,
    .mm-form .blog-comment-buttons-wrapper input[type="button"],
    .mm-form .blog-comment-buttons-wrapper input[type="submit"] {
        width: 100%;
        font-size: 14px;
        line-height: 20px;
        padding: 8px 20px;
        min-height: 36px;
    }
}

/* —— ikSelect (mm-form-select) —— */
.ik_select.mm-form-select {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

/* !important нужен: .mm-form__control задаёт background shorthand с !important и сбрасывает стрелку */
.ik_select.mm-form-select .ik_select_link.mm-form__control {
    display: flex;
    align-items: center;
    width: 100% !important;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 40px 12px 16px !important;
    border: 1px solid var(--neutral-100) !important;
    border-radius: 12px !important;
    background-color: var(--neutral-100) !important;
    background-image: url("/local/templates/maslomart/assets/img/svg/personal/expand-more.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 24px 24px !important;
    box-sizing: border-box;
    box-shadow: none !important;
    color: var(--Black) !important;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    cursor: pointer;
}

.ik_select.mm-form-select .ik_select_link.mm-form__control:hover {
    background-color: var(--neutral-100) !important;
    border-color: var(--neutral-200) !important;
}

.ik_select.mm-form-select .ik_select_link.mm-form__control.opened,
.ik_select.mm-form-select .ik_select_link.mm-form__control:focus,
.ik_select.mm-form-select .ik_select_link.mm-form__control:focus-visible {
    background-color: var(--neutral-070) !important;
    background-image: url("/local/templates/maslomart/assets/img/svg/personal/expand-less.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 24px 24px !important;
    border-color: var(--Yellow) !important;
}

.ik_select.mm-form-select .ik_select_link.mm-form__control.opened:hover {
    background-color: var(--neutral-070) !important;
}

#lk-modal .ik_select.mm-form-select .ik_select_link.mm-form__control.is-error,
#lk-modal .ik_select.mm-form-select .ik_select_link.mm-form__control.is-error:hover,
#lk-modal .ik_select.mm-form-select .ik_select_link.mm-form__control.is-error.opened,
#lk-modal .ik_select.mm-form-select .ik_select_link.mm-form__control.is-error:focus,
#lk-modal .ik_select.mm-form-select .ik_select_link.mm-form__control.is-error:focus-visible {
    border-color: var(--Red) !important;
}

.ik_select.mm-form-select .ik_select_link_text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ik_select_dropdown.mm-form-select-dd {
    z-index: 1200;
    margin-top: 4px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--neutral-150);
    border-radius: 12px;
    background: var(--White);
    box-shadow: 0 8px 24px rgba(29, 32, 35, 0.12);
    box-sizing: border-box;
}

/* Combobox марка/модель: само поле — ввод и поиск, список — подсказки */
.mm-form__field:has(.mm-combobox) {
    overflow: visible;
}

.mm-combobox {
    position: relative;
    display: block;
    width: 100%;
    overflow: visible;
}

.mm-combobox__list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1200;
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 240px;
    overflow: auto;
    border: 1px solid var(--neutral-150);
    border-radius: 12px;
    background: var(--White);
    box-shadow: 0 8px 24px rgba(29, 32, 35, 0.12);
    box-sizing: border-box;
}

.mm-combobox__list[hidden] {
    display: none !important;
}

.mm-combobox__option {
    padding: 10px 16px;
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    cursor: pointer;
}

.mm-combobox__option:hover,
.mm-combobox__option.is-active {
    background: var(--neutral-070);
}

.mm-combobox.is-open .mm-form__control {
    border-color: var(--Yellow) !important;
}

/* Глобальный кастомный скролл: тонкий pill 4px, без стрелок Windows */
.mm-scroll::-webkit-scrollbar,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar {
    width: 4px;
    height: 4px; /* горизонтальный скролл */
}

.mm-scroll::-webkit-scrollbar-track,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-track {
    background: transparent;
}

.mm-scroll::-webkit-scrollbar-thumb,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-thumb {
    background: var(--neutral-300);
    border-radius: 4px;
}

/* Windows Chromium: стрелки ▲▼ — обнуляем кнопки, display:none не всегда срабатывает */
.mm-scroll::-webkit-scrollbar-button,
.mm-scroll::-webkit-scrollbar-button:start:decrement,
.mm-scroll::-webkit-scrollbar-button:end:increment,
.mm-scroll::-webkit-scrollbar-button:vertical:start:decrement,
.mm-scroll::-webkit-scrollbar-button:vertical:end:increment,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-button,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-button:start:decrement,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-button:end:increment,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-button:vertical:start:decrement,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-button:vertical:end:increment {
    display: block;
    width: 0;
    height: 0;
    background: transparent;
    border: none;
}

.mm-scroll::-webkit-scrollbar-corner,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner::-webkit-scrollbar-corner {
    background: transparent;
}

/* Firefox: без webkit-псевдо; на Chromium эти свойства дают нативный скролл со стрелками */
@supports (-moz-appearance: none) {
    .mm-scroll,
    .ik_select_dropdown.mm-form-select-dd .ik_select_list_inner {
        scrollbar-width: thin;
        scrollbar-color: var(--neutral-300) transparent;
    }
}

.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner ul li {
    margin: 0;
    padding: 12px 16px;
    color: var(--Black) !important;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    background: var(--White) !important;
    cursor: pointer;
    transition: background-color 0.35s ease;
}

.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner ul li:hover,
.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner ul li.ik_select_hover {
    background: var(--neutral-070) !important;
}

.ik_select_dropdown.mm-form-select-dd .ik_select_list_inner ul li.ik_select_active {
    background: var(--yellow-800) !important;
    font-weight: 500;
}

@media (max-width: 991px) {
    .ik_select.mm-form-select .ik_select_link.mm-form__control {
        min-height: 36px;
        padding: 8px 36px 8px 12px !important;
        font-size: 14px;
        line-height: 20px;
        background-position: right 12px center !important;
        background-size: 20px 20px !important;
    }

    .ik_select.mm-form-select .ik_select_link.mm-form__control:hover,
    .ik_select.mm-form-select .ik_select_link.mm-form__control.opened,
    .ik_select.mm-form-select .ik_select_link.mm-form__control:focus,
    .ik_select.mm-form-select .ik_select_link.mm-form__control:focus-visible {
        background-position: right 12px center !important;
        background-size: 20px 20px !important;
    }

    .ik_select_dropdown.mm-form-select-dd .ik_select_list_inner ul li {
        padding: 8px 12px;
        font-size: 14px;
        line-height: 20px;
    }
}

/* —— Modal (global shell) —— */
.mm-modal {
    position: fixed;
    inset: 0;
    z-index: 99999999;
    display: flex;
    padding: 16px;
    box-sizing: border-box;
    overflow: auto;
    background: rgba(29, 32, 35, 0.48);
}

.mm-modal[hidden] {
    display: none;
}

.mm-modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 500px;
    height: auto;
    margin: auto;
    padding: 20px;
    box-sizing: border-box;
}

.mm-modal__dialog--lg {
    max-width: 564px;
}

.mm-modal__dialog--bonus-reg,
.mm-modal__dialog--bonus-phone {
    padding: 0;
}

.mm-modal__head--close-only {
    justify-content: flex-end;
}

.bonus-reg {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.bonus-reg__submit,
.bonus-reg-success__close {
    width: 100%;
}

.bonus-reg__required-note {
    margin: 0;
    color: var(--neutral-500);
    font-weight: 400;
}

.bonus-reg__consent {
    margin: 0;
    color: var(--neutral-500);
    font-weight: 400;
    text-align: center;
}

.bonus-reg__request-error {
    margin: 0;
    width: 100%;
}

.bonus-reg__date,
.bonus-reg__phone {
    position: relative;
}

.bonus-reg__phone .mm-form__control {
    padding-right: 148px;
}

.bonus-reg__phone:has(.bonus-reg__phone-verify--ok) .mm-form__control {
    padding-right: 48px;
}

.bonus-reg__date-btn {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: opacity 0.35s ease;
}

.bonus-reg__phone-verify {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    width: auto;
    max-width: 55%;
    height: auto;
    padding: 0 12px;
    border: 0;
    background: transparent;
    color: var(--Red);
    cursor: pointer;
    transition: opacity 0.35s ease, color 0.35s ease;
}

.bonus-reg__date-btn img {
    display: block;
    width: 20px;
    height: 20px;
}

.bonus-reg__phone-verify__icon {
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-color: var(--neutral-400);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color 0.35s ease, opacity 0.35s ease;
}

.bonus-reg__phone-verify__text {
    white-space: nowrap;
}

.bonus-reg__phone-verify--ok {
    width: 48px;
    padding: 0;
    justify-content: center;
}

.bonus-reg__phone-verify--ok .bonus-reg__phone-verify__icon {
    background-color: var(--Green);
}

.bonus-reg__date-btn:hover,
.bonus-reg__date-btn:focus-visible,
.bonus-reg__phone-verify:hover:not(:disabled):not(.bonus-reg__phone-verify--ok),
.bonus-reg__phone-verify:focus-visible:not(:disabled):not(.bonus-reg__phone-verify--ok) {
    opacity: 0.7;
}

.bonus-reg__phone-verify:disabled:not(.bonus-reg__phone-verify--ok),
.bonus-reg__phone-verify[disabled]:not(.bonus-reg__phone-verify--ok) {
    opacity: 0.35;
    cursor: default;
}

.bonus-reg__phone-verify--ok,
.bonus-reg__phone-verify--ok:disabled,
.bonus-reg__phone-verify--ok[disabled] {
    opacity: 1;
    cursor: default;
}

.bonus-phone-verify,
.bonus-phone-verify-success,
.bonus-phone-verify-error {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.bonus-phone-verify {
    gap: 20px;
}

.bonus-phone-verify__resend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    color: var(--neutral-500);
}

.bonus-phone-verify__resend-wait,
.bonus-phone-verify__resend-link {
    color: var(--Black);
}

.bonus-phone-verify__resend-link {
    text-decoration: none;
    border-bottom: 1px solid transparent;
    cursor: pointer;
    transition: opacity 0.35s ease, border-color 0.35s ease;
}

.bonus-phone-verify__resend-link:hover,
.bonus-phone-verify__resend-link:focus-visible {
    opacity: 0.8;
    border-bottom-color: var(--Black);
}

.bonus-phone-verify__actions {
    margin: 0;
    width: 100%;
}

.bonus-phone-verify__actions .button,
.bonus-phone-verify-success__close,
.bonus-phone-verify-error__close {
    width: 100%;
}

.bonus-phone-verify-success,
.bonus-phone-verify-error {
    align-items: center;
    text-align: center;
    gap: 16px;
}

.bonus-phone-verify-success__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border-radius: 80px;
    background: var(--Green);
}

.bonus-phone-verify-success__icon img,
.bonus-phone-verify-error__icon img {
    display: block;
}

.bonus-phone-verify-success__icon img {
    width: 24px;
    height: 24px;
}

.bonus-phone-verify-error__icon img {
    width: 48px;
    height: 48px;
}

.bonus-phone-verify-success__title,
.bonus-phone-verify-success__text,
.bonus-phone-verify-error__title,
.bonus-phone-verify-error__text {
    margin: 0;
    width: 100%;
}

.bonus-phone-verify-success__text,
.bonus-phone-verify-error__text {
    color: var(--neutral-500);
}

.bonus-reg-success {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.bonus-reg-success__card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 16px;
    border: 0;
    border-radius: 16px;
    background: var(--neutral-070);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.35s ease;
}

.bonus-reg-success__card:hover,
.bonus-reg-success__card:focus-visible {
    background: var(--neutral-100);
}

.bonus-reg-success__main {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.bonus-reg-success__accrual,
.bonus-reg-success__hint {
    display: block;
    margin: 0;
}

.bonus-reg-success__hint {
    color: var(--neutral-500);
}

.bonus-reg-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 0;
    text-align: center;
}

.bonus-reg-error__title {
    margin: 0;
    font-weight: 600;
}

.bonus-reg-error__text {
    margin: 0;
    width: 100%;
    color: var(--neutral-500);
    font-weight: 400;
}

/* Календарь Bitrix висит на body. ZIndexManager ставит ~1000, .mm-modal — 99999999, виджет оказывается под формой. */
.popup-window:has(.bx-calendar),
.popup-window:has(.bx-calendar-month-popup),
.popup-window:has(.bx-calendar-year-popup) {
    z-index: 100000000 !important;
}

.popup-window:has(.bx-calendar) {
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: var(--White);
    box-shadow:
        0 2px 16px 1px rgba(138, 145, 153, 0.16),
        0 16px 16px 0 rgba(138, 145, 153, 0.04);
    font-family: Manrope, sans-serif;
}

.popup-window:has(.bx-calendar) .popup-window-angly {
    display: none;
}

.popup-window:has(.bx-calendar) .popup-window-content {
    padding: 0;
    background: transparent;
}

.popup-window .bx-calendar,
.popup-window .bx-calendar * {
    box-sizing: border-box;
}

.popup-window .bx-calendar {
    width: 280px;
    padding: 12px 12px 8px;
    border-radius: 16px;
    background: var(--White);
    color: var(--Black);
    font-family: Manrope, sans-serif;
}

.popup-window .bx-calendar-header {
    display: flex;
    align-items: center;
    margin: 0 0 8px;
    padding: 0;
}

.popup-window .bx-calendar-header-content {
    flex: 1 1 auto;
    width: auto;
}

.popup-window .bx-calendar-left-arrow,
.popup-window .bx-calendar-right-arrow {
    position: relative;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin: 0;
    background: none;
    border-radius: 8px;
    transition: background-color 0.35s ease;
}

.popup-window .bx-calendar-left-arrow:hover,
.popup-window .bx-calendar-right-arrow:hover {
    background-color: var(--neutral-100);
}

.popup-window .bx-calendar-left-arrow::before,
.popup-window .bx-calendar-right-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--Black);
    border-right: 2px solid var(--Black);
}

.popup-window .bx-calendar-left-arrow::before {
    transform: translate(-30%, -50%) rotate(-135deg);
}

.popup-window .bx-calendar-right-arrow::before {
    transform: translate(-70%, -50%) rotate(45deg);
}

.popup-window .bx-calendar-top-month,
.popup-window .bx-calendar-top-year {
    background: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    padding: 4px 6px;
    transition: background-color 0.35s ease;
}

.popup-window .bx-calendar-top-month:hover,
.popup-window .bx-calendar-top-year:hover {
    background-color: var(--neutral-100);
}

.popup-window .bx-calendar-name-day-wrap {
    display: flex;
    height: auto;
    margin: 0 0 4px;
    padding: 0;
    background: transparent;
    line-height: 16px;
}

.popup-window .bx-calendar-name-day {
    flex: 1 1 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    color: var(--neutral-400);
    font-size: 12px;
    line-height: 16px;
}

.popup-window .bx-calendar-cell-block {
    padding: 0;
    overflow: visible;
}

.popup-window .bx-calendar-range {
    display: flex;
    margin: 0;
    padding: 0;
    border: 0;
}

.popup-window .bx-calendar-cell {
    flex: 1 1 0;
    width: auto;
    height: 36px;
    margin: 0;
    padding: 0;
    border-radius: 8px;
    font-size: 14px;
    line-height: 36px;
    transition: background-color 0.35s ease, color 0.35s ease;
}

.popup-window .bx-calendar-cell:hover {
    background-color: var(--neutral-100);
    color: var(--Black);
}

.popup-window .bx-calendar-weekend,
.popup-window .bx-calendar-weekend:link,
.popup-window .bx-calendar-weekend:hover {
    color: var(--Red);
}

.popup-window .bx-calendar-date-hidden,
.popup-window .bx-calendar-date-hidden:link,
.popup-window .bx-calendar-date-hidden:hover {
    color: var(--neutral-300);
}

.popup-window .bx-calendar-active,
.popup-window .bx-calendar-active:hover {
    background-color: var(--yellow-800);
    color: var(--Black);
}

.popup-window .bx-calendar-button-block {
    padding: 8px 0 4px;
}

.popup-window .bx-calendar-button-left,
.popup-window .bx-calendar-button-right {
    display: none;
}

.popup-window .bx-calendar-button-text {
    height: auto;
    min-height: 36px;
    padding: 8px 20px;
    border-radius: 12px;
    background: var(--yellow-800);
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    transition: background-color 0.35s ease;
}

.popup-window .bx-calendar-button:hover .bx-calendar-button-text,
.popup-window .bx-calendar-button:active .bx-calendar-button-text {
    background: var(--yellow-700);
}

.popup-window .bx-calendar-month,
.popup-window .bx-calendar-year-number {
    border-radius: 8px;
    font-family: Manrope, sans-serif;
    transition: background-color 0.35s ease;
}

.popup-window .bx-calendar-month:hover,
.popup-window .bx-calendar-year-number:hover {
    background-color: var(--neutral-100);
}

@media (max-width: 991px) {
    .mm-modal:has(.mm-modal__dialog--bonus-reg),
    .mm-modal:has(.mm-modal__dialog--bonus-phone) {
        align-items: flex-end;
        padding: 0;
        overflow: hidden;
    }

    .mm-modal__dialog--bonus-reg,
    .mm-modal__dialog--bonus-phone {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        height: auto;
        max-height: calc(100% - 24px);
        margin: 0;
    }

    .mm-modal__dialog--bonus-reg .mm-modal__panel,
    .mm-modal__dialog--bonus-phone .mm-modal__panel {
        max-height: calc(100vh - 24px);
        padding: 16px;
        gap: 16px;
        border-radius: 16px 16px 0 0;
        box-shadow: none;
        overflow: hidden;
    }

    .mm-modal__dialog--bonus-reg .mm-modal__head,
    .mm-modal__dialog--bonus-phone .mm-modal__head {
        align-items: center;
        gap: 12px;
        flex-shrink: 0;
    }

    .mm-modal__dialog--bonus-reg .mm-modal__title,
    .mm-modal__dialog--bonus-phone .mm-modal__title {
        font-size: 20px;
        font-weight: 700;
        line-height: 28px;
    }

    .mm-modal__dialog--bonus-reg .mm-modal__body,
    .mm-modal__dialog--bonus-phone .mm-modal__body {
        overflow: auto;
    }

    .bonus-reg__date-btn,
    .mm-modal__dialog--bonus-reg .bonus-reg__date-btn {
        width: 36px;
    }

    .bonus-reg__phone-verify--ok,
    .mm-modal__dialog--bonus-reg .bonus-reg__phone-verify--ok {
        width: 36px;
    }

    .bonus-reg__phone .mm-form__control,
    .mm-modal__dialog--bonus-reg .bonus-reg__phone .mm-form__control {
        padding-right: 132px;
    }

    .bonus-reg__phone-verify--ok ~ .mm-form__control,
    .bonus-reg__phone:has(.bonus-reg__phone-verify--ok) .mm-form__control {
        padding-right: 36px;
    }
}

/* Самовывоз: карта/список магазинов (контент Aspro popup-map) */
.mm-modal__dialog--stores-map {
    max-width: 1000px;
    padding: 16px;
}

/* Кластер точек на карте самовывоза */
.mm-store-cluster {
    width: 56px;
    height: 56px;
    line-height: 0;
}

.mm-store-cluster svg {
    display: block;
    width: 56px;
    height: 56px;
}

.mm-modal__dialog--stores-map .mm-modal__panel {
    gap: 16px;
    padding: 24px;
    max-height: calc(100vh - 48px);
    overflow: auto;
}

.mm-modal__dialog--stores-map .mm-modal__body {
    min-height: 0;
}

/* Крестик Aspro внутри контента — закрываем через MmModal */
.mm-modal .jqmClose,
.mm-modal .js-remove-map-popup {
    display: none;
}

/* —— Модалка авторизации (ajax/form.php?type=auth) —— */
.mm-modal__dialog--auth .mm-modal__panel {
    gap: 24px;
}

/* Заголовок уже в шапке MmModal */
.mm-modal__dialog--auth .form > .form_head {
    display: none;
}

/* Убираем внутреннюю карточку .mm-form-card — фон/тень/padding дают «двойную» рамку */
.mm-modal__dialog--auth .mm-form-card,
.mm-modal__dialog--auth .auth-page__card {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* —— Модалка веб-формы ASK (ajax/form.php + popup) —— */
.mm-modal__dialog--ask-form .mm-modal__panel {
    gap: 24px;
}

.mm-modal__dialog--ask-form .drop-zone__wrapper-input {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    min-height: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
}

.mm-modal__dialog--ask-form .votes_block.with-text {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.mm-modal__dialog--ask-form .votes_block .inner_rating {
    display: flex;
    align-items: center;
}

.mm-modal__dialog--ask-form .votes_block .item-rating {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    cursor: pointer;
    background-color: var(--neutral-300);
    -webkit-mask-image: url("/local/templates/maslomart/assets/img/svg/catalog/star_fill_mm.svg");
    mask-image: url("/local/templates/maslomart/assets/img/svg/catalog/star_fill_mm.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    mask-mode: alpha;
    transition: background-color 0.35s ease;
}

.mm-modal__dialog--ask-form .votes_block .item-rating.filed,
.mm-modal__dialog--ask-form .votes_block .item-rating.is-preview {
    background-color: var(--yellow-800);
}

.mm-modal__dialog--ask-form .votes_block .item-rating:focus-visible {
    outline: 2px solid var(--Yellow);
    outline-offset: 2px;
}

.mm-modal__dialog--ask-form .votes_block .rating_message {
    display: flex;
    align-items: center;
    height: 20px;
    margin: 0;
    padding: 0;
    color: var(--neutral-500);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

.mm-modal__dialog--ask-form .votes_block .rating_message:before {
    position: static;
    margin-right: 8px;
    line-height: 20px;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block .item-rating {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block .item-rating .svg,
:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block .item-rating svg {
    display: none;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block.with-text,
:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block .ratings,
:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block .inner_rating {
    display: flex;
    align-items: center;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block .rating_message {
    display: flex;
    align-items: center;
    align-self: center;
    height: 40px;
    margin: 0;
    padding: 0;
    line-height: 40px;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .votes_block .rating_message:before {
    position: static;
    top: auto;
    left: auto;
    margin-right: 8px;
    line-height: 40px;
}

.mm-modal__dialog--ask-form .votes_block input[data-sid="RATING"] {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

/* Свич слева от текста согласия (как в макете / старом CALLBACK) */
:is(.mm-modal__dialog--ask-form .mm-form__switch, .corp-reg .mm-form__switch) {
    justify-content: flex-start;
    width: auto;
}

:is(.mm-modal__dialog--ask-form .mm-form__switch-ui, .corp-reg .mm-form__switch-ui) {
    order: -1;
}

:is(.mm-modal__dialog--ask-form .mm-form__switch-text, .corp-reg .mm-form__switch-text) {
    flex: 0 1 auto;
}

.mm-modal__dialog--ask-form .mm-ask-form-root {
    position: relative;
}

/* Заголовок уже в шапке MmModal */
.mm-modal__dialog--ask-form .form > .form_head {
    display: none;
}

.mm-modal__dialog--ask-form .form {
    position: relative;
}

.mm-modal__dialog--ask-form .form.sending::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    background: rgba(255, 255, 255, 0.72);
}

.mm-modal__dialog--ask-form .form .form_body {
    margin: 0;
    padding: 0;
}

.mm-modal__dialog--ask-form .form .form_footer {
    display: block;
    margin: 0;
    padding: 16px 0 0;
}

.mm-modal__dialog--ask-form .form .form_footer > .mm-form__consent {
    margin-bottom: 16px;
}

.mm-modal__dialog--ask-form .form .form_footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.mm-modal__dialog--ask-form .form .form_footer__bottom .line-block__item .button {
    width: 100%;
    min-width: 160px;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .form_footer__bottom {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 8px;
    margin: 0;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .form_footer__bottom > .line-block__item {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME), .corp-reg) .form_footer__bottom .button {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
    padding: 0 24px;
    font-size: 16px;
    line-height: 24px;
}

/* Обёртка aspro: div.form-control — не путать с input.form-control из .mm-form */
.mm-modal__dialog--ask-form .form div.form-control {
    position: relative;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    height: auto;
    min-height: 0;
}

/* Капча в попапе: обёртка .mm-form только ради общих стилей ряда */
.mm-modal__dialog--ask-form .form div.form-control > .mm-form {
    gap: 0;
}

.mm-modal__dialog--ask-form .form div.form-control .star {
    color: var(--Red);
}

.mm-modal__dialog--ask-form .form .form_result.success {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 0;
    margin: 0;
    color: var(--Black);
}

.mm-modal__dialog--ask-form .form .form_result.success .success_text {
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.mm-modal__dialog--ask-form .form .form_result.success .close-btn-wrapper {
    width: 100%;
}

.mm-modal__dialog--ask-form .form .form_result.success .close-btn-wrapper .button {
    width: 100%;
}

/* Кнопка «Закрыть» на success — не aspro-крестик, показываем */
.mm-modal__dialog--ask-form .form .form_result.success .jqmClose {
    display: inline-flex;
}

@media (max-width: 991px) {
    .mm-modal__dialog--ask-form .mm-modal__panel {
        padding: 24px 16px;
    }

    /* Bottom sheet: отзыв / резюме / заказать звонок / corp-reg */
    .mm-modal:has(:is(.mm-modal__dialog--ask-form :is(.form.REVIEW, .form.RESUME, .form.CALLBACK), .corp-reg)) {
        align-items: flex-end;
        padding: 0;
        overflow: hidden;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        height: auto;
        max-height: calc(100% - 24px);
        margin: 0;
        padding: 0;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .mm-modal__panel {
        max-height: calc(100vh - 24px);
        padding: 16px;
        gap: 16px;
        border-radius: 16px 16px 0 0;
        box-shadow: none;
        overflow: hidden;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .mm-modal__head {
        align-items: center;
        gap: 12px;
        flex-shrink: 0;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .mm-modal__title {
        font-size: 20px;
        font-weight: 700;
        line-height: 28px;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .mm-modal__body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .mm-ask-form-root,
    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form .form_body {
        flex: 1 1 auto;
        min-height: 0;
        margin-bottom: 16px;
        overflow-x: clip;
        overflow-y: auto;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form .form_footer {
        flex-shrink: 0;
        padding: 0;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form .form_footer__bottom {
        display: flex;
        flex-direction: column-reverse;
        align-items: stretch;
        width: 100%;
        gap: 16px;
        margin: 0;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form .form_footer__bottom > .line-block__item {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form .required-fields-note {
        margin: 0;
        color: var(--neutral-500);
        text-align: center;
        font-family: Manrope, sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 20px;
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form .required-fields-note .muted888 {
        color: var(--neutral-500);
    }

    .mm-modal__dialog--ask-form:has(:is(.form.REVIEW, .form.RESUME, .form.CALLBACK)) .form .required-fields-note .star {
        color: var(--Red);
    }

    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .form .form_footer__bottom .button {
        width: 100%;
        min-width: 0;
    }

    /* Капча CALLBACK: поле и картинка ≈ 50/50; ошибка — отдельной строкой под рядом */
    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-row {
        column-gap: 8px;
        align-items: flex-start;
    }

    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-row > .form-group:has(input[name="captcha_word"]),
    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-row > .form-group:has(.captcha-img) {
        flex: 1 1 calc(50% - 4px);
        width: calc(50% - 4px);
        max-width: calc(50% - 4px);
        min-width: 0;
        align-self: flex-start;
    }

    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-img {
        display: flex;
        width: 100%;
        max-width: 100%;
        gap: 8px;
    }

    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-img .captcha_img,
    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-img > img {
        flex: 1 1 auto;
        width: auto;
        max-width: none;
        min-width: 0;
        height: 36px;
        object-fit: contain;
    }

    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-img .captcha_reload,
    .mm-modal__dialog--ask-form:has(.form.CALLBACK) button.captcha_reload {
        flex: 0 0 36px;
    }

    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-row > label.error,
    .mm-modal__dialog--ask-form:has(.form.CALLBACK) .captcha-row > label.mm-form__error {
        flex: 1 0 100%;
        flex-basis: 100%;
        width: 100%;
        order: 10;
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 991px) {
    /* Самовывоз: fullscreen без внешних отступов */
    .mm-modal:has(.mm-modal__dialog--stores-map) {
        padding: 0;
        align-items: stretch;
    }

    .mm-modal__dialog--stores-map {
        max-width: 100%;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }

    .mm-modal__dialog--stores-map .mm-modal__panel {
        height: 100%;
        max-height: 100%;
        min-height: 100%;
        padding: 16px;
        border-radius: 0;
        box-shadow: none;
        overflow: auto;
        box-sizing: border-box;
    }

    /* В режиме карты/списка панель без лишней пустоты — контент добивает высоту */
    .mm-modal__dialog--stores-map:has([data-shop-view="map"]) .mm-modal__panel,
    .mm-modal__dialog--stores-map:has([data-shop-view="list"]) .mm-modal__panel {
        overflow: hidden;
    }

    .mm-modal__dialog--stores-map:has([data-shop-view="map"]) .mm-modal__body,
    .mm-modal__dialog--stores-map:has([data-shop-view="list"]) .mm-modal__body,
    .mm-modal__dialog--stores-map:has([data-shop-view="map"]) .stores_block_wrap,
    .mm-modal__dialog--stores-map:has([data-shop-view="list"]) .stores_block_wrap,
    .mm-modal__dialog--stores-map:has([data-shop-view="map"]) .stores-amount-list--popup-map,
    .mm-modal__dialog--stores-map:has([data-shop-view="list"]) .stores-amount-list--popup-map {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        height: 100%;
        box-sizing: border-box;
    }
}

.mm-modal__panel {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 32px;
    border-radius: 16px;
    background: var(--White);
    box-shadow:
        0 2px 16px 1px rgba(138, 145, 153, 0.16),
        0 16px 16px 0 rgba(138, 145, 153, 0.04);
    box-sizing: border-box;
}

.mm-modal__panel[hidden] {
    display: none;
}

.mm-modal__head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
}

.mm-modal__head--stack {
    flex-direction: column;
    gap: 16px;
}

.mm-modal__head-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
}

.mm-modal__title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

.mm-modal__subtitle {
    margin: 0;
    color: var(--neutral-500);
}

.mm-modal__close {
    display: inline-flex;
    align-items: flex-start;
    flex-shrink: 0;
    padding: 2px;
    border: 0;
    background: transparent;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.35s ease;
}

.mm-modal__close:hover,
.mm-modal__close:focus,
.mm-modal__close:focus-visible {
    opacity: 0.7;
    outline: none;
}

.mm-modal__close img {
    display: block;
    width: 24px;
    height: 24px;
}

.mm-modal .mm-modal__form,
.mm-modal .mm-form.mm-modal__form {
    gap: 32px;
}

.mm-modal__fields {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.mm-modal__body {
    width: 100%;
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.mm-modal__actions {
    width: 100%;
}

.mm-modal__actions .button {
    width: 100%;
    justify-content: center;
}

.mm-modal__actions--split {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
}

.mm-modal__actions--split .button {
    flex: 1 1 0;
    min-width: 0;
}

.mm-modal__select {
    display: block;
    position: relative;
    width: 100%;
}

/* ikSelect переносит список в body с z-index 9998 — под .mm-modal (99999999) опции не видны */
body.mm-modal-open .ik_select_dropdown.mm-form-select-dd {
    z-index: 100000000 !important;
}

.mm-plate {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.mm-plate__toggle {
    display: inline-block;
    align-self: flex-end;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    text-align: right;
    cursor: pointer;
    transition: color 0.35s ease;
}

.mm-plate__toggle:hover,
.mm-plate__toggle:focus,
.mm-plate__toggle:focus-visible {
    color: var(--Yellow);
    outline: none;
}

.mm-plate__country {
    display: block;
    width: 100%;
}

.mm-plate__country[hidden] {
    display: none !important;
}

#lk-modal .mm-plate > .mm-form__error,
#lk-modal .mm-modal__fields > .mm-form__error {
    padding-top: 0;
}

body.mm-modal-open {
    overflow: hidden;
}

@media (max-width: 991px) {
    .mm-modal {
        align-items: flex-start;
    }

    .mm-modal__panel {
        padding: 24px;
        gap: 24px;
    }

    .mm-modal__actions--split {
        flex-direction: column;
    }
}

/* Global page loader (запись, ЛК бонусы и др.) */
.mm-loader {
    display: none;
    position: fixed;
    inset: 0;
    /* Выше .mm-modal (99999999), jqm и мобильного меню */
    z-index: 100000001;
    align-items: center;
    justify-content: center;
    background: rgba(29, 32, 35, 0.48);
    box-sizing: border-box;
}

.mm-loader.is-active {
    display: flex;
}

.mm-loader[hidden] {
    display: none;
}

.mm-loader__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    min-width: 160px;
    padding: 28px 32px;
    border-radius: 16px;
    background: var(--White);
    box-shadow:
        0 2px 16px 1px rgba(138, 145, 153, 0.16),
        0 16px 16px 0 rgba(138, 145, 153, 0.04);
}

.mm-loader__spinner {
    display: block;
    width: 40px;
    height: 40px;
    border: 3px solid var(--neutral-150);
    border-top-color: var(--Yellow);
    border-radius: 50%;
    animation: mm-loader-spin 0.75s linear infinite;
}

.mm-loader__text {
    color: var(--Black);
}

html.mm-loader-open {
    overflow: hidden;
}

@keyframes mm-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

/*
 * Кольцо 40×40, как .mm-loader__spinner.
 * В src прозрачный пиксель: svg там object-fit растягивает на весь блок.
 * Класс lazy lazysizes снимает в момент старта загрузки и ставит lazyloading,
 * поэтому кольцо держим и на lazyloading, пока нет lazyloaded.
 * !important перебивает contain/cover и инлайн background-size.
 */
.lazy:not(.lazyloaded),
.lazyloading:not(.lazyloaded) {
    background-image: url("/local/templates/maslomart/assets/css/../../images/loaders/double_ring.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 40px 40px !important;
}

/* —— Всплывающий tip (слоты записи, расписание на контактах) —— */
.mm-float-tip {
    position: fixed;
    top: 0;
    left: 0;
    transform: translateX(-50%);
    padding: 8px 12px;
    border: 1px solid var(--Yellow);
    border-radius: 12px;
    background: var(--White);
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    white-space: nowrap;
    pointer-events: none;
    z-index: 10040;
    box-sizing: border-box;
}

.mm-float-tip--multiline {
    white-space: normal;
}

.mm-float-tip::before {
    content: "";
    position: absolute;
    left: calc(50% + var(--mm-float-tip-shift, 0px));
    top: -5px;
    width: 8px;
    height: 8px;
    margin-left: -4px;
    background: var(--White);
    border-top: 1px solid var(--Yellow);
    border-left: 1px solid var(--Yellow);
    transform: rotate(45deg);
    box-sizing: border-box;
}

.mm-float-tip::after {
    content: "";
    position: absolute;
    left: calc(50% + var(--mm-float-tip-shift, 0px));
    top: -1px;
    width: 10px;
    height: 2px;
    margin-left: -5px;
    background: var(--White);
}

.mm-float-tip b {
    font-weight: 600;
}

/* Контент tip расписания магазинов */
.rs-shedule-content {
    display: none;
}

.mm-float-tip .rs-shedule-table {
    display: flex;
    flex-direction: column;
    margin: 0;
    width: auto;
}

.mm-float-tip .rs-shedule-row {
    display: flex;
    align-items: baseline;
    column-gap: 12px;
    padding: 2px 8px;
    white-space: nowrap;
    background: transparent;
    color: inherit;
}

.mm-float-tip .rs-shedule-day {
    flex: 0 0 110px;
    width: 110px;
}

.mm-float-tip .rs-shedule-time {
    flex: 0 0 auto;
}

.mm-float-tip .rs-shedule-row--current {
    background-color: var(--Yellow);
    color: var(--Black);
}

/* —— Модалка «Проложить маршрут» —— */
.mm-modal__dialog--route {
    max-width: 420px;
}

.mm-modal__dialog--route .mm-modal__panel {
    gap: 20px;
    padding: 24px;
}

.mm-modal__dialog--route .mm-modal__title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mm-modal__dialog--route .mm-modal__title-pin {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.mm-route-modal__address {
    margin: 0 0 16px;
    color: var(--Black);
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.mm-route-modal__apps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 16px;
}

.mm-route-modal__app {
    width: 100%;
    justify-content: flex-start;
    gap: 12px;
}

.mm-route-modal__app-icon {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.mm-route-modal__hint {
    margin: 0;
    color: var(--neutral-500);
    font-family: Manrope, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

@media (max-width: 991px) {
    .mm-modal:has(.mm-modal__dialog--route) {
        align-items: flex-end;
        padding: 0;
        overflow: hidden;
    }

    .mm-modal:has(.mm-modal__dialog--route) .mm-modal__dialog--route {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        height: auto;
        max-height: calc(100% - 24px);
        margin: 0;
        padding: 0;
    }

    .mm-modal:has(.mm-modal__dialog--route) .mm-modal__dialog--route .mm-modal__panel {
        max-height: calc(100vh - 24px);
        padding: 16px;
        gap: 16px;
        border-radius: 16px 16px 0 0;
        box-shadow: none;
        overflow: auto;
    }

    .mm-modal:has(.mm-modal__dialog--route) .mm-modal__dialog--route .mm-modal__head {
        align-items: center;
        gap: 12px;
        flex-shrink: 0;
    }

    .mm-route-modal__address {
        margin-bottom: 12px;
        font-size: 14px;
        line-height: 20px;
    }

    .mm-route-modal__apps {
        margin-bottom: 12px;
    }
}

.auth-page__card .required-star,
.registraion-page .mm-form .required-star {
    color: var(--Red);
}

.auth-reg__submit {
    width: 100%;
}

.auth-reg-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    padding: 12px;
    border-radius: 12px;
    background: rgba(40, 161, 249, 0.1);
    box-sizing: border-box;
}

.auth-reg-note__icon {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.auth-reg-note__text {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    color: var(--Black);
    font-weight: 400;
}

.auth-reg__hint,
.auth-reg-result__note {
    margin: 0;
    color: var(--neutral-500);
    font-weight: 400;
}

/* Figma 1419:33394 — 16/24/400, Neutral/500 */
.auth-reg__resend,
.registraion-page #bx_register_resend,
.auth-page__card #bx_register_resend {
    margin: 0;
    color: var(--neutral-500);
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.auth-reg__resend a,
.registraion-page #bx_register_resend a,
.auth-page__card #bx_register_resend a {
    color: var(--Yellow);
    text-decoration: none;
    border-bottom: 1px solid var(--Yellow);
    cursor: pointer;
    transition: color 0.35s ease, border-color 0.35s ease, opacity 0.35s ease;
}

.auth-reg__resend a:hover,
.auth-reg__resend a:focus-visible,
.registraion-page #bx_register_resend a:hover,
.registraion-page #bx_register_resend a:focus-visible,
.auth-page__card #bx_register_resend a:hover,
.auth-page__card #bx_register_resend a:focus-visible {
    color: var(--Yellow);
    border-bottom-color: var(--Yellow);
    opacity: 0.8;
}

.auth-reg-result {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.auth-reg-result__ok,
.auth-reg-result p {
    margin: 0;
}

.auth-reg-bonus {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.auth-reg-bonus__title {
    margin: 0;
    font-weight: 600;
}

.auth-reg-bonus__card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 12px;
    border: 1px solid var(--neutral-150);
    border-radius: 12px;
    box-sizing: border-box;
}

.auth-reg-bonus__icon {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.auth-reg-bonus__main {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.auth-reg-bonus__note {
    margin: 0;
    color: var(--neutral-500);
    font-weight: 400;
}

.auth-reg-bonus__rules {
    color: var(--Yellow);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.35s ease, border-color 0.35s ease;
}

.auth-reg-bonus__rules:hover,
.auth-reg-bonus__rules:focus-visible {
    color: var(--Yellow);
    border-bottom-color: var(--Yellow);
}

.auth-reg-bonus__switch {
    padding: 0;
}

.auth-reg-bonus__date.is-hidden {
    display: none;
}

/* End */


/* Start:/local/templates/maslomart/assets/css/mm-accordion.css?17939015131650*/
/* Общий аккордеон сайта (FAQ, бонусная программа и др.) */

.mm-accordion {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.mm-accordion__item {
	padding: 8px 16px;
	border: 1px solid var(--neutral-150);
	border-radius: 16px;
	background: var(--White);
	box-sizing: border-box;
	transition: background-color 0.35s ease, border-color 0.35s ease;
}

.mm-accordion__item.is-open {
	border-color: transparent;
	background: var(--neutral-070);
}

.mm-accordion__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 8px 0;
	border: 0;
	background: transparent;
	color: var(--Black);
	text-align: left;
	cursor: pointer;
	transition: color 0.35s ease;
}

.mm-accordion__head:hover,
.mm-accordion__head:focus-visible {
	color: var(--neutral-600);
}

.mm-accordion__title {
	flex: 1 1 auto;
	min-width: 0;
}

.mm-accordion__icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	padding: 6px;
	border: 1px solid var(--neutral-200);
	border-radius: 50%;
	background: var(--White);
	box-sizing: border-box;
	transition: transform 0.35s ease;
}

.mm-accordion__item.is-open .mm-accordion__icon {
	transform: rotate(180deg);
}

.mm-accordion__body {
	height: 0;
	overflow: hidden;
	transition: height 0.35s ease;
}

.mm-accordion__text {
	margin: 0 0 8px;
	color: var(--neutral-500);
}

.mm-accordion__text p {
	margin: 0 0 8px;
}

.mm-accordion__text p:last-child {
	margin-bottom: 0;
}

.mm-accordion__btn {
	margin-bottom: 8px;
	cursor: pointer;
}

@media (max-width: 991px) {
	.mm-accordion__item {
		padding: 8px 12px;
	}
}

/* End */


/* Start:/local/templates/maslomart/components/bitrix/breadcrumb/main/style.css?17939015132647*/
.link_navbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--neutral-400);
    font-family: Manrope, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.link_navbar li {
    flex-shrink: 0;
    white-space: nowrap;
}

.link_navbar li a {
    color: var(--neutral-500);
    text-decoration: none;
}

.link_navbar li a:hover {
    color: var(--Black);
}

.catalog-page-head {
    margin-top: 0;
}

.catalog-page-head__inner {
    margin-bottom: 24px;
}

.catalog-page-head__breadcrumbs {
    position: relative;
}

.catalog-page-head .lead_text {
    margin-top: 16px;
    margin-bottom: 0;
    color: var(--Black);
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
}

@media (max-width: 1419px) {
    .catalog-page-head .link_navbar {
        overflow-x: auto;
        padding: 8px 0;
        margin: 0;
        scrollbar-width: none;
    }
}

@media (max-width: 991px) {
    .catalog-page-head {
        margin-top: 0;
    }

    .catalog-page-head__inner,
    .catalog-page-head__inner.new_link {
        margin-bottom: 0;
        margin-left: -16px;
        margin-right: -16px;
    }

    .catalog-page-head__breadcrumbs {
        overflow: hidden;
    }

    .catalog-page-head__breadcrumbs::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 92px;
        pointer-events: none;
        background: linear-gradient(270deg, var(--White) 0%, rgba(255, 255, 255, 0) 100%);
    }
    .catalog-page-head .link_navbar {
        padding: 8px 16px;
    }

    .catalog-page-head .link_navbar::-webkit-scrollbar {
        display: none;
    }

    .catalog-page-head .lead_text {
        display: block;
        margin-top: 0;
        margin-bottom: 0;
        padding: 0 16px 16px;
        font-size: 24px;
        line-height: 32px;
    }
}

.navbar {
    margin-top: 32px;
    gap: 7px;
}

.navbar_link {
    padding-left: 1px;
}

.text_before_items {
    margin-bottom: 41px;
    max-width: 1440px;
    font-size: 16px;
    width: 95%;
    line-height: 24px;
}

.text_before_items,
.text_before_items p {
    color: var(--basic_text_black);
}

.text_before_items .option-font-bold {
    color: var(--white_text_black);
}

.text_before_items hr {
    margin: 31px 0 38px;
}

.new_link {
    margin-bottom: 40px;
}

/* Пустые крошки на главной не должны давать отступ перед баннером */
.catalog-page-head__inner.new_link:not(:has(.link_navbar)) {
    margin-bottom: 0;
}

/* End */
/* /local/templates/maslomart/assets/css/main.css?179390151376629 */
/* /local/templates/maslomart/assets/css/vars.css?1793901513765 */
/* /local/templates/maslomart/assets/css/forms.css?179390151391878 */
/* /local/templates/maslomart/assets/css/mm-accordion.css?17939015131650 */
/* /local/templates/maslomart/components/bitrix/breadcrumb/main/style.css?17939015132647 */
