:root {
    --mx-blue: #0b5fd7;
    --mx-blue-dark: #074ba9;
    --mx-blue-soft: #edf5ff;
    --mx-orange: #ff7a22;
    --mx-ink: #13213a;
    --mx-muted: #68758a;
    --mx-line: #dde4ed;
    --mx-surface: #ffffff;
    --mx-warm: #f7f5f0;
    --mx-success: #20a05a;
    --mx-radius-sm: 8px;
    --mx-radius: 12px;
    --mx-radius-lg: 20px;
    --mx-shadow: 0 14px 42px rgba(19, 33, 58, 0.09);
    --mx-container: 1440px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    min-width: 320px;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    color: var(--mx-ink);
    background: var(--mx-surface);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

body.mx-menu-open {
    overflow: hidden;
}

img {
    display: block;
    max-width: 100%;
}

main,
main > *,
.mx-container > * {
    min-width: 0;
}

main iframe,
main video,
main canvas,
main table {
    max-width: 100%;
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 3px solid rgba(11, 95, 215, 0.28);
    outline-offset: 3px;
}

.mx-container {
    width: min(100% - 48px, var(--mx-container));
    margin-inline: auto;
}

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

.mx-skip-link {
    position: fixed;
    z-index: 10000;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    color: #fff;
    background: var(--mx-blue);
    border-radius: var(--mx-radius-sm);
    transform: translateY(-150%);
}

.mx-skip-link:focus {
    transform: translateY(0);
}

.mx-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 24px;
    border: 1px solid transparent;
    border-radius: var(--mx-radius-sm);
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.mx-button:hover {
    transform: translateY(-1px);
}

.mx-button--primary {
    color: #fff;
    background: var(--mx-blue);
}

.mx-button--primary:hover {
    background: var(--mx-blue-dark);
}

.mx-button--outline {
    color: var(--mx-blue);
    background: #fff;
    border-color: var(--mx-blue);
}

.mx-button--outline:hover {
    color: #fff;
    background: var(--mx-blue);
}

.mx-section {
    padding: 38px 0;
}

.mx-section--warm {
    background: var(--mx-warm);
}

.mx-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.mx-section__title {
    margin: 0;
    font-family: Manrope, Inter, "Segoe UI", Arial, sans-serif;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.17;
    letter-spacing: -.02em;
}

.mx-section__link {
    color: var(--mx-blue);
    font-weight: 700;
    white-space: nowrap;
}

/* Header */
.mx-header {
    position: relative;
    z-index: 100;
    color: var(--mx-ink);
    background: #fff;
    border-bottom: 1px solid var(--mx-line);
}

.mx-header__service {
    position: relative;
    min-height: 38px;
    background: #fafbfc;
    border-bottom: 1px solid #edf0f4;
    color: #4d5a70;
    font-size: 13px;
}

.mx-header__service-inner {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 16px;
    white-space: nowrap;
}

.mx-header__service-context,
.mx-header__managers,
.mx-header__manager {
    display: flex;
    align-items: center;
}

.mx-header__service-context {
    gap: 8px;
}

.mx-header__managers {
    gap: 14px;
    margin-left: auto;
    color: var(--mx-ink);
    font-size: 16px;
}

.mx-header__managers strong {
    font-weight: 700;
}

.mx-header__manager {
    gap: 4px;
}

.mx-header__service a {
    color: var(--mx-blue);
    font-weight: 600;
    white-space: nowrap;
}

.mx-header__organization-link {
    flex: 0 0 auto;
}

.mx-header-managers-toggle,
.mx-header-mobile-managers {
    display: none;
}

.mx-header__main {
    display: grid;
    min-height: 88px;
    grid-template-columns: auto auto minmax(240px, 1fr) auto;
    align-items: center;
    gap: 24px;
}

.mx-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.mx-logo__mark {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #fff;
    background: var(--mx-blue);
    border-radius: 9px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.04em;
}

.mx-logo__name {
    font-family: Manrope, Inter, sans-serif;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.03em;
}

.mx-catalog-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 10px 22px;
    color: #fff;
    background: var(--mx-blue);
    border: 0;
    border-radius: var(--mx-radius-sm);
    font-weight: 700;
    cursor: pointer;
}

.mx-catalog-button:hover {
    background: var(--mx-blue-dark);
}

.mx-catalog-button__icon,
.mx-mobile-toggle span {
    width: 18px;
    height: 14px;
    background: linear-gradient(#fff 0 0) 0 0 / 100% 2px no-repeat,
                linear-gradient(#fff 0 0) 0 6px / 100% 2px no-repeat,
                linear-gradient(#fff 0 0) 0 12px / 100% 2px no-repeat;
}

.mx-catalog-button__chevron {
    width: 8px;
    height: 8px;
    margin-left: 2px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .2s ease;
}

.mx-catalog-nav {
    position: relative;
}

.mx-catalog-nav.is-open .mx-catalog-button {
    background: var(--mx-blue-dark);
}

.mx-catalog-nav.is-open .mx-catalog-button__chevron {
    transform: translateY(2px) rotate(225deg);
}

.mx-catalog-nav__dropdown {
    position: absolute;
    z-index: 950;
    top: calc(100% + 12px);
    left: 0;
    width: min(840px, calc(100vw - 48px));
    padding: 22px;
    visibility: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
    box-shadow: 0 24px 70px rgba(17, 39, 73, .2);
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.mx-catalog-nav.is-open .mx-catalog-nav__dropdown {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.mx-header-catalog__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--mx-line);
}

.mx-header-catalog__top strong {
    font-family: Manrope, Inter, sans-serif;
    font-size: 20px;
}

.mx-header-catalog__top a {
    color: var(--mx-blue);
    font-size: 14px;
    font-weight: 700;
}

.mx-header-catalog__desktop-layout {
    display: grid;
    min-height: 318px;
    grid-template-columns: 260px minmax(0, 1fr);
    overflow: hidden;
    background: #fff;
    border: 1px solid #e3e9f1;
    border-radius: 12px;
}

.mx-header-catalog__roots {
    min-width: 0;
    padding: 14px 10px;
    background: #f6f8fb;
    border-right: 1px solid #e3e9f1;
}

.mx-header-catalog__caption {
    display: block;
    padding: 0 12px 8px;
    color: var(--mx-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.mx-header-catalog__root-tab {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 11px;
    color: var(--mx-ink);
    border-radius: 8px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.3;
    transition: color .16s ease, background .16s ease;
}

.mx-header-catalog__root-tab + .mx-header-catalog__root-tab {
    margin-top: 2px;
}

.mx-header-catalog__root-tab b {
    flex: 0 0 auto;
    color: #7d8da2;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

.mx-header-catalog__root-tab:hover,
.mx-header-catalog__root-tab:focus-visible,
.mx-header-catalog__root-tab.is-active {
    color: var(--mx-blue-dark);
    background: #e8f2ff;
}

.mx-header-catalog__root-tab.is-active b {
    color: var(--mx-blue);
}

.mx-header-catalog__panels {
    min-width: 0;
    padding: 18px 20px;
}

.mx-header-catalog__panel {
    display: none;
}

.mx-header-catalog__panel.is-active {
    display: block;
}

.mx-header-catalog__panel-head {
    display: flex;
    min-height: 48px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 13px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--mx-line);
}

.mx-header-catalog__panel-head span,
.mx-header-catalog__panel-head strong {
    display: block;
}

.mx-header-catalog__panel-head span {
    margin-bottom: 2px;
    color: var(--mx-muted);
    font-size: 11px;
}

.mx-header-catalog__panel-head strong {
    color: var(--mx-ink);
    font-family: Manrope, Inter, sans-serif;
    font-size: 17px;
    line-height: 1.25;
}

.mx-header-catalog__panel-head > a {
    flex: 0 0 auto;
    padding-top: 15px;
    color: var(--mx-blue);
    font-size: 12px;
    font-weight: 800;
}

.mx-header-catalog__panel-links {
    display: grid;
    max-height: 235px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 9px;
    overflow-y: auto;
    padding: 0 5px 0 0;
    margin: 0;
    list-style: none;
    scrollbar-width: thin;
    scrollbar-color: #cbd7e6 transparent;
}

.mx-header-catalog__panel-links a {
    display: flex;
    min-height: 38px;
    align-items: center;
    padding: 7px 10px;
    color: #46556b;
    background: #f8fafc;
    border: 1px solid #edf1f5;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.3;
    transition: color .16s ease, border-color .16s ease, background .16s ease;
}

.mx-header-catalog__panel-links a:hover,
.mx-header-catalog__panel-links a:focus-visible {
    color: var(--mx-blue-dark);
    background: #edf5ff;
    border-color: #c9dcf5;
}

.mx-header-catalog__panel-empty {
    display: grid;
    max-width: 380px;
    gap: 16px;
    padding: 24px;
    color: var(--mx-muted);
    background: #f8fafc;
    border-radius: 10px;
}

.mx-header-catalog__panel-empty p {
    margin: 0;
    font-size: 13px;
}

.mx-header-catalog__panel-empty .mx-button {
    width: fit-content;
}

.mx-header-catalog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 34px;
}

.mx-header-catalog__group {
    min-width: 0;
}

.mx-header-catalog__root {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    color: var(--mx-ink);
    font-family: Manrope, Inter, sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}

.mx-header-catalog__root span {
    color: var(--mx-blue);
}

.mx-header-catalog__root:hover,
.mx-header-catalog__children a:hover {
    color: var(--mx-blue);
}

.mx-header-catalog__children {
    display: grid;
    gap: 7px;
    padding: 0;
    margin: 12px 0 0;
    list-style: none;
}

.mx-header-catalog__children a {
    display: block;
    color: var(--mx-muted);
    font-size: 13px;
    line-height: 1.4;
}

.mx-header-catalog__empty {
    color: var(--mx-blue);
    font-weight: 700;
}

.mx-header__search {
    min-width: 0;
}

.mx-search {
    position: relative;
    width: 100%;
}

.mx-search__form {
    position: relative;
}

.mx-search__input {
    width: 100%;
    height: 50px;
    padding: 0 54px 0 18px;
    color: var(--mx-ink);
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius-sm);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.mx-search__input::placeholder {
    color: #9aa5b4;
}

.mx-search__input:focus {
    border-color: var(--mx-blue);
    box-shadow: 0 0 0 3px rgba(11, 95, 215, .1);
}

.mx-search__button {
    position: absolute;
    top: 50%;
    right: 4px;
    width: 46px;
    height: 42px;
    padding: 0;
    background: transparent;
    border: 0;
    transform: translateY(-50%);
    cursor: pointer;
}

.mx-search__button::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 13px;
    width: 13px;
    height: 13px;
    border: 2px solid #65748a;
    border-radius: 50%;
}

.mx-search__button::after {
    content: "";
    position: absolute;
    top: 25px;
    left: 26px;
    width: 8px;
    height: 2px;
    background: #65748a;
    transform: rotate(45deg);
    transform-origin: left center;
}

.mx-header-actions {
    display: flex;
    align-items: stretch;
    gap: 6px;
}

.mx-header-action {
    position: relative;
    display: flex;
    min-width: 68px;
    min-height: 58px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 4px 8px;
    color: var(--mx-ink);
    border-radius: var(--mx-radius-sm);
    font-size: 12px;
    font-weight: 600;
}

.mx-header-action:hover {
    color: var(--mx-blue);
    background: var(--mx-blue-soft);
}

.mx-header-action__icon {
    position: relative;
    display: block;
    width: 25px;
    height: 25px;
    font-size: 27px;
    font-weight: 400;
    line-height: 22px;
    text-align: center;
}

.mx-header-action--user .mx-header-action__icon::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 8px;
    width: 8px;
    height: 8px;
    border: 1.8px solid currentColor;
    border-radius: 50%;
}

.mx-header-action--user .mx-header-action__icon::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 4px;
    width: 16px;
    height: 9px;
    border: 1.8px solid currentColor;
    border-radius: 10px 10px 3px 3px;
}

.mx-header-action--cart .mx-header-action__icon::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 4px;
    width: 17px;
    height: 12px;
    border: 1.8px solid currentColor;
    border-top: 0;
    transform: skew(-7deg);
}

.mx-header-action--cart .mx-header-action__icon::after {
    content: "••";
    position: absolute;
    top: 10px;
    left: 5px;
    font-size: 17px;
    letter-spacing: 5px;
}

.mx-header-action__count {
    position: absolute;
    top: 1px;
    right: 9px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    color: #fff;
    background: var(--mx-orange);
    border: 2px solid #fff;
    border-radius: 12px;
    font-size: 10px;
    line-height: 15px;
    text-align: center;
}

.mx-header-action__count[hidden] {
    display: none;
}

.mx-header-action__count.is-updated {
    animation: mx-cart-count-pop .45s ease;
}

@keyframes mx-cart-count-pop {
    0%,
    100% {
        transform: scale(1);
    }
    45% {
        transform: scale(1.35);
    }
}

.mx-header__nav {
    border-top: 1px solid #edf0f4;
}

.mx-menu {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 42px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.mx-menu__item a {
    display: flex;
    min-height: 48px;
    align-items: center;
    color: #3c4960;
    font-size: 14px;
    font-weight: 600;
}

.mx-menu__item a:hover,
.mx-menu__item.is-active a {
    color: var(--mx-blue);
}

.mx-mobile-toggle,
.mx-mobile-panel,
.mx-mobile-dock,
.mx-mobile-catalog-sheet {
    display: none;
}

/* Home hero */
.mx-hero {
    position: relative;
    min-height: 590px;
    overflow: hidden;
    background: #f5f0e9;
}

.mx-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.mx-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(250, 247, 241, .98) 0%, rgba(250, 247, 241, .92) 34%, rgba(250, 247, 241, .18) 62%, rgba(250, 247, 241, 0) 100%);
}

