/* 1001optom storefront styles
   Single modern stylesheet.
   No legacy imports, no layered fallbacks. */

:root {
    --layout-max: 1320px;
    --header-max-width: calc(var(--layout-max) * 0.8);
    --layout-gutter: 12px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --shadow-sm: 0 8px 20px rgba(20, 35, 52, 0.08);
    --shadow-md: 0 14px 36px rgba(20, 35, 52, 0.14);

    --bg-page: #f5f6f8;
    --bg-surface: #ffffff;
    --bg-muted: #f1f3f5;
    --bg-soft: #eceef1;

    --text-main: #242b35;
    --text-strong: #19202a;
    --text-muted: #6e7886;
    --text-light: #9aa3af;

    --line: #e3e7ec;
    --line-strong: #d6dde5;

    --brand: #21a67d;
    --brand-hover: #188c67;
    --brand-dark: #137351;
    --danger: #c14646;
    --focus: #2ea8dc;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto/Roboto-Variable.0db2a8485c8f.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 75% 100%;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/roboto/Roboto-Italic-Variable.3c7c2d0308f3.ttf") format("truetype");
    font-style: italic;
    font-weight: 100 900;
    font-stretch: 75% 100%;
    font-display: swap;
}

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

html,
body {
    margin: 0;
    padding: 0;
}

body {
    min-width: 320px;
    background: var(--bg-page);
    color: var(--text-main);
    font-family: "Roboto", Arial, sans-serif;
    line-height: 1.45;
}

body.modal-opened {
    overflow: hidden;
}

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

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

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

input,
button,
select,
textarea {
    font: inherit;
    color: inherit;
}

input:focus,
button:focus,
select:focus,
textarea:focus,
a:focus {
    outline: none;
}

input:focus-visible,
button:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 2px;
}

hr {
    margin: 0;
    border: 0;
    border-top: 1px solid var(--line);
}

.skip-link {
    position: absolute;
    top: -999px;
    left: 12px;
    z-index: 9999;
    background: #111827;
    color: #fff;
    border-radius: 8px;
    padding: 8px 12px;
}

.skip-link:focus {
    top: 8px;
}

/* ---- Layout helpers ---- */

.wrapper_inner,
.maxwidth-theme,
.container {
    width: min(var(--layout-max), calc(100% - 32px));
    margin-left: auto;
    margin-right: auto;
}

.wrapper_inner.front.wide_page.modern-page.modern-page--home,
.wrapper_inner.modern-page.modern-page--catalog,
.wrapper_inner.modern-page.modern-page--product,
.wrapper_inner.wide_page.modern-page {
    width: min(var(--layout-max), calc(100% - 32px));
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--layout-gutter) * -1);
    margin-right: calc(var(--layout-gutter) * -1);
}

.row > [class*="col-"] {
    width: 100%;
    min-width: 0;
    padding-left: var(--layout-gutter);
    padding-right: var(--layout-gutter);
}

.clearleft,
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.pull-left,
.pull-right {
    float: none !important;
}

.collapse {
    display: none;
}

.collapse.in {
    display: block;
}

.visible-xs {
    display: block !important;
}

.visible-sm,
.visible-md,
.visible-lg,
.hidden-xs {
    display: none !important;
}

.hidden-sm {
    display: block !important;
}

.site-main {
    display: block;
}

.middle {
    padding-bottom: 38px;
}

/* ---- Buttons ---- */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 20px;
    border-radius: 12px;
    border: 1px solid #1b9d75;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, filter 0.2s ease;
}

.btn:hover {
    transform: translateY(-1px);
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(23, 130, 96, 0.24);
}

.btn.btn-default,
.btn.btn-primary {
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    border-color: #1b9d75;
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.btn.btn-default:hover,
.btn.btn-primary:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.btn.btn-default.to-cart {
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    border-color: #1b9d75;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.btn.btn-default.to-cart:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.btn.btn-default.to-cart:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(23, 130, 96, 0.24);
}

.btn.btn-default.to-cart::before {
    content: "";
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 2.5a.9.9 0 0 0 0 1.8h1.4c.6 0 .8.2 1 .7l.3 1.2H5.7a1.9 1.9 0 0 0-1.8 2.4l1.6 5.7a2.4 2.4 0 0 0 2.3 1.8h8.2a2.4 2.4 0 0 0 2.3-1.8l1.6-5.7a1.9 1.9 0 0 0-1.8-2.4h-4.6L13.1 4c-.3-1-1.1-1.5-2.1-1.5H9Zm-.8 7.1h9.5l-1.2 4.4a.6.6 0 0 1-.6.4H8a.6.6 0 0 1-.6-.4L6.2 9.6Zm.8 8.3a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6Zm6 0a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 2.5a.9.9 0 0 0 0 1.8h1.4c.6 0 .8.2 1 .7l.3 1.2H5.7a1.9 1.9 0 0 0-1.8 2.4l1.6 5.7a2.4 2.4 0 0 0 2.3 1.8h8.2a2.4 2.4 0 0 0 2.3-1.8l1.6-5.7a1.9 1.9 0 0 0-1.8-2.4h-4.6L13.1 4c-.3-1-1.1-1.5-2.1-1.5H9Zm-.8 7.1h9.5l-1.2 4.4a.6.6 0 0 1-.6.4H8a.6.6 0 0 1-.6-.4L6.2 9.6Zm.8 8.3a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6Zm6 0a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.btn.btn-default.to-cart > span {
    display: inline-block;
    line-height: 1;
}

.catalog-card-action-row .btn.btn-default.to-cart,
.catalog-table-row .btn.btn-default.to-cart {
    position: relative;
    gap: 0;
    justify-content: center;
}

.catalog-card-action-row .btn.btn-default.to-cart > span,
.catalog-table-row .btn.btn-default.to-cart > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.btn.btn-xs {
    min-height: 34px;
    padding: 0 12px;
    font-size: 14px;
}

.btn.btn-sm {
    min-height: 36px;
    padding: 0 14px;
    font-size: 14px;
}

.btn.btn-lg {
    min-height: 48px;
    padding: 0 22px;
    font-size: 17px;
}

/* ---- Alerts/messages ---- */

.messages-box {
    margin: 18px 0;
}

.alert {
    margin: 0 0 10px;
    border-radius: 10px;
    border: 1px solid transparent;
    padding: 12px 14px;
    font-size: 14px;
}

.alert:last-child {
    margin-bottom: 0;
}

.alert-info {
    background: #eaf5ff;
    color: #174b72;
    border-color: #cce5fa;
}

.alert-warning {
    background: #fff5df;
    color: #644d14;
    border-color: #f3dfad;
}

.alert-danger {
    background: #fff0f0;
    color: #7d2525;
    border-color: #efc5c5;
}

/* ---- Header: top line ---- */

.header_wrap {
    position: sticky;
    top: 0;
    z-index: 150;
    background: #fff;
}

.top-block.top-block-v1 {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.top-block.top-block-v1 .maxwidth-theme {
    width: min(var(--layout-max), calc(100% - 24px));
}

.top-block .wrapp_block {
    min-height: 48px;
    font-size: 15px;
    line-height: 24px;
    display: flex;
    align-items: center;
}

.top-block .row {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: auto 1fr auto auto auto;
    gap: 10px 22px;
    align-items: center;
}

.top-block .top-block-item {
    width: auto;
    padding: 0;
    min-height: 0;
}

.top-block .phone-block {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    white-space: nowrap;
}

.phone-block__item-link {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    font-weight: 700;
    font-size: 15px;
    line-height: 18px;
    color: var(--text-strong);
}

.callback-block {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--brand);
    font-weight: 400;
    font-size: 15px;
    line-height: 18px;
    cursor: pointer;
}

.callback-block:hover,
.callback-block:focus-visible {
    color: var(--brand-strong);
}

.callback-modal {
    position: fixed;
    inset: 0;
    z-index: 2600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(12, 18, 28, 0.52);
}

.callback-modal.is-hidden {
    display: none;
}

.callback-modal__dialog {
    position: relative;
    width: min(460px, 100%);
    border-radius: 16px;
    border: 1px solid var(--line-soft);
    background: #fff;
    padding: 24px;
    box-shadow: 0 24px 64px rgba(12, 18, 28, 0.24);
}

.callback-modal__close {
    position: absolute;
    top: 8px;
    right: 10px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    color: #6f7a8d;
    cursor: pointer;
}

.callback-modal__dialog h3 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.1;
    color: var(--text-strong);
}

.callback-modal__subtitle {
    margin: 0 0 16px;
    color: #6f7a8d;
    font-size: 15px;
}

.callback-modal__form {
    display: grid;
    gap: 12px;
}

.callback-modal__field {
    display: grid;
    gap: 6px;
}

.callback-modal__field label {
    font-size: 14px;
    color: var(--text-strong);
    font-weight: 600;
}

.callback-modal__field input,
.callback-modal__field textarea {
    width: 100%;
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 15px;
    line-height: 1.3;
    color: var(--text-strong);
    background: #fff;
}

.callback-modal__field textarea {
    resize: vertical;
}

.callback-modal__policy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: #6f7a8d;
}

.callback-modal__policy input {
    margin-top: 2px;
}

.callback-modal__submit {
    justify-self: start;
}

.address {
    color: #5f6774;
    font-size: 15px;
    line-height: 24px;
    white-space: nowrap;
}

.top-btn,
.top-block .top-ctrl a,
.personal-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: none;
    padding: 0;
    color: var(--text-strong);
    cursor: pointer;
    font-size: 15px;
    line-height: 18px;
}

.top-btn:hover,
.top-block .top-ctrl a:hover,
.personal-link:hover {
    color: var(--brand);
}

.svg {
    display: inline-flex;
    width: 16px;
    height: 16px;
    align-items: center;
    justify-content: center;
    color: currentColor;
    flex: 0 0 16px;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.top-btn .svg,
.personal-link .svg {
    transform: translateY(-0.5px);
}

.personal-link .wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.svg-search {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 3a7.5 7.5 0 1 0 4.741 13.31l4.724 4.724a.75.75 0 1 0 1.06-1.06l-4.724-4.724A7.5 7.5 0 0 0 10.5 3Zm-6 7.5a6 6 0 1 1 12 0 6 6 0 0 1-12 0Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.5 3a7.5 7.5 0 1 0 4.741 13.31l4.724 4.724a.75.75 0 1 0 1.06-1.06l-4.724-4.724A7.5 7.5 0 0 0 10.5 3Zm-6 7.5a6 6 0 1 1 12 0 6 6 0 0 1-12 0Z'/%3E%3C/svg%3E");
}

.svg-cabinet {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12c2.761 0 5-2.239 5-5s-2.239-5-5-5-5 2.239-5 5 2.239 5 5 5Zm0 2c-4.418 0-8 2.015-8 4.5V20h16v-1.5c0-2.485-3.582-4.5-8-4.5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12c2.761 0 5-2.239 5-5s-2.239-5-5-5-5 2.239-5 5 2.239 5 5 5Zm0 2c-4.418 0-8 2.015-8 4.5V20h16v-1.5c0-2.485-3.582-4.5-8-4.5Z'/%3E%3C/svg%3E");
}

.svg-login {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 17l5-5-5-5v3H3v4h7v3Zm9-12h-8v2h8v10h-8v2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 17l5-5-5-5v3H3v4h7v3Zm9-12h-8v2h8v10h-8v2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Z'/%3E%3C/svg%3E");
}

.svg-logout {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 7l-5 5 5 5v-3h7v-4h-7V7ZM3 5h8V3H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8v-2H3V5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 7l-5 5 5 5v-3h7v-4h-7V7ZM3 5h8V3H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8v-2H3V5Z'/%3E%3C/svg%3E");
}

.personal .name {
    white-space: nowrap;
}

/* ---- Header: logo/menu row ---- */

.header-wrapper.header-theme-light {
    min-height: 80px;
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.header-wrapper.header-theme-light .wrapper_inner,
.header-wrapper.header-theme-light .header-main-row {
    width: min(var(--header-max-width), calc(100% - 32px));
    margin: 0 auto;
}

.header-wrapper .logo-row.row {
    margin: 0;
    display: grid;
    grid-template-columns: 240px 205px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    min-height: 80px;
    font-size: 15px;
    line-height: 24px;
}

.header-wrapper .logo-row.row > [class*="col-"] {
    width: auto;
    padding: 0;
}

.header-wrapper .logo-row .logo,
.header-wrapper .logo-row .logo a {
    display: inline-flex;
    align-items: center;
}

.header-wrapper .logo-row .logo img {
    display: block;
    width: 200px;
    max-width: 100%;
    height: auto;
}

.header-wrapper .top-description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    color: var(--brand);
    font-size: 14px;
    line-height: 16px;
    font-weight: 600;
    white-space: normal;
}

.header-wrapper .top-description__line {
    display: block;
    line-height: 16px;
}

.header-wrapper .top-description__line--accent {
    font-size: 13px;
    font-weight: 600;
}

.header-wrapper .header-menu-row,
.header-wrapper .nav-main-collapse,
.header-wrapper .menu-only,
.header-wrapper .mega-menu {
    width: 100%;
}

.header-wrapper .menu-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    min-height: 80px;
}