.mx-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 590px;
    align-items: center;
}

.mx-hero__content {
    width: min(590px, 47%);
    padding: 68px 0 116px;
}

.mx-hero__eyebrow {
    margin: 0 0 16px;
    color: var(--mx-blue);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-hero h1 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 800;
    line-height: 1.07;
    letter-spacing: -.04em;
}

.mx-hero__lead {
    max-width: 530px;
    margin: 24px 0 30px;
    color: #455268;
    font-size: clamp(17px, 1.5vw, 21px);
}

.mx-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.mx-benefits {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: -66px;
    margin-bottom: 24px;
    background: #fff;
    border: 1px solid rgba(19, 33, 58, .06);
    border-radius: var(--mx-radius);
    box-shadow: var(--mx-shadow);
}

.mx-benefit {
    display: flex;
    min-height: 130px;
    align-items: center;
    gap: 16px;
    padding: 24px 28px;
}

.mx-benefit + .mx-benefit {
    border-left: 1px solid var(--mx-line);
}

.mx-benefit__mark {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--mx-blue);
    background: var(--mx-blue-soft);
    border-radius: 50%;
    font-weight: 800;
}

.mx-benefit strong,
.mx-benefit span {
    display: block;
}

.mx-benefit span {
    margin-top: 3px;
    color: var(--mx-muted);
    font-size: 13px;
}

/* Home components */
.mx-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.mx-category-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
    transition: transform .2s ease, box-shadow .2s ease;
}

.mx-category-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--mx-shadow);
}

.mx-category-card__picture {
    display: block;
    height: 260px;
    overflow: hidden;
    background: linear-gradient(145deg, #f1eee8, #dbe6f5);
}

.mx-category-card__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.mx-category-card:hover img {
    transform: scale(1.035);
}

.mx-category-card__body {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    color: var(--mx-blue);
    font-weight: 700;
}

.mx-category-card__arrow {
    font-size: 24px;
    line-height: 1;
}

.mx-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.mx-product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
    transition: transform .2s ease, box-shadow .2s ease;
}

.mx-product-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--mx-shadow);
}

.mx-product-card__picture {
    position: relative;
    display: block;
    aspect-ratio: 1.16;
    overflow: hidden;
    background: #f6f7f9;
    border-radius: var(--mx-radius-sm);
}

.mx-product-card__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mx-product-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 9px;
    color: #fff;
    background: var(--mx-orange);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
}

.mx-product-card__stock {
    margin: 12px 0 6px;
    color: var(--mx-success);
    font-size: 12px;
}

.mx-product-card__stock::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 7px;
    background: currentColor;
    border-radius: 50%;
}

.mx-product-card__name {
    display: -webkit-box;
    min-height: 48px;
    overflow: hidden;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mx-product-card__price {
    margin: auto 0 7px;
    padding-top: 14px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 24px;
    font-weight: 800;
}

.mx-product-card__package {
    display: grid;
    gap: 2px;
    margin: 0 0 12px;
    color: var(--mx-muted);
    font-size: 12px;
    line-height: 1.35;
}

.mx-product-card__package strong {
    color: var(--mx-ink);
    font-weight: 700;
}

.mx-product-card .mx-button {
    width: 100%;
    min-height: 46px;
    padding-inline: 14px;
}

.mx-product-card__buy {
    display: grid;
    grid-template-columns: minmax(138px, .9fr) minmax(0, 1.1fr);
    gap: 8px;
}

.mx-quantity-control {
    display: grid;
    min-width: 0;
    height: 46px;
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 8px;
}

.mx-quantity-control__button {
    display: grid;
    min-width: 0;
    height: 100%;
    place-items: center;
    padding: 0;
    color: var(--mx-blue-dark);
    background: #f3f7fc;
    border: 0;
    font: inherit;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: color .2s ease, background-color .2s ease;
}

.mx-quantity-control__button:first-child {
    border-right: 1px solid var(--mx-line);
}

.mx-quantity-control__button:last-child {
    border-left: 1px solid var(--mx-line);
}

.mx-quantity-control__button:hover,
.mx-quantity-control__button:focus-visible {
    color: #fff;
    background: var(--mx-blue);
}

.mx-quantity-control__button:disabled {
    color: var(--mx-muted);
    background: #f7f9fc;
    cursor: default;
    opacity: .62;
}

.mx-quantity-control input,
.mx-product-card__buy .mx-quantity-control input,
.mx-catalog-card__buy .mx-quantity-control input,
.mx-product-buy__actions .mx-quantity-control input {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0 3px;
    text-align: center;
    background: #fff;
    border: 0;
    border-radius: 0;
    font-weight: 700;
    appearance: textfield;
}

.mx-quantity-control input::-webkit-inner-spin-button,
.mx-quantity-control input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

[data-basket-form].is-loading {
    opacity: .72;
    pointer-events: none;
}

.mx-organization {
    display: grid;
    min-height: 290px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
    align-items: center;
    overflow: hidden;
    margin: 38px auto;
    background: linear-gradient(115deg, #f7faff, #eef4fb);
    border: 1px solid #dbe7f7;
    border-radius: var(--mx-radius-lg);
}

.mx-organization__content {
    padding: 48px;
}

.mx-organization h2 {
    margin: 0 0 12px;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(29px, 3vw, 42px);
    line-height: 1.15;
}

.mx-organization p {
    max-width: 620px;
    margin: 0 0 26px;
    color: var(--mx-muted);
    font-size: 18px;
}

.mx-organization__visual {
    align-self: stretch;
    background: radial-gradient(circle at 55% 40%, #fff 0 18%, transparent 19%),
                linear-gradient(145deg, transparent 30%, rgba(11, 95, 215, .1)),
                repeating-linear-gradient(0deg, rgba(255, 255, 255, .85) 0 24px, rgba(220, 230, 242, .9) 25px 27px);
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}

.mx-production {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 42px;
    align-items: stretch;
}

.mx-production__visual {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    background: linear-gradient(135deg, #d9e5f2, #f0e8df);
    border-radius: var(--mx-radius-lg);
}

.mx-production__visual::before,
.mx-production__visual::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    transform: rotate(-12deg);
}

.mx-production__visual::before {
    width: 75%;
    height: 120px;
    top: 70px;
    left: -5%;
    background: repeating-linear-gradient(90deg, #edf1f5 0 18px, #9db6ce 19px 23px);
    box-shadow: 45px 105px 0 rgba(255, 255, 255, .72);
}

.mx-production__visual::after {
    width: 52%;
    height: 52%;
    right: -6%;
    bottom: -8%;
    background: repeating-radial-gradient(circle at 50% 50%, #f8f5ef 0 20px, #c5d2df 21px 25px);
}

.mx-production__content {
    padding: 36px 20px;
}

.mx-production__content h2 {
    margin: 0 0 18px;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(30px, 3vw, 42px);
}

.mx-production__lead {
    margin: 0 0 26px;
    color: var(--mx-muted);
    font-size: 18px;
}

.mx-production__facts {
    display: grid;
    gap: 18px;
    margin: 0 0 28px;
}

.mx-production__fact {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: start;
}

.mx-production__fact-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--mx-blue);
    background: var(--mx-blue-soft);
    border-radius: 50%;
    font-weight: 800;
}

.mx-production__fact strong,
.mx-production__fact span {
    display: block;
}

.mx-production__fact span {
    color: var(--mx-muted);
    font-size: 14px;
}

.mx-news-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.mx-news-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-news-card__picture {
    display: block;
    aspect-ratio: 1.6;
    overflow: hidden;
    background: var(--mx-warm);
}

.mx-news-card__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.mx-news-card:hover img {
    transform: scale(1.04);
}

.mx-news-card__body {
    padding: 17px;
}

.mx-news-card__name {
    display: block;
    min-height: 48px;
    font-weight: 700;
    line-height: 1.35;
}

.mx-news-card__date {
    display: block;
    margin-top: 10px;
    color: var(--mx-muted);
    font-size: 12px;
}

/* Footer */
.mx-footer {
    padding: 54px 0 22px;
    color: #dce7f6;
    background: #0c274a;
}

.mx-footer__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(220px, 1.25fr);
    gap: 38px;
}

.mx-footer__column {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
}

.mx-footer__column h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 16px;
}

.mx-footer__column a:hover {
    color: #fff;
    text-decoration: underline;
}

.mx-footer__column p {
    margin: 0 0 8px;
}

.mx-footer__subscribe form {
    width: 100%;
}

.mx-footer__subscribe input[type="text"],
.mx-footer__subscribe input[type="email"] {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
}

.mx-footer__subscribe input[type="submit"] {
    width: 100%;
    min-height: 42px;
    margin-top: 8px;
    color: #fff;
    background: var(--mx-blue);
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.mx-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 28px;
    margin-top: 34px;
    color: #9eb2cc;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 13px;
}

/* Mobile drawer */
.mx-mobile-panel {
    position: fixed;
    z-index: 1450;
    inset: 0;
}

/* Fixed mobile navigation */
body.mx-mobile-catalog-open {
    overflow: hidden;
}

.mx-mobile-dock {
    position: fixed;
    z-index: 1350;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(68px + env(safe-area-inset-bottom, 0px));
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 5px 8px env(safe-area-inset-bottom, 0px);
    background: rgba(255, 255, 255, .98);
    border-top: 1px solid var(--mx-line);
    box-shadow: 0 -10px 30px rgba(17, 39, 73, .1);
    backdrop-filter: blur(14px);
}

.mx-mobile-dock__item {
    display: flex;
    min-width: 0;
    min-height: 58px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 4px 3px;
    color: var(--mx-ink);
    background: transparent;
    border: 0;
    border-radius: 12px;
    font: inherit;
    cursor: pointer;
}

.mx-mobile-dock__item:active,
.mx-mobile-dock__item.is-active {
    color: var(--mx-blue);
    background: var(--mx-blue-soft);
}

.mx-mobile-dock__item:focus-visible {
    outline: 2px solid var(--mx-blue);
    outline-offset: -2px;
}

.mx-mobile-dock__label {
    max-width: 100%;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
}

.mx-mobile-dock__icon {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    color: var(--mx-blue-dark);
}

.mx-mobile-dock__icon--catalog::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    width: 5px;
    height: 5px;
    background: currentColor;
    border-radius: 1px;
    box-shadow: 9px 0 currentColor, 0 9px currentColor, 9px 9px currentColor;
}

.mx-mobile-dock__icon--account::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 8px;
    width: 8px;
    height: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.mx-mobile-dock__icon--account::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 4px;
    width: 16px;
    height: 9px;
    border: 2px solid currentColor;
    border-radius: 10px 10px 3px 3px;
}

.mx-mobile-dock__icon--contacts::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 4px;
    width: 15px;
    height: 15px;
    border: 2px solid currentColor;
    border-radius: 50% 50% 50% 3px;
    transform: rotate(-45deg);
}

.mx-mobile-dock__icon--contacts::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 10px;
    width: 4px;
    height: 4px;
    background: currentColor;
    border-radius: 50%;
}

.mx-mobile-catalog-sheet {
    position: fixed;
    z-index: 1500;
    visibility: hidden;
    inset: 0;
    pointer-events: none;
    transition: visibility .25s ease;
}

.mx-mobile-catalog-sheet.is-open {
    visibility: visible;
    pointer-events: auto;
}

.mx-mobile-catalog-sheet__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgba(8, 25, 48, .56);
    border: 0;
    opacity: 0;
    transition: opacity .25s ease;
}

.mx-mobile-catalog-sheet.is-open .mx-mobile-catalog-sheet__backdrop {
    opacity: 1;
}

.mx-mobile-catalog-sheet__dialog {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: min(84vh, 720px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 18px calc(24px + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -24px 70px rgba(8, 25, 48, .22);
    transform: translateY(102%);
    transition: transform .25s ease;
}

.mx-mobile-catalog-sheet.is-open .mx-mobile-catalog-sheet__dialog {
    transform: translateY(0);
}

.mx-mobile-catalog-sheet__handle {
    width: 42px;
    height: 4px;
    margin: 0 auto 10px;
    background: #d3dae4;
    border-radius: 999px;
}

.mx-mobile-catalog-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 14px;
}

.mx-mobile-catalog-sheet__head span {
    display: block;
    margin-bottom: 2px;
    color: var(--mx-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-mobile-catalog-sheet__head h2 {
    margin: 0;
    color: var(--mx-ink);
    font-family: Manrope, Inter, sans-serif;
    font-size: 26px;
    line-height: 1.15;
}

.mx-mobile-catalog-sheet__close {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    color: var(--mx-ink);
    background: #eef3f8;
    border: 0;
    border-radius: 50%;
    font-size: 29px;
    line-height: 1;
    cursor: pointer;
}

.mx-mobile-catalog-sheet__all {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 14px;
    margin-bottom: 4px;
    color: #fff;
    background: var(--mx-blue);
    border-radius: 10px;
    font-weight: 800;
}

.mx-mobile-catalog-sheet .mx-header-catalog--mobile .mx-header-catalog__group {
    padding: 15px 2px;
    border-color: var(--mx-line);
}

.mx-mobile-catalog-sheet .mx-header-catalog--mobile .mx-header-catalog__root {
    color: var(--mx-ink);
    font-size: 15px;
}

.mx-mobile-catalog-sheet .mx-header-catalog--mobile .mx-header-catalog__children {
    border-left-color: #cbdcf1;
}

.mx-mobile-panel__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 25, 48, .52);
    opacity: 0;
    transition: opacity .25s ease;
}

.mx-mobile-panel__drawer {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(88vw, 380px);
    overflow-y: auto;
    padding: 20px;
    background: #fff;
    box-shadow: 24px 0 60px rgba(8, 25, 48, .2);
    transform: translateX(-101%);
    transition: transform .25s ease;
}

.mx-mobile-panel__head {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.mx-mobile-panel__close {
    width: 44px;
    height: 44px;
    color: var(--mx-ink);
    background: #f1f4f7;
    border: 0;
    border-radius: 50%;
    font-size: 30px;
    line-height: 1;
}

.mx-mobile-panel__catalog {
    width: 100%;
    margin-bottom: 18px;
}

.mx-mobile-catalog {
    padding: 16px;
    margin-bottom: 16px;
    background: #f4f8fd;
    border-radius: var(--mx-radius-sm);
}

.mx-mobile-catalog__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #dce7f3;
}

.mx-mobile-catalog__head strong {
    font-family: Manrope, Inter, sans-serif;
    font-size: 16px;
}

.mx-mobile-catalog__head a {
    color: var(--mx-blue);
    font-size: 13px;
    font-weight: 700;
}

.mx-header-catalog--mobile .mx-header-catalog__grid {
    display: block;
}

.mx-header-catalog--mobile .mx-header-catalog__group {
    padding: 12px 0;
    border-bottom: 1px solid #dce7f3;
}

.mx-header-catalog--mobile .mx-header-catalog__group:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.mx-header-catalog--mobile .mx-header-catalog__root {
    font-size: 14px;
}

.mx-header-catalog--mobile .mx-header-catalog__children {
    gap: 8px;
    padding-left: 13px;
    margin-top: 10px;
    border-left: 2px solid #d5e4f6;
}

.mx-header-catalog--mobile .mx-header-catalog__children a {
    font-size: 13px;
}

.mx-mobile-panel .mx-menu {
    display: block;
    min-height: 0;
}

.mx-mobile-panel .mx-menu__item {
    border-bottom: 1px solid var(--mx-line);
}

.mx-mobile-panel .mx-menu__item a {
    min-height: 54px;
    font-size: 16px;
}

.mx-mobile-panel__contacts {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 24px;
    color: var(--mx-muted);
}

.mx-mobile-panel__contacts strong {
    color: var(--mx-ink);
}

/* Add-to-cart dialog */
body.mx-cart-modal-open {
    overflow: hidden;
}

.mx-cart-modal {
    position: fixed;
    z-index: 1600;
    display: grid;
    visibility: hidden;
    place-items: center;
    inset: 0;
    padding: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s;
}

.mx-cart-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.mx-cart-modal__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgba(8, 25, 48, .58);
    border: 0;
    cursor: pointer;
}

.mx-cart-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 560px);
    padding: 38px;
    background: #fff;
    border-radius: var(--mx-radius-lg);
    box-shadow: 0 28px 90px rgba(8, 25, 48, .3);
    text-align: center;
    transform: translateY(14px) scale(.98);
    transition: transform .2s ease;
}

.mx-cart-modal.is-open .mx-cart-modal__dialog {
    transform: translateY(0) scale(1);
}

.mx-cart-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    padding: 0;
    color: var(--mx-muted);
    background: #f1f4f7;
    border: 0;
    border-radius: 50%;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.mx-cart-modal__icon {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    margin: 0 auto 20px;
    color: #fff;
    background: var(--mx-success);
    border-radius: 50%;
    font-size: 32px;
    font-weight: 800;
}

.mx-cart-modal h2 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: 28px;
    line-height: 1.25;
}

.mx-cart-modal p {
    max-width: 450px;
    margin: 12px auto 26px;
    color: var(--mx-muted);
    line-height: 1.6;
}

.mx-cart-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.mx-cart-modal__actions .mx-button {
    width: 100%;
    min-height: 50px;
}

/* One-click order dialog */
body.mx-one-click-modal-open {
    overflow: hidden;
}

.mx-one-click-modal {
    position: fixed;
    z-index: 1650;
    display: grid;
    visibility: hidden;
    place-items: center;
    inset: 0;
    padding: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s;
}

.mx-one-click-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.mx-one-click-modal__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgba(8, 25, 48, .62);
    border: 0;
    cursor: pointer;
}

.mx-one-click-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 640px);
    max-height: calc(100vh - 40px);
    padding: 34px;
    overflow-y: auto;
    background: #fff;
    border-radius: var(--mx-radius-lg);
    box-shadow: 0 28px 90px rgba(8, 25, 48, .34);
    transform: translateY(14px) scale(.98);
    transition: transform .2s ease;
}

.mx-one-click-modal.is-open .mx-one-click-modal__dialog {
    transform: translateY(0) scale(1);
}

.mx-one-click-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    padding: 0;
    color: var(--mx-muted);
    background: #f1f4f7;
    border: 0;
    border-radius: 50%;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.mx-one-click-modal h2 {
    padding-right: 42px;
    margin: 0;
    color: var(--mx-blue-dark);
    font-family: Manrope, Inter, sans-serif;
    font-size: 28px;
    line-height: 1.25;
}

.mx-one-click-modal__lead {
    max-width: 520px;
    margin: 10px 0 22px;
    color: var(--mx-muted);
    line-height: 1.55;
}

.mx-one-click-modal__product {
    display: grid;
    grid-template-columns: minmax(120px, .42fr) minmax(0, 1fr);
    gap: 8px 16px;
    padding: 16px 18px;
    margin-bottom: 22px;
    background: var(--mx-blue-soft);
    border: 1px solid #cfe1f7;
    border-radius: 10px;
}

.mx-one-click-modal__product span {
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-one-click-modal__product strong {
    min-width: 0;
    color: var(--mx-blue-dark);
    overflow-wrap: anywhere;
}

.mx-one-click-form__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mx-one-click-form__fields label,
.mx-one-click-form__quantity {
    display: grid;
    gap: 7px;
}

.mx-one-click-form__fields label > span,
.mx-one-click-form__quantity > span {
    color: var(--mx-blue-dark);
    font-size: 14px;
    font-weight: 800;
}

.mx-one-click-form__fields em {
    color: #d63031;
    font-style: normal;
}

.mx-one-click-form__fields input {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    color: var(--mx-ink);
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 9px;
    font: inherit;
}

.mx-one-click-form__fields input:focus {
    border-color: var(--mx-blue);
    box-shadow: 0 0 0 3px rgba(19, 102, 214, .12);
    outline: 0;
}

.mx-one-click-form__quantity {
    grid-template-columns: minmax(120px, .42fr) minmax(190px, 1fr);
    align-items: center;
    gap: 16px;
    margin-top: 18px;
}

.mx-one-click-form__quantity .mx-quantity-control {
    width: min(100%, 260px);
}

.mx-one-click-form__error {
    padding: 12px 14px;
    margin-top: 16px;
    color: #9f2630;
    background: #fff0f1;
    border: 1px solid #f1c7cb;
    border-radius: 8px;
    line-height: 1.45;
}

.mx-one-click-form__submit {
    width: 100%;
    min-height: 50px;
    margin-top: 20px;
}

.mx-one-click-form__note {
    margin: 10px 0 0;
    color: var(--mx-muted);
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

.mx-one-click-form__trap {
    position: fixed;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.mx-one-click-modal__success {
    padding: 10px 0 2px;
    text-align: center;
}

.mx-one-click-modal__success-icon {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    margin: 0 auto 18px;
    color: #fff;
    background: var(--mx-success);
    border-radius: 50%;
    font-size: 32px;
    font-weight: 800;
}

.mx-one-click-modal__success h2 {
    padding: 0;
}

.mx-one-click-modal__success p {
    max-width: 470px;
    margin: 12px auto 24px;
    color: var(--mx-muted);
    line-height: 1.6;
}

.mx-one-click-modal__success .mx-button {
    min-width: 220px;
}

@media (max-width: 767px) {
    .mx-one-click-modal {
        padding: 10px;
    }

    .mx-one-click-modal__dialog {
        max-height: calc(100vh - 20px);
        padding: 30px 18px 20px;
        border-radius: 18px;
    }

    .mx-one-click-modal h2 {
        font-size: 23px;
    }

    .mx-one-click-modal__product,
    .mx-one-click-form__fields,
    .mx-one-click-form__quantity {
        grid-template-columns: 1fr;
    }

    .mx-one-click-form__quantity {
        gap: 8px;
    }

    .mx-one-click-form__quantity .mx-quantity-control,
    .mx-one-click-modal__success .mx-button {
        width: 100%;
    }
}

/* Catalog */
.mx-breadcrumbs {
    padding: 22px 0 10px;
    color: #77849a;
    font-size: 13px;
}

.mx-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.mx-breadcrumbs li:not(:last-child)::after {
    content: "/";
    margin-left: 7px;
    color: #b4bdc9;
}

.mx-breadcrumbs a:hover {
    color: var(--mx-blue);
}

.mx-catalog-root,
.mx-catalog-section,
.mx-product-page {
    padding-bottom: 60px;
}

.mx-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    padding: 28px 0 34px;
}

.mx-page-heading__eyebrow {
    margin: 0 0 8px;
    color: var(--mx-blue);
    font-weight: 700;
}

.mx-page-heading h1,
.mx-category-title,
.mx-product-heading h1,
.mx-product-summary h1 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(36px, 4.5vw, 58px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.mx-page-heading p:last-child {
    max-width: 680px;
    margin: 14px 0 0;
    color: var(--mx-muted);
    font-size: 18px;
}

.mx-page-heading__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.mx-page-heading__trust span,
.mx-category-hero__benefits span {
    padding: 9px 13px;
    color: #315176;
    background: var(--mx-blue-soft);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

.mx-catalog-root-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.mx-catalog-root-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
    transition: transform .2s ease, box-shadow .2s ease;
}

.mx-catalog-root-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--mx-shadow);
}

.mx-catalog-root-card__picture {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: linear-gradient(145deg, #edf3fa, #f4eee7);
}

.mx-catalog-root-card__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.mx-catalog-root-card:hover img {
    transform: scale(1.035);
}

.mx-catalog-root-card__body {
    padding: 22px;
}

.mx-catalog-root-card h2 {
    margin: 0 0 8px;
    font-size: 21px;
}

.mx-catalog-root-card p {
    min-height: 44px;
    margin: 0 0 15px;
    color: var(--mx-muted);
    font-size: 14px;
}

.mx-catalog-organization {
    display: flex;
    min-height: 112px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 24px 30px;
    margin-top: 36px;
    background: linear-gradient(110deg, #edf5ff, #f8fbff);
    border: 1px solid #cfe0f7;
    border-radius: var(--mx-radius);
}

.mx-catalog-organization strong,
.mx-catalog-organization span {
    display: block;
}

.mx-catalog-organization strong {
    font-family: Manrope, Inter, sans-serif;
    font-size: 23px;
}

.mx-catalog-organization span {
    margin-top: 4px;
    color: var(--mx-muted);
}

.mx-category-hero {
    display: grid;
    min-height: 0;
    grid-template-columns: 1fr;
    align-items: center;
    overflow: visible;
    margin: 0 0 28px;
    background: none;
    border-radius: 0;
}

.mx-category-title {
    margin: 24px 0 22px;
}

.mx-category-hero.has-picture.has-content {
    grid-template-columns: minmax(0, 1fr) 240px;
}

.mx-category-hero__content {
    padding: 18px 0;
}

.mx-category-hero__description {
    max-width: 760px;
    margin: 0;
    color: var(--mx-blue-dark);
    font-size: 17px;
    line-height: 1.65;
}

.mx-category-hero__description > :first-child {
    margin-top: 0;
}

.mx-category-hero__description > :last-child {
    margin-bottom: 0;
}

.mx-category-hero__more {
    display: none;
}

.mx-category-hero__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.mx-category-hero img {
    display: block;
    width: 180px;
    height: 180px;
    min-height: 0;
    max-height: none;
    justify-self: center;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.mx-category-hero.has-picture:not(.has-content) img {
    width: 180px;
    justify-self: center;
}

.mx-subcategory-list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0 26px;
}

.mx-subcategory {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius-sm);
    font-size: 13px;
    font-weight: 700;
}

.mx-subcategory__picture {
    display: block;
    aspect-ratio: 1.65;
    overflow: hidden;
    background: var(--mx-warm);
}

.mx-subcategory__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mx-subcategory > span:last-child {
    display: block;
    padding: 10px 12px;
}

.mx-catalog-toolbar {
    display: flex;
    min-height: 62px;
    align-items: center;
    gap: 20px;
    margin: 0 0 18px;
    border-bottom: 1px solid var(--mx-line);
}

.mx-catalog-toolbar__count {
    color: var(--mx-muted);
    font-size: 14px;
}

.mx-catalog-sort {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.mx-catalog-sort label {
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-catalog-sort select,
.mx-product-buy select {
    min-height: 44px;
    padding: 0 38px 0 13px;
    color: var(--mx-ink);
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius-sm);
}

.mx-filter-toggle {
    display: none;
}

.mx-catalog-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.mx-filter-sidebar {
    position: sticky;
    z-index: 30;
    top: 16px;
}

.mx-filter-sidebar__mobile-head {
    display: none;
}

.mx-filter {
    position: relative;
    overflow: visible;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-filter__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px;
    border-bottom: 1px solid var(--mx-line);
}

.mx-filter__title strong {
    font-size: 18px;
}

.mx-filter__title a {
    color: var(--mx-blue);
    font-size: 12px;
}

.mx-filter-group {
    padding: 17px 18px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--mx-line);
}

.mx-filter-group legend {
    width: 100%;
    padding: 0;
    margin-bottom: 12px;
    font-weight: 700;
}

.mx-filter-values {
    display: grid;
    gap: 9px;
}

.mx-filter-check {
    display: grid;
    grid-template-columns: 19px 1fr auto;
    gap: 8px;
    align-items: center;
    cursor: pointer;
}

.mx-filter-check input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--mx-blue);
}