.header-wrapper .menu-grid > .menu-item {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 992px) {
    .header-wrapper.header-theme-light {
        height: 80px;
        box-sizing: border-box;
    }

    .header-wrapper.header-theme-light .wrapper_inner,
    .header-wrapper.header-theme-light .header-main-row,
    .header-wrapper .logo-row.row {
        height: 100%;
        min-height: 0;
    }

    .header-wrapper .menu-grid,
    .header-wrapper .menu-grid > .menu-item {
        height: 100%;
        min-height: 100%;
    }
}

.header-wrapper .menu-grid > .menu-item > .wrap,
.header-wrapper .menu-grid > .menu-item > .wrap > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.header-wrapper .menu-grid > .menu-item > .wrap > a {
    position: relative;
    color: var(--text-strong);
    font-size: 15px;
    line-height: 24px;
    font-weight: 700;
    padding: 0 10px;
    text-align: center;
    white-space: nowrap;
}

.header-wrapper .menu-grid > .menu-item > .wrap > a > div {
    position: relative;
}

.header-wrapper .menu-grid > .menu-item > .wrap > a .line-wrapper {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    overflow: hidden;
}

.header-wrapper .menu-grid > .menu-item > .wrap > a .line {
    display: block;
    width: 0;
    height: 100%;
    margin: 0 auto;
    background: var(--brand);
    transition: width 0.25s ease;
}

.header-wrapper .menu-grid > .menu-item:hover > .wrap > a,
.header-wrapper .menu-grid > .menu-item.active > .wrap > a,
.header-wrapper .menu-grid > .menu-item:focus-within > .wrap > a {
    color: var(--brand-dark);
}

.header-wrapper .menu-grid > .menu-item:hover > .wrap > a .line,
.header-wrapper .menu-grid > .menu-item.active > .wrap > a .line,
.header-wrapper .menu-grid > .menu-item:focus-within > .wrap > a .line {
    width: 100%;
}

.header-wrapper .menu-grid > .menu-item.dropdown > .wrap > a::after {
    content: "";
    margin-left: 8px;
    border: 4px solid transparent;
    border-top-color: currentColor;
    transform: translateY(2px);
}

.header-wrapper .menu-grid > .menu-item > .wrap > .tail {
    display: none;
}

.header-wrapper .menu-grid > .menu-item > .wrap > .dropdown-menu {
    position: absolute;
    top: calc(100% - 8px);
    left: 50%;
    transform: translateX(-50%);
    width: min(420px, 94vw);
    margin: 0;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: var(--shadow-md);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, visibility 0.18s ease;
    z-index: 120;
}

.header-wrapper .menu-grid > .menu-item.wide_menu > .wrap > .dropdown-menu {
    width: min(480px, 95vw);
}

.header-wrapper .menu-grid > .menu-item:hover > .wrap > .dropdown-menu,
.header-wrapper .menu-grid > .menu-item:focus-within > .wrap > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.header-wrapper .menu-grid .menu-wrapper {
    list-style: none;
    margin: 0;
    padding: 8px;
}

.header-wrapper .menu-grid .menu-wrapper > li > a {
    display: block;
    border-radius: 8px;
    color: var(--text-main);
    font-size: 15px;
    line-height: 1.32;
    padding: 10px 12px;
}

.header-wrapper .menu-grid .menu-wrapper > li > a:hover {
    background: #f1f5f8;
    color: var(--brand-dark);
}

.header-wrapper .menu-grid .menu-submenu {
    margin: 4px 0 0;
    padding: 0 0 0 12px;
    list-style: none;
}

.header-wrapper .menu-grid .menu-submenu > li > a {
    display: block;
    border-radius: 8px;
    padding: 8px 10px;
    color: #334051;
    font-size: 14px;
    line-height: 1.3;
}

.header-wrapper .menu-grid .menu-submenu > li > a:hover {
    background: #f4f8fb;
    color: var(--brand-dark);
}

.header-wrapper .menu-grid .menu-submenu--level3 {
    padding-left: 12px;
}

.header-wrapper .menu-grid .menu-submenu--level3 > li > a {
    font-size: 13px;
    color: #5c6a7c;
}

/* ---- Search overlay ---- */

.inline-search-block.with-close.fixed {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 320;
    border-bottom: 1px solid var(--line-strong);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(4px);
    transform: translateY(-110%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0.2s ease;
}

.inline-search-block.with-close.fixed.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.inline-search-block .row {
    margin: 0;
}

.inline-search-block .row > [class*="col-"] {
    width: 100%;
    padding: 0;
}

.inline-search-block .search-wrapper {
    padding: 18px 0;
}

.inline-search-block .search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
}

.inline-search-block .search-input-div {
    width: 100%;
}

.inline-search-block .search-input {
    width: 100%;
    height: 54px;
    border-radius: 12px;
    border: 1px solid var(--line-strong);
    background: #fff;
    color: var(--text-strong);
    font-size: 22px;
    padding: 0 18px;
}

.inline-search-block .search-button-div {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.inline-search-block .btn.btn-search {
    min-height: 54px;
    min-width: 54px;
    width: 54px;
    padding: 0;
    border-radius: 12px;
    border: 1px solid #1b9d75;
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.inline-search-block .btn.btn-search:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.inline-search-block .btn-search__icon {
    font-size: 24px;
    line-height: 1;
}

.inline-search-block .close-block {
    width: 54px;
    min-width: 54px;
    min-height: 54px;
    border-radius: 12px;
    border: 1px solid #1b9d75;
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.inline-search-block .close-block:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.inline-search-block .close-icons {
    font-size: 14px;
    line-height: 1;
}

/* ---- Page top / breadcrumbs ---- */

.top_inner_block_wrapper {
    margin-top: 18px;
}

.page-top-wrapper.grey.v3 {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #f3f4f6;
}

.page-top {
    width: 100%;
    margin: 0;
    padding: 20px 24px;
}

.page-top-main h1,
#pagetitle {
    margin: 0;
    color: var(--text-strong);
    font-size: 24px;
    line-height: 1.1;
    font-weight: 800;
}

#navigation {
    margin-top: 10px;
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    color: #9da5b0;
    font-size: 13px;
    line-height: 1.34;
}

.breadcrumbs a {
    color: #9da5b0;
}

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

.breadcrumbs .separator {
    color: #c2c8d1;
}

/* ---- Home: hero area ---- */

.modern-page--home .grey_block {
    border-bottom: 1px solid var(--line);
    background: #f2f3f5;
}

.modern-page--home .top_big_banners.with_childs {
    --hero-gap: 16px;
    --hero-main-height: 520px;
    padding: 18px 0;
}

.modern-page--home .top_big_banners.with_childs > .row.dd {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(196px, 0.88fr) minmax(680px, 4fr) minmax(196px, 0.88fr);
    gap: var(--hero-gap);
    align-items: stretch;
}

.modern-page--home .top_big_banners.with_childs > .row.dd > [class*="col-"] {
    width: auto;
    padding: 0;
}

.modern-page--home .top_big_banners.with_childs > .row.dd > .col-m-20.col-md-3.col-m-pull-60 {
    order: 1;
}

.modern-page--home .top_big_banners.with_childs > .row.dd > .col-m-60.col-md-6.col-m-push-20 {
    order: 2;
}

.modern-page--home .top_big_banners.with_childs > .row.dd > .col-m-20.col-md-3:not(.col-m-pull-60) {
    order: 3;
}

.modern-page--home .top_big_banners.with_childs .col-m-20 > .row {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--hero-gap);
    height: 100%;
}

.top_big_banners .item.normal_block {
    width: 100%;
}

.top_big_banners .item.normal_block .item_inner {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 0;
    overflow: hidden;
    background: #d9dee5;
    min-height: calc((var(--hero-main-height) - var(--hero-gap)) / 2);
}

.top_big_banners .item.normal_block .img_block {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.28s ease;
}

.top_big_banners .item.normal_block .item_inner:hover .img_block {
    transform: scale(1.03);
}

.top_big_banners .item.normal_block .opacity_block1 {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(16, 24, 39, 0.06) 10%, rgba(16, 24, 39, 0.52) 100%);
}

.top_big_banners .item.normal_block .wrap_tizer {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 3;
    color: #fff;
}

.top_big_banners .item.normal_block .title .inner_text {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 0 8px;
    border-radius: 3px;
    background: var(--brand);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.top_big_banners .item.normal_block .preview {
    margin-top: 7px;
    max-width: 85%;
    font-size: 14px;
    line-height: 1.22;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* ---- Home: center slider ---- */

.top_slider_wrapp {
    position: relative;
}

.top_slider_wrapp .wrapper_inner {
    width: 100%;
    height: var(--hero-main-height);
    min-height: var(--hero-main-height);
    border: 1px solid var(--line);
    border-radius: 0;
    overflow: hidden;
    background: #fff;
}

.top_slider_wrapp .flexslider {
    position: relative;
    height: 100%;
    min-height: var(--hero-main-height);
}

.top_slider_wrapp .slides {
    margin: 0;
    padding: 0;
    list-style: none;
    height: 100%;
}

.top_slider_wrapp .slides > li {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.top_slider_wrapp .slides > li.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.top_slider_wrapp .hero-slide {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(240px, 1.02fr) minmax(320px, 1.45fr);
    align-items: stretch;
    gap: 0;
    padding: 18px 22px;
}

.top_slider_wrapp .hero-slide__content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 20px 10px 20px 14px;
}

.top_slider_wrapp .hero-slide__media {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: #fff;
    padding: 8px 0;
}

.top_slider_wrapp .hero-slide__media .wrap_plaxy {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_slider_wrapp .wrap_text {
    max-width: 360px;
}

.top_slider_wrapp .banner_title {
    margin: 0 0 10px;
    color: var(--text-strong);
    font-size: 31px;
    line-height: 1.08;
    font-weight: 800;
}

.top_slider_wrapp .banner_text {
    margin-bottom: 20px;
    color: #4f5a68;
    font-size: 15px;
    line-height: 1.34;
}

.top_slider_wrapp .hero-slide__media img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.top_slider_wrapp .banner_bg {
    position: absolute;
    inset: 0;
    display: none;
}

.top_slider_wrapp .banner_buttons .btn.btn-default.btn-lg {
    min-height: 62px;
    padding: 0 34px;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1;
}

.hero-slider-nav {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 14px;
    z-index: 9;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.hero-slider-dots {
    position: static;
    display: flex;
    gap: 9px;
    pointer-events: auto;
}

.hero-slider-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 0;
    background: #c8cdd6;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.hero-slider-dot.is-active {
    background: var(--brand);
}

/* ---- Tabs + product cards ---- */

.tab_slider_wrapp {
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.tab_slider_wrapp .top_blocks {
    border-bottom: 1px solid var(--line);
}

.tab_slider_wrapp .tabs {
    margin: 0;
    padding: 0 22px;
    min-height: 66px;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 26px;
}

.tab_slider_wrapp .tabs > li {
    margin: 0;
}

.tab_slider_wrapp .tabs > li.stretch {
    margin-left: auto;
}

.tab_slider_wrapp .tabs > li > span {
    display: inline-flex;
    align-items: center;
    min-height: 66px;
    color: #2f3742;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    transition: color 0.2s ease;
}

.tab_slider_wrapp .tabs > li.cur > span,
.tab_slider_wrapp .tabs > li:hover > span {
    color: var(--brand-dark);
}

.tab_slider_wrapp .tabs_content {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tab_slider_wrapp .tabs_content > li.tab {
    display: none;
}

.tab_slider_wrapp .tabs_content > li.tab.cur {
    display: block;
}

.catalog_block.items.row {
    --catalog-card-scale: 0.8;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    border-top: 0;
}

.catalog_block.items.row > .item.item_block {
    width: 25%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    border-right: 1px solid #eceff3;
    border-bottom: 1px solid #eceff3;
    min-width: 0;
}

.catalog_block.items.row > .item.item_block > .catalog_item_wrapp {
    width: calc(100% * var(--catalog-card-scale));
    max-width: 100%;
    margin: 0 auto;
}

.catalog_block.items.row > .item.item_block > .catalog_item_wrapp > .catalog_item.item_wrap.main_item_wrapper {
    width: 100%;
}

.catalog_block.items.row > .item.item_block:nth-child(4n) {
    border-right: 0;
}

.catalog_item_wrapp,
.catalog_item.item_wrap.main_item_wrapper,
.catalog_item .inner_wrap {
    height: 100%;
}

.catalog_item.item_wrap.main_item_wrapper {
    position: relative;
    border: 1px solid transparent;
    background: #fff;
    transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.24s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: transform, box-shadow;
    z-index: 1;
}

.catalog_item.item_wrap.main_item_wrapper:hover,
.catalog_item.item_wrap.main_item_wrapper:focus-within {
    transform: translateY(-6px);
    border-color: #cfd9e6;
    box-shadow: 0 22px 42px rgba(16, 28, 40, 0.2), 0 10px 20px rgba(16, 28, 40, 0.12);
    z-index: 5;
}

.catalog_item .inner_wrap {
    display: flex;
    flex-direction: column;
    background: #fff;
    min-height: 520px;
}

.catalog_item .image_wrapper_block {
    position: relative;
    flex: 0 0 auto;
    min-height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 20px 8px;
}

.catalog_item .thumb.shine {
    width: 100%;
    max-width: 260px;
    height: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catalog_item .thumb.shine img {
    max-height: 180px;
    width: auto;
    object-fit: contain;
}

.catalog_item .like_icons {
    position: absolute;
    top: 16px;
    right: 14px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.catalog_item .wish_item_button form {
    margin: 0;
}

.catalog_item .wish_item_button .wish_item {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #98a1ad;
    cursor: pointer;
    padding: 0;
}

.catalog_item .wish_item_button .wish_item::before {
    content: "\2661";
    font-size: 20px;
    line-height: 1;
}

.catalog_item .wish_item_button .wish_item:hover,
.catalog_item .wish_item_button .wish_item:focus-visible {
    border-color: var(--line);
    color: var(--brand);
}

.catalog_item .wish_item_button .wish_item.is-active {
    border-color: var(--line);
    color: var(--brand);
}

.catalog_item .wish_item_button .wish_item.is-active::before {
    content: "\2665";
}

.catalog_item .item_info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 0 20px 8px;
}

.catalog_item .item_info--top_block {
    flex: 1 1 auto;
}

.catalog_item .item-title {
    min-height: 60px;
}

.catalog_item .item-title a {
    color: #138f6a;
    font-size: 14px;
    line-height: 17px;
    font-weight: 700;
}

.catalog_item .item-title a:hover {
    color: var(--brand-dark);
}

.catalog_item .sa_block {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 8px;
    min-height: 29px;
}

.item-stock {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.item-stock .icon.stock::before {
    content: "\2713";
    color: #31ac1c;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
}

.item-stock .value,
.article_block {
    color: #7f8998;
    font-size: 12px;
    line-height: 15px;
}

.catalog_item .item_info--bottom_block {
    margin-top: auto;
    padding-top: 10px;
}

.cost.prices {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
}

.cost .price_group {
    width: 100%;
    min-width: 0;
}

.cost .price_group .price_name {
    display: block;
    width: 100%;
    color: #8b93a0;
    font-size: 12px;
    line-height: 15px;
    margin-bottom: 2px;
}

.cost .price_group .price_matrix_wrapper {
    display: block;
    width: 100%;
    min-width: 0;
}

.cost .price {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    color: #111827;
    font-weight: 800;
    font-size: 18px;
    line-height: 15px;
}

.cost .price .values_wrapper {
    display: inline-flex;
    align-items: baseline;
    gap: 1px;
    min-width: 0;
}

.cost .price_measure {
    margin-left: 0;
    font-size: 0.86em;
    font-weight: 700;
}

.cost .price_group.old .price {
    font-size: 18px;
}

.footer_button.inner_content {
    margin-top: 0;
    border-top: 1px solid #edf1f5;
    padding: 12px 16px 16px;
}

.counter_wrapp.catalog-card-actions form {
    margin: 0;
    width: 100%;
    min-width: 0;
}

.catalog-card-action-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.catalog-card-qty {
    height: 50px;
    border-radius: 10px;
    border: 1px solid #d4dae2;
    overflow: hidden;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    width: 100%;
    min-width: 0;
}

.catalog-card-qty__btn {
    border: 0;
    background: #f2f4f7;
    color: #2e3642;
    font-size: 15px;
    cursor: pointer;
}

.catalog-card-qty__btn:hover {
    background: #e6ebf1;
}

.catalog-card-qty__input {
    border: 0;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: #202734;
    background: #fff;
    min-width: 0;
    -moz-appearance: textfield;
}

.catalog-card-qty__input::-webkit-outer-spin-button,
.catalog-card-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.catalog-card-action-row .button_block {
    display: flex;
    min-width: 0;
}

.catalog-card-action-row .button_block .btn {
    width: 100%;
    min-height: 50px;
    font-size: 15px;
    padding: 0 12px;
    white-space: nowrap;
    border-radius: 10px;
}

.catalog-card-actions .button_block + .button_block {
    margin-top: 10px;
}

.catalog-card-actions .read_more {
    width: 100%;
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    border: 1px solid #1b9d75;
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.catalog-card-actions .read_more:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.add-to-cart-feedback {
    margin-top: 8px;
    min-height: 20px;
    font-size: 13px;
    color: var(--brand-dark);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.add-to-cart-feedback.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.add-to-cart-feedback.is-error {
    color: var(--danger);
}

/* ---- Brand strip ---- */

.drag_block.goods_drag.products.brands_list_wide.front {
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 18px 20px;
}

.drag_block .top_block {
    margin-bottom: 14px;
}

.drag_block .title_block {
    margin: 0;
    color: var(--text-strong);
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
}

.brands-track-wrap {
    position: relative;
}

.brands-track {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 2px 42px;
    scroll-behavior: smooth;
}

.brands-track::-webkit-scrollbar {
    display: none;
}

.brand-chip {
    flex: 0 0 auto;
    min-width: 120px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    text-align: center;
    padding: 10px 14px;
    color: #303743;
    font-size: 13px;
    font-weight: 600;
}

.brand-chip:hover {
    border-color: var(--brand);
    color: var(--brand-dark);
}

.brands-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 7px;
    border: 1px solid var(--line-strong);
    background: #fff;
    color: #5e6876;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.brands-arrow.prev {
    left: 0;
}

.brands-arrow.next {
    right: 0;
}

/* ---- Floating side basket ---- */

.basket_wrapp.fly {
    position: fixed;
    right: 16px;
    top: 32%;
    z-index: 180;
}

.basket_wrapp .opener {
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(15, 24, 38, 0.15);
    box-shadow: 0 16px 32px rgba(19, 33, 51, 0.2);
}

.basket_wrapp .basket_count,
.basket_wrapp .wish_count {
    position: relative;
    width: 64px;
    height: 64px;
    background: #374458;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.basket_wrapp .basket_count {
    background: linear-gradient(180deg, #27b58d 0%, #1ea77d 100%);
}

.basket_wrapp .wish_count {
    background: #36445b;
}

.basket_wrapp .basket_count:hover,
.basket_wrapp .wish_count:hover {
    filter: brightness(1.06);
}

.basket_wrapp .basket_count a,
.basket_wrapp .wish_count a {
    position: absolute;
    inset: 0;
    z-index: 3;
}

.basket_wrapp .wraps_icon_block {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.basket_wrapp .wraps_icon_block.basket::before {
    content: "";
    width: 32px;
    height: 32px;
    background-color: #fff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18a2 2 0 1 0 4 0 2 2 0 0 0-4 0Zm7 0a2 2 0 1 0 4 0 2 2 0 0 0-4 0ZM4 4h2l2.2 10.1a1 1 0 0 0 1 .8h8.7a1 1 0 0 0 1-.8L21 7H8.3l-.3-1.4A2 2 0 0 0 6 4H4Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18a2 2 0 1 0 4 0 2 2 0 0 0-4 0Zm7 0a2 2 0 1 0 4 0 2 2 0 0 0-4 0ZM4 4h2l2.2 10.1a1 1 0 0 0 1 .8h8.7a1 1 0 0 0 1-.8L21 7H8.3l-.3-1.4A2 2 0 0 0 6 4H4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.basket_wrapp .wraps_icon_block.delay::before {
    content: "";
    width: 30px;
    height: 30px;
    background-color: #fff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.1 20.2 12 20l-.1.2-.4-.2c-5-2.8-8.4-5.9-8.4-9.7 0-2.7 2.1-4.8 4.8-4.8 1.6 0 3 .8 3.9 2 1-1.2 2.4-2 4-2 2.6 0 4.7 2.1 4.7 4.8 0 3.8-3.4 6.9-8.4 9.7l-.4.2ZM8 7.3a3 3 0 0 0-3 3c0 2.7 2.5 5.2 7 7.9 4.5-2.7 7-5.2 7-7.9a3 3 0 0 0-3-3c-1.4 0-2.6.8-3.1 2L12 10l-.8-.7A3.9 3.9 0 0 0 8 7.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.1 20.2 12 20l-.1.2-.4-.2c-5-2.8-8.4-5.9-8.4-9.7 0-2.7 2.1-4.8 4.8-4.8 1.6 0 3 .8 3.9 2 1-1.2 2.4-2 4-2 2.6 0 4.7 2.1 4.7 4.8 0 3.8-3.4 6.9-8.4 9.7l-.4.2ZM8 7.3a3 3 0 0 0-3 3c0 2.7 2.5 5.2 7 7.9 4.5-2.7 7-5.2 7-7.9a3 3 0 0 0-3-3c-1.4 0-2.6.8-3.1 2L12 10l-.8-.7A3.9 3.9 0 0 0 8 7.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.basket_wrapp .count {
    position: absolute;
    left: 7px;
    bottom: 7px;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    padding: 0 6px;
    background: #fff;
    color: #313846;
    font-size: 11px;
    line-height: 20px;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 3px 6px rgba(24, 36, 52, 0.2);
}

.basket_wrapp .count.empty_items {
    background: #dbe1e8;
    color: #6a7481;
}

.basket_wrapp .basket_sort {
    display: none;
}

.basket-dropdown {
    position: absolute;
    top: 0;
    right: calc(100% + 10px);
    width: 280px;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: var(--shadow-md);
    padding: 16px 18px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.basket-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.basket-dropdown .is-hidden {
    display: none !important;
}

.basket-dropdown__row {
    margin-bottom: 8px;
    font-size: 15px;
    color: #444c57;
}

.basket-dropdown__row strong {
    color: #232a34;
}

.basket-dropdown__actions {
    margin-top: 14px;
}

.basket-dropdown__actions .btn {
    width: 100%;
}

/* ---- Common blocks/cards ---- */

.block-type,
.help-content-card,
.account-card,
.cart-empty-card,
.checkout-modern,
.order_success_page .auth_wrapp {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}

.help-content-card {
    padding: 22px 24px;
}

.help-content-card h1,
.help-content-card h2,
.help-content-card h3,
.help-content-card h4 {
    margin: 0 0 12px;
    color: var(--text-strong);
}

.help-content-card p {
    margin: 0 0 12px;
    color: #4d5664;
}

.help-content-card iframe {
    width: 100%;
    max-width: 860px;
    border-radius: 12px;
    border: 1px solid var(--line);
}

/* ---- Catalog layout ---- */

.modern-page--catalog {
    margin-top: 18px;
    display: grid;
    grid-template-columns: minmax(260px, 280px) minmax(0, 1fr);
    grid-template-areas: "left right";
    gap: 20px;
    align-items: start;
}

.modern-page--catalog > .left_block {
    grid-area: left;
}

.modern-page--catalog > .right_block {
    grid-area: right;
}

.menu_top_block.catalog_block {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.menu_top_block .menu.dropdown {
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu_top_block .menu.dropdown > li + li {
    border-top: 1px solid #eef2f6;
}

.menu_top_block .catalog-menu-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: stretch;
    transition: background-color 0.16s ease;
    border-radius: 0;
}

.menu_top_block .menu.dropdown a.icons_fa.parent {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 8px 10px 8px 12px;
}

.menu_top_block .menu.dropdown .image {
    width: 42px;
    height: 30px;
    border-radius: 999px;
    overflow: hidden;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.menu_top_block .menu.dropdown .image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.menu_top_block .menu.dropdown .name {
    color: #2a3340;
    font-size: 14px;
    line-height: 1.28;
    font-weight: 600;
}

.menu_top_block .menu.dropdown li.active > .catalog-menu-row,
.menu_top_block .menu.dropdown li > .catalog-menu-row:hover {
    background: #f1f7f4;
}

.menu_top_block .menu.dropdown li.active > .catalog-menu-row .name,
.menu_top_block .menu.dropdown li > .catalog-menu-row:hover .name {
    color: var(--brand-dark);
}

.menu_top_block .catalog-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #8a96a8;
    cursor: pointer;
    transition: color 0.16s ease;
}

.menu_top_block .menu.dropdown li.active > .catalog-menu-row .catalog-menu-toggle,
.menu_top_block .menu.dropdown li > .catalog-menu-row:hover .catalog-menu-toggle,
.menu_top_block .catalog-menu-toggle:hover {
    color: var(--brand-dark);
}

.menu_top_block .catalog-menu-toggle > span {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-top: -2px;
    transition: transform 0.16s ease;
}

.menu_top_block .menu.dropdown li.is-open > .catalog-menu-row .catalog-menu-toggle > span {
    transform: rotate(-135deg);
    margin-top: 2px;
}

.menu_top_block .toggle_block,
.menu_top_block .clearfix {
    display: none;
}

.menu_top_block .catalog-submenu {
    list-style: none;
    margin: 0;
    padding: 0 0 8px 52px;
    display: none;
}

.menu_top_block .menu.dropdown li.is-open > .catalog-submenu {
    display: block;
}

.menu_top_block .catalog-submenu-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: stretch;
    border-radius: 8px;
    transition: background-color 0.16s ease;
}

.menu_top_block .catalog-submenu > li > a,
.menu_top_block .catalog-submenu-row > a {
    display: block;
    min-height: 30px;
    padding: 6px 10px 6px 0;
    color: #5b6778;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 500;
}

.menu_top_block .catalog-submenu > li > a:hover,
.menu_top_block .catalog-submenu-row > a:hover {
    color: var(--brand-dark);
}

.menu_top_block .catalog-submenu > li.active > a,
.menu_top_block .catalog-submenu > li.active > .catalog-submenu-row > a {
    color: var(--brand-dark);
    font-weight: 700;
}

.menu_top_block .catalog-submenu--level2 > li.active > .catalog-submenu-row,
.menu_top_block .catalog-submenu-row:hover {
    background: #f4f8f6;
}

.menu_top_block .catalog-menu-toggle--sub {
    border-left: 0;
    border-radius: 8px;
    margin: 2px 0;
}

.menu_top_block .catalog-submenu--level3 {
    padding: 0 0 0 12px;
    display: none;
}

.menu_top_block .catalog-submenu--level2 > li.is-open > .catalog-submenu--level3 {
    display: block;
}

.menu_top_block .catalog-submenu--level3 > li > a {
    min-height: 26px;
    padding: 4px 12px 4px 0;
    font-size: 12px;
    color: #7b8797;
    font-weight: 500;
}

.subscribe_wrap.subscribe_wrap--catalog,
.modern-side-subscribe {
    margin-top: 16px;
}

.subscribe-form .wrap_bg {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 16px;
}

.subscribe-form .title {
    margin-bottom: 6px;
    color: #232a34;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
}

.subscribe-form .more {
    color: #7f8896;
    font-size: 13px;
    line-height: 1.35;
}

.subscribe-form .email_wrap {
    margin-top: 14px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.subscribe-form .email_input {
    width: 100%;
    height: 40px;
    border-radius: 8px;
    border: 1px solid var(--line-strong);
    padding: 0 12px;
    font-size: 14px;
}

.subscribe-form .send_btn {
    min-height: 40px;
    padding: 0 14px;
    font-size: 14px;
}

.catalog-toolbar {
    margin-bottom: 16px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.catalog-toolbar__form {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 220px 220px auto;
    gap: 10px;
}

.catalog-toolbar input,
.catalog-toolbar select {
    width: 100%;
    height: 42px;
    border-radius: 10px;
    border: 1px solid var(--line-strong);
    background: #fff;
    color: var(--text-main);
    font-size: 14px;
    padding: 0 12px;
}

.catalog-toolbar .btn {
    min-height: 42px;
}

.catalog-table-list {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    overflow: visible;
}

.catalog-table-list__empty {
    margin: 0;
    border: 0;
    border-radius: 0;
}

.catalog-table-row {
    display: grid;
    grid-template-areas: "image main prices actions wish";
    grid-template-columns: 72px minmax(300px, 1fr) minmax(150px, 172px) minmax(236px, 252px) 54px;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #eef2f6;
    background: #fff;
    position: relative;
    transition: box-shadow 0.18s ease, z-index 0.18s ease;
}

.catalog-table-row:last-child {
    border-bottom: 0;
}

.catalog-table-row:hover {
    z-index: 2;
    box-shadow: 0 8px 20px rgba(19, 34, 54, 0.08);
}

.catalog-table-row__image {
    grid-area: image;
}

.catalog-table-row__thumb {
    width: 62px;
    height: 62px;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.catalog-table-row__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.catalog-table-row__main {
    grid-area: main;
    min-width: 0;
}

.catalog-table-row__title {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
}

.catalog-table-row__title a {
    color: var(--brand-dark);
}

.catalog-table-row__title a:hover {
    color: #0d6f51;
}

.catalog-table-row__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 10px;
    color: #848f9f;
    font-size: 12px;
    line-height: 1.3;
}

.catalog-table-row__rating {
    letter-spacing: 1px;
    color: #ccd2db;
    font-size: 10px;
}

.catalog-table-row__stock {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.catalog-table-row__stock::before {
    content: "\2713";
    font-weight: 700;
}

.catalog-table-row__stock.is-high,
.catalog-table-row__stock.is-low {
    color: #4f9b1f;
}

.catalog-table-row__stock.is-empty {
    color: #c33d3d;
}

.catalog-table-row__prices {
    grid-area: prices;
    display: grid;
    gap: 2px;
}

.catalog-table-row__price-group {
    display: grid;
    gap: 1px;
}

.catalog-table-row__price-label {
    color: #9aa4b3;
    font-size: 12px;
    line-height: 1.15;
}

.catalog-table-row__price-value {
    color: #121a27;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
}

.catalog-table-row__price-value span {
    font-size: 14px;
}

.catalog-table-row__actions {
    grid-area: actions;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catalog-table-row__cart-form {
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catalog-table-row__action-grid {
    display: grid;
    grid-template-columns: minmax(128px, 1fr) 72px;
    gap: 8px;
    align-items: center;
    width: 100%;
    max-width: 236px;
    margin: 0 auto;
    min-width: 0;
}

.catalog-table-row .catalog-card-qty {
    height: 40px;
    min-height: 40px;
    border-radius: 8px;
    grid-template-columns: 32px minmax(0, 1fr) 32px;
}

.catalog-table-row .catalog-card-qty__btn,
.catalog-table-row .catalog-card-qty__input {
    font-size: 16px;
}

.catalog-table-row .catalog-card-qty__input {
    font-size: 15px;
    font-weight: 600;
}

.catalog-table-row .catalog-card-action-row .button_block,
.catalog-table-row .button_block {
    width: 100%;
    display: flex;
    justify-content: center;
}

.catalog-table-row .button_block .btn {
    width: 100%;
    min-height: 40px;
    height: 40px;
    border-radius: 8px;
}

.catalog-table-row .button_block .btn.to-cart {
    width: 72px;
    min-width: 72px;
    max-width: 72px;
    padding: 0;
}

.catalog-table-row .button_block .btn.to-cart.is-added {
    width: 72px;
    min-width: 72px;
    max-width: 72px;
    padding: 0;
    background: linear-gradient(180deg, #22b887 0%, #16996f 100%);
    border-color: #16996f;
}

.catalog-table-row .button_block .btn.to-cart.is-added::before {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.55 18.2 4.6 13.25l1.42-1.42 3.53 3.53 8.43-8.43 1.42 1.42L9.55 18.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.55 18.2 4.6 13.25l1.42-1.42 3.53 3.53 8.43-8.43 1.42 1.42L9.55 18.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.catalog-table-row .add-to-cart-feedback {
    margin-top: 5px;
    font-size: 12px;
}

.catalog-table-row__wish {
    grid-area: wish;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catalog-table-row__wish form {
    margin: 0;
}

.catalog-table-row__wish-btn {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #a1a9b5;
    font-size: 30px;
    line-height: 1;
}

.catalog-table-row__wish-btn::before {
    content: "\2661";
}

.catalog-table-row__wish-btn:hover,
.catalog-table-row__wish-btn:focus-visible {
    color: #798392;
}

.catalog-table-row__wish-btn.is-active {
    color: var(--brand);
}

.catalog-table-row__wish-btn.is-active::before {
    content: "\2665";
}

.catalog_section_list.row,
.catalog_section_list.row[data-catalog-masonry] {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.catalog_section_list.row[data-catalog-masonry].is-packed {
    display: block;
    position: relative;
}

.catalog_section_list .item_block {
    width: auto;
    margin: 0;
    padding: 0;
}

.catalog_section_list.row[data-catalog-masonry].is-packed > .item_block {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    will-change: transform, width;
}

.catalog_section_list .section_item.item {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.catalog_section_list .section_item_inner {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    width: 100%;
}

.catalog_section_list .section_item__image {
    padding: 14px;
    border-right: 1px solid #eef2f6;
}

.catalog_section_list .thumb {
    display: flex;
    width: 100%;
    height: 132px;
    align-items: center;
    justify-content: center;
}

.catalog_section_list .thumb img {
    max-height: 124px;
    object-fit: contain;
}

.catalog_section_list .section_item__info {
    padding: 12px 14px;
}

.catalog_section_list .section_item__info ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.catalog_section_list .name {
    margin-bottom: 8px;
}

.catalog_section_list .name .dark_link {
    color: #232a35;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
}

.catalog_section_list .sect {
    margin-top: 4px;
}

.catalog_section_list .sect a {
    color: #5c6573;
    font-size: 14px;
}

.catalog_section_list .sect a:hover {
    color: var(--brand-dark);
}

.catalog_section_list .sect--level2 {
    margin-top: 6px;
}

.catalog_section_list .sect--level2 a {
    font-weight: 600;
    color: #4b5667;
}

.catalog_section_list .sect--level3 {
    margin-top: 3px;
    padding-left: 13px;
    position: relative;
}

.catalog_section_list .sect--level3::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.8em;
    width: 6px;
    height: 1px;
    background: #b8c1ce;
}

.catalog_section_list .sect--level3 a {
    font-size: 13px;
    color: #6f7a8b;
}

.module-pagination {
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.module-pagination__current {
    color: #717b89;
    font-size: 14px;
}

/* ---- Product detail ---- */

.modern-page--product {
    margin-top: 18px;
}

.catalog_detail.detail {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 20px;
}

.catalog_detail .item_main_info {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    gap: 26px;
    align-items: start;
}

.catalog_detail .img_wrapper {
    position: relative;
}

.catalog_detail .stickers {
    position: absolute;
    z-index: 3;
    top: 8px;
    left: 8px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.catalog_detail .sticker_khit,
.catalog_detail .sticker_novinka {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border-radius: 4px;
    padding: 0 11px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.catalog_detail .sticker_khit {
    background: #2a84d8;
}

.catalog_detail .sticker_novinka {
    background: #3ea611;
}

.catalog_detail .item_slider .slides ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.catalog_detail .item_slider .slides li.current {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}

.catalog_detail .item_slider .popup_link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    padding: 18px;
}

.catalog_detail .item_slider .popup_link img {
    max-width: 100%;
    max-height: 460px;
    object-fit: contain;
}

.catalog_detail .item_slider .zoom {
    position: absolute;
    right: 14px;
    top: 14px;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: rgba(255, 255, 255, 0.95);
}

.catalog_detail .item_slider .zoom::before {
    content: "\2295";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #334155;
    font-size: 16px;
}

.catalog_detail .more_photo {
    margin-top: 12px;
}

.catalog_detail .slides_navigations .slides {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.catalog_detail .slides_navigations li {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: #fff;
    overflow: hidden;
}

.catalog_detail .slides_navigations li.current {
    border-color: var(--brand);
    box-shadow: inset 0 0 0 1px var(--brand);
}

.catalog_detail .slides_navigations a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 4px;
}

.catalog_detail .slides_navigations img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.catalog_detail .right_info .top_info {
    border-bottom: 1px solid #edf1f4;
    padding-bottom: 14px;
}

.catalog_detail .rows_block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.catalog_detail .item_block--article .article {
    color: #6f7784;
    font-size: 15px;
}

.catalog_detail .item_block--article .block_title {
    font-weight: 600;
}

.catalog_detail .prices_block {
    padding-top: 16px;
}

.catalog_detail .prices_block .cost.prices {
    width: 100%;
    align-items: stretch;
    text-align: left;
}

.catalog_detail .prices_block .price_group {
    margin-bottom: 5px;
}

.catalog_detail .prices_block .price_group .price_name {
    font-size: 15px;
}

.catalog_detail .prices_block .price_group .price {
    justify-content: flex-start;
    font-size: 22px;
}

.catalog_detail .quantity_block_wrapper {
    margin-top: 12px;
}

.catalog_detail .buy_block {
    margin-top: 16px;
}

.catalog_detail .buy_block form {
    margin: 0;
}

.catalog_detail .buy_block .counter_wrapp {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.counter_block.big_basket {
    display: grid;
    grid-template-columns: 44px 90px 44px;
    height: 52px;
    border: 1px solid #d4dae2;
    border-radius: 10px;
    overflow: hidden;
}

.counter_block.big_basket .minus,
.counter_block.big_basket .plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f2f4f7;
    color: #2b3440;
    font-size: 15px;
    cursor: pointer;
    user-select: none;
}

.counter_block.big_basket .minus:hover,
.counter_block.big_basket .plus:hover {
    background: #e8edf3;
}

.counter_block.big_basket .text {
    border: 0;
    width: 100%;
    min-width: 0;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    -moz-appearance: textfield;
}

.counter_block.big_basket .text::-webkit-outer-spin-button,
.counter_block.big_basket .text::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.catalog_detail .buy_block .button_block {
    min-width: 170px;
    display: flex;
}

.catalog_detail .buy_block .button_block .btn {
    width: 100%;
    min-height: 52px;
}

.catalog_detail .element_detail_text {
    margin-top: 18px;
}

.catalog_detail .price_txt .text {
    color: #6f7784;
    font-size: 14px;
    line-height: 1.4;
}

.tabs_section {
    margin-top: 22px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 20px;
}

.tabs_section h4 {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.16;
    color: var(--text-strong);
}

.detail_description_text {
    color: #46505f;
    font-size: 16px;
}

.detail-related {
    margin-top: 18px;
}

/* ---- Product gallery lightbox ---- */

[data-gallery-lightbox] {
    position: fixed;
    inset: 0;
    z-index: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: transparent;
}

[data-gallery-lightbox].is-hidden {
    display: none;
}

[data-gallery-lightbox] .gallery-modal {
    position: relative;
    width: min(980px, 92vw);
    height: min(88vh, 900px);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 26px 56px rgba(11, 16, 23, 0.28);
    overflow: hidden;
}

[data-gallery-lightbox] .gallery-modal-skin,
[data-gallery-lightbox] .gallery-modal-outer,
[data-gallery-lightbox] .gallery-modal-inner {
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

[data-gallery-lightbox] [data-gallery-lightbox-image] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

[data-gallery-lightbox] .gallery-prev,
[data-gallery-lightbox] .gallery-next {
    position: absolute;
    top: 50%;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: rgba(31, 41, 55, 0.86);
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    font-size: 0;
    color: transparent;
    text-indent: -9999px;
    overflow: hidden;
}

[data-gallery-lightbox] .gallery-prev {
    left: 14px;
}

[data-gallery-lightbox] .gallery-next {
    right: 14px;
}

[data-gallery-lightbox] .gallery-prev::before,
[data-gallery-lightbox] .gallery-next::before {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    text-indent: 0;
}

[data-gallery-lightbox] .gallery-prev::before {
    content: "\2039";
}

[data-gallery-lightbox] .gallery-next::before {
    content: "\203A";
}

[data-gallery-lightbox] .gallery-prev span,
[data-gallery-lightbox] .gallery-next span {
    display: none !important;
}

[data-gallery-lightbox] .gallery-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: rgba(31, 41, 55, 0.88);
    z-index: 4;
    font-size: 0;
    color: transparent;
    text-indent: -9999px;
    overflow: hidden;
}

[data-gallery-lightbox] .gallery-close::before {
    content: "\00D7";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    text-indent: 0;
}

body.gallery-lock {
    overflow: hidden;
}

/* ---- Cart ---- */

.modern-page--cart {
    margin-top: 18px;
}

.cart-modern {
    margin-top: 0;
}

.cart-modern__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
}

.cart-modern__items {
    display: grid;
    gap: 12px;
}

.cart-item-card {
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    gap: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 14px;
}

.cart-item-card__image {
    width: 142px;
    height: 110px;
    border-radius: 10px;
    border: 1px solid #edf1f5;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.cart-item-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cart-item-card__body {
    min-width: 0;
}

.cart-item-card__header {
    margin-bottom: 10px;
}

.cart-item-card__title {
    margin: 0 0 6px;
    color: #2e4a63;
    font-size: 21px;
    line-height: 1.12;
    font-weight: 800;
}

.cart-item-card__title a:hover {
    color: #244056;
}

.cart-item-card__sku {
    color: #7d8593;
    font-size: 15px;
}

.cart-item-card__controls {
    display: grid;
    grid-template-columns: 180px minmax(280px, 1fr) 180px auto;
    align-items: end;
    gap: 12px 16px;
}

.cart-item-card__label {
    display: block;
    margin-bottom: 6px;
    color: #7f8896;
    font-size: 12px;
    line-height: 1.2;
    text-transform: uppercase;
}

.cart-item-card__price strong,
.cart-item-card__total strong {
    color: #1f2530;
    font-size: 23px;
    line-height: 1.1;
}

.cart-item-card__qty-form {
    margin: 0;
}

.cart-qty {
    width: 210px;
    max-width: 100%;
    height: 52px;
    border: 1px solid #d4dae2;
    border-radius: 10px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 48px 1fr 48px;
}

.cart-qty__btn {
    border: 0;
    background: #f2f4f7;
    color: #2e3742;
    font-size: 22px;
    cursor: pointer;
}

.cart-qty__btn:hover {
    background: #e6ebf2;
}

.cart-qty__input {
    border: 0;
    width: 100%;
    min-width: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    -moz-appearance: textfield;
}

.cart-qty__input::-webkit-outer-spin-button,
.cart-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cart-item-card__remove-form {
    align-self: center;
    justify-self: start;
    margin: 0;
}

.cart-item-card__remove {
    border: 0;
    background: transparent;
    color: #b04f4f;
    font-size: 14px;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
}

.cart-item-card__remove:hover {
    color: #8e3e3e;
}

.cart-modern__summary {
    min-width: 0;
}

.cart-summary-card {
    position: sticky;
    top: 116px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 16px;
}

.cart-summary-card__title {
    margin: 0 0 10px;
    color: #2b313d;
    font-size: 20px;
    line-height: 1.14;
    font-weight: 800;
}

.cart-summary-card__stats {
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid #ecf0f3;
}

.cart-summary-card__stats > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
}

.cart-summary-card__stats > div:last-child {
    margin-bottom: 0;
}

.cart-summary-card__stats dt,
.cart-summary-card__stats dd {
    margin: 0;
}

.cart-summary-card__stats dt {
    color: #6f7785;
    font-size: 14px;
}

.cart-summary-card__stats dd {
    color: #28303b;
    font-size: 15px;
    font-weight: 700;
}

.cart-summary-card__total {
    margin-bottom: 14px;
    color: #6f7784;
    font-size: 14px;
}

.cart-summary-card__total strong {
    display: block;
    margin-top: 2px;
    color: #202733;
    font-size: 18px;
    line-height: 1.08;
}

.cart-summary-card .btn {
    width: 100%;
    margin-bottom: 8px;
}

.cart-summary-card .btn:last-child {
    margin-bottom: 0;
}

.cart-summary-card__continue,
.cart-summary-card__clear {
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    border-color: #1b9d75;
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.cart-summary-card__continue:hover,
.cart-summary-card__clear:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.cart-empty-card {
    margin-top: 6px;
    padding: 32px;
    text-align: center;
}

.cart-empty-card__mark {
    width: 66px;
    height: 66px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: #ebeff3;
    color: #7f8896;
    font-size: 14px;
    line-height: 66px;
    font-weight: 700;
}

.cart-empty-card h2 {
    margin: 0 0 8px;
    color: #232a35;
    font-size: 14px;
}

.cart-empty-card p {
    margin: 0 0 14px;
    color: #6f7785;
    font-size: 15px;
}

/* ---- Cart refresh ---- */

.cart-modern__layout {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
}

.cart-modern__items {
    gap: 14px;
}

.cart-item-card {
    border: 1px solid #dbe2ea;
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 8px 22px rgba(26, 39, 54, 0.04);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.cart-item-card:hover {
    border-color: #cdd7e2;
    box-shadow: 0 14px 30px rgba(26, 39, 54, 0.08);
}

.cart-item-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.cart-item-card__title {
    margin-bottom: 4px;
}

.cart-item-card__meta {
    display: grid;
    grid-template-columns: minmax(148px, auto) minmax(210px, 1fr) minmax(148px, auto);
    align-items: center;
    gap: 10px;
}

.cart-item-card__stat {
    min-height: 54px;
    border: 1px solid #e6ebf2;
    border-radius: 12px;
    padding: 8px 10px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cart-item-card__label {
    font-size: 10px;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.cart-item-card__price strong,
.cart-item-card__total strong {
    font-size: 30px;
    line-height: 1;
}

.cart-item-card__qty-form {
    width: 100%;
}

.cart-item-card__stat--qty {
    display: grid;
    align-content: center;
    gap: 6px;
}

.cart-qty {
    width: 100%;
    height: 48px;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
}

.cart-qty__btn {
    font-size: 24px;
}

.cart-item-card__remove-form {
    align-self: flex-start;
}

.cart-item-card__remove {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid #f1c6c6;
    border-radius: 999px;
    text-decoration: none;
    color: #b54747;
    font-size: 13px;
    font-weight: 600;
}

.cart-item-card__remove:hover {
    border-color: #e0aaaa;
    background: #fff6f6;
}

.cart-summary-card {
    border-radius: 16px;
    padding: 20px 18px;
    box-shadow: 0 10px 28px rgba(26, 39, 54, 0.06);
}

.cart-summary-card__title {
    margin-bottom: 14px;
}

.cart-summary-card__total strong {
    margin-top: 4px;
    font-size: 34px;
}

.cart-summary-card .btn {
    min-height: 50px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
}

.cart-summary-card__checkout {
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    border-color: #1b9d75;
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.cart-summary-card__checkout:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.cart-summary-card__continue {
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    border-color: #1b9d75;
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.cart-summary-card__continue:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.cart-summary-card__clear {
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    border-color: #1b9d75;
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
}

.cart-summary-card__clear:hover {
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    border-color: #1ea77d;
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

@media (max-width: 1400px) {
    .cart-item-card__meta {
        grid-template-columns: minmax(140px, auto) minmax(180px, 1fr) minmax(140px, auto);
    }

    .cart-item-card__price strong,
    .cart-item-card__total strong {
        font-size: 27px;
    }

    .cart-summary-card__total strong {
        font-size: 30px;
    }
}

@media (max-width: 991px) {
    .cart-modern__layout {
        grid-template-columns: 1fr;
    }

    .cart-modern__summary {
        order: -1;
    }

    .cart-summary-card {
        position: static;
    }

    .cart-item-card {
        grid-template-columns: 118px minmax(0, 1fr);
    }

    .cart-item-card__image {
        width: 118px;
        height: 118px;
    }

    .cart-item-card__meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cart-item-card__qty-form {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .cart-item-card {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .cart-item-card__image {
        width: 110px;
        height: 110px;
    }

    .cart-item-card__title {
        font-size: 18px;
    }

    .cart-item-card__meta {
        grid-template-columns: 1fr;
    }

    .cart-item-card__stat {
        min-height: 0;
    }

    .cart-item-card__price strong,
    .cart-item-card__total strong {
        font-size: 29px;
    }
}

/* ---- Delayed ---- */

.modern-page--delayed {
    margin-top: 18px;
}

.delayed-item-card__controls {
    grid-template-columns: minmax(180px, auto) auto auto;
}

.delayed-item-card__add-form {
    display: grid;
    gap: 8px;
    align-content: center;
}

.delayed-item-card__add-form .btn {
    min-height: 42px;
    padding: 0 16px;
}

/* ---- Checkout ---- */

.modern-page--checkout {
    margin-top: 18px;
}

.checkout-modern {
    padding: 16px;
}

.checkout-modern__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
    align-items: start;
}

.checkout-modern__main .checkout-card,
.checkout-modern__side .checkout-summary-card {
    height: 100%;
    border: 1px solid #dbe2ea;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
    box-shadow: 0 10px 28px rgba(26, 39, 54, 0.06);
}

.checkout-card {
    padding: 22px;
}

.checkout-card h2,
.checkout-summary-card h2 {
    margin: 0 0 16px;
}

.checkout-form--modern {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.checkout-form--modern .account-form__errors,
.checkout-form__row--full,
.checkout-form__actions {
    grid-column: 1 / -1;
}

.checkout-form__row--compact {
    max-width: 220px;
}

.checkout-form--modern .account-form__row {
    gap: 7px;
}

.checkout-form--modern label {
    color: #415060;
    font-size: 13px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.checkout-form--modern input,
.checkout-form--modern select,
.checkout-form--modern textarea {
    min-height: 48px;
    border-radius: 12px;
    border-color: #d4dde8;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.checkout-form--modern input:focus,
.checkout-form--modern select:focus,
.checkout-form--modern textarea:focus {
    border-color: #1aa37c;
    box-shadow: 0 0 0 3px rgba(32, 180, 134, 0.14);
    outline: 0;
}

.checkout-form--modern textarea {
    min-height: 136px;
}

.checkout-form__actions {
    margin-top: 4px;
}

.checkout-form .checkout-submit.btn.btn-primary {
    margin-top: 0;
    width: 100%;
    min-height: 54px;
    border-radius: 12px;
    border-color: #1b9d75;
    background: linear-gradient(180deg, #27b58d 0%, #1b9d75 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(23, 130, 96, 0.22);
    font-size: 17px;
    font-weight: 800;
}

.checkout-form .checkout-submit.btn.btn-primary:hover,
.checkout-form .checkout-submit.btn.btn-primary:focus {
    border-color: #1ea77d;
    background: linear-gradient(180deg, #2bc196 0%, #1ea77d 100%);
    color: #fff;
    box-shadow: 0 10px 20px rgba(23, 130, 96, 0.28);
}

.checkout-summary-card {
    padding: 20px 18px;
    position: sticky;
    top: 18px;
}

.checkout-summary__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
    max-height: 360px;
    overflow: auto;
    padding-right: 2px;
}

.checkout-summary__item {
    display: grid;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #e3eaf2;
    border-radius: 12px;
    background: #fff;
}

.checkout-summary__item-name {
    color: #273445;
    font-size: 14px;
    line-height: 1.32;
    font-weight: 600;
}

.checkout-summary__item-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.checkout-summary__item-qty {
    color: #7c8697;
    font-size: 13px;
    font-weight: 500;
}

.checkout-summary__item-price {
    color: #212833;
    font-size: 20px;
    line-height: 1;
}

.checkout-summary__total {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e3eaf2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    color: #4d5869;
    font-size: 14px;
}

.checkout-summary__total strong {
    color: #1f2630;
    font-size: 30px;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}

.checkout-summary__notice {
    margin: 12px 0 0;
    color: #7f8b9d;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 1400px) {
    .checkout-summary__total strong {
        font-size: 28px;
    }
}

@media (max-width: 1199px) {
    .checkout-modern__layout {
        grid-template-columns: minmax(0, 1fr) 332px;
    }

    .checkout-form__row--compact {
        max-width: 180px;
    }
}

@media (max-width: 991px) {
    .checkout-modern__layout {
        grid-template-columns: 1fr;
    }

    .checkout-modern__side {
        order: -1;
    }

    .checkout-summary-card {
        position: static;
    }

    .checkout-form--modern {
        grid-template-columns: 1fr;
    }

    .checkout-form__row--compact {
        max-width: none;
    }
}

@media (max-width: 680px) {
    .checkout-modern {
        padding: 12px;
    }

    .checkout-card,
    .checkout-summary-card {
        padding: 14px;
    }

    .checkout-card h2,
    .checkout-summary-card h2 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .checkout-summary__item {
        padding: 9px 10px;
    }

    .checkout-summary__item-price {
        font-size: 18px;
    }

    .checkout-summary__total strong {
        font-size: 28px;
    }
}

/* ---- Accounts ---- */

.modern-page--account {
    margin-top: 18px;
}

.account-shell {
    display: grid;
    gap: 16px;
}

.account-shell--auth {
    grid-template-columns: minmax(270px, 0.9fr) minmax(0, 1.1fr);
}

.account-shell--profile {
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
}

.account-card {
    padding: 20px;
}

.account-card h2 {
    margin: 0 0 14px;
    color: #232a35;
    font-size: 28px;
    line-height: 1.15;
    font-weight: 800;
}

.account-intro-card {
    background: linear-gradient(160deg, #fff 0%, #f5fbf8 100%);
}

.account-intro-card p {
    margin: 0;
    color: #536073;
    font-size: 15px;
}

.account-intro-card__actions {
    margin-top: 14px;
}

.account-intro-card__actions--push .btn {
    width: 100%;
}

.account-form {
    display: grid;
    gap: 12px;
}

.account-form__row {
    display: grid;
    gap: 6px;
}

.account-form label {
    color: #4f5968;
    font-size: 14px;
    font-weight: 600;
}

.required-star {
    color: #d55252;
}

.account-form input,
.account-form select,
.account-form textarea {
    width: 100%;
    min-height: 42px;
    border-radius: 10px;
    border: 1px solid var(--line-strong);
    background: #fff;
    color: var(--text-main);
    padding: 10px 12px;
    font-size: 14px;
}

.account-form textarea {
    resize: vertical;
    min-height: 110px;
}

.account-form__errors {
    border-radius: 10px;
    border: 1px solid #efc5c5;
    background: #fff0f0;
    color: #8a2f2f;
    padding: 10px 12px;
    font-size: 14px;
}

.account-form__error {
    color: #b54848;
    font-size: 13px;
}

.account-form__help {
    color: #8a92a0;
    font-size: 12px;
}

.account-form__group-title {
    margin-top: 2px;
    color: #27303b;
    font-size: 15px;
    font-weight: 700;
}

.account-side {
    display: grid;
    gap: 16px;
    align-content: start;
}

.account-user-card__line {
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #5b6573;
    font-size: 14px;
}

.account-user-card__line strong {
    color: #232a35;
}

.account-orders--spaced {
    margin-top: 16px;
}

.account-orders__list {
    display: grid;
    gap: 12px;
}

.account-order-card {
    border: 1px solid #e8edf2;
    border-radius: 12px;
    background: #fff;
    padding: 14px;
}

.account-order-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.account-order-card__header h3 {
    margin: 0 0 4px;
    font-size: 18px;
    color: #24303d;
}

.account-order-card__date {
    color: #86909e;
    font-size: 12px;
}

.account-order-card__badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.account-order-card__status,
.account-order-card__payment {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    border-radius: 999px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #dfe5ec;
    background: #f3f6f8;
    color: #4b5563;
}

.account-order-card__payment.is-paid {
    background: #ecfaf3;
    border-color: #ccead8;
    color: #1f7b55;
}

.account-order-card__summary {
    margin-bottom: 8px;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    color: #556071;
    font-size: 14px;
}

.account-order-card__items {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid #edf1f5;
    border-radius: 10px;
    background: #fbfcfd;
}

.account-order-card__items li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border-bottom: 1px solid #edf1f5;
    color: #4f5968;
    font-size: 14px;
}

.account-order-card__items li:last-child {
    border-bottom: 0;
}

.account-order-card__items strong {
    color: #202833;
}

.account-order-card__footer {
    margin-top: 10px;
}

.account-orders__empty {
    color: #6f7887;
    font-size: 15px;
}

.account-delayed-list {
    display: grid;
    gap: 12px;
}

.account-delayed-card {
    border: 1px solid #e8edf2;
    border-radius: 12px;
    padding: 12px;
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.account-delayed-card__image {
    width: 90px;
    height: 90px;
    border: 1px solid #edf1f5;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.account-delayed-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.account-delayed-card__body h3 {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.2;
}

.account-delayed-card__body h3 a {
    color: #24303d;
}

.account-delayed-card__meta {
    color: #7f8896;
    font-size: 13px;
}

.account-delayed-card__price {
    margin-top: 6px;
    color: #1f2630;
    font-size: 18px;
    font-weight: 800;
}

.account-delayed-card__actions {
    display: grid;
    gap: 8px;
    justify-items: end;
}

.account-delayed-card__actions form {
    margin: 0;
}

.account-delayed-card__remove {
    color: #a43f3f;
    border-color: #ebd7d7;
    background: #fff;
}

/* ---- Contacts ---- */

.modern-page--contacts {
    margin-top: 18px;
}

.contacts-page-layout {
    display: grid;
    gap: 18px;
}

.contacts-map-wrap {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #dfe4ea;
}

.contacts-map {
    height: clamp(340px, 44vw, 520px);
}

.contacts-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.contacts-map-cards {
    position: absolute;
    left: 14px;
    top: 14px;
    width: min(320px, calc(100% - 28px));
    display: grid;
    gap: 8px;
}

.contacts-map-card {
    border-radius: 8px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.96);
    padding: 10px 12px;
    box-shadow: 0 8px 20px rgba(17, 24, 39, 0.1);
    color: #445062;
    font-size: 14px;
}

.contacts-map-card .title {
    margin-bottom: 3px;
    color: #2d3643;
    font-size: 15px;
    font-weight: 700;
}

.contacts-feedback-wrap.maxwidth-theme {
    width: min(var(--layout-max), calc(100% - 32px));
}

.contacts-feedback {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 20px;
}

.contacts-feedback h2 {
    margin: 0 0 14px;
    color: #232a35;
    font-size: 19px;
    line-height: 1.15;
    font-weight: 800;
}

.contacts-feedback-form .form_body .row {
    margin: 0 calc(var(--layout-gutter) * -1);
}

.contacts-feedback-form .form_body .col-md-7 {
    width: 58.333333%;
}

.contacts-feedback-form .form_body .col-md-5 {
    width: 41.666667%;
}

.contacts-feedback-form .form-control {
    margin-bottom: 12px;
}

.contacts-feedback-form .form-control label {
    display: block;
    margin-bottom: 6px;
    color: #5a6472;
    font-size: 13px;
}

.contacts-feedback-form .star,
.contacts-feedback-form .required-star {
    color: #d35252;
}

.contacts-feedback-form textarea,
.contacts-feedback-form input[type="text"],
.contacts-feedback-form input[type="tel"],
.contacts-feedback-form input[type="email"] {
    width: 100%;
    min-height: 44px;
    border-radius: 10px;
    border: 1px solid var(--line-strong);
    background: #fff;
    padding: 10px 12px;
    font-size: 14px;
}

.contacts-feedback-form textarea {
    min-height: 142px;
    resize: vertical;
}

.contacts-feedback-form .licence_block {
    margin-top: 4px;
    color: #6d7684;
    font-size: 13px;
}

.contacts-feedback-form .licence_block input {
    vertical-align: middle;
    margin-right: 8px;
}

.contacts-feedback-form .form_footer .btn {
    margin-top: 8px;
}

.contacts-feedback-form label.error {
    display: block;
    margin-top: 4px;
    color: #b54848;
    font-size: 12px;
}

/* ---- Help sidebar ---- */

.modern-page--help {
    margin-top: 18px;
    display: grid;
    grid-template-columns: minmax(250px, 270px) minmax(0, 1fr);
    grid-template-areas: "left right";
    gap: 18px;
}

.modern-page--help > .left_block {
    grid-area: left;
}

.modern-page--help > .right_block {
    grid-area: right;
}

.left_menu.modern-side-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.left_menu.modern-side-menu .item + .item {
    border-top: 1px solid #eef2f6;
}

.left_menu.modern-side-menu .item a {
    display: block;
    padding: 12px 14px;
    color: #3b4451;
    font-size: 14px;
    font-weight: 600;
}

.left_menu.modern-side-menu .item.current a,
.left_menu.modern-side-menu .item a:hover {
    background: #f0f7f3;
    color: var(--brand-dark);
}

/* ---- Order success ---- */

.modern-page--order-success {
    margin-top: 18px;
}

.order_success_page .auth_wrapp.form-block {
    padding: 20px;
}

.order_success_page .form-body h3 {
    margin: 0 0 10px;
    color: #222a35;
    font-size: 14px;
}

.order_success_page .form-body p {
    margin: 0 0 8px;
    color: #4f5969;
    font-size: 15px;
}

.order_success_page .form-body .btn {
    margin-top: 8px;
}

/* ---- Footer ---- */

#footer {
    border-top: 1px solid var(--line);
    background: #eff1f4;
    margin-top: 18px;
}

#footer .footer_inner {
    padding-top: 24px;
}

#footer .wrapper_inner {
    width: min(var(--layout-max), calc(100% - 32px));
    margin: 0 auto;
}

#footer .bottom-middle {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

#footer .bottom-middle > [class*="col-"] {
    width: auto;
    padding: 0;
    min-width: 0;
}

#footer .bottom-menu .items > .item-link .title a {
    color: #242c36;
    font-size: 20px;
    font-weight: 800;
}

#footer .bottom-menu .wrap {
    margin-top: 8px;
}

#footer .bottom-menu .wrap .item-link {
    margin-bottom: 4px;
}

#footer .bottom-menu .wrap .title a {
    color: #5f6977;
    font-size: 13px;
    line-height: 1.3;
}

#footer .bottom-menu .wrap .title a:hover {
    color: var(--brand-dark);
}

#footer .social-block {
    margin-top: 14px;
}

#footer .social-icons .small_title {
    margin-bottom: 8px;
    color: #232a35;
    font-size: 16px;
    font-weight: 700;
}

#footer .social-icons ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

#footer .social-icons li a {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    position: relative;
    color: #fff;
}

#footer .social-icons li.vk a {
    background: #2d74c5;
}

#footer .social-icons li.telegram a {
    background: #2ca7e0;
}

#footer .social-icons li.mail a {
    background: #f5a524;
}

#footer .social-icons li.whats a {
    background: #21b35b;
}

#footer .social-icons li.vk a::before {
    content: "vk";
    font-size: 10px;
    font-weight: 700;
}

#footer .social-icons li.telegram a::before {
    content: "tg";
    font-size: 10px;
    font-weight: 700;
}

#footer .social-icons li.mail a::before {
    content: "@";
    font-size: 14px;
}

#footer .social-icons li.whats a::before {
    content: "wa";
    font-size: 10px;
    font-weight: 700;
}

#footer .contacts_block_footer .white_middle_text {
    display: block;
    margin-bottom: 8px;
    color: #242c36;
    font-size: 20px;
    font-weight: 800;
}

#footer .contacts_block_footer .blocks {
    margin-bottom: 8px;
    color: #5c6675;
    font-size: 13px;
    line-height: 1.3;
}

#footer .contacts_block_footer .phone .phone-block__item-link {
    color: #3f4c5f;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

#footer .contacts_block_footer a {
    color: #3f4c5f;
}

#footer .contacts_block_footer a:hover {
    color: var(--brand-dark);
}

#footer .bottom-under {
    margin-top: 22px;
    border-top: 1px solid #dfe5ec;
    padding: 16px 0 20px;
}

#footer .bottom-under .row,
#footer .bottom-under .inner-wrapper.row {
    margin: 0;
}

#footer .outer-wrapper,
#footer .inner-wrapper {
    width: 100%;
    padding: 0;
}

#footer .inner-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

#footer .copy {
    color: #8d97a4;
    font-size: 12px;
}

#footer .pay_system_icons {
    display: inline-flex;
    align-items: center;
}

#footer .pay_system_icons span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#footer .pay_system_icons i {
    width: 16px;
    height: 12px;
    border-radius: 3px;
    display: inline-block;
    background: #d0d6de;
}

#footer .pay_system_icons .cacsh {
    background: #8cc06f;
}

#footer .pay_system_icons .mastercard {
    background: #f79b3f;
}