.mx-filter-check small {
    color: #9aa5b4;
}

.mx-filter-check.is-disabled {
    opacity: .42;
    cursor: default;
}

.mx-filter-range {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.mx-filter-range label {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 5px;
    padding: 0 8px;
    border: 1px solid var(--mx-line);
    border-radius: 7px;
}

.mx-filter-range span {
    color: var(--mx-muted);
    font-size: 12px;
}

.mx-filter-range input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0;
    border: 0;
    outline: none;
}

.mx-filter__actions {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.mx-filter-quick-actions {
    position: absolute;
    z-index: 20;
    left: calc(100% + 12px);
    display: grid;
    width: 168px;
    gap: 7px;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(19, 33, 58, .18);
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity .18s ease, transform .18s ease;
}

.mx-filter-quick-actions[hidden] {
    display: none;
}

.mx-filter-quick-actions::before {
    position: absolute;
    top: 18px;
    right: 100%;
    width: 12px;
    height: 18px;
    background: #fff;
    clip-path: polygon(100% 0, 100% 100%, 0 50%);
    content: '';
}

.mx-filter-quick-actions.is-visible {
    opacity: 1;
    transform: translateX(0);
}

.mx-filter-quick-actions .mx-button {
    width: 100%;
}

.mx-filter-quick-actions__reset {
    padding: 5px 8px;
    color: var(--mx-blue);
    background: transparent;
    border: 0;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.mx-filter-quick-actions__reset:hover,
.mx-filter-quick-actions__reset:focus-visible {
    text-decoration: underline;
}

.mx-button--ghost {
    color: var(--mx-blue);
    background: transparent;
}

.mx-catalog-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.mx-catalog-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-catalog-card__picture {
    position: relative;
    display: block;
    aspect-ratio: 1.08;
    overflow: hidden;
    background: #f4f6f8;
    border-radius: 8px;
}

.mx-catalog-card__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mx-catalog-card h2 {
    min-height: 62px;
    margin: 3px 0 9px;
    font-size: 16px;
    line-height: 1.3;
}

.mx-catalog-card__offer {
    display: grid;
    gap: 5px;
    margin: 0 0 10px;
    color: var(--mx-muted);
    font-size: 12px;
    font-weight: 700;
}

.mx-catalog-card__offer select {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 32px 0 10px;
    color: var(--mx-ink);
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 8px;
    font: inherit;
    font-weight: 600;
}

.mx-catalog-card__price {
    margin: auto 0 7px;
    padding-top: 14px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 24px;
    font-weight: 800;
}

.mx-catalog-card__buy {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}

.mx-catalog-quantity {
    min-width: 0;
}

.mx-catalog-card .mx-button {
    width: 100%;
    min-height: 46px;
    padding-inline: 12px;
}

.mx-catalog-card__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.mx-catalog-card__submit::before {
    content: "";
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 8H6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.mx-product-card__stock.is-unavailable {
    color: var(--mx-orange);
}

.mx-product-card__package[hidden] {
    display: none;
}

.mx-catalog-empty {
    padding: 60px 24px;
    text-align: center;
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
}

.mx-catalog-empty strong {
    font-size: 22px;
}

.mx-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding-top: 30px;
}

.mx-pagination a,
.mx-pagination span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--mx-line);
    border-radius: 8px;
}

.mx-pagination span {
    color: #fff;
    background: var(--mx-blue);
    border-color: var(--mx-blue);
}

.mx-pagination .mx-pagination__ellipsis {
    color: var(--mx-muted);
    background: transparent;
    border-color: transparent;
}

.mx-category-text {
    padding: clamp(24px, 3vw, 42px);
    margin-top: 36px;
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
}

.mx-category-text h2 {
    margin: 0 0 22px;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(25px, 3vw, 32px);
    line-height: 1.2;
}