#footer .pay_system_icons .visa {
    background: #2c7ed8;
}

#footer .pay_system_icons .qiwi {
    background: #f0b548;
}

/* ---- Scroll-to-top ---- */

.scroll-top-btn {
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid #d2dae3;
    border-radius: 50%;
    background: #fff;
    color: #4f5968;
    font-size: 20px;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 130;
}

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

.scroll-top-btn:hover {
    color: #fff;
    background: var(--brand);
    border-color: var(--brand);
}

/* ---- Responsive ---- */

@media (min-width: 768px) {
    .visible-xs {
        display: none !important;
    }

    .visible-sm {
        display: block !important;
    }

    .hidden-xs {
        display: block !important;
    }

    .hidden-sm {
        display: none !important;
    }

    .col-sm-3 {
        width: 25%;
    }

    .col-sm-4 {
        width: 33.333333%;
    }

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

    .col-sm-offset-2 {
        margin-left: 16.666667%;
    }
}

@media (min-width: 992px) {
    .visible-sm {
        display: none !important;
    }

    .visible-md {
        display: block !important;
    }

    .hidden-sm {
        display: block !important;
    }

    .col-md-2 {
        width: 16.666667%;
    }

    .col-md-3 {
        width: 25%;
    }

    .col-md-4 {
        width: 33.333333%;
    }

    .col-md-5 {
        width: 41.666667%;
    }

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

    .col-md-7 {
        width: 58.333333%;
    }

    .col-md-8 {
        width: 66.666667%;
    }

    .col-md-12 {
        width: 100%;
    }
}

@media (min-width: 1200px) {
    .visible-md {
        display: none !important;
    }

    .visible-lg {
        display: block !important;
    }

    .catalog_block.items.row > .item.item_block > .catalog_item_wrapp {
        max-width: 257px;
    }

    .modern-page--catalog .catalog_block.items.row > .item.item_block {
        width: 33.333333%;
    }

    .modern-page--catalog .catalog_block.items.row > .item.item_block:nth-child(4n) {
        border-right: 1px solid #eceff3;
    }

    .modern-page--catalog .catalog_block.items.row > .item.item_block:nth-child(3n) {
        border-right: 0;
    }
}

@media (max-width: 1300px) {
    .modern-page--home .top_big_banners.with_childs {
        --hero-main-height: 486px;
    }

    .header-wrapper .logo-row.row {
        grid-template-columns: 220px 180px minmax(0, 1fr);
        gap: 18px;
    }

    .header-wrapper .menu-grid > .menu-item > .wrap > a {
        font-size: 15px;
    }

    .top_slider_wrapp .hero-slide {
        grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.3fr);
        padding: 14px 16px;
    }

    .top_slider_wrapp .hero-slide__content {
        padding: 16px 8px 16px 10px;
    }

    .top_slider_wrapp .banner_title {
        font-size: 28px;
    }

    .top_slider_wrapp .banner_text {
        font-size: 14px;
    }

    .top_slider_wrapp .banner_buttons .btn.btn-default.btn-lg {
        min-height: 56px;
        font-size: 15px;
    }

    .tab_slider_wrapp .tabs > li > span {
        font-size: 17px;
    }

    .catalog_item .item-title a {
        font-size: 14px;
    }

    .cost .price {
        font-size: 18px;
    }

    .cost .price_group .price_name {
        font-size: 12px;
    }
}