.mx-category-text__content {
    max-width: 1180px;
    color: #30425d;
    font-size: 16px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.mx-category-text__content table,
.mx-material-detail__content table,
.mx-material-step__content table,
.mx-product-tab-panel table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.mx-category-text__content pre,
.mx-material-detail__content pre,
.mx-material-step__content pre,
.mx-product-tab-panel pre {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.mx-category-text__content h3,
.mx-category-text__content h4 {
    margin: 30px 0 12px;
    color: var(--mx-dark);
    font-family: Manrope, Inter, sans-serif;
    line-height: 1.3;
}

.mx-category-text__content h3 {
    font-size: 23px;
}

.mx-category-text__content h4 {
    font-size: 19px;
}

.mx-category-text__content p {
    margin: 0 0 14px;
}

.mx-category-text__content ul,
.mx-category-text__content ol {
    margin: 0 0 22px;
    padding-left: 24px;
}

.mx-category-text__content li + li {
    margin-top: 7px;
}

.mx-category-text__content li p {
    margin: 0;
}

.mx-category-text__content hr {
    height: 1px;
    margin: 28px 0;
    background: #d9dee6;
    border: 0;
}

.mx-category-text__content a {
    color: var(--mx-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Product detail */
.mx-product-detail__top {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    grid-template-areas:
        "gallery heading"
        "gallery summary";
    column-gap: 42px;
    row-gap: 0;
    align-items: start;
    padding-top: 18px;
}

.mx-product-gallery {
    grid-area: gallery;
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 14px;
    align-items: start;
}

.mx-product-heading {
    grid-area: heading;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-top: 4px;
}

.mx-product-gallery__thumbs {
    display: grid;
    gap: 10px;
}

.mx-product-gallery__thumbs button {
    width: 84px;
    height: 84px;
    padding: 3px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 8px;
    cursor: pointer;
}

.mx-product-gallery__thumbs button.is-active {
    border: 2px solid var(--mx-blue);
}

.mx-product-gallery__thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mx-product-gallery__main {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    aspect-ratio: 1.02;
    background: #f4f5f6;
    border-radius: var(--mx-radius);
}

.mx-product-gallery__main > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mx-product-gallery__empty {
    grid-column: 1 / -1;
    display: grid;
    min-height: 520px;
    place-items: center;
    color: var(--mx-muted);
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
}

.mx-product-summary {
    grid-area: summary;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.mx-product-summary__article {
    margin: 0 0 10px;
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-product-heading h1,
.mx-product-summary h1 {
    font-size: clamp(34px, 3.5vw, 50px);
}

.mx-product-summary__status {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 18px 0;
    font-size: 13px;
}

.mx-product-summary__status .is-available {
    color: var(--mx-success);
}

.mx-product-summary__status a {
    color: var(--mx-blue);
}

.mx-product-summary__short-props,
.mx-product-properties {
    display: grid;
    gap: 0;
    margin: 0;
}

.mx-product-summary__short-props div,
.mx-product-properties div {
    display: grid;
    grid-template-columns: minmax(120px, .7fr) 1fr;
    gap: 16px;
    padding: 7px 0;
    border-bottom: 1px solid #edf0f4;
}

.mx-product-summary__short-props dt,
.mx-product-properties dt {
    color: var(--mx-muted);
}

.mx-product-summary__short-props dd,
.mx-product-properties dd {
    margin: 0;
}

.mx-product-buy {
    padding: 22px;
    margin-top: 22px;
    background: #f8fbff;
    border: 1px solid #dfeaf8;
    border-radius: var(--mx-radius);
}

.mx-product-buy__offer {
    display: grid;
    gap: 7px;
    margin-bottom: 15px;
    font-weight: 700;
}

.mx-product-buy__offer select {
    width: 100%;
}

.mx-product-buy__price {
    font-family: Manrope, Inter, sans-serif;
    font-size: 38px;
    font-weight: 800;
}

.mx-product-buy__vat {
    display: block;
    margin: -3px 0 10px;
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-product-buy__package {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    margin-bottom: 15px;
    color: var(--mx-muted);
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 9px;
    font-size: 14px;
}

.mx-product-buy__package[hidden] {
    display: none;
}

.mx-product-buy__package strong {
    color: var(--mx-ink);
    font-weight: 800;
}

.mx-product-buy__actions {
    display: grid;
    grid-template-columns: minmax(154px, .72fr) minmax(0, 1.28fr);
    gap: 10px;
}

.mx-quantity-control--large {
    height: 50px;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
}

.mx-product-buy__one-click {
    width: 100%;
    margin-top: 10px;
    display: none;
}

.mx-product-summary__service {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
}

.mx-product-summary__service div {
    padding: 16px;
    background: var(--mx-blue-soft);
    border-radius: var(--mx-radius-sm);
}

.mx-product-summary__service strong,
.mx-product-summary__service span {
    display: block;
}

.mx-product-summary__service span {
    margin-top: 4px;
    color: var(--mx-muted);
    font-size: 12px;
}

.mx-product-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    overflow: hidden;
    margin: 42px 0 24px;
    background: var(--mx-line);
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-product-trust div {
    padding: 20px;
    background: #fff;
}

.mx-product-trust strong,
.mx-product-trust span {
    display: block;
}

.mx-product-trust span {
    margin-top: 4px;
    color: var(--mx-muted);
    font-size: 12px;
}

.mx-product-tabs {
    display: flex;
    gap: 28px;
    border-bottom: 1px solid var(--mx-line);
}

.mx-product-tabs button {
    position: relative;
    padding: 16px 2px;
    color: var(--mx-muted);
    background: transparent;
    border: 0;
    font-weight: 700;
    cursor: pointer;
}

.mx-product-tabs button.is-active {
    color: var(--mx-blue);
}

.mx-product-tabs button.is-active::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: var(--mx-blue);
}

.mx-product-tab-panel {
    display: none;
    padding: 28px 0;
}

.mx-product-tab-panel.is-active {
    display: block;
}

.mx-product-tab-panel[data-product-panel="description"] {
    max-width: 900px;
}

.mx-product-review-panel {
    max-width: 980px;
}

.mx-product-review-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.mx-product-review-panel__add {
    flex: 0 0 auto;
    min-height: 46px;
    padding-inline: 22px;
}

.mx-product-review-panel__head h2 {
    margin: 0;
    color: var(--mx-blue-dark);
    font-family: Manrope, Inter, sans-serif;
    font-size: 26px;
}

.mx-product-review-panel__head p,
.mx-product-review-panel__empty {
    margin: 7px 0 0;
    color: var(--mx-muted);
}

.mx-product-review-panel__moderation {
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    margin: 0 0 22px;
    color: #61460b;
    background: #fff8e6;
    border: 1px solid #f2d58e;
    border-radius: 10px;
    line-height: 1.5;
}

.mx-product-review-panel__moderation strong {
    color: #493402;
}

.mx-product-review-panel .reviews-block-container,
.mx-product-review-panel .reviews-block-outer,
.mx-product-review-panel .reviews-block-inner {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

.mx-product-review-panel .reviews-post-table {
    display: table;
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    table-layout: fixed;
}

.mx-product-review-panel .reviews-post-table th,
.mx-product-review-panel .reviews-post-table td {
    padding: 0;
    background: transparent;
    border: 0;
}

.mx-product-review-panel .reviews-post-table thead td {
    padding: 20px 22px 12px;
}

.mx-product-review-panel .reviews-post-table thead b {
    color: var(--mx-blue-dark);
    font-family: Manrope, Inter, sans-serif;
    font-size: 16px;
}

.mx-product-review-panel .message-post-date {
    display: block;
    margin-top: 3px;
    color: var(--mx-muted);
    font-size: 12px;
}

.mx-product-review-panel .reviews-text {
    padding: 0 22px 22px;
    color: #36435a;
    line-height: 1.65;
}

.mx-product-review-panel .reviews-message-img {
    display: inline-grid;
    max-width: 280px;
    margin: 14px 14px 0 0;
    vertical-align: top;
}

.mx-product-review-panel .reviews-message-img img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: contain;
    border: 1px solid var(--mx-line);
    border-radius: 9px;
}

.mx-product-review-panel .reviews-message-img a {
    max-width: 100%;
    color: var(--mx-muted);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.mx-product-review-panel .reviews-actions {
    display: table-row;
}

.mx-product-review-panel .reviews-actions td {
    padding: 0 22px 18px;
}

.mx-product-review-panel .reviews-post-reply-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mx-product-review-panel .reviews-button-small {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    margin: 0;
    color: var(--mx-blue-dark);
    background: var(--mx-blue-soft);
    border: 1px solid #cfe1f7;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.mx-product-review-panel .reviews-button-small:hover {
    color: #fff;
    background: var(--mx-blue);
    border-color: var(--mx-blue);
}

.mx-product-review-panel .reviews-form-switcher {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    margin-top: 10px;
    color: #fff;
    background: var(--mx-blue);
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
}

.mx-product-review-panel .reviews-form-switcher:hover {
    color: #fff;
    background: var(--mx-blue-dark);
}

.mx-product-review-panel .reviews-reply-form {
    margin-top: 18px;
    padding: 24px;
    background: var(--mx-blue-soft);
    border: 1px solid #cfe1f7;
    border-radius: 12px;
}

.mx-product-review-panel .reviews-reply-fields,
.mx-product-review-panel .reviews-reply-field-user,
.mx-product-review-panel .reviews-reply-field {
    margin: 0 0 16px;
}

.mx-product-review-panel .reviews-reply-field-user {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mx-product-review-panel .reviews-reply-field-author,
.mx-product-review-panel .reviews-reply-field-email {
    float: none;
    width: auto;
}

.mx-product-review-panel .reviews-reply-field-user-sep {
    display: none;
}

.mx-product-review-panel .reviews-reply-field label,
.mx-product-review-panel .reviews-reply-header {
    display: block;
    margin-bottom: 7px;
    color: var(--mx-blue-dark);
    font-weight: 700;
}

.mx-product-review-panel .reviews-reply-field input[type="text"],
.mx-product-review-panel .reviews-reply-field input[type="email"] {
    width: 100%;
    min-height: 46px;
    padding: 0 13px;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 8px;
}

.mx-product-review-panel .reviews-reply-field-captcha {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    align-items: end;
    gap: 12px;
}

.mx-product-review-panel .reviews-reply-field-captcha img {
    display: block;
    max-height: 46px;
}

.mx-product-review-panel__upload-note {
    max-width: 620px;
    margin: 10px 0 0;
    padding: 11px 13px;
    color: #61460b;
    background: #fff8e6;
    border: 1px solid #f2d58e;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
}

.mx-product-review-panel .reviews-reply-buttons input[type="submit"] {
    min-height: 48px;
    padding: 0 26px;
    color: #fff;
    background: var(--mx-blue);
    border: 0;
    border-radius: 8px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.mx-product-review-panel .reviews-reply-buttons input[type="submit"]:hover {
    background: var(--mx-blue-dark);
}

.mx-product-review-panel .reviews-note-box {
    margin-bottom: 16px;
    padding: 14px 16px;
    border-radius: 8px;
}

.mx-product-review-panel .reviews-note-error {
    color: #9f2630;
    background: #fff0f1;
}

.mx-product-review-panel .reviews-note-note {
    color: #176a3b;
    background: #eaf8f0;
}

.mx-product-review-panel .reviews-navigation-box {
    margin: 18px 0;
}

.mx-product-review-panel .feed-add-post-form-wrap,
.mx-product-review-panel .bx-editor-iframe,
.mx-product-review-panel iframe {
    max-width: 100%;
}

.mx-product-properties {
    max-width: 900px;
}

.mx-product-related {
    padding-top: 42px;
}

/* Commerce, search and account */
.mx-commerce-page,
.mx-search-page,
.mx-personal-page {
    padding-bottom: 60px;
}

.mx-commerce-heading {
    display: flex;
    min-height: 110px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.mx-commerce-heading h1 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.1;
}

.mx-commerce-heading p {
    margin: 7px 0 0;
    color: var(--mx-muted);
}

.mx-commerce-heading > a {
    color: var(--mx-blue);
    font-weight: 700;
}

/* Standard Bitrix basket, preserved for reliable recalculation */
.mx-commerce-page .bx-basket {
    font-family: inherit;
}

.mx-commerce-page #basket-root {
    opacity: 1 !important;
}

.mx-commerce-page .basket-items-list-wrapper,
.mx-commerce-page .basket-checkout-container,
.mx-commerce-page .basket-item-block-info,
.mx-commerce-page .basket-item-block-price,
.mx-commerce-page .basket-item-block-amount {
    border-color: var(--mx-line) !important;
}

.mx-commerce-page .basket-items-list-wrapper {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line) !important;
    border-radius: var(--mx-radius);
}

.mx-commerce-page .basket-item-block-image .basket-item-image {
    border-radius: 9px;
}

.mx-commerce-page .basket-item-info-name-link {
    color: var(--mx-ink) !important;
    font-family: Manrope, Inter, sans-serif;
    font-size: 17px;
    font-weight: 700;
}

.mx-commerce-page .basket-item-property-name,
.mx-commerce-page .basket-item-property-value {
    color: var(--mx-muted);
}

.mx-commerce-page .basket-item-price-current-text,
.mx-commerce-page .basket-coupon-block-total-price-current,
.mx-commerce-page .basket-checkout-block-total-price {
    color: var(--mx-ink) !important;
    font-family: Manrope, Inter, sans-serif;
    font-weight: 800 !important;
}

.mx-commerce-page .basket-item-amount-btn-plus,
.mx-commerce-page .basket-item-amount-btn-minus,
.mx-commerce-page .basket-item-amount-filed,
.mx-commerce-page .form-control {
    border-color: var(--mx-line) !important;
}

.mx-commerce-page .btn.btn-primary,
.mx-commerce-page .basket-checkout-block-btn,
.mx-commerce-page .basket-coupon-block-coupon-btn {
    color: #fff !important;
    background: var(--mx-blue) !important;
    border-color: var(--mx-blue) !important;
    border-radius: 8px !important;
}

.mx-commerce-page .basket-checkout-container {
    padding: 24px !important;
    background: #f5f9ff !important;
    border: 1px solid #d9e7f8 !important;
    border-radius: var(--mx-radius) !important;
}

.mx-commerce-page .basket-items-list-item-container {
    padding-block: 18px !important;
}

.mx-commerce-page .basket-items-list-item-notification {
    border-radius: 8px;
}

.mx-commerce-page .basket-search-not-found,
.mx-commerce-page .basket-items-list-empty-container {
    min-height: 320px;
    padding: 60px 20px;
    color: var(--mx-muted);
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
    text-align: center;
}

/* Standard checkout */
.mx-checkout-page #bx-soa-order {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
}

.mx-checkout-page #bx-soa-order > .row {
    display: contents;
}

.mx-checkout-page #bx-soa-order .bx-soa {
    width: auto;
    padding: 0;
}

.mx-checkout-page #bx-soa-total {
    position: sticky;
    top: 20px;
    width: auto !important;
}

.mx-checkout-page .bx-soa-section,
.mx-checkout-page .bx-soa-cart-total {
    overflow: hidden;
    background: #fff !important;
    border: 1px solid var(--mx-line) !important;
    border-radius: var(--mx-radius) !important;
}

.mx-checkout-page .bx-soa-section-title-container {
    padding: 18px 22px !important;
    background: #f8fafc !important;
    border-bottom: 1px solid var(--mx-line);
}

.mx-checkout-page .bx-soa-section-title {
    color: var(--mx-ink) !important;
    font-family: Manrope, Inter, sans-serif;
    font-size: 20px !important;
}

.mx-checkout-page .bx-soa-section-content {
    padding: 22px !important;
}

.mx-checkout-page .form-control,
.mx-checkout-page input[type="text"],
.mx-checkout-page input[type="tel"],
.mx-checkout-page input[type="email"],
.mx-checkout-page textarea,
.mx-checkout-page select {
    min-height: 46px;
    border-color: var(--mx-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.mx-checkout-page .btn-primary {
    min-height: 48px;
    color: #fff !important;
    background: var(--mx-blue) !important;
    border-color: var(--mx-blue) !important;
    border-radius: 8px !important;
}

.mx-checkout-page .bx-soa-pp-company,
.mx-checkout-page .bx-soa-delivery-list-item {
    border-radius: 8px !important;
}

/* Authentication */
.mx-auth-page {
    display: grid;
    min-height: 650px;
    place-items: start center;
    padding: 64px 20px 80px;
    background: linear-gradient(135deg, #f7f9fc, #f7f2eb);
}

.mx-auth-card {
    width: min(100%, 540px);
    padding: 38px;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius-lg);
    box-shadow: var(--mx-shadow);
}

.mx-auth-card h1 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(32px, 5vw, 44px);
    line-height: 1.15;
}

.mx-auth-card__lead {
    margin: 10px 0 26px;
    color: var(--mx-muted);
}

.mx-auth-form,
.mx-auth-card form {
    display: grid;
    gap: 16px;
}

.mx-auth-form label,
.mx-auth-card form > div {
    min-width: 0;
}

.mx-auth-form label > span:first-child {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

.mx-auth-form input:not([type="checkbox"]):not([type="hidden"]),
.mx-auth-card form input[type="text"],
.mx-auth-card form input[type="email"],
.mx-auth-card form input[type="tel"],
.mx-auth-card form input[type="password"],
.mx-auth-card form select {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    color: var(--mx-ink);
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: 8px;
}

.mx-auth-check {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 400 !important;
}

.mx-auth-check span {
    margin: 0 !important;
}

.mx-auth-form .mx-button {
    width: 100%;
}

.mx-auth-form__links {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: var(--mx-blue);
    font-size: 14px;
}

.mx-auth-card table {
    width: 100%;
    border-collapse: collapse;
}

.mx-auth-card td {
    display: block;
    width: 100%;
    padding: 5px 0;
}

.mx-auth-card input[type="submit"] {
    width: 100%;
    min-height: 48px;
    color: #fff;
    background: var(--mx-blue);
    border: 0;
    border-radius: 8px;
    font-weight: 700;
}

.mx-auth-card .starrequired,
.mx-form-error {
    color: #c63636;
}

.mx-form-error {
    padding: 12px 14px;
    margin: 16px 0;
    background: #fff1f1;
    border-radius: 8px;
}

/* Search */
.mx-search-page__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 22px;
    background: #f5f8fc;
    border-radius: var(--mx-radius);
}

.mx-search-page__form input {
    min-width: 0;
    height: 50px;
    padding: 0 16px;
    border: 1px solid var(--mx-line);
    border-radius: 8px;
}

.mx-search-results {
    margin-top: 28px;
}

.mx-search-results__summary {
    margin: 0 0 18px;
    color: var(--mx-muted);
}

.mx-search-result {
    padding: 24px 0;
    border-bottom: 1px solid var(--mx-line);
}

.mx-search-result__type {
    margin-bottom: 6px;
    color: var(--mx-blue);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.mx-search-result h2 {
    margin: 0 0 8px;
    font-size: 22px;
}

.mx-search-result p {
    max-width: 900px;
    color: var(--mx-muted);
}

.mx-search-empty {
    display: grid;
    min-height: 320px;
    place-items: center;
    align-content: center;
    gap: 7px;
    padding: 40px 20px;
    margin-top: 26px;
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
    text-align: center;
}

.mx-search-empty strong {
    font-family: Manrope, Inter, sans-serif;
    font-size: 28px;
}

.mx-search-empty p {
    margin: 0 0 10px;
    color: var(--mx-muted);
}

/* Personal section */
.mx-personal-page .row {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin: 0 !important;
}

.mx-personal-page [class*="col-"] {
    min-width: 0;
    flex: 1 1 260px;
    width: auto !important;
    padding: 0 !important;
}

.mx-personal-page .sale-personal-section-index-block {
    min-height: 170px;
    padding: 24px !important;
    color: var(--mx-ink) !important;
    background: #fff !important;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
    opacity: 1 !important;
}

.mx-personal-page .sale-personal-section-index-block:hover {
    border-color: var(--mx-blue);
    box-shadow: var(--mx-shadow);
}

.mx-personal-page .sale-personal-section-index-block-name {
    color: var(--mx-ink) !important;
    font-family: Manrope, Inter, sans-serif;
    font-size: 20px !important;
}

.mx-personal-page .sale-personal-section-index-block-ico {
    color: var(--mx-blue) !important;
}

.mx-personal-page .table {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-personal-page .btn-primary {
    color: #fff !important;
    background: var(--mx-blue) !important;
    border-color: var(--mx-blue) !important;
}

@media (max-width: 1180px) {
    .mx-header__service-inner {
        gap: 12px;
    }

    .mx-header__service-context {
        display: none;
    }

    .mx-header__managers {
        margin-left: 0;
    }

    .mx-header__organization-link {
        margin-left: auto;
    }

    .mx-header__main {
        grid-template-columns: auto auto minmax(200px, 1fr) auto;
        gap: 14px;
    }

    .mx-logo__name {
        font-size: 21px;
    }

    .mx-benefit {
        padding-inline: 18px;
    }

    .mx-footer__grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .mx-footer__subscribe {
        grid-column: 1 / -1;
        max-width: 460px;
    }
}

@media (max-width: 1023px) {
    .mx-container {
        width: min(100% - 32px, var(--mx-container));
    }

    .mx-header__nav,
    .mx-catalog-nav,
    .mx-header-action--user {
        display: none;
    }

    .mx-header__service {
        display: block;
        min-height: 42px;
    }

    .mx-header__service-inner {
        min-height: 42px;
        justify-content: center;
    }

    .mx-header__service-context,
    .mx-header__managers,
    .mx-header__organization-link {
        display: none;
    }

    .mx-header-managers-toggle {
        display: inline-flex;
        min-height: 32px;
        align-items: center;
        justify-content: center;
        padding: 5px 18px;
        color: var(--mx-blue);
        background: #fff;
        border: 1px solid #c9d9ee;
        border-radius: 999px;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
    }

    .mx-header-managers-toggle::before {
        content: "";
        width: 8px;
        height: 8px;
        margin-right: 8px;
        background: var(--mx-success);
        border-radius: 50%;
    }

    .mx-header-managers-toggle[aria-expanded="true"] {
        color: #fff;
        background: var(--mx-blue);
        border-color: var(--mx-blue);
    }

    .mx-header-mobile-managers {
        position: absolute;
        z-index: 1200;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        visibility: hidden;
        padding: 0 0 14px;
        pointer-events: none;
        opacity: 0;
        background: #fff;
        border-top: 1px solid var(--mx-line);
        border-bottom: 1px solid var(--mx-line);
        box-shadow: 0 16px 34px rgba(16, 38, 74, .2);
        transform: translateY(-10px);
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }

    .mx-header-mobile-managers.is-open {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
        transform: translateY(0);
    }

    .mx-header-mobile-managers__dialog {
        padding-top: 14px;
    }

    .mx-header-mobile-managers__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding-bottom: 12px;
        border-bottom: 1px solid var(--mx-line);
    }

    .mx-header-mobile-managers__head strong {
        font-size: 16px;
    }

    .mx-header-mobile-managers__head button {
        display: inline-flex;
        min-height: 34px;
        align-items: center;
        gap: 6px;
        padding: 5px 11px;
        color: var(--mx-muted);
        background: #f5f7fa;
        border: 1px solid var(--mx-line);
        border-radius: 8px;
        font: inherit;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
    }

    .mx-header-mobile-managers__head button span {
        font-size: 18px;
        line-height: 1;
    }

    .mx-header-mobile-managers__list {
        display: grid;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .mx-header-mobile-managers__list li {
        display: flex;
        min-height: 50px;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        border-bottom: 1px solid #edf0f4;
    }

    .mx-header-mobile-managers__list li:last-child {
        border-bottom: 0;
    }

    .mx-header-mobile-managers__list span {
        color: var(--mx-ink);
        font-weight: 700;
    }

    .mx-header-mobile-managers__list a {
        color: var(--mx-blue);
        font-size: 15px;
        font-weight: 700;
        white-space: nowrap;
    }

    .mx-header__main {
        min-height: 72px;
        grid-template-columns: 44px auto minmax(120px, 1fr) auto;
    }

    .mx-mobile-toggle {
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
        padding: 0;
        background: var(--mx-blue);
        border: 0;
        border-radius: var(--mx-radius-sm);
    }

    .mx-mobile-panel {
        display: block;
        visibility: hidden;
        pointer-events: none;
        transition: visibility .25s ease;
    }

    .mx-menu-open .mx-mobile-panel {
        visibility: visible;
        pointer-events: auto;
    }

    .mx-menu-open .mx-mobile-panel__backdrop {
        opacity: 1;
    }

    .mx-menu-open .mx-mobile-panel__drawer {
        transform: translateX(0);
    }

    .mx-logo__mark {
        width: 40px;
        height: 40px;
    }

    .mx-header-actions {
        justify-content: flex-end;
    }

    .mx-header-action {
        min-width: 60px;
    }

    .mx-hero,
    .mx-hero__inner {
        min-height: 520px;
    }

    .mx-hero__content {
        width: 54%;
        padding-bottom: 94px;
    }

    .mx-benefits {
        grid-template-columns: repeat(2, 1fr);
        margin-top: -54px;
    }

    .mx-benefit {
        min-height: 104px;
    }

    .mx-benefit:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--mx-line);
    }

    .mx-benefit:nth-child(4) {
        border-top: 1px solid var(--mx-line);
    }

    .mx-category-grid,
    .mx-product-grid,
    .mx-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mx-production {
        grid-template-columns: 1fr;
    }

    .mx-production__visual {
        min-height: 320px;
    }
}

@media (max-width: 767px) {
    body {
        min-width: 0;
        font-size: 15px;
        padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
    }

    .mx-mobile-dock {
        display: grid;
    }

    .mx-mobile-catalog-sheet {
        display: block;
    }

    .mx-container {
        width: min(100% - 24px, var(--mx-container));
    }

    .mx-header__main {
        min-height: 64px;
        grid-template-columns: 42px auto 1fr auto;
        gap: 9px;
    }

    .mx-mobile-toggle {
        width: 42px;
        height: 42px;
    }

    .mx-logo {
        gap: 8px;
    }

    .mx-logo__mark {
        width: 38px;
        height: 38px;
        font-size: 13px;
    }

    .mx-logo__name {
        display: none;
    }

    .mx-header__search {
        min-width: 0;
    }

    .mx-search__input {
        height: 42px;
        padding-left: 13px;
        font-size: 14px;
    }

    .mx-header-action {
        min-width: 44px;
        min-height: 44px;
        padding: 0;
    }

    .mx-header-action > span:last-child {
        display: none;
    }

    .mx-header-action__count {
        top: -5px;
        right: -3px;
    }

    .mx-section {
        padding: 28px 0;
    }

    .mx-section__head {
        align-items: center;
        margin-bottom: 18px;
    }

    .mx-section__link {
        font-size: 13px;
    }

    .mx-hero {
        min-height: 660px;
        background: #f7f3ed;
    }

    .mx-hero__image {
        height: 55%;
        top: auto;
        object-position: 68% center;
    }

    .mx-hero::after {
        background: linear-gradient(180deg, #f8f4ee 0%, #f8f4ee 46%, rgba(248, 244, 238, .94) 54%, rgba(248, 244, 238, 0) 77%);
    }

    .mx-hero__inner {
        min-height: 660px;
        align-items: flex-start;
    }

    .mx-hero__content {
        width: 100%;
        padding: 48px 0 0;
    }

    .mx-hero__eyebrow {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .mx-hero h1 {
        max-width: 520px;
        font-size: clamp(36px, 11vw, 50px);
    }

    .mx-hero__lead {
        max-width: 500px;
        margin: 16px 0 22px;
        font-size: 16px;
    }

    .mx-hero__actions {
        gap: 10px;
    }

    .mx-hero__actions .mx-button {
        min-height: 48px;
        padding-inline: 16px;
    }

    .mx-benefits {
        grid-template-columns: 1fr;
        margin-top: -28px;
    }

    .mx-benefit {
        min-height: 84px;
        padding: 16px;
    }

    .mx-benefit + .mx-benefit {
        border-top: 1px solid var(--mx-line);
        border-left: 0;
    }

    .mx-benefit__mark {
        width: 42px;
        height: 42px;
    }

    .mx-category-grid,
    .mx-news-grid {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        padding: 2px 2px 14px;
        scroll-snap-type: x mandatory;
    }

    .mx-category-card,
    .mx-news-card {
        min-width: min(82vw, 330px);
        scroll-snap-align: start;
    }

    .mx-category-card__picture {
        height: 230px;
    }

    .mx-product-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mx-product-card {
        display: grid;
        grid-template-columns: 130px minmax(0, 1fr);
        column-gap: 14px;
    }

    .mx-product-card__picture {
        grid-row: 1 / span 5;
        aspect-ratio: auto;
        min-height: 164px;
    }

    .mx-product-card__stock {
        margin-top: 2px;
    }

    .mx-product-card__name {
        min-height: auto;
    }

    .mx-product-card__price {
        margin: 5px 0 10px;
        padding-top: 0;
        font-size: 21px;
    }

    .mx-organization {
        grid-template-columns: 1fr;
        min-height: 0;
        margin-block: 28px;
    }

    .mx-organization__content {
        padding: 28px 22px;
    }

    .mx-organization__visual {
        display: none;
    }

    .mx-production {
        gap: 10px;
    }

    .mx-production__visual {
        min-height: 250px;
    }

    .mx-production__content {
        padding: 20px 0;
    }

    .mx-footer {
        padding-top: 38px;
    }

    .mx-footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 22px;
    }

    .mx-footer__subscribe {
        grid-column: 1 / -1;
    }

    .mx-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

@media (max-width: 420px) {
    .mx-product-card {
        grid-template-columns: 112px minmax(0, 1fr);
        column-gap: 12px;
    }

    .mx-product-card__picture {
        min-height: 150px;
    }

    .mx-product-card__buy,
    .mx-catalog-card__buy,
    .mx-product-buy__actions {
        grid-template-columns: 1fr;
    }

    .mx-product-card__buy .mx-button,
    .mx-catalog-card__buy .mx-button,
    .mx-product-buy__actions .mx-button {
        width: 100%;
    }

    .mx-footer__grid {
        grid-template-columns: 1fr;
    }

    .mx-footer__subscribe {
        grid-column: auto;
    }
}

@media (max-width: 1180px) {
    .mx-catalog-root-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mx-subcategory-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .mx-catalog-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mx-product-detail__top {
        column-gap: 28px;
    }
}

@media (max-width: 900px) {
    body.mx-filter-open {
        overflow: hidden;
    }

    .mx-page-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .mx-page-heading__trust {
        justify-content: flex-start;
    }

    .mx-category-hero.has-picture.has-content {
        grid-template-columns: minmax(0, 1fr) 220px;
    }

    .mx-catalog-layout {
        grid-template-columns: 1fr;
    }

    .mx-filter-toggle {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        padding: 0 18px;
        color: #fff;
        background: var(--mx-blue);
        border: 0;
        border-radius: 8px;
        font-weight: 700;
    }

    .mx-filter-sidebar {
        position: fixed;
        z-index: 1200;
        inset: 0 auto 0 0;
        width: min(88vw, 360px);
        overflow-y: auto;
        padding: 16px;
        background: #fff;
        box-shadow: 20px 0 50px rgba(19, 33, 58, .2);
        transform: translateX(-102%);
        transition: transform .25s ease;
    }

    .mx-filter-sidebar.is-open {
        transform: translateX(0);
    }

    .mx-filter-sidebar__mobile-head {
        display: flex;
        min-height: 50px;
        align-items: center;
        justify-content: space-between;
    }

    .mx-filter-sidebar__mobile-head button {
        width: 40px;
        height: 40px;
        background: #eef2f6;
        border: 0;
        border-radius: 50%;
        font-size: 26px;
    }

    .mx-filter__title {
        display: none;
    }

    .mx-filter.has-quick-actions {
        padding-bottom: 124px;
    }

    .mx-filter-quick-actions {
        position: fixed;
        z-index: 25;
        right: 16px;
        bottom: max(16px, env(safe-area-inset-bottom));
        left: 16px;
        width: auto;
        padding: 12px;
        transform: translateY(10px);
    }

    .mx-filter-quick-actions::before {
        display: none;
    }

    .mx-filter-quick-actions.is-visible {
        transform: translateY(0);
    }

    .mx-product-detail__top {
        grid-template-columns: 1fr;
        grid-template-areas:
            "heading"
            "gallery"
            "summary";
        width: 100%;
        min-width: 0;
        max-width: 100%;
        row-gap: 24px;
        column-gap: 0;
    }

    .mx-product-gallery {
        width: 100%;
        min-width: 0;
        max-width: 760px;
    }

    .mx-product-trust {
        grid-template-columns: repeat(2, 1fr);
    }

    .mx-checkout-page #bx-soa-order {
        display: block;
    }

    .mx-checkout-page #bx-soa-order > .row {
        display: block;
    }

    .mx-checkout-page #bx-soa-total {
        position: static;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .mx-catalog-root,
    .mx-catalog-section,
    .mx-product-page {
        padding-bottom: 38px;
    }

    .mx-page-heading {
        padding-block: 20px 26px;
    }

    .mx-page-heading h1 {
        font-size: clamp(32px, 10vw, 44px);
    }

    .mx-product-heading h1,
    .mx-product-summary h1 {
        font-size: clamp(24px, 7vw, 30px);
        line-height: 1.16;
        letter-spacing: -.025em;
        overflow-wrap: anywhere;
    }

    .mx-catalog-root-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mx-catalog-root-card {
        display: grid;
        grid-template-columns: 120px 1fr;
    }

    .mx-catalog-root-card__picture {
        width: 120px;
        min-height: 0;
        align-self: start;
        aspect-ratio: 1 / 1;
    }

    .mx-catalog-root-card__body {
        padding: 16px;
    }

    .mx-catalog-root-card h2 {
        font-size: 18px;
    }

    .mx-catalog-root-card p {
        display: none;
    }

    .mx-catalog-organization {
        align-items: stretch;
        flex-direction: column;
        padding: 22px;
    }

    .mx-catalog-organization strong {
        font-size: 20px;
    }

    .mx-category-hero,
    .mx-category-hero.has-picture {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .mx-category-title {
        margin: 18px 0 16px;
        font-size: clamp(27px, 8vw, 34px);
        line-height: 1.12;
    }

    .mx-category-hero__content {
        min-width: 0;
        padding: 0;
    }

    .mx-category-hero.has-picture.has-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .mx-category-hero__description {
        position: relative;
        max-width: none;
        max-height: 3.2em;
        overflow: hidden;
        font-size: 15px;
        line-height: 1.6;
    }

    .mx-category-hero__description::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 1.2em;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 88%);
        pointer-events: none;
    }

    .mx-category-hero__description.is-expanded {
        max-height: none;
    }

    .mx-category-hero__description.is-expanded::after {
        display: none;
    }

    .mx-category-hero__description p {
        margin: 0;
    }

    .mx-category-hero__description p + p {
        margin-top: .8em;
    }

    .mx-category-hero__more {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        padding: 0 16px;
        margin-top: 8px;
        color: var(--mx-blue);
        background: var(--mx-blue-soft);
        border: 0;
        border-radius: 8px;
        font-weight: 800;
    }

    .mx-category-hero img {
        display: none;
    }

    .mx-category-hero.has-picture:not(.has-content) {
        display: none;
    }

    .mx-category-hero__benefits {
        gap: 6px;
    }

    .mx-category-hero__benefits span {
        padding: 7px 9px;
        font-size: 11px;
    }

    .mx-category-text {
        padding: 22px 20px;
        margin-top: 28px;
    }

    .mx-category-text h2 {
        margin-bottom: 18px;
    }

    .mx-category-text__content {
        font-size: 15px;
        line-height: 1.65;
    }

    .mx-category-text__content h3,
    .mx-category-text__content h4 {
        margin-top: 24px;
    }

    .mx-subcategory-list {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 10px;
    }

    .mx-subcategory {
        min-width: 145px;
    }

    .mx-catalog-toolbar {
        flex-wrap: wrap;
        padding: 10px 0;
    }

    .mx-catalog-toolbar__count {
        display: none;
    }

    .mx-catalog-sort {
        width: 100%;
        margin-left: 0;
    }

    .mx-catalog-sort label {
        display: none;
    }

    .mx-catalog-sort select {
        width: 100%;
    }

    .mx-catalog-product-grid {
        min-width: 0;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mx-catalog-results,
    .mx-catalog-layout,
    .mx-catalog-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .mx-cart-modal {
        padding: 12px;
    }

    .mx-cart-modal__dialog {
        padding: 34px 20px 22px;
        border-radius: 18px;
    }

    .mx-cart-modal h2 {
        padding-inline: 24px;
        font-size: 23px;
    }

    .mx-cart-modal__actions {
        grid-template-columns: 1fr;
    }

    .mx-catalog-card {
        display: grid;
        grid-template-columns: minmax(105px, 34%) minmax(0, 1fr);
        column-gap: 14px;
        row-gap: 0;
        padding: 14px;
    }

    .mx-catalog-card__picture {
        grid-column: 1;
        grid-row: 2 / span 3;
        width: 100%;
        min-height: 0;
        align-self: start;
        aspect-ratio: 1 / 1;
    }

    .mx-catalog-card__picture img {
        object-fit: cover;
    }

    .mx-catalog-card .mx-product-card__stock {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        margin: 0 0 7px;
    }

    .mx-catalog-card h2 {
        grid-column: 1 / -1;
        grid-row: 1;
        min-height: 0;
        margin: 0 0 13px;
        font-size: 15px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .mx-catalog-card__price {
        grid-column: 2;
        grid-row: 3;
        align-self: start;
        margin: 0 0 7px;
        padding: 0;
        min-width: 0;
        font-size: 17px;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .mx-catalog-card .mx-product-card__package {
        grid-column: 2;
        grid-row: 4;
        align-self: start;
        gap: 3px;
        margin: 0;
        font-size: 11px;
        overflow-wrap: anywhere;
    }

    .mx-catalog-card__offer {
        grid-column: 1 / -1;
        grid-row: 5;
        min-width: 0;
        margin: 13px 0 0;
    }

    .mx-catalog-card__offer select {
        height: 44px;
        font-size: 12px;
    }

    .mx-catalog-card__buy,
    .mx-catalog-card > .mx-button {
        grid-column: 1 / -1;
        grid-row: 6;
        margin-top: 14px;
    }

    .mx-catalog-card__buy {
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .mx-quantity-control__button:active {
        color: #fff;
        background: var(--mx-blue);
    }

    .mx-catalog-card .mx-button {
        min-width: 0;
        padding-inline: 8px;
    }

    .mx-product-card__buy {
        grid-column: 1 / -1;
        grid-template-columns: minmax(132px, .95fr) minmax(0, 1.05fr);
    }

    .mx-product-card__name,
    .mx-product-card__price,
    .mx-product-card__package,
    .mx-product-summary,
    .mx-product-buy,
    .mx-product-buy__actions,
    .mx-product-summary__short-props dt,
    .mx-product-summary__short-props dd,
    .mx-product-properties dt,
    .mx-product-properties dd {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .mx-product-gallery {
        display: flex;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        flex-direction: column-reverse;
    }

    .mx-product-gallery__thumbs {
        display: flex;
        max-width: 100%;
        overflow-x: auto;
    }

    .mx-product-gallery__thumbs button {
        flex: 0 0 68px;
        width: 68px;
        height: 68px;
    }

    .mx-product-summary__short-props div,
    .mx-product-properties div {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .mx-product-summary__service,
    .mx-product-trust {
        grid-template-columns: 1fr;
    }

    .mx-product-trust {
        margin-top: 26px;
    }

    .mx-product-tabs {
        gap: 18px;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .mx-product-tabs button {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .mx-commerce-heading {
        min-height: 90px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 8px;
    }

    .mx-auth-page {
        min-height: 0;
        padding: 28px 12px 48px;
    }

    .mx-auth-card {
        padding: 24px 18px;
    }

    .mx-auth-form__links {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .mx-search-page__form {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .mx-search-page__form .mx-button {
        width: 100%;
    }

    .mx-commerce-page .basket-items-list-wrapper {
        overflow-x: auto;
    }

    .mx-pagination {
        gap: 6px;
        padding-top: 24px;
    }

    .mx-pagination a,
    .mx-pagination span {
        width: 38px;
        height: 38px;
    }

    .mx-product-review-panel,
    .mx-product-review-panel .reviews-block-container,
    .mx-product-review-panel .reviews-block-outer,
    .mx-product-review-panel .reviews-block-inner,
    .mx-product-review-panel .reviews-post-table,
    .mx-product-review-panel .reviews-reply-form,
    .mx-product-review-panel textarea,
    .mx-product-review-panel input,
    .mx-product-review-panel select {
        max-width: 100%;
    }

    .mx-checkout-page .bx-soa-section-content {
        padding: 16px !important;
    }
}

/* Content pages */
.mx-content-page,
.mx-info-page {
    padding-bottom: 72px;
}

.mx-materials-page,
.mx-material-page,
.mx-reviews-page {
    padding-bottom: 72px;
}

.mx-content-heading {
    display: flex;
    min-height: 210px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    padding: 34px 0 42px;
}

.mx-content-heading > div {
    max-width: 820px;
}

.mx-content-heading h1,
.mx-about-hero h1,
.mx-error-page h1 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.05;
    letter-spacing: -.045em;
}

.mx-content-heading p:not(.mx-content-heading__eyebrow),
.mx-about-hero > div > p:not(.mx-content-heading__eyebrow) {
    max-width: 720px;
    margin: 18px 0 0;
    color: var(--mx-muted);
    font-size: 18px;
}

.mx-content-heading__eyebrow {
    margin: 0 0 12px;
    color: var(--mx-blue);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mx-about-hero {
    display: grid;
    min-height: 520px;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    overflow: hidden;
    margin: 20px 0 28px;
    background: var(--mx-warm);
    border-radius: var(--mx-radius-lg);
}

.mx-about-hero > div:first-child {
    align-self: center;
    padding: clamp(34px, 6vw, 80px);
}

.mx-about-hero .mx-button {
    margin-top: 28px;
}

.mx-about-hero__visual,
.mx-content-feature__visual {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    background:
        radial-gradient(circle at 68% 30%, rgba(255, 255, 255, .82) 0 7%, transparent 8%),
        linear-gradient(145deg, rgba(11, 95, 215, .18), transparent 45%),
        repeating-linear-gradient(124deg, #dbe8f7 0 22px, #edf4fa 22px 44px);
}

.mx-about-hero__visual::before,
.mx-content-feature__visual::before {
    position: absolute;
    inset: 13% 12% 14% 14%;
    content: "";
    background: linear-gradient(135deg, var(--mx-blue), #71a6e9);
    border-radius: 50% 12% 42% 18%;
    box-shadow: 34px 28px 0 rgba(255, 122, 34, .9);
    transform: rotate(-7deg);
}

.mx-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    overflow: hidden;
    margin: 28px 0 88px;
    background: var(--mx-line);
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-fact-grid div {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 24px;
    background: #fff;
}

.mx-fact-grid strong {
    color: var(--mx-blue);
    font-family: Manrope, Inter, sans-serif;
    font-size: 34px;
}

.mx-fact-grid span {
    color: var(--mx-muted);
}

.mx-content-split,
.mx-content-feature {
    display: grid;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
    gap: clamp(34px, 8vw, 120px);
    margin: 72px 0;
}

.mx-content-split h2,
.mx-content-feature h2,
.mx-info-content--wide h2 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.mx-prose {
    max-width: 780px;
    color: #445067;
    font-size: 18px;
}

.mx-prose p:first-child {
    margin-top: 0;
}

.mx-content-feature {
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
    align-items: center;
    padding: clamp(22px, 4vw, 48px);
    background: var(--mx-blue-soft);
    border-radius: var(--mx-radius-lg);
}

.mx-content-feature__visual {
    min-height: 410px;
    border-radius: var(--mx-radius);
}

.mx-check-list {
    display: grid;
    gap: 12px;
    margin: 26px 0 30px;
    padding: 0;
    list-style: none;
}

.mx-check-list li {
    position: relative;
    padding-left: 30px;
}

.mx-check-list li::before {
    position: absolute;
    top: 2px;
    left: 0;
    display: grid;
    width: 21px;
    height: 21px;
    place-items: center;
    color: #fff;
    content: "✓";
    background: var(--mx-success);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 900;
}

.mx-contact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.mx-contact-card {
    display: flex;
    min-height: 190px;
    flex-direction: column;
    padding: 26px;
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
}

.mx-contact-card > span {
    margin-bottom: auto;
    color: var(--mx-muted);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.mx-contact-card strong {
    margin: 18px 0 8px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 20px;
    line-height: 1.25;
}

.mx-contact-card small {
    color: var(--mx-muted);
}

.mx-contact-team {
    margin: 46px 0;
}

.mx-contact-team__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 22px;
}

.mx-contact-team__head p,
.mx-contact-requisites__head p {
    margin: 0 0 5px;
    color: var(--mx-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mx-contact-team__head h2,
.mx-contact-requisites__head h2 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.2;
}

.mx-contact-team__head > span {
    max-width: 430px;
    color: var(--mx-muted);
    font-size: 14px;
}

.mx-contact-team__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.mx-contact-manager {
    display: flex;
    min-height: 260px;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-contact-manager--business {
    background: linear-gradient(145deg, #f5f9ff, #edf5ff);
    border-color: #d2e2f7;
}

.mx-contact-manager__avatar {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    margin-bottom: 22px;
    color: #fff;
    background: var(--mx-blue-dark);
    border-radius: 14px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 17px;
    font-weight: 800;
}

.mx-contact-manager small {
    color: var(--mx-muted);
    font-size: 12px;
}

.mx-contact-manager h3 {
    margin: 4px 0 9px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 21px;
}

.mx-contact-manager a {
    color: var(--mx-blue-dark);
    font-size: 17px;
    font-weight: 800;
}

.mx-contact-manager p {
    margin: auto 0 0;
    padding-top: 18px;
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-contact-main {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    overflow: hidden;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius-lg);
}

.mx-contact-main__info {
    padding: clamp(30px, 5vw, 60px);
}

.mx-contact-main__info h2 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: 38px;
}

.mx-contact-main__info > p {
    margin: 14px 0 26px;
    color: var(--mx-muted);
}

.mx-contact-office-list {
    display: grid;
    gap: 11px;
    padding: 0;
    margin: 0 0 28px;
}

.mx-contact-office-list div {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
}

.mx-contact-office-list dt {
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-contact-office-list dd {
    margin: 0;
    color: var(--mx-ink);
    font-weight: 700;
}

.mx-contact-office-list a {
    color: var(--mx-blue-dark);
}

.mx-contact-note {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid var(--mx-line);
}

.mx-contact-note span {
    color: var(--mx-muted);
}

.mx-contact-main__map {
    min-height: 480px;
    background: var(--mx-blue-soft);
}

.mx-contact-main__map iframe,
.mx-contact-main__map > * {
    width: 100% !important;
    height: 100% !important;
    min-height: 480px;
    border: 0;
}

.mx-contact-requisites {
    padding: clamp(28px, 4vw, 46px);
    margin: 44px 0 72px;
    background: var(--mx-warm);
    border-radius: var(--mx-radius-lg);
}

.mx-contact-requisites__head {
    padding-bottom: 22px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--mx-line);
}

.mx-contact-requisites__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 48px;
}

.mx-contact-requisites dl {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 0;
}

.mx-contact-requisites dl div {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 16px;
}

.mx-contact-requisites dt {
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-contact-requisites dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 700;
}

.mx-info-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: clamp(36px, 7vw, 100px);
    align-items: start;
}

.mx-info-nav {
    position: sticky;
    top: 24px;
    display: grid;
    padding: 18px;
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
}

.mx-info-nav strong {
    padding: 10px 12px 16px;
}

.mx-info-nav a {
    padding: 12px;
    color: var(--mx-muted);
    border-radius: var(--mx-radius-sm);
    font-weight: 650;
}

.mx-info-nav a:hover,
.mx-info-nav a.is-active {
    color: var(--mx-blue);
    background: #fff;
}

.mx-info-content {
    display: grid;
    gap: 0;
}

.mx-info-content > section {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 20px;
    padding: 0 0 36px;
    margin-bottom: 36px;
    border-bottom: 1px solid var(--mx-line);
}

.mx-info-content__number,
.mx-numbered-steps > article > span {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    color: var(--mx-blue);
    background: var(--mx-blue-soft);
    border-radius: 50%;
    font-weight: 800;
}

.mx-info-content h2,
.mx-info-content h3 {
    margin: 0 0 10px;
    font-family: Manrope, Inter, sans-serif;
}

.mx-info-content h2 {
    font-size: 28px;
}

.mx-info-content p {
    margin: 0;
    color: var(--mx-muted);
}

.mx-payment-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.mx-payment-badges span {
    padding: 8px 12px;
    background: var(--mx-warm);
    border: 1px solid var(--mx-line);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
}

.mx-info-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 28px 30px;
    background: var(--mx-blue-soft);
    border-radius: var(--mx-radius);
}

.mx-info-content .mx-info-callout {
    display: block;
}

.mx-info-callout strong {
    display: block;
    margin-bottom: 5px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 21px;
}

.mx-info-callout p {
    margin: 0;
    color: var(--mx-muted);
}

.mx-help-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 0 0 72px;
}

.mx-help-card {
    display: flex;
    min-height: 290px;
    flex-direction: column;
    padding: 28px;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.mx-help-card:hover {
    border-color: transparent;
    box-shadow: var(--mx-shadow);
    transform: translateY(-3px);
}

.mx-help-card > span {
    color: var(--mx-blue);
    font-weight: 800;
}

.mx-help-card h2 {
    margin: 42px 0 10px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 28px;
}

.mx-help-card p {
    margin: 0 0 24px;
    color: var(--mx-muted);
}

.mx-help-card strong {
    margin-top: auto;
    color: var(--mx-blue);
}

.mx-info-content--wide {
    max-width: 1060px;
    margin: 0 auto 38px;
    padding: clamp(28px, 5vw, 60px);
    background: var(--mx-warm);
    border-radius: var(--mx-radius-lg);
}

.mx-numbered-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 48px;
    margin-top: 40px;
}

.mx-numbered-steps article {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 16px;
}

.mx-numbered-steps h3 {
    margin: 0 0 6px;
}

.mx-numbered-steps p {
    margin: 0;
    color: var(--mx-muted);
}

.mx-material-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.mx-material-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-material-card__picture {
    display: block;
    aspect-ratio: 1.58;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(11, 95, 215, .12), rgba(255, 122, 34, .12)),
        var(--mx-warm);
}

.mx-material-card__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.mx-material-card:hover .mx-material-card__picture img {
    transform: scale(1.035);
}

.mx-material-card__body {
    padding: 24px;
}

.mx-material-card time,
.mx-material-detail time,
.mx-review-card time {
    display: block;
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-material-card h2 {
    margin: 10px 0;
    font-family: Manrope, Inter, sans-serif;
    font-size: 22px;
    line-height: 1.25;
}

.mx-material-card p {
    min-height: 72px;
    margin: 0 0 20px;
    color: var(--mx-muted);
}

.mx-material-detail {
    max-width: 1040px;
    margin: 0 auto;
}

.mx-material-detail__head {
    max-width: 850px;
    padding: 34px 0 38px;
}

.mx-material-detail__head h1 {
    margin: 10px 0 18px;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.06;
    letter-spacing: -.04em;
}

.mx-material-detail__head p {
    color: var(--mx-muted);
    font-size: 19px;
}

.mx-material-detail__cover {
    width: 100%;
    max-height: 680px;
    object-fit: cover;
    border-radius: var(--mx-radius-lg);
}

.mx-material-detail__content {
    max-width: 820px;
    margin: 46px auto;
    color: #36435a;
    font-size: 18px;
}

.mx-material-detail__content h2,
.mx-material-detail__content h3 {
    color: var(--mx-ink);
    font-family: Manrope, Inter, sans-serif;
}

.mx-material-detail__content img {
    height: auto;
    margin: 26px 0;
    border-radius: var(--mx-radius);
}

.mx-material-detail__footer {
    max-width: 820px;
    margin: 0 auto;
}

.mx-material-page--service .mx-material-detail,
.mx-material-page--service .mx-material-detail__head,
.mx-material-page--service .mx-material-detail__content,
.mx-material-page--service .mx-material-detail__footer {
    width: 100%;
    max-width: none;
}

.mx-material-page--service .mx-material-detail__content {
    margin-inline: 0;
}

.mx-material-steps {
    display: grid;
    max-width: 920px;
    gap: 24px;
    margin: 0 auto 46px;
}

.mx-material-step {
    padding: clamp(22px, 4vw, 40px);
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
}

.mx-material-step__number {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 6px 10px;
    color: var(--mx-blue);
    background: var(--mx-blue-soft);
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mx-material-step__content {
    color: #36435a;
    font-size: 17px;
}

.mx-material-step__content > :first-child {
    margin-top: 0;
}

.mx-material-step__content > :last-child {
    margin-bottom: 0;
}

.mx-material-step__images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.mx-material-step__images img {
    width: 100%;
    height: auto;
    border-radius: var(--mx-radius-sm);
}

.mx-content-empty {
    padding: 56px 24px;
    text-align: center;
    background: var(--mx-warm);
    border-radius: var(--mx-radius);
}

.mx-content-empty strong {
    display: block;
    font-family: Manrope, Inter, sans-serif;
    font-size: 24px;
}

.mx-content-empty p {
    margin: 8px 0 0;
    color: var(--mx-muted);
}

.mx-review-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.mx-review-card {
    padding: 28px;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-review-card__head {
    display: grid;
    grid-template-columns: 46px 1fr auto;
    align-items: center;
    gap: 12px;
}

.mx-review-card__avatar {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    color: #fff;
    background: var(--mx-blue);
    border-radius: 50%;
    font-family: Manrope, Inter, sans-serif;
    font-size: 20px;
    font-weight: 800;
}

.mx-review-card__rating {
    color: var(--mx-orange);
    letter-spacing: .08em;
}

.mx-review-card__message {
    margin-top: 24px;
    color: #445067;
}

.mx-review-card__response {
    margin-top: 24px;
    padding: 18px;
    background: var(--mx-blue-soft);
    border-radius: var(--mx-radius-sm);
}

.mx-review-card__response p {
    margin: 6px 0 0;
    color: var(--mx-muted);
}

.mx-product-reviews-summary {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 0 0 22px;
    color: var(--mx-muted);
    border-bottom: 1px solid var(--mx-line);
}

.mx-product-reviews-summary strong {
    color: var(--mx-blue-dark);
    font-family: Manrope, Inter, sans-serif;
    font-size: 28px;
}

.mx-product-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding-top: 24px;
}

.mx-product-review {
    display: flex;
    min-width: 0;
    min-height: 330px;
    flex-direction: column;
    padding: 26px;
    background: #fff;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius);
}

.mx-product-review__head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mx-product-review__avatar {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    color: #fff;
    background: var(--mx-blue-dark);
    border-radius: 50%;
    font-family: Manrope, Inter, sans-serif;
    font-size: 17px;
    font-weight: 800;
}

.mx-product-review__head strong,
.mx-product-review__head time {
    display: block;
}

.mx-product-review__head strong {
    font-family: Manrope, Inter, sans-serif;
}

.mx-product-review__head time {
    margin-top: 2px;
    color: var(--mx-muted);
    font-size: 13px;
}

.mx-product-review__text {
    padding: 22px 0 26px;
    color: #36435a;
    line-height: 1.65;
}

.mx-product-review__product {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 15px;
    padding: 12px;
    margin-top: auto;
    background: var(--mx-blue-soft);
    border-radius: 10px;
    transition: background-color .2s ease, transform .2s ease;
}

.mx-product-review__product:hover {
    background: #e1efff;
    transform: translateY(-1px);
}

.mx-product-review__product img,
.mx-product-review__product-placeholder {
    width: 72px;
    height: 72px;
    border-radius: 8px;
}

.mx-product-review__product img {
    object-fit: cover;
}

.mx-product-review__product-placeholder {
    display: grid;
    place-items: center;
    color: var(--mx-blue-dark);
    background: #fff;
    font-weight: 800;
}

.mx-product-review__product > span:last-child {
    min-width: 0;
}

.mx-product-review__product small,
.mx-product-review__product strong,
.mx-product-review__product em {
    display: block;
}

.mx-product-review__product small {
    margin-bottom: 3px;
    color: var(--mx-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.mx-product-review__product strong {
    display: -webkit-box;
    overflow: hidden;
    font-family: Manrope, Inter, sans-serif;
    font-size: 14px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mx-product-review__product em {
    margin-top: 5px;
    color: var(--mx-blue);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.mx-error-page {
    display: grid;
    min-height: 670px;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(42px, 8vw, 120px);
    padding-block: 72px;
}

.mx-error-page__code {
    color: var(--mx-blue-soft);
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(130px, 20vw, 300px);
    font-weight: 900;
    line-height: .8;
    letter-spacing: -.1em;
}

.mx-error-page__content > p:not(.mx-content-heading__eyebrow) {
    max-width: 630px;
    color: var(--mx-muted);
    font-size: 18px;
}

.mx-error-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0;
}

.mx-error-search {
    display: grid;
    max-width: 620px;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding-top: 28px;
    border-top: 1px solid var(--mx-line);
}

.mx-error-search input {
    min-width: 0;
    min-height: 50px;
    padding: 12px 16px;
    border: 1px solid var(--mx-line);
    border-radius: var(--mx-radius-sm);
}

@media (max-width: 1023px) {
    .mx-fact-grid,
    .mx-contact-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mx-material-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mx-contact-team__grid,
    .mx-contact-requisites__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mx-about-hero {
        grid-template-columns: 1fr .72fr;
    }

    .mx-content-split,
    .mx-content-feature {
        gap: 38px;
    }
}

@media (max-width: 767px) {
    .mx-content-page,
    .mx-info-page {
        padding-bottom: 44px;
    }

    .mx-content-heading {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        padding: 24px 0 30px;
    }

    .mx-content-heading h1,
    .mx-about-hero h1,
    .mx-error-page h1 {
        font-size: clamp(34px, 11vw, 46px);
    }

    .mx-content-heading p:not(.mx-content-heading__eyebrow) {
        font-size: 16px;
    }

    .mx-about-hero,
    .mx-content-split,
    .mx-content-feature,
    .mx-contact-main,
    .mx-info-layout,
    .mx-error-page {
        grid-template-columns: 1fr;
    }

    .mx-contact-team {
        margin: 34px 0;
    }

    .mx-contact-team__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .mx-contact-team__grid,
    .mx-contact-requisites__grid {
        grid-template-columns: 1fr;
    }

    .mx-contact-manager {
        min-height: 0;
    }

    .mx-contact-manager p {
        margin-top: 12px;
    }

    .mx-contact-office-list div,
    .mx-contact-requisites dl div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .mx-contact-requisites {
        margin: 32px 0 48px;
    }

    .mx-about-hero {
        min-height: 0;
    }

    .mx-about-hero > div:first-child {
        padding: 28px 22px 10px;
    }

    .mx-about-hero__visual {
        min-height: 260px;
    }

    .mx-fact-grid {
        margin: 20px 0 52px;
    }

    .mx-fact-grid div {
        min-height: 125px;
        padding: 18px;
    }

    .mx-fact-grid strong {
        font-size: 27px;
    }

    .mx-content-split,
    .mx-content-feature {
        margin: 48px 0;
    }

    .mx-content-feature {
        padding: 18px;
    }

    .mx-content-feature__visual {
        min-height: 270px;
    }

    .mx-contact-main__map,
    .mx-contact-main__map iframe,
    .mx-contact-main__map > * {
        min-height: 320px;
    }

    .mx-info-nav {
        position: static;
        display: flex;
        overflow-x: auto;
        padding: 8px;
    }

    .mx-info-nav strong {
        display: none;
    }

    .mx-info-nav a {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .mx-info-content > section {
        grid-template-columns: 46px 1fr;
        gap: 14px;
    }

    .mx-info-content__number,
    .mx-numbered-steps > article > span {
        width: 42px;
        height: 42px;
    }

    .mx-help-grid,
    .mx-material-grid,
    .mx-review-grid,
    .mx-product-review-grid,
    .mx-numbered-steps {
        grid-template-columns: 1fr;
    }

    .mx-help-grid {
        margin-bottom: 48px;
    }

    .mx-help-card {
        min-height: 230px;
    }

    .mx-info-callout {
        align-items: flex-start;
        flex-direction: column;
    }

    .mx-material-card p {
        min-height: 0;
    }

    .mx-material-step__images {
        grid-template-columns: 1fr;
    }

    .mx-review-card__head {
        grid-template-columns: 44px 1fr;
    }

    .mx-review-card__rating {
        grid-column: 2;
    }

    .mx-product-review {
        min-height: 0;
        padding: 20px;
    }

    .mx-product-review__text {
        padding: 18px 0 22px;
    }

    .mx-error-page {
        min-height: 0;
        gap: 30px;
        padding-block: 36px 58px;
    }

    .mx-error-page__code {
        font-size: 120px;
    }

    .mx-error-search {
        grid-template-columns: 1fr;
    }

    .mx-product-review-panel__head {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
        margin-bottom: 18px;
    }

    .mx-product-review-panel__add {
        width: 100%;
    }

    .mx-product-review-panel__head h2 {
        font-size: 22px;
    }

    .mx-product-review-panel .reviews-post-table thead td {
        padding: 17px 17px 10px;
    }

    .mx-product-review-panel .reviews-text {
        padding: 0 17px 18px;
    }

    .mx-product-review-panel .reviews-message-img {
        max-width: min(100%, 260px);
    }

    .mx-product-review-panel .reviews-reply-form {
        padding: 18px;
    }

    .mx-product-review-panel .reviews-reply-field-user,
    .mx-product-review-panel .reviews-reply-field-captcha {
        grid-template-columns: 1fr;
    }

    .mx-product-review-panel .reviews-form-switcher,
    .mx-product-review-panel .reviews-reply-buttons input[type="submit"] {
        width: 100%;
    }
}

@media (max-width: 479px) {
    .mx-fact-grid,
    .mx-contact-grid {
        grid-template-columns: 1fr;
    }

    .mx-contact-card {
        min-height: 155px;
    }
}

@media (max-width: 420px) {
    .mx-product-card__buy,
    .mx-catalog-card__buy,
    .mx-product-buy__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}