@media (max-width: 1199.98px) {
    .modern-page--home .top_big_banners.with_childs {
        --hero-main-height: 430px;
    }

    .top-block .row {
        grid-template-columns: auto 1fr auto auto;
    }

    .top-block .top-block-item.pull-left.visible-lg {
        display: none;
    }

    .header-wrapper .logo-row.row {
        grid-template-columns: 220px minmax(0, 1fr);
        min-height: 80px;
    }

    .header-wrapper .logo-row > .hidden-sm.hidden-xs {
        display: none !important;
    }

    .header-wrapper .header-menu-row {
        width: 100%;
    }

    .header-wrapper .menu-grid,
    .header-wrapper .menu-grid > .menu-item {
        min-height: 80px;
        height: 80px;
    }

    .header-wrapper .menu-grid > .menu-item > .wrap > a {
        font-size: 15px;
    }

    .modern-page--home .top_big_banners.with_childs > .row.dd {
        grid-template-columns: minmax(170px, 0.9fr) minmax(0, 3fr) minmax(170px, 0.9fr);
    }

    .top_slider_wrapp .hero-slide {
        grid-template-columns: minmax(180px, 0.95fr) minmax(220px, 1.2fr);
        padding: 12px 14px;
    }

    .top_slider_wrapp .hero-slide__content {
        padding: 16px 8px 12px 10px;
    }

    .top_slider_wrapp .hero-slide__media {
        padding-right: 0;
    }

    .top_slider_wrapp .hero-slide__media img {
        max-height: 376px;
    }

    .top_slider_wrapp .banner_title {
        font-size: 24px;
    }

    .top_slider_wrapp .banner_text {
        font-size: 14px;
    }

    .top_slider_wrapp .banner_buttons .btn.btn-default.btn-lg {
        min-height: 48px;
        font-size: 14px;
        padding: 0 24px;
    }

    .top_big_banners .item.normal_block .preview {
        font-size: 13px;
    }

    .tab_slider_wrapp .tabs > li > span {
        font-size: 16px;
    }

    .catalog_block.items.row {
        display: flex;
    }

    .catalog_block.items.row > .item.item_block:nth-child(4n) {
        border-right: 1px solid #eceff3;
    }

    .catalog_block.items.row > .item.item_block {
        width: 33.333333%;
    }

    .catalog_block.items.row > .item.item_block:nth-child(3n) {
        border-right: 0;
    }

    .catalog_item .inner_wrap {
        min-height: 500px;
    }

    .catalog_item .item-title a {
        font-size: 14px;
    }

    .item-stock .value,
    .article_block {
        font-size: 12px;
    }

    .cost .price {
        font-size: 18px;
    }

    .modern-page--catalog {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .catalog-toolbar__form {
        grid-template-columns: minmax(0, 1fr) 180px 180px auto;
    }

    .catalog_detail .item_main_info {
        grid-template-columns: minmax(0, 1fr);
    }

    .catalog_detail .item_slider .popup_link {
        min-height: 430px;
    }

    .cart-modern__layout {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .cart-item-card__controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .checkout-modern__layout {
        grid-template-columns: 1fr;
    }

    .account-shell--profile,
    .account-shell--auth {
        grid-template-columns: 1fr;
    }

    .account-delayed-card {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .account-delayed-card__image {
        width: 72px;
        height: 72px;
    }

    .account-delayed-card__actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr 1fr;
        justify-items: stretch;
    }

    .account-delayed-card__actions form,
    .account-delayed-card__actions .btn {
        width: 100%;
    }

    #footer .bottom-middle {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .wrapper_inner,
    .maxwidth-theme,
    .container,
    .wrapper_inner.front.wide_page.modern-page.modern-page--home,
    .wrapper_inner.modern-page.modern-page--catalog,
    .wrapper_inner.modern-page.modern-page--product,
    .wrapper_inner.wide_page.modern-page {
        width: min(var(--layout-max), calc(100% - 24px));
    }

    .header_wrap {
        position: relative;
    }

    .top-block .wrapp_block {
        min-height: 38px;
        padding: 4px 0;
    }

    .top-block .row {
        grid-template-columns: 1fr auto auto;
        gap: 6px 10px;
    }

    .top-block .top-block-item.col-md-4 {
        grid-column: 1 / 2;
    }

    .top-block .phone-block {
        gap: 10px;
    }

    .phone-block__item-link {
        font-size: 16px;
    }

    .callback-block {
        font-size: 13px;
    }

    .top-btn,
    .top-block .top-ctrl a,
    .personal-link {
        font-size: 13px;
    }

    .header-wrapper .logo-row.row {
        grid-template-columns: 1fr;
        gap: 10px;
        min-height: auto;
        padding: 12px 0 10px;
    }

    .header-wrapper .logo-row .logo-block {
        justify-self: center;
    }

    .header-wrapper .menu-grid {
        min-height: 56px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px 8px;
    }

    .header-wrapper .menu-grid > .menu-item {
        min-height: 56px;
        height: 56px;
    }

    .header-wrapper .menu-grid > .menu-item > .wrap > a {
        font-size: 15px;
        padding: 0 6px;
    }

    .inline-search-block .search-wrapper {
        padding: 12px 0;
    }

    .inline-search-block .search {
        gap: 8px;
    }

    .inline-search-block .search-input,
    .inline-search-block .btn.btn-search,
    .inline-search-block .close-block {
        height: 44px;
        min-height: 44px;
    }

    .page-top {
        padding: 16px 14px;
    }

    .page-top-main h1,
    #pagetitle {
        font-size: 22px;
    }

    .breadcrumbs {
        font-size: 13px;
    }

    .modern-page--home .top_big_banners.with_childs > .row.dd {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .modern-page--home .top_big_banners.with_childs > .row.dd > .col-m-60.col-md-6.col-m-push-20,
    .modern-page--home .top_big_banners.with_childs > .row.dd > .col-m-20.col-md-3.col-m-pull-60,
    .modern-page--home .top_big_banners.with_childs > .row.dd > .col-m-20.col-md-3:not(.col-m-pull-60) {
        order: initial;
    }

    .modern-page--home .top_big_banners.with_childs {
        --hero-gap: 12px;
        --hero-main-height: 372px;
    }

    .top_slider_wrapp .hero-slide {
        grid-template-columns: 1fr;
        align-content: start;
        padding: 12px;
    }

    .top_slider_wrapp .hero-slide__content {
        padding: 10px 8px 2px;
    }

    .top_slider_wrapp .hero-slide__media {
        text-align: center;
        justify-content: center;
        padding: 0 8px 8px;
    }

    .top_slider_wrapp .hero-slide__media img {
        max-height: 220px;
    }

    .top_slider_wrapp .banner_title {
        font-size: 20px;
    }

    .top_slider_wrapp .banner_text {
        font-size: 13px;
        margin-bottom: 12px;
    }

    .top_slider_wrapp .banner_buttons .btn.btn-default.btn-lg {
        min-height: 44px;
        font-size: 14px;
        padding: 0 18px;
    }

    .top_big_banners .item.normal_block .item_inner {
        min-height: 196px;
    }

    .top_big_banners .item.normal_block .preview {
        font-size: 14px;
        max-width: 100%;
    }

    .tab_slider_wrapp .tabs {
        min-height: 54px;
        padding: 0 12px;
        gap: 14px;
        overflow-x: auto;
    }

    .tab_slider_wrapp .tabs > li > span {
        min-height: 54px;
        font-size: 14px;
        white-space: nowrap;
    }

    .catalog_block.items.row {
        --catalog-card-scale: 0.88;
        display: flex;
    }

    .catalog_block.items.row > .item.item_block:nth-child(3n) {
        border-right: 1px solid #eceff3;
    }

    .catalog_block.items.row > .item.item_block {
        width: 50%;
    }

    .catalog_block.items.row > .item.item_block:nth-child(2n) {
        border-right: 0;
    }

    .catalog_item .inner_wrap {
        min-height: 470px;
    }

    .catalog_item .item-title a {
        font-size: 15px;
    }

    .cost .price {
        font-size: 20px;
    }

    .cost .price_group .price_name {
        font-size: 13px;
    }

    .catalog-card-action-row .button_block .btn,
    .catalog-card-qty {
        height: 48px;
        min-height: 48px;
    }

    .catalog-card-action-row {
        gap: 8px;
    }

    .catalog-card-qty {
        grid-template-columns: 34px minmax(0, 1fr) 34px;
    }

    .catalog-card-action-row .button_block .btn {
        font-size: 14px;
        padding: 0 10px;
    }

    .modern-page--catalog,
    .modern-page--help {
        grid-template-columns: 1fr;
        grid-template-areas:
            "left"
            "right";
    }

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

    .catalog_section_list.row {
        grid-template-columns: 1fr;
    }

    .catalog_section_list .section_item_inner {
        grid-template-columns: 132px minmax(0, 1fr);
    }

    .catalog-table-row {
        grid-template-areas:
            "image main wish"
            "image prices wish"
            "actions actions actions";
        grid-template-columns: 64px minmax(0, 1fr) 64px;
        gap: 10px;
        padding: 12px;
    }

    .catalog-table-row__thumb {
        width: 58px;
        height: 58px;
    }

    .catalog-table-row__meta {
        gap: 5px 10px;
    }

    .catalog-table-row__prices {
        justify-self: start;
    }

    .catalog-table-row__actions {
        width: 100%;
    }

    .catalog-table-row__action-grid {
        grid-template-columns: minmax(120px, 1fr) 72px;
        max-width: 248px;
    }

    .catalog_detail.detail {
        padding: 14px;
    }

    .catalog_detail .item_slider .popup_link {
        min-height: 340px;
        padding: 10px;
    }

    .catalog_detail .slides_navigations li {
        width: 56px;
        height: 56px;
    }

    .tabs_section {
        padding: 14px;
    }

    [data-gallery-lightbox] {
        padding: 10px;
    }

    [data-gallery-lightbox] .gallery-modal {
        width: 100%;
        height: min(84vh, 760px);
    }

    [data-gallery-lightbox] .gallery-prev,
    [data-gallery-lightbox] .gallery-next,
    [data-gallery-lightbox] .gallery-close {
        width: 38px;
        height: 38px;
    }

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

    .cart-summary-card {
        position: static;
    }

    .cart-item-card {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .cart-item-card__image {
        width: 110px;
        height: 110px;
    }

    .cart-item-card__title {
        font-size: 14px;
    }

    .cart-item-card__controls {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .contacts-map-cards {
        position: static;
        width: min(var(--layout-max), calc(100% - 24px));
        margin: 12px auto;
    }

    .contacts-feedback-form .form_body .col-md-7,
    .contacts-feedback-form .form_body .col-md-5 {
        width: 100%;
    }

    #footer .bottom-middle > [class*="col-"] {
        width: 100%;
        padding: 0 0 14px;
    }

    #footer .inner-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .top-block .row {
        grid-template-columns: 1fr auto auto;
        gap: 6px 8px;
    }

    .top-block .top-block-item.col-md-4 {
        grid-column: 1 / -1;
    }

    .top-block .phone-block {
        width: 100%;
        justify-content: space-between;
    }

    .phone-block__item-link {
        font-size: 15px;
    }

    .callback-block {
        font-size: 12px;
    }

    .header-wrapper .logo-row.row {
        padding: 10px 0 8px;
    }

    .header-wrapper .logo-row .logo img {
        width: 190px;
    }

    .header-wrapper .menu-grid > .menu-item > .wrap > a {
        font-size: 14px;
    }

    .basket_wrapp.fly {
        right: 10px;
        top: auto;
        bottom: 80px;
    }

    .basket_wrapp .basket_count,
    .basket_wrapp .wish_count {
        width: 56px;
        height: 56px;
    }

    .basket-dropdown {
        right: 0;
        left: auto;
        top: auto;
        bottom: calc(100% + 8px);
        width: min(260px, 86vw);
    }

    .page-top-main h1,
    #pagetitle {
        font-size: 15px;
    }

    .breadcrumbs {
        font-size: 12px;
    }

    .catalog_block.items.row {
        --catalog-card-scale: 1;
        display: flex;
    }

    .catalog_block.items.row > .item.item_block {
        width: 100%;
        border-right: 0;
    }

    .catalog_section_list .section_item_inner {
        grid-template-columns: 1fr;
    }

    .catalog-table-row {
        grid-template-areas:
            "image main wish"
            "prices prices prices"
            "actions actions actions";
        grid-template-columns: 54px minmax(0, 1fr) 64px;
        gap: 8px;
        padding: 10px;
    }

    .catalog-table-row__thumb {
        width: 50px;
        height: 50px;
    }

    .catalog-table-row__title {
        font-size: 14px;
    }

    .catalog-table-row__meta {
        font-size: 11px;
    }

    .catalog-table-row__prices {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .catalog-table-row__price-value {
        font-size: 15px;
    }

    .catalog-table-row__price-value span {
        font-size: 13px;
    }

    .catalog-table-row__action-grid {
        grid-template-columns: minmax(104px, 1fr) 72px;
        gap: 6px;
        max-width: none;
    }

    .catalog_section_list .section_item__image {
        border-right: 0;
        border-bottom: 1px solid #eef2f6;
    }

    .catalog_item .inner_wrap {
        min-height: 0;
    }

    .catalog_item .item-title {
        min-height: auto;
    }

    .catalog_item .item-title a {
        font-size: 17px;
    }

    .item-stock .icon.stock::before {
        font-size: 14px;
    }

    .item-stock .value,
    .article_block {
        font-size: 14px;
    }

    .cost .price_group .price_name {
        font-size: 13px;
    }

    .cost .price {
        font-size: 18px;
    }

    .catalog-card-action-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
    }

    .catalog-card-qty__input,
    .catalog-card-qty__btn {
        font-size: 16px;
    }

    .catalog-card-action-row .button_block .btn {
        font-size: 16px;
    }

    .top_slider_wrapp .banner_title {
        font-size: 14px;
    }

    .top_slider_wrapp .banner_text {
        font-size: 17px;
    }

    .top_big_banners .item.normal_block .preview {
        font-size: 16px;
    }

    .drag_block.goods_drag.products.brands_list_wide.front {
        padding: 12px;
    }

    .drag_block .title_block {
        font-size: 20px;
    }

    .account-card,
    .contacts-feedback,
    .checkout-modern,
    .tabs_section,
    .help-content-card,
    .catalog_detail.detail {
        border-radius: 12px;
        padding: 12px;
    }

    .account-card h2 {
        font-size: 20px;
    }

    .cart-item-card__title {
        font-size: 14px;
    }

    .cart-item-card__sku,
    .cart-item-card__label,
    .cart-summary-card__stats dt,
    .cart-summary-card__stats dd,
    .cart-summary-card__total {
        font-size: 14px;
    }

    .cart-item-card__price strong,
    .cart-item-card__total strong {
        font-size: 14px;
    }

    .cart-summary-card__title {
        font-size: 22px;
    }

    .cart-summary-card__total strong {
        font-size: 15px;
    }

    .contacts-map {
        height: 300px;
    }

    #footer .bottom-menu .items > .item-link .title a {
        font-size: 18px;
    }

    #footer .bottom-menu .wrap .title a,
    #footer .contacts_block_footer .blocks,
    #footer .copy {
        font-size: 14px;
    }

    .scroll-top-btn {
        right: 10px;
        bottom: 10px;
    }
}

.top-logout-form {
    margin: 0;
    display: inline-flex;
    align-items: center;
}

.top-logout-button {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
    font: inherit;
}

.top-logout-button:focus-visible {
    outline: 2px solid #1fa581;
    outline-offset: 2px;
    border-radius: 4px;
}

/* ---- Cart final overrides ---- */

@media (max-width: 767px) {
    .cart-item-card__title {
        font-size: 17px;
        line-height: 1.18;
    }

    .cart-item-card__sku,
    .cart-item-card__label {
        font-size: 12px;
    }

    .cart-item-card__price strong,
    .cart-item-card__total strong {
        font-size: 24px;
    }

    .cart-summary-card__title {
        font-size: 22px;
    }

    .cart-summary-card__stats dt,
    .cart-summary-card__stats dd,
    .cart-summary-card__total {
        font-size: 13px;
    }

    .cart-summary-card__total strong {
        font-size: 28px;
    }
}

/* ---- Checkout final overrides ---- */

@media (max-width: 767px) {
    .checkout-modern {
        padding: 12px;
    }

    .checkout-card,
    .checkout-summary-card {
        border-radius: 12px;
        padding: 14px;
    }

    .checkout-card h2,
    .checkout-summary-card h2 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .checkout-form--modern label {
        font-size: 12px;
    }

    .checkout-summary__total strong {
        font-size: 28px;
    }
}

/* ---- Product card title alignment (home + related) ---- */

.modern-page--home .catalog_item .item-title,
.detail-related .catalog_item .item-title {
    text-align: center;
}

.modern-page--home .catalog_item .item-title a,
.detail-related .catalog_item .item-title a {
    display: block;
    text-align: center;
}

/* ---- Product detail price label spacing ---- */

.modern-page--product .catalog_detail .prices_block .price_group .price_name {
    margin-bottom: 4px;
}

/* ---- Cart sizing harmonization ---- */

.modern-page--cart .cart-item-card__title {
    font-size: 15px;
    line-height: 1.25;
}

.modern-page--cart .cart-item-card__meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 10px;
}

.modern-page--cart .cart-item-card__stat {
    min-height: 52px;
    padding: 4px 8px;
}

.modern-page--cart .cart-item-card__stat--qty {
    min-height: 52px;
    gap: 2px;
}

.modern-page--cart .cart-item-card__stat--qty .cart-qty {
    width: 100%;
    max-width: none;
    height: 34px;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
}

.modern-page--cart .cart-item-card__label {
    margin-bottom: 2px;
    font-size: 9px;
    line-height: 1;
}

.modern-page--cart .cart-item-card__stat--qty .cart-qty__btn {
    font-size: 20px;
}

.modern-page--cart .cart-item-card__price strong,
.modern-page--cart .cart-item-card__total strong {
    font-size: 20px;
    line-height: 1.1;
}

@media (max-width: 991px) {
    .modern-page--cart .cart-item-card__meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .modern-page--cart .cart-item-card__qty-form {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .modern-page--cart .cart-item-card__meta {
        grid-template-columns: 1fr;
    }
}

/* ---- Cart summary palette + spacing ---- */

.modern-page--cart .cart-summary-card {
    padding: 24px 22px;
}

.modern-page--cart .cart-summary-card .btn {
    margin-bottom: 12px;
}

.modern-page--cart .cart-summary-card .btn:last-child {
    margin-bottom: 0;
}

.modern-page--cart .cart-summary-card__continue {
    background: linear-gradient(180deg, #a4acb8 0%, #7f8898 100%);
    border-color: #7f8898;
    color: #fff;
    box-shadow: 0 8px 18px rgba(53, 63, 78, 0.24);
}

.modern-page--cart .cart-summary-card__continue:hover {
    background: linear-gradient(180deg, #b0b7c2 0%, #8a93a2 100%);
    border-color: #8a93a2;
    color: #fff;
    box-shadow: 0 10px 20px rgba(53, 63, 78, 0.3);
}

.modern-page--cart .cart-summary-card__clear {
    background: linear-gradient(180deg, #ff739f 0%, #e24b78 100%);
    border-color: #e24b78;
    color: #fff;
    box-shadow: 0 8px 18px rgba(190, 45, 102, 0.26);
}

.modern-page--cart .cart-summary-card__clear:hover {
    background: linear-gradient(180deg, #ff85ac 0%, #ec5a87 100%);
    border-color: #ec5a87;
    color: #fff;
    box-shadow: 0 10px 20px rgba(190, 45, 102, 0.32);
}
