/* ===== БАЗА ===== */

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


:root {
    --white-100: rgba(255, 255, 255, 1);
    --blue-900: rgba(0, 88, 163, 1);
    --red-900: rgba(183, 28, 28, 1);
    --black-100: rgba(24, 24, 24, 1);
    --grey-100: rgba(245, 245, 245, 1);
    --color-text-primary: #181818;
    --color-brand-primary: #0058A3;
    --color-surface-muted: #F5F5F5;
    --radius-md: 8px;
    --shadow-dropdown: 0 4px 24px rgba(0, 0, 0, 0.12);
    --transition-button-colors: background 0.2s, border-color 0.2s, color 0.2s;
    --desktop-body-2-font-family: "Inter", Helvetica;
    --desktop-body-2-font-weight: 400;
    --desktop-body-2-font-size: 14px;
    --desktop-body-2-letter-spacing: 0.25px;
    --desktop-body-2-line-height: 20px;
    --desktop-body-2-font-style: normal;
    --desktop-subtitle-2-font-family: "Inter", Helvetica;
    --desktop-subtitle-2-font-weight: 600;
    --desktop-subtitle-2-font-size: 14px;
    --desktop-subtitle-2-letter-spacing: 0.10000000149011612px;
    --desktop-subtitle-2-line-height: 20px;
    --desktop-subtitle-2-font-style: normal;
    --web-page-body-gap: 16px;
    --web-page-desktop-view: initial;
    --web-page-category-list-max-width: 360px;
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    display: none;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-text-primary);
    background: var(--white-100);
}

/* ========== КОМПЕНСАЦИЯ ВЫСОТЫ ДЛЯ КОНТЕНТА ========== */
/* Чтобы контент не прыгал при переходе в sticky */
body {
    padding-top: 0;
    transition: padding-top 0.3s ease;
}

body.header-sticky-active {
    padding-top: var(--header-height, 150px);
}


ul,
ol {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

a {
    text-decoration: none;
    color: var(--color-text-primary);
}

h2 {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    font-weight: 600;
    margin-bottom: 16px;
}

.container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0;
}

.row {
    margin: 0;
}

.col-12 {
    padding: 0;
}

.header {
    border-bottom: 1px solid #E0E0E0;
    position: relative;
    z-index: 1000;
    transition: all 0.3s ease;
}

/* ========== STICKY СОСТОЯНИЕ ========== */
.header.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #FFFFFF;
    animation: slideDown 0.3s ease;
    border-bottom: none;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.mobile-bottom-nav {
    display: none;
}

/* ========== СКРЫТИЕ HEADER-BOTTOM ========== */
.header-bottom {
    max-height: 200px;
    /* Примерная высота вашего bottom */
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease;
    opacity: 1;
}

.header.sticky .header-bottom.hidden {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.header-top {
    background-color: var(--color-text-primary);
}

.header-top-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-top-menu ul {
    display: flex;
    align-items: center;
}

.header-top-menu ul li {
    margin-right: 32px;
}

.header-top-menu ul li:last-child {
    margin-right: 0;
}

.header-top-menu ul li a {
    font-size: 14px;
    line-height: 40px;
    font-weight: 400;
    letter-spacing: 0.25px;
    color: #9E9E9E;
}

.header-top-phone img {
    max-width: 16px;
    margin-right: 4px;
}

.header-top-phone a {
    display: flex;
    align-items: center;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.header-middle {
    padding-top: 8px;
    padding-bottom: 8px;
}

.header-middle-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-middle-start {
    display: flex;
    align-items: center;
    width: 33%;
    max-width: 329px;
    margin-right: 24px;
}

.header-middle-start .logo img {
    max-width: 124px;
    margin-right: 24px;
}

.header-middle-panel .header-panel-item>a,
.header-middle-panel .panel-item-button {
    color: #181818;
}

.header-middle-panel .header-panel-item>a:hover,
.header-middle-panel .header-panel-item>a:focus-visible,
.header-middle-panel .panel-item-button:hover,
.header-middle-panel .panel-item-button:focus-visible {
    color: #CE0061;
}

.panel-item-button:hover p {
    color: #CE0061;
}

.header-middle-start button {
    display: inline-flex;
    align-items: center;
    border: none;
    background-color: var(--color-brand-primary);
    color: var(--white-100);
    cursor: pointer;
    padding: 14px 16px;
    border-radius: var(--radius-md);
    margin-right: 16px;
}

.header-middle-start button img {
    margin-right: 8px;
}

.header-middle-start button svg {
    margin-right: 8px;
}

.header-middle-start button p {
    margin-bottom: 0;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1px;
    font-size: 14px;
}

.header-middle-start a:last-child {
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1px;
}

.header-middle-search {
    width: 100%;
    margin-right: 24px;
}

.header-middle-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 33%;
    max-width: 236px;
}

.middle-searh-inner {
    display: flex;
    justify-content: space-between;
    border: 1px solid #BDBDBD;
    padding-left: 16px;
    border-radius: var(--radius-md);
}

.middle-searh-inner input {
    border: none;
    width: 100%;
    padding: 0;
    outline: none;
}

.middle-searh-inner input::placeholder {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-weight: 400;
}

.middle-searh-inner button {
    border: none;
    background: var(--color-brand-primary);
    padding: 8px;
    border-radius: var(--radius-md);
    margin-bottom: 4px;
    margin-top: 3px;
    margin-right: 4px;
}

.middle-searh-inner .search-clear {
    background: transparent;
}

/* ===== SEARCH BOX ===== */

.search-box {
    position: relative;
}

/* Дропдаун */
.search-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: var(--white-100);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-dropdown);
    z-index: 1000;
    overflow: hidden;
    max-height: 520px;
    overflow-y: auto;
}

/* Секция */
.search-section {
    padding: 0;
}


.search-section-title {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #757575;
    text-transform: none;
    letter-spacing: 0.04em;
    padding: 12px 16px 6px;
}

/* Подсказки */
.search-suggestions {
    list-style: none;
    margin: 0;
    padding: 4px 0;
}

.search-suggestions li {
    margin: 0;
}

.search-suggestion-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 16px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 14px;
    color: #333;
    transition: background 0.12s;
}

.search-suggestion-item:hover {
    background: #f5f5f5;
}

/* История — строка с крестиком */
.search-suggestion-history {
    display: flex;
    align-items: center;
    padding: 0;
}

.search-suggestion-main {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    padding: 9px 16px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 14px;
    color: #333;
    transition: background 0.12s;
}

.search-suggestion-main:hover {
    background: #f5f5f5;
}

.search-history-remove {
    flex-shrink: 0;
    padding: 9px 16px;
    background: none;
    border: none;
    cursor: pointer;
    color: #9e9e9e;
    transition: color 0.12s;
    display: flex;
    align-items: center;
}

.search-history-remove:hover {
    color: #333;
}

/* Категории */
.search-categories-list {
    list-style: none;
    margin: 0;
    padding: 4px 0 8px;
}

.search-categories-list li {
    margin: 0;
}

.search-category-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    text-decoration: none;
    transition: background 0.12s;
}

.search-category-row:hover {
    background: #f5f5f5;
}

.search-category-row strong {
    font-weight: 600;
    color: #181818;
}

/* Товары */
.search-products {
    list-style: none;
    margin: 0;
    padding: 4px 0 8px;
}

.search-products li {
    margin: 0;
}

.search-product-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    text-decoration: none;
    color: inherit;
    transition: background 0.12s;
}

.search-product-item:hover {
    background: #f5f5f5;
}

.search-product-img {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 4px;
    overflow: hidden;
    background: #f0f0f0;
}

.search-product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.search-product-img-placeholder {
    width: 100%;
    height: 100%;
    background: #e8e8e8;
}

.search-product-info {
    flex: 1;
    min-width: 0;
}

.search-product-name {
    font-size: 14px;
    color: #181818;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-product-name strong {
    color: #181818;
}

.search-product-breadcrumb {
    font-size: 12px;
    color: #9e9e9e;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-product-price {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-left: 8px;
}

/* Состояния */
.search-loading,
.search-empty {
    padding: 16px;
    font-size: 14px;
    color: #9e9e9e;
    text-align: center;
}

.header-middle-phone--mobile {
    display: none;
}

.header-panel-item a {
    position: relative;
    text-align: center;
    display: inline-block;
}

.header-panel-item span {
    position: absolute;
    padding-left: 4px;
    padding-right: 4px;
    background-color: #CE0061;
    color: #fff;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.5px;
    top: 0;
    right: 25%;
}

.header-panel-item p {
    margin: 0;
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: 0.4px;
}

.header-panel-item:nth-child(2) span {
    display: none;
}

.header-panel-item:last-child span {
    right: 5%;
}


/* Замени существующие стили .header-bottom-* в main.css на эти */

.header-bottom {
    padding-top: 8px;
    padding-bottom: 16px;
}

.header-bottom-inner {
    display: flex;
    gap: 24.5px;
    overflow: hidden;
    position: relative;
    /* чтобы свайпер не вылезал за края */
}

/* Кнопки навигации */
.header-bottom-nav {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: #181818;
    padding: 0;
}

.header-bottom-nav--prev {
    left: 0;
    background: linear-gradient(to right, #fff 60%, transparent);
}

.header-bottom-nav--next {
    right: 0;
    background: linear-gradient(to left, #fff 60%, transparent);
}

/* Убираем старый .header-bottom-links — он больше не нужен */
.header-bottom-links {
    display: none;
    gap: 16px;
    flex-wrap: nowrap;
    width: 100%;
    justify-content: space-between;
}

/* Свайпер — работает на всех размерах */
.header-bottom-swiper {
    display: block;
    width: 100%;
    overflow: hidden;
}

.header-bottom-swiper .swiper-wrapper {
    justify-content: flex-start;
}

.header-bottom-slide {
    width: auto !important;
    /* slidesPerView: 'auto' требует auto-width */
    flex-shrink: 0;
}

.header-bottom-inner a,
.header-bottom-slide a {
    display: inline-block;
    padding: 4px 16px;
    background-color: var(--color-surface-muted);
    border-radius: var(--radius-md);
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 0.25px;
}

.header-bottom-slide a {
    white-space: nowrap;
    /* текст не переносится */
    color: inherit;
    text-decoration: none;
}

.header-bottom-slide a:hover {
    background-color: #ebebeb;
}


main {
    padding-top: 24px;
}

.start-slider {
    position: relative;
    padding-bottom: 56px;
    margin-bottom: 24px;
}

.start-slider-inner {
    position: relative;
}

.start-slider__swiper {
    overflow: hidden;
    border-radius: 8px;
}

.start-slider__swiper .swiper-slide>a {
    display: block;
}

.start-slider__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1500 / 516;
}

@media (max-width: 1399px) {
    .start-slider__media {
        aspect-ratio: auto;
        height: 334px;
    }
}

.start-slider__swiper img {
    width: 100%;
    height: auto;
    display: block;
}

/* Навигационные кнопки */
.start-slider__nav-prev,
.start-slider__nav-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.3s ease, box-shadow 0.3s ease;
    border: none;
}

.start-slider__nav-prev:hover,
.start-slider__nav-next:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.start-slider__nav-prev.swiper-button-disabled,
.start-slider__nav-next.swiper-button-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.start-slider__nav-prev {
    left: 16px;
    padding: 10px 12.66px 10px 12.67px;
}

.start-slider__nav-next {
    right: 16px;
    padding: 10px 12.67px 10px 12.66px;
}

.start-slider__nav-prev svg,
.start-slider__nav-next svg {
    display: block;
    color: #181818;
}

/* Pagination (dots) */
.start-slider__pagination {
    position: absolute;
    bottom: -22px !important;
    left: 50% !important;
    transform: translateX(-50%);
    display: flex !important;
    gap: 8px;
    z-index: 10;
    width: auto !important;
}

.start-slider__pagination .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: #E0E0E0 !important;
    border-radius: 4px !important;
    opacity: 1 !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
    cursor: pointer;
}

.start-slider__pagination .swiper-pagination-bullet-active {
    width: 32px !important;
    height: 8px !important;
    background: #181818 !important;
    border-radius: 4px !important;
}

.popular-categories-mobile {
    display: none;
}

.popular-categories-desktop {
    display: block;
}

.popular-categories-item {
    display: flex;
    gap: 24px;
    text-align: center;
}


.categories-card-img {
    padding: 16px;
    border-radius: var(--radius-md);
    margin-bottom: 8px;
    background: var(--color-surface-muted);
}

.categories-item-card {
    position: relative;
    cursor: pointer;
    max-width: 166.5px;
    min-width: 166.5px;
    transition: transform 0.3s ease;
    display: inline-block;
    text-align: center;
}

.categories-item-card:hover {
    transform: translateY(-5px);
}

.categories-item-card:hover .categories-card-img img {
    transform: scale(1.1);
    transition: transform 0.3s ease;
}

.categories-card-img img {
    max-width: 134.5px;
    transition: transform 0.4s ease;
}

.categories-item-card p {
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1px;
}


/* Контейнер слайдера */
.popular-categories {
    position: relative;
    margin-bottom: 70px;

}

/* Карточка категории */

/* Растянутая ссылка на всю карточку */
.categories-item-card a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Кнопки навигации */
.popular-categories__nav {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
    border: none;
}

.popular-categories__nav-prev {
    left: -17px;
}

.popular-categories__nav-next {
    right: -17px;
}

.popular-categories__nav:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Пагинация */
.popular-categories__pagination {
    text-align: center;
    position: absolute;
    bottom: -26px !important;
    left: 50% !important;
    transform: translateX(-50%);
    display: flex !important;
    align-items: center;
    gap: 0px;
    z-index: 10;
    width: auto !important;

}

.popular-categories__pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ddd;
    opacity: 1;
    margin: 0 5px;
}

.popular-categories__pagination .swiper-pagination-bullet-active {
    width: 32px !important;
    height: 8px !important;
    background: #181818 !important;
    border-radius: 4px !important;
}


/* Контейнер табов */
.products-tabs,
.sales-tabs,
.bestsellers-tabs {
    padding: 0;
    margin-bottom: 70px;
}

/* Навигация табов */
.products-tabs__nav {
    display: flex;
    gap: 0;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    cursor: grab;
    border-bottom: 2px solid #EEEEEE;
}

.products-tabs__nav::-webkit-scrollbar {
    display: none;
}

.products-tabs__nav .nav-item {
    flex: 0 0 auto;
}

.products-tabs__nav.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.products-tabs__link {
    padding: 14px 16px;
    border: none;
    background: transparent;
    color: #757575;
    white-space: nowrap;
    transition: all 0.1s ease;
    border-bottom: 2px solid #EEEEEE;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px;
}

.products-tabs__link:hover {
    color: #0058A3;
    border-bottom-color: #0058A3;
}

.products-tabs__link.active {
    color: #0058A3;
    background: transparent;
    border-bottom: 2px solid #0058a3 !important;
    margin-bottom: 0px;
}

/* Контент табов */
.products-tabs__content {
    padding-top: 36px;
}

.products-card-slider {
    position: relative;
}

/* Слайдер товаров */
.products-slider {
    width: 100%;
    overflow: hidden;
    position: unset;
}

.products-slider .swiper-wrapper {
    display: flex;
    gap: 0;
}

/* Карточка товара */
.product-card {
    background: #fff;
    overflow: hidden;
    transition: all .3s;
    position: relative;
    border-radius: 8px;
    height: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 8px;
}

.product-card:hover {
    box-shadow: 4px 4px 16px 0 rgba(24, 24, 24, 0.24), -1px -1px 16px 0 rgba(24, 24, 24, 0.04);
    border-radius: 8px;
    transition: all .3s;
    cursor: pointer;
    border-radius: 8px;
}

.product-card__img-wrap {
    width: 100%;
    margin-bottom: 16px;
}

.swiper-slide-inner {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 24px;
    padding-bottom: 42px;
}

.grid-of-goods .swiper-slide-inner {
    gap: 6px;
}

.product-card-inner {
    min-width: 290px;
    max-width: 290px;
    margin-top: 0;
    max-height: fit-content;
    height: 100%;
}

/* Галерея товара */
.product-card__gallery {
    position: relative;
}

/* Основной слайдер изображений */
.product-gallery-main {
    width: 100%;
    height: 269px;
}

.product-gallery-main .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    margin-right: 0 !important;
}

.product-gallery-main img {
    width: 100%;
    max-width: 269px;
    max-height: 269px;
    object-fit: cover;
}

.product-gallery-main .swiper-button-next,
.product-gallery-main .swiper-button-prev {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: none;
}

.product-gallery-main .swiper-button-next::after,
.product-gallery-main .swiper-button-prev::after {
    font-size: 14px;
    color: #333;
}

/* Слайдер миниатюр */
.product-gallery-thumbs {
    margin-top: 8px;
    padding: 0;
}

.product-gallery-thumbs .swiper-wrapper {
    gap: 4px;
}

.product-gallery-thumbs .swiper-slide {
    width: 36px !important;
    height: 36px;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    opacity: 1;
    position: relative;
    border: 1px solid #E0E0E0;
    margin-right: 4px !important;
}


.product-gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border: 1px solid #E0E0E0;
}


.product-gallery-thumbs img {
    width: 100%;
    max-width: 32px;
    padding: 2px;
    height: 100%;
    object-fit: cover;
}

/* Счетчик дополнительных изображений */
.product-gallery-thumbs__more {
    position: relative;
    border: none !important;
}

.product-gallery-thumbs__more::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.product-gallery-thumbs__count {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: #757575;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.25px;
}

/* Информация о товаре */
.product-card__info {
    padding-top: 8px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.product-card__header {
    min-height: 72px;
}

.product-card__title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
    line-height: 20px;
    color: #181818;
    letter-spacing: 0.1px;
    text-transform: uppercase;
    min-height: 20px;
    max-height: 40px;
    overflow: hidden;
}

.product-card__description {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 8px;
    line-height: 20px;
    color: #757575;
    letter-spacing: 0.25px;
    min-height: 40px;
    max-height: 40px;
    overflow: hidden;
}

.product-card__price {
    font-size: 24px;
    line-height: 32px;
    font-weight: 600;
    color: #181818;
    margin-top: auto;
    margin-bottom: 8px;
}

.product-card__price span {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
}

.shop_button {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 12px 16px;
    min-height: 40px;
    max-height: 40px;
    border-radius: 8px;
    background-color: #0058A3;
    color: #fff;
    position: relative;
    z-index: 5;
    transition: all .3s;
    width: 100%;
    max-width: 132px;
    box-sizing: border-box;
}

.products-card-slider .shop_button {
    max-width: 100%;
}

.shop_button:hover {
    background-color: #0076C5;
    transition: all .3s;
}

.shop_button p {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    letter-spacing: 0.1px;
    margin-left: 8px;
}

.sales-hit {
    padding: 2px 8px;
    background-color: #181818;
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.5px;
    position: absolute;
    top: 10px;
    left: 7px;
    z-index: 10;
}

.product-card>.sales-hit+.sales-hit {
    top: 34px;
}

.sales-hit.sales-hit--bestseller {
    background-color: #181818;
    color: #fff;
}

.sales-hit.sales-hit--new {
    background-color: #04A31A;
    color: #fff;
}

.pink {
    background-color: #CE0061;
    display: none;
    top: 261px;
}

.green {
    background-color: #04A31A;
    display: none;
}

.product-card-inner:nth-child(3) .pink {
    display: inline-block;
}

.product-card__img-wrap img {
    min-height: 274px;
    max-height: 274px;
    object-fit: contain;
}

.like {
    border: none;
    background-color: transparent;
    position: absolute;
    top: -2px;
    right: -2px;
    z-index: 10;
    padding: 8px;
}

.like img {
    max-width: 24px;
}

.product-card__variants {
    min-height: 36px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;

}

.product-card__variant-btn {
    max-width: 36px;
    max-height: 36px;
    min-height: 36px;
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    background: transparent;
    padding: 0px;
    min-width: 36px;
}

.product-card__variant-btn.active {
    border-color: #181818;
}

.product-card__variant-btn img {
    width: 100%;
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
    min-width: 100%;
    border-radius: 4px;
}

/* Навигация слайдера товаров */
.products-slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    background: white;
    border: 1px solid #EEEEEE;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
}


.products-slider__nav-prev {
    left: -14px;
}

.products-slider__nav-next {
    right: -14px;
}

.products-slider__nav.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
    display: none;
}

.products-slider__pagination {
    text-align: center;
    position: absolute;
    bottom: -26px !important;
    left: 50% !important;
    transform: translateX(-50%);
    display: flex !important;
    gap: 0px;
    z-index: 10;
    width: auto !important;
}

.products-slider__pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ddd;
    opacity: 1;
    margin: 0 5px;
}

.products-slider__pagination .swiper-pagination-bullet-active {
    width: 32px !important;
    height: 8px !important;
    background: #181818 !important;
    border-radius: 4px !important;
}

.promo-category-banner {
    margin: 32px 0 48px;
}

.promo-category-banner__link {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.promo-category-banner__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1500 / 256;
    object-fit: cover;
}

@media (max-width: 767px) {
    .promo-category-banner {
        margin: 20px 0 32px;
    }

    .promo-category-banner__link {
        border-radius: 6px;
    }
}

.promo-block {
    margin-bottom: 48px;
}

/* Контейнер промо-блока */
.promo-block-inner {
    display: flex;
    gap: 9px;
    /* Отступ между баннером и слайдером */
    align-items: flex-start;
    background-color: #CAC7C8;
    border-radius: 8px;
}

/* Левый баннер */
.promo-block-info {
    flex-shrink: 0;
    width: 565px;
    /* Фиксированная ширина баннера */
}

.promo-block-info a {
    display: block;
}

.promo-block-info img {
    width: 100%;
    height: auto;
    display: block;
}

/* Контейнер слайдера карточек */
.promo-block-card {
    flex: 1;
    min-width: 0;
    /* Важно! Позволяет flex-элементу уменьшаться */
    overflow: hidden;
    /* Скрываем выступающие части */
}

/* Обертка слайдера */
.promo-cards-slider {
    position: relative;
    padding-top: 32px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 40px;
}

/* Swiper контейнер */
.promo-card-inner {
    width: 100%;
    overflow: hidden;
    /* Не hidden для Swiper */
}

/* Обертка слайдов */
.promo-card-inner .swiper-wrapper {
    display: flex;
    gap: 0 8px;
}

/* Отдельный слайд */
.promo-card-inner .swiper-slide {
    height: auto;
    box-sizing: border-box;
    width: 293px !important;
    min-width: 293px !important;
    margin-right: 0 !important;
}

/* Карточка товара внутри слайда */
.promo-card-item {
    height: 100%;
}

.promo-card-item .product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 8px;
}

.promo-card__gallery {
    margin-bottom: 52px;
}

.promo-card__gallery img {
    max-width: 269px;
    max-height: 269px;
}

/* Навигационные кнопки */
.promo-cards-slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    background: #FFFFFF;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
    transition: all 0.3s ease;
    padding: 0;
}

.promo-cards-slider__nav:hover:not(.swiper-button-disabled) {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-50%) scale(1.05);
}

.promo-cards-slider__nav:active:not(.swiper-button-disabled) {
    transform: translateY(-50%) scale(0.95);
}

.promo-cards-slider__nav svg {
    width: 6.67px;
    height: 12px;
}

.promo-cards-slider__nav-prev {
    left: 5px;
}

.promo-cards-slider__nav-next {
    right: 4px;
}

.promo-cards-slider__nav.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
}

/* Пагинация (дотсы) */
.promo-cards-slider__pagination {
    position: absolute;
    bottom: 16px !important;
    left: 97% !important;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 10;
}

.promo-cards-slider__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #E0E0E0;
    border-radius: 4px;
    opacity: 1;
    margin: 0 !important;
    transition: all 0.3s ease;
    cursor: pointer;
}

.promo-cards-slider__pagination .swiper-pagination-bullet-active {
    width: 32px;
    height: 8px;
    background: #181818;
    border-radius: 4px;
}

.recomended-tabs {
    margin-bottom: 92px;
}

.recomended-tabs .pink {
    display: none !important;
}

.promo-card-inner .swiper-slide:first-child .pink {
    display: inline-block !important;
    top: 253px;
}

.recommended-tabs {
    padding-bottom: 40px;
}

/* Секция рекламных баннеров */
.ads-banner {
    margin: 32px 0 48px;
}

/* Контейнер слайдера */
.ads-banner-slider {
    position: relative;
    width: 100%;
}

/* Обертка Swiper */
.ads-banner-inner {
    overflow: hidden;
}

/* Элемент слайда */
.ads-banner-item,
.ads-banner-item a,
.ads-banner-item picture {
    display: block;
    width: 100%;
}

.ads-banner-item img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1500 / 256;
    object-fit: cover;
    border-radius: 8px;
}

/* Навигационные кнопки */
.ads-banner-slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    background: #FFFFFF;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
    transition: all 0.3s ease;
    padding: 0;
}

.ads-banner-slider__nav:hover:not(.swiper-button-disabled) {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-50%) scale(1.05);
}

.ads-banner-slider__nav:active:not(.swiper-button-disabled) {
    transform: translateY(-50%) scale(0.95);
}

.ads-banner-slider__nav svg {
    width: 6.67px;
    height: 12px;
    flex-shrink: 0;
}

.ads-banner-slider__nav-prev {
    left: -16px;
}

.ads-banner-slider__nav-next {
    right: -16px;
}

.ads-banner-slider__nav.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
}

/* Пагинация (дотсы) */
.ads-banner-slider__pagination {
    position: absolute;
    bottom: -28px !important;
    left: 50% !important;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 10;
    width: fit-content !important;
}

.ads-banner-slider__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #E0E0E0;
    border-radius: 4px;
    opacity: 1;
    margin: 0 !important;
    transition: all 0.3s ease;
    cursor: pointer;
}

.ads-banner-slider__pagination .swiper-pagination-bullet-active {
    width: 32px;
    height: 8px;
    background: #181818;
    border-radius: 4px;
}

@media (max-width: 767px) {
    .ads-banner {
        margin: 20px 0 32px;
    }

    .ads-banner-item img {
        border-radius: 6px;
    }

    .ads-banner-slider__pagination {
        bottom: -24px !important;
    }
}

.new-tabs {
    padding-bottom: 48px;
}

.new-tabs .sales-hit {
    display: none;
}

.new-tabs .green {
    display: inline-block;
}

.new-tabs .pink {
    display: none !important;
}

.blog-slider--mobile {
    display: none;
}

.blog-slider--desktop {
    display: block;
}

.blog {
    margin-bottom: 56px;
}

/* Контейнер слайдера блога */
.blog-slider {
    position: relative;
    padding-bottom: 15px;
}

/* Обертка Swiper */
.blog-inner {
    overflow: hidden;
}

/* Элемент слайда (blog-item) */
.blog-item {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Карточка блога */
.blog-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border-radius: 8px;
    overflow: hidden;
}


.blog-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 322px;
    max-height: 322px;
    border-radius: 8px;
    margin-bottom: 16px;
}

.blog-card span {
    display: inline-block;
    padding: 2px 8px;
    font-weight: 600;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.04em;
    color: #fff;
    background: #0058A3;
    border-radius: 4px;
    align-self: flex-start;
    margin-bottom: 0;
}

.blog-card h4 {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.1px;
    color: #181818;
    margin-bottom: 8px;
}

.blog-card p {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #757575;
    margin-bottom: 0;
    max-height: 40px;
    overflow: hidden;
}

.blog-card a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Навигационные кнопки */
.blog-slider__nav {
    position: absolute;
    top: 47%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    background: #FFFFFF;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
    transition: all 0.3s ease;
    padding: 0;
}

.blog-slider__nav:hover:not(.swiper-button-disabled) {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-50%) scale(1.05);
}

.blog-slider__nav:active:not(.swiper-button-disabled) {
    transform: translateY(-50%) scale(0.95);
}

.blog-slider__nav svg {
    width: 6.67px;
    height: 12px;
    flex-shrink: 0;
}

.blog-slider__nav-prev {
    left: -16px;
}

.blog-slider__nav-next {
    right: -16px;
}

.blog-slider__nav.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
}

/* Пагинация (дотсы) */
.blog-slider__pagination {
    position: absolute;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 10;
    width: fit-content !important;
}

.blog-slider__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #E0E0E0;
    border-radius: 4px;
    opacity: 1;
    margin: 0 !important;
    transition: all 0.3s ease;
    cursor: pointer;
}

.blog-slider__pagination .swiper-pagination-bullet-active {
    width: 32px;
    height: 8px;
    background: #181818;
    border-radius: 4px;
}

.seo {
    background-color: #FAFAFA;
    padding-top: 32px;
    padding-bottom: 32px;
}

.seo-inner {
    width: 100%;
}

.seo-text-content {
    max-height: 110px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.seo-text-content--expanded,
.seo-text-content.open {
    max-height: 2000px;
}

.seo-text-content p {
    margin-bottom: 16px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #181818;
}

.seo-text-content p:first-child,
.seo-text-content p:first-child strong {
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0;
    color: #181818;
}

.seo-text-content strong {
    font-weight: 600;
}

.seo-text-content ul,
.seo-text-content ol {
    margin: 0 0 16px 20px;
    padding: 0;
}

.seo-text-content ul {
    list-style: disc;
}

.seo-text-content ol {
    list-style: decimal;
}

.seo-text-content li {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #181818;
}

.seo-text-bottom-btn {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0;
    background: transparent;
    border: none;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    color: #181818;
    text-decoration: underline;
    cursor: pointer;
}

.seo-text-bottom-btn:hover {
    color: #0058A3;
}

.footer-mobile {
    display: none;
}

@media (max-width: 1199.98px) {
    .footer.d-none.d-xl-block {
        display: none !important;
    }

    .footer-mobile.d-xl-none {
        display: block !important;
    }
}

@media (min-width: 1200px) {
    .footer.d-none.d-xl-block {
        display: block !important;
    }

    .footer-mobile.d-xl-none {
        display: none !important;
    }
}

.footer {
    background-color: #F5F5F5;
    padding-top: 32px;
    padding-bottom: 32px;
}

.footer-top {
    display: flex;
    align-items: flex-start;
    padding-bottom: 32px;
    border-bottom: 1px solid #E0E0E0;
}

.footer-links {
    flex: 0 0 287px;
    width: 287px;
    margin-right: 16px;
}

.footer-logo {
    display: inline-block;
    width: 124px;
    height: 22px;
}

.footer-logo img {
    display: block;
    width: 124px;
    height: 22px;
    max-width: none;
    margin-bottom: 24px;
}

.footer-links p {
    margin-bottom: 16px;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.01em;
    color: #181818;
}

.footer-links__social {
    display: flex;
    align-items: center;
    gap: 16px;
}

.footer-links__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #FFFFFF;
}

.footer-links__social img {
    max-width: 40px;
    max-height: 40px;
}

.footer-navigation {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}

.footer-navigation-list {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    margin-right: 16px;
}

.footer-navigation-list h5,
.footer-payment h5 {
    margin-bottom: 16px;
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: #181818;
}

.footer-navigation-list ul li a,
.footer-navigation-list ul li button,
.footer-cookie-btn {
    display: inline-block;
    padding: 4px 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.03em;
    color: #181818;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
}

.footer-navigation-list ul li a:hover,
.footer-navigation-list ul li button:hover,
.footer-cookie-btn:hover {
    color: #0058A3;
}

.footer-payment {
    flex: 0 0 287px;
    width: 287px;
}

.footer-payment img {
    display: block;
    max-width: fit-content;
    height: auto;
}

.footer-bottom {
    padding-top: 24px;
}

.footer-bottom p {
    margin-bottom: 12px;
    font-weight: 400;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 0.02em;
    color: #757575;
}

.footer-bottom p:last-child {
    margin-bottom: 0;
}

/* Модалка каталога */

.catalog-modals {
    display: none;
    position: fixed;
    top: var(--header-height, 158px);
    /* Укажи высоту твоего header */
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    z-index: 999;
    overflow-y: auto;
    overflow-x: hidden;
}

.catalog-modals.active {
    display: block;
}

/* Overlay для затемнения фона */
.catalog-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 998;
}

.catalog-overlay.active {
    display: block;
}

.container-menu {
    display: flex;
    background-color: #fff;
    max-width: 1500px;
}

/* Левое меню */
.sidebar {
    width: 360px;
}

.menu-item {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 15px;
    color: #333;
}

.menu-item:hover,
.menu-item.active {
    background-color: #e8e8e8;
}

.menu-item-icon {
    width: 24px;
    height: 24px;
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-item-text {
    flex: 1;
}

.menu-item-arrow {
    margin-left: auto;
    font-size: 18px;
    color: #999;
}

.menu-item.special {
    color: #d32f2f;
}

.mega-menu-mobile-grid {
    display: none;
}

/* Мега-меню справа */
.mega-menu {
    flex: 1;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.mega-menu-section {
    display: flex;
    flex-direction: column;
}

.mega-menu-loader {
    width: 100%;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.section-header {
    display: flex;
    align-items: center;
    padding-bottom: 10px;
}

.section-icon {
    width: 40px;
    height: 40px;
    margin-right: 0;
}

.section-icon img {
    width: 40px;
    height: 40px;
    object-fit: cover;
}

.section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.section-links {
    list-style: none;
}

.section-links li {
    margin-bottom: 0;
    padding: 8px 16px;
}

.section-links a {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    transition: color 0.2s;
}

.section-links a:hover {
    color: #0058A3;
}

.catalog-show__more {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
}

.catalog-show__more:hover {
    color: #0058A3;
    text-decoration: underline;
}

/* Конец модалки каталога*/


/* Страница каталога */

.breadcumps {
    margin-bottom: 32px;
}

.the-detail .article-mobile-topbar {
    display: none;
}

.the-detail .article-mobile-topbar__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #181818;
}

.the-detail .article-mobile-topbar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.the-detail .article-mobile-topbar__title {
    display: inline-block;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.01em;
    color: #181818;
}

.breadcumps-inner {
    display: flex;
    overflow: hidden;
    white-space: nowrap;
}

.breadcumps-inner a {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    position: relative;
    color: #757575;
}

.breadcumps-inner a:last-child {
    color: #181818;
}

.breadcumps-inner span {
    padding-right: 3.42px;
}

.breadcumps-inner span:first-child {
    padding-right: 0;
    padding-left: 0;
}

.catalog-categories {
    margin-bottom: 32px;
}

.catalog-categories-items {
    display: flex;
    flex-wrap: wrap;
    gap: 23px;
}

.catalog-categoties-card {
    text-align: center;
    width: 166.5px;
    max-width: 166.5px;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.catalog-categoties-card:hover {
    transform: translateY(-5px);
    /* Подъем карточки */
}

.catalog-categoties-card:hover .catalog-categoties-banner img {
    transform: scale(1.1);
}

.catalog-categoties-banner {
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
    background: #f5f5f5;
}

.catalog-categoties-banner img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
    min-height: 114px;
    object-fit: cover;
}

.catalog-categoties-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.catalog-categoties-card__link:hover {
    /* Добавьте эффект при наведении, если нужно */
    opacity: 0.9;
}

.catalog-categoties-card p {
    margin-bottom: 0;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #181818;
}

.all-catalog h1 {
    font-weight: 600;
    font-size: 24px;
    line-height: 133%;
    color: #181818;
    margin-bottom: 32px;
}

.catalog-inner {
    padding-bottom: 32px;
}



.all-catalog-inner {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}


.all-catalog-sort {
    margin-bottom: 16px;
}

.catalog-sort {
    position: relative;
    display: inline-block;
    min-width: 240px;
}

.catalog-sort__overlay {
    display: none;
}

.catalog-sort__selected {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: #fff;
    border: 1px solid #bdbdbd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    user-select: none;
    width: 100%;
    text-align: left;
}

.catalog-sort__selected:hover {
    border-color: #bdbdbd;
}

.catalog-sort.open .catalog-sort__selected {
    border-color: #bdbdbd;
}

.catalog-sort__label {
    color: #bdbdbd;
    font-size: 14px;
}

.catalog-sort__current {
    flex: 1;
    font-weight: 400;
    color: #181818;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0.25px;
}

.catalog-sort__arrow {
    transition: transform 0.3s ease;
    color: #bdbdbd;
}

.catalog-sort.open .catalog-sort__arrow {
    transform: rotate(180deg);
}

/* Выпадающий список */
.catalog-sort__dropdown {
    position: absolute;
    top: 110%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #bdbdbd;
    border-top: none;
    border-radius: 8px 8px 8px 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: fit-content;
    overflow: hidden;
    opacity: 1;
    transition: all 0.3s ease;
    z-index: 100;
    box-shadow: 4px 4px 16px 0 rgba(24, 24, 24, 0.24), -1px -1px 16px 0 rgba(24, 24, 24, 0.04);
}

.catalog-sort.open .catalog-sort__dropdown {
    max-height: 300px;
    opacity: 1;
}

.catalog-sort__option button {
    padding: 15px 8px 15px 16px;
    cursor: pointer;
    transition: background 0.2s ease;
    color: #181818;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 0.25px;
    background: #fff;
    border: none;
    width: 100%;
    text-align: left;
}

.catalog-sort__option:hover {
    background: #FAFAFA;

}

.catalog-sort__option:hover button {
    color: #0058A3;
}

.catalog-sort__option.active button {
    background: #FAFAFA;
    font-weight: 400;
    color: #0058A3;
}

.all-catalog-cheaps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 16px;
    gap: 16px;
}

.catalog-cheaps-item {
    display: flex;
    padding: 8px 6px 6px 16px;
    background-color: #f5f5f5;
    border-radius: 12px;
    cursor: pointer;
}

.catalog-cheaps-item p {
    margin: 0;
    font-weight: 600;
    font-size: 14px;
    color: #757575;
    line-height: 20px;
    letter-spacing: 0.1px;
    margin-right: 8px;
}

.catalog-cheaps-item p span {
    color: #181818;
}

.cheaps-item-delete {
    padding: 0;
    border: none;
    background-color: transparent;
    width: 16px;
    height: 16px;
}

.cheaps-clear-all {
    border: none;
    background: none;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #757575;
    letter-spacing: 0.1px;
    text-decoration: underline;
    cursor: pointer;
}

.all-catalog-items,
.products-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.all-catalog-empty {
    padding-top: 16px;
    width: 100%;
    text-align: center;
}

.all-catalog-empty img {
    margin-bottom: 24px;
}

.all-catalog-empty h3 {
    font-weight: 600;
    font-size: 22px;
    line-height: 127%;
    text-align: center;
    color: #181818;
    margin-bottom: 16px;
}

.all-catalog-empty p {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    text-align: center;
    color: #181818;
    margin-bottom: 0;
}


/* Фильтры */
.filter-aside {
    min-width: 256px;
    max-width: 256px;
    background-color: white;
    border-radius: 0;
    padding-right: 4px;
}

.filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.filter-title {
    font-size: 22px;
    font-weight: 600;
    color: #2c3e50;
}

.clear-filters {
    color: #e74c3c;
    background: none;
    border: none;
    font-size: 14px;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.clear-filters:hover {
    background-color: #fdf2f2;
}

.filter-section {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
}

.filter-section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Плавное появление поля поиска */
.filter-search {
    transition: all 0.3s ease;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
}

.filter-search.active {
    max-height: 100px;
    opacity: 1;
    margin-bottom: 15px;
}

.filter-search-inner {
    border: 1px solid #BDBDBD;
    border-radius: 8px;
    padding: 10px 12px 10px 16px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.filter-search-inner svg {
    margin-right: 8px;
}

.filter-search input {
    border: none;
    outline: none;
}

.filter-search input::placeholder {
    font-size: 12px;
    line-height: 16px;
    color: #9E9E9E;
    letter-spacing: 0.4px;
    font-weight: 400;
}

/* Подсветка совпадений при поиске */
.brand-checkbox mark {
    background-color: #fff3cd;
    color: #181818;
    font-weight: 600;
    padding: 2px 0;
    border-radius: 2px;
}

/* Сообщение "Ничего не найдено" */
.no-results-message {
    grid-column: 1 / -1;
    text-align: center;
    padding: 0;
    color: #757575;
    font-size: 14px;
    text-align: left;
}

/* Анимация иконки стрелки */
.toggle-icon {
    display: inline-flex;
    transition: transform 0.3s ease;
}

/* Стиль для brand-checkbox при скрытии/показе */
.brand-checkbox {
    transition: opacity 0.2s ease;
}

.filter-notification {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #757575;
}

.section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    padding: 8px 6px;
    padding-top: 0;
    padding-right: 0;
    margin-bottom: 0;
    cursor: pointer;
}

.toggle-icon {
    font-size: 12px;
    color: #7f8c8d;
    transition: transform 0.3s;
}

.category-sidebar {
    background: #fff;
    border-radius: 0;
    border-bottom: 1px solid #eee;
    padding-bottom: 8px;
}

.category-sidebar__title {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 8px;
}

.category-tree,
.category-tree__root {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.category-tree__link {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    padding: 10px 0;
}

.category-tree__link:hover {
    color: #0058a3;
}

/* Родительские категории (breadcrumb) */

.category-tree__back {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    padding: 10px 0;
}

.category-tree__back:hover {
    color: #0058a3;
}

.category-tree__parent {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    padding: 10px 0;
}

.category-tree__parent:hover {
    color: #0058a3;
}

.category-tree__current {
    font-weight: 500;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #0058a3;
    border-radius: 4px;
    padding: 12px 8px;
    background: #f5f5f5;
    margin-left: 15px;
}

.category-tree__current:hover {
    background: transparent;
    cursor: pointer;
}

/* Дочерние категории */
.category-tree__children {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.category-tree__child {
    padding: 10px 8px;
    margin-left: 25px;
    /* Отступ для дочерних */
    text-decoration: none;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
    display: block;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.category-tree__child:hover {
    background: #f5f5f5;
    color: #0058a3;
}

.category-tree__child.active {
    background: #0058a3;
    color: #fff;
    font-weight: 500;
}


.grand-catalog .category-item::before {
    display: none;
}

.grand-catalog .category-item {
    padding-left: 0;
}

.category-link {
    text-decoration: none;
    color: #181818;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 0.25px;
    transition: color 0.2s;
}

.category-link:hover {
    color: #0058A3;
}

.subcategory-link {
    text-decoration: none;
    color: #181818;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 0.25px;
    transition: color 0.2s;
}

.subcategory-link:hover {
    color: #0058A3;
    background-color: #fafafa;
    ;
}

.price-range {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.price-input {
    width: 100%;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 0 12px;
    font-size: 14px;
}

.price-slider {
    width: 100%;
    height: 4px;
    background-color: #ddd;
    border-radius: 2px;
    position: relative;
    margin: 20px 0;
}

.price-slider-fill {
    position: absolute;
    height: 100%;
    background-color: #0058A3;
    left: 0;
    right: 70%;
    border-radius: 2px;
}

.slider-handle {
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #0058A3;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.handle-min {
    left: 0;
}

.handle-max {
    right: 30%;
}

.brand-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.brand-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #181818;
    letter-spacing: 0.25px;
    padding: 8px 4px;
    padding-right: 0;
}

.custom-checkbox {
    width: 18px;
    height: 18px;
    border: 2px solid #9E9E9E;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.brand-checkbox input {
    display: none;
}

.brand-checkbox input:checked+.custom-checkbox {
    background-color: #0058A3;
    border-color: #0058A3;
}

.brand-checkbox input:checked+.custom-checkbox::after {
    content: "✓";
    color: white;
    font-size: 12px;
}

.dimension-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dimension-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 14px;
}

.dimension-option:hover {
    border-color: #0058A3;
}

.dimension-option.active {
    background-color: #ebf5fb;
    border-color: #0058A3;
    color: #2980b9;
}

.color-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.color-option {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    transition: transform 0.2s, border-color 0.2s;
}

.color-option:hover {
    transform: scale(1.1);
}

.color-beige {
    background-color: #f5deb3;
}

.color-gray {
    background-color: #808080;
}

.color-brown {
    background-color: #8b4513;
}

.color-white {
    background-color: #ffffff;
    border: 1px solid #ddd;
}

.color-multicolor {
    background: conic-gradient(from 90deg, rgba(255, 0, 0, 1) 0deg, rgba(234, 226, 2, 1) 180deg, rgba(17, 0, 255, 1) 360deg);
    ;
}

.show-more {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #757575;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 4px;
    padding-top: 4px;
    gap: 4px;
    margin-top: 0;
}

.show-more:hover {
    text-decoration: underline;
}

.apply-filters,
.clear-filters {
    width: 100%;
    border: none;
    outline: none;
    padding: 10px;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #181818;
    background: #eee;
    border-radius: 8px;
    transition: all .3s;
}

.apply-filters:hover,
.clear-filters:hover {
    background-color: #0058A3;
    color: #fff;
    transition: all .3s;
}

.content-area {
    flex: 1;
    background-color: white;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}


/* Фильтры конец */

.pages {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 8px;
}

.pages .text-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    margin-top: -1.00px;
    font-family: var(--desktop-subtitle-1-font-family);
    font-weight: var(--desktop-subtitle-1-font-weight);
    color: var(--black-100);
    font-size: var(--desktop-subtitle-1-font-size);
    text-align: center;
    letter-spacing: var(--desktop-subtitle-1-letter-spacing);
    line-height: var(--desktop-subtitle-1-line-height);
    font-style: var(--desktop-subtitle-1-font-style);
}

.pages .page-number-wrapper {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    position: relative;
    flex: 0 0 auto;
    border-radius: 8px;

}

.pages .icon-button {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    position: relative;
    flex: 0 0 auto;
}

.pages .div {
    position: relative;
    width: 28px;
    height: 20px;
    margin-top: -1.00px;
    font-family: var(--desktop-subtitle-1-font-family);
    font-weight: var(--desktop-subtitle-1-font-weight);
    color: var(--black-100);
    font-size: var(--desktop-subtitle-1-font-size);
    text-align: center;
    letter-spacing: var(--desktop-subtitle-1-letter-spacing);
    line-height: var(--desktop-subtitle-1-line-height);
    white-space: nowrap;
    font-style: var(--desktop-subtitle-1-font-style);
}

.pages .arrow-right-wrapper {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: 8px;
}

.pages .arrow-right {
    position: relative;
    width: 24px;
    height: 24px;
}

/* Inject original CSS code from globals.css and styleguide.css above this comment */

.pages .page-number {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    position: relative;
    flex: 0 0 auto;
    background-color: var(--grey-200);
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.pages .page-number:hover {
    background-color: var(--grey-100);
}

.pages .page-number:focus-visible {
    outline: 2px solid #4a90e2;
    outline-offset: 2px;
}

.pages .text-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    margin-top: -1.00px;
    font-family: var(--desktop-subtitle-1-font-family);
    font-weight: var(--desktop-subtitle-1-font-weight);
    color: var(--black-100);
    font-size: var(--desktop-subtitle-1-font-size);
    text-align: center;
    letter-spacing: var(--desktop-subtitle-1-letter-spacing);
    line-height: var(--desktop-subtitle-1-line-height);
    font-style: var(--desktop-subtitle-1-font-style);
    pointer-events: none;
}

.pages .page-number-wrapper {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    position: relative;
    flex: 0 0 auto;
    border-radius: 8px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.1px;
    font-weight: 600;
}

.page-number-wrapper.active {
    background-color: #EEEEEE;
}

.pages .page-number-wrapper:hover {
    background-color: var(--grey-100);
}

.pages .page-number-wrapper:focus-visible {
    outline: 2px solid #4a90e2;
    outline-offset: 2px;
}

.pages .icon-button {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    position: relative;
    flex: 0 0 auto;
    user-select: none;
}

.pages .div {
    position: relative;
    width: 28px;
    height: 20px;
    margin-top: -1.00px;
    font-family: var(--desktop-subtitle-1-font-family);
    font-weight: var(--desktop-subtitle-1-font-weight);
    color: var(--black-100);
    font-size: var(--desktop-subtitle-1-font-size);
    text-align: center;
    letter-spacing: var(--desktop-subtitle-1-letter-spacing);
    line-height: var(--desktop-subtitle-1-line-height);
    white-space: nowrap;
    font-style: var(--desktop-subtitle-1-font-style);
    pointer-events: none;
}

.pages .arrow-right-wrapper {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: 8px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.pages .arrow-right-wrapper:hover {
    background-color: var(--grey-100);
}

.pages .arrow-right-wrapper:focus-visible {
    outline: 2px solid #4a90e2;
    outline-offset: 2px;
}

.pages .arrow-right {
    position: relative;
    width: 24px;
    height: 24px;
    pointer-events: none;
}

.nav-text {
    margin-bottom: 48px;
    text-align: center;
    color: #757575;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.4px;
}

.catalog-inner .seo {
    background-color: transparent;
}


/* Окно логирования */

.login-modal .modal-header {
    padding-top: 16px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 16px;
    border: none;
}

.login-modal .modal-body {
    padding-top: 8px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 24px;
}

.login-modal .modal-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.login-modal {
    --bs-modal-width: 492px;
    top: 30%;
}

.login-container {
    width: 100%;
    animation: fadeIn 0.5s ease-out;
}

.login-card {
    background: transparent;
    border-radius: 20px;
}

.login-header {
    text-align: center;
    margin-bottom: 30px;
}

.login-title {
    font-size: 28px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 10px;
    letter-spacing: -0.5px;
}

.login-subtitle {
    color: #718096;
    font-size: 14px;
    font-weight: 500;
}

.phone-input-group {
    margin-bottom: 24px;
}

.login-notice {
    display: flex;
    align-items: center;
    padding: 16px;
    background-color: #FAFAFA;
    border-radius: 8px;
    margin-bottom: 24px;
}

.login-notice img {
    margin-right: 16px;
}

.login-notice p {
    margin-bottom: 0;
    color: #B71C1C;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    font-weight: 400;
}

.the-hide {
    display: none;
}


.input-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 8px;
}


.phone-input-container {
    display: flex;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.country-code {
    display: flex;
    align-items: center;
    padding: 0 15px;
    background: #ffffff;
    border: 1px solid #BDBDBD;
    font-weight: 600;
    color: #2d3748;
    white-space: nowrap;
    max-width: 138px;
    margin-right: 8px;
    border-radius: 8px;
    cursor: pointer;
}

.country-code span {
    margin-right: 6px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.1px;
    color: #181818;
}

.phone-input {
    flex: 1;
    border: none;
    padding: 16px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    letter-spacing: 0.5px;
    color: #2d3748;
    outline: none;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #BDBDBD;
    cursor: pointer;
}

.phone-input::placeholder {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #9e9e9e;
}

.get-code-btn {
    width: 100%;
    background: #0058A3;
    color: #fff;
    border: none;
    padding: 14px;
    font-size: 14px;
    letter-spacing: 0.25px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.get-code-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(49, 130, 206, 0.3);
}

.get-code-btn:active {
    transform: translateY(0);
}

.get-code-btn:disabled {
    background: #e0e0e0;
    color: #9e9e9e;
    cursor: not-allowed;
    pointer-events: none;
    user-select: none;
}

.register-link {
    text-align: center;
}

.register-link a {
    display: block;
    padding-top: 14px;
    padding-bottom: 14px;
    color: #0058A3;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1px;
}

.register-text {
    color: #718096;
    font-size: 14px;
    margin-bottom: 8px;
}

.register-btn {
    background: transparent;
    border: 2px solid #4299e1;
    color: #4299e1;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 200px;
}

.register-btn:hover {
    background: #4299e1;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(66, 153, 225, 0.2);
}

/* Анимации */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Дополнительные состояния */
.phone-input-container.error {
    border-color: #fc8181;
    animation: shake 0.5s ease-in-out;
}

@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    75% {
        transform: translateX(5px);
    }
}

/* Стили для флага */
.flag-icon {
    font-size: 20px;
}

/* Тонкие улучшения */
.login-card {
    position: relative;
}

.policy-inner .form-check .form-check-input {
    width: 15px;
    height: 15px;
    border-radius: 2px;
}

@media (max-width: 576px) {
    .modal-backdrop.show {
        z-index: 1190;
    }

    .login-modal {
        position: fixed;
        inset: 0;
        display: block;
        padding: 0;
        overflow: hidden;
        pointer-events: auto;
        z-index: 1200;
    }

    .login-modal .modal-dialog {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        margin: 0;
        width: 100%;
        max-width: 100%;
        transform: none;
        pointer-events: auto;
    }

    .login-modal .modal-content {
        width: 100%;
        border: 0;
        border-radius: 16px 16px 0 0;
        max-height: calc(100dvh - 16px);
        height: auto;
        overflow: visible;
        padding-bottom: env(safe-area-inset-bottom);
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.14);
    }

    .login-modal .modal-header {
        height: 56px;
        padding: 0 16px;
        align-items: center;
        border-bottom: 0;
        justify-content: space-between;
    }

    .login-modal .modal-title {
        font-size: 17px;
        line-height: 22px;
        font-weight: 600;
        margin: 0;
    }

    .login-modal .btn-close {
        width: 40px;
        height: 40px;
        margin: 0;
        padding: 0;
        flex-shrink: 0;
    }

    .login-modal .modal-body {
        padding: 0 16px 16px;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .login-modal .login-modal-inner,
    .login-modal .login-container,
    .login-modal .login-card {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        min-height: 0;
    }

    .login-modal .login-card {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .login-modal .phone-input-group {
        width: 100%;
        margin: 8px 0 0;
    }

    .login-modal .phone-input-container {
        width: 100%;
        height: 56px;
        display: flex;
        gap: 8px;
        align-items: stretch;
    }

    .login-modal .country-code {
        width: 25%;
        flex: 0 0 100px;
        margin-right: 0;
    }

    .login-modal .phone-input {
        flex: 1 1 auto;
        min-width: 0;
    }

    .login-modal .get-code-btn {
        width: 100%;
        height: 48px;
        padding: 0 14px;
        margin: 0;
    }

    .login-modal .register-link {
        width: 100%;
        margin-top: 0;
        margin-bottom: 0;
    }

    .login-modal .register-link a {
        width: 100%;
        height: 48px;
        min-height: 48px;
        margin: 0;
        padding: 0 16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .login-modal .login-notice {
        margin-bottom: 8px;
        width: 100%;
    }

    .reg-start {
        position: fixed;
        inset: 0;
        top: 0;
        padding: 0;
        z-index: 1200;
    }

    .reg-start .modal-dialog {
        position: fixed;
        inset: 0;
        margin: 0;
        width: 100%;
        max-width: 100%;
        transform: none;
    }

    .reg-start .modal-content {
        height: 100dvh;
        width: 100%;
        border-radius: 0;
        border: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .reg-start .modal-header {
        flex: 0 0 56px;
        height: 56px;
        padding: 0 16px;
        align-items: center;
        border-bottom: 0;
        justify-content: space-between;
    }

    .reg-start .modal-title {
        font-size: 17px;
        line-height: 22px;
        font-weight: 600;
        margin: 0;
    }

    .reg-start .btn-close {
        width: 40px;
        height: 40px;
        margin: 0;
        padding: 0;
        flex-shrink: 0;
    }

    .reg-start .modal-body {
        flex: 1 1 auto;
        overflow-y: auto;
        padding: 8px 16px calc(16px + env(safe-area-inset-bottom));
    }

    .reg-start .form-floating.the-name,
    .reg-start .form-floating.the-mail {
        width: 100%;
        margin: 0;
    }

    .reg-start .form-floating.the-name {
        margin-bottom: 16px;
    }

    .reg-start .phone-input-container {
        width: 100%;
        height: 56px;
        display: flex;
        gap: 8px;
        margin-bottom: 16px;
    }

    .reg-start .country-code {
        flex: 0 0 100px;
        width: 25%;
        height: 56px;
        margin-right: 0;
    }

    .reg-start .phone-input {
        flex: 1 1 auto;
        min-width: 0;
        height: 56px;
    }

    .reg-start .form-floating.the-name .form-control,
    .reg-start .form-floating.the-mail .form-control {
        height: 56px;
        min-height: 56px;
    }

    .reg-start .the-mail {
        margin-top: 0;
        margin-bottom: 0;
    }

    .reg-start .policy-inner {
        margin-top: 20px;
        width: 100%;
    }

    .reg-start .form-check {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        min-height: 36px;
        margin-bottom: 8px;
        margin-right: 0;
        padding-left: 0;
    }

    .reg-start .form-check:nth-child(2) {
        margin-bottom: 8px;
    }

    .policy-inner .form-check .form-check-input {
        width: 20px;
        height: 20px;
    }

    .reg-start .form-check-input {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        margin: 0;
    }

    .reg-start .form-check-label {
        font-size: 13px;
        line-height: 18px;
    }

    .reg-start .get-code-btn {
        width: 100%;
        height: 48px;
    }

    .reg-start .register-link {
        width: 100%;
        min-height: 48px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .reg-start .register-link a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 48px;
        padding: 0 16px;
    }

    .login-code {
        position: fixed;
        inset: 0;
        padding: 0;
        overflow: hidden;
        z-index: 1200;
    }

    .login-code .modal-dialog {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        margin: 0;
        width: 100%;
        max-width: 100%;
        transform: none;
    }

    .login-code .modal-content {
        width: 100%;
        border-radius: 16px 16px 0 0;
        border: 0;
        height: auto;
        max-height: calc(100dvh - 16px);
        overflow: visible;
        padding-bottom: env(safe-area-inset-bottom);
    }

    .login-code .modal-header {
        height: 56px;
        padding: 0 16px;
        align-items: center;
        border-bottom: 0;
        justify-content: space-between;
    }

    .login-code .modal-title {
        font-size: 17px;
        line-height: 22px;
        font-weight: 600;
        margin: 0;
    }

    .login-code .btn-close {
        width: 40px;
        height: 40px;
        margin: 0;
        padding: 0;
        flex-shrink: 0;
    }

    .login-code .modal-body {
        padding: 8px 16px 16px;
    }

    .login-code .code-modal-inner {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .login-code .code-modal-inner .note {
        margin: 0 0 12px;
        font-size: 13px;
        line-height: 18px;
    }

    .login-code .aply-code {
        width: 100%;
        margin: 0;
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    .login-code .aply-code input.codes {
        width: 56px;
        height: 56px;
        flex: 0 0 56px;
        text-align: center;
    }

    .login-code .code-modal-inner a {
        display: block;
        width: 100%;
        min-height: 18px;
        margin-top: 8px;
        text-align: center;
        font-size: 13px;
        line-height: 18px;
    }

    .login-code .code-count {
        font-size: inherit;
        line-height: inherit;
    }
}


/* Конец логирования */


/* Ввод кода */

.login-code .modal-header {
    padding-top: 16px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 16px;
    border: none;
}

.login-code .modal-body {
    padding-top: 8px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 24px;
}

.login-code .modal-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.login-code {
    --bs-modal-width: 492px;
    top: 30%;
}

.login-code .code-modal-inner .note {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-weight: 400;
    margin-bottom: 24px;
    color: #181818;
}

.aply-code {
    display: flex;
    width: 100%;
    gap: 0 8px;
    margin-bottom: 24px;
    justify-content: center;
}

.aply-code input {
    width: 56px;
    height: 56px;
    border: 1px solid #BDBDBD;
    border-radius: 8px;
    text-align: center;
    outline: none;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.login-code .code-modal-inner a {
    display: block;
    text-align: center;
    font-size: 14px;
    line-height: 20px;
    color: #757575;
    letter-spacing: 0.25px;
    font-weight: 400;
    text-decoration: underline;
}

/* Конец ввода кода */

/* Регистрация */

.reg-start {
    --bs-modal-width: 492px;
    top: 10%;
}

.reg-start .modal-header {
    padding-top: 16px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 16px;
    border: none;
}

.reg-start .modal-body {
    padding-top: 8px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 24px;
}

.reg-start .modal-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.form-control {
    padding: 16px !important;
    padding-bottom: 3px !important;
    border: 1px solid #BDBDBD;
    border-radius: 8px;
    font-size: 16px;
    line-height: 24px !important;
    letter-spacing: 0.5px;
    font-weight: 400;
    color: #181818;
    margin-bottom: 16px;
    min-height: fit-content !important;
}

.form-control::placeholder {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-weight: 400;
    color: #9E9E9E;
}

.the-name {
    margin-bottom: 16px;
}

.the-mail {
    margin-top: 16px;
    margin-bottom: 0;
}



.form-floating label {
    color: #9E9E9E;
    outline: none;
    display: flex;
    align-items: center;
    gap: 0 10px;
}

.form-floating label span {
    color: #B71C1C;
    font-size: 16px;
    display: inline-block;
    width: 17px;
    height: 17px;
}

.form-floating>label {
    padding: 16px 16px;
    top: 0;
}

.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-control:focus~label,
.form-floating>.form-control-plaintext~label,
.form-floating>.form-select~label {
    transform: scale(0.85) translateY(-0.9rem) translateX(0.15rem) !important;
    opacity: 1 !important;
}

.form-floating>.form-control.is-invalid~label {
    opacity: 1 !important;
    transform: scale(0.85) translateY(-0.9rem) translateX(0.15rem) !important;
}


.form-control.is-invalid,
.form-select.is-invalid {
    background-image: none !important;
    padding-right: 16px !important;
}

.form-control:focus {
    border-color: #BDBDBD;
    box-shadow: none;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.5px;
    padding-bottom: 4px !important;

}

.policy-inner {
    margin-top: 24px;
}

.form-check {
    display: flex;
    gap: 0 10px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #181818;
    margin-bottom: 8px;
}

.form-check:nth-child(2) {
    margin-bottom: 24px;
}

.policy-inner .form-check .form-check-label a {
    font-weight: 600;
    color: #0058A3;
}

.form-check-input:checked {
    border-color: #0058A3;
    background-color: #0058A3;
}

.form-check-input:focus {
    box-shadow: none;
}


/* Конец регистриции */

/* Поздравляем */

.succssec-reg {
    --bs-modal-width: 492px;
    top: 30%;
}

.modal-header {
    padding-top: 16px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 16px;
    border: none;
}

.succssec-reg .modal-body {
    padding-top: 8px;
    padding-right: 24px;
    padding-left: 24px;
    padding-bottom: 24px;
}

.succssec-reg .modal-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.congrats {
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: #181818;
}

.congrats a {
    font-weight: 600;
    color: #0058A3;
}

.succssec-reg-close {
    padding: 10px 16px;
    border-radius: 8px;
    border: none;
    background-color: #0058A3;
    color: #fff;
    cursor: pointer;
    display: block;
    margin-left: auto;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    font-weight: 600;
    cursor: pointer;
}

/* Поздравляем конец */

/* Карточка товара */

.goods-wrapper {
    display: flex;
    margin-bottom: 16px;
    gap: 32px;
}

.goods-images {
    position: sticky;
    top: 90px;
    align-self: flex-start;
}

.goods-images__inner {
    display: flex;
    flex-direction: row-reverse;
    max-height: 826px;
}

.goods-images__main {
    width: 818px;
    min-width: 818px;
    margin: 0;
}

.goods-images__minis {
    width: 102px;
    min-width: 102px;
    margin-right: 24px;
    margin-left: 0;
}

.goods-images__minis .swiper-wrapper {
    flex-direction: column;
    justify-content: flex-start;
}

.goods-main__item {
    width: 826px !important;
    max-width: 826px;
    max-height: 826px;
    height: 826px;
    margin-right: 0 !important;
    cursor: pointer;
    border-radius: 4px;
}

.goods-main__item img {
    max-width: 818px;
    max-height: 818px;
    border-radius: 4px;
    object-fit: cover;
}

.goods-minis__item {
    width: 102px !important;
    max-width: 102px;
    max-height: 102px;
    height: 102px;
    border-radius: 4px;
    margin-right: 0 !important;
    margin-bottom: 17px;
    cursor: pointer;
}

.goods-minis__item img {
    width: 102px;
    height: 102px;
    border-radius: 4px;
    object-fit: cover;
}

.goods-category {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 8px;
    display: block;
}

.goods-content h1 {
    font-weight: 600;
    font-size: 22px;
    line-height: 127%;
    color: #181818;
    margin-bottom: 8px;
}

.goods-content h2 {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 8px;
}

.goods-content .artikul {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    margin-bottom: 12px;
}

.goods-feedback {
    margin-bottom: 18px;
}

.goods-feedback a {
    display: flex;
    gap: 2px;
    align-items: center;
}

.goods-feedback a svg path {
    transition: all .3s;
}

.goods-feedback a:hover svg path {
    fill: #FFB300;
    transition: all .3s;
}

.goods-feedback p {
    margin-bottom: 0;
    margin-left: 2px;
    font-weight: 600;
    font-size: 14px;
    color: #757575;
    line-height: 20px;
    letter-spacing: 0.1px;
}

.goods-content .pink {
    display: inline-block;
    position: inherit;
    margin-bottom: 4px;
}

.goods-costs {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}

.goods-costs p {
    font-weight: 600;
    font-size: 36px;
    margin-bottom: 0;
    color: #181818;
    line-height: 44px;
}

.goods-costs p span {
    font-size: 22px;
}

.goods-delivery {
    display: flex;
    align-items: center;
}

.goods-delivery p {
    margin-bottom: 0;
    margin-left: 8px;
    font-weight: 600;
    font-size: 12px;
    color: #04a31a;
    line-height: 16px;
    letter-spacing: 0.5px;
}

.goods-poshlina {
    background-color: #FAFAFA;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 12px;
}

.goods-poshlina_top {
    display: flex;
    align-items: center;
    margin-bottom: 4px;
}

.goods-poshlina_top button {
    border: none;
    background-color: transparent;
    padding: 0;
    max-width: 20px;
    max-height: 20px;
    margin-right: 8px;
}

.goods-poshlina_top p {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #757575;
}

.goods-poshlina_top p span {
    font-weight: 600;
    color: #181818;
}

.goods-poshlina .poshlina-link {
    font-weight: 400;
    font-size: 14px;
    color: #0058A3;
    line-height: 143%;
    letter-spacing: 0.02em;
    background: transparent;
    border: none;
    outline: none;
    border-bottom: 1px solid #0058a3;
    padding: 0;
}

.goods-add__cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    border-radius: 8px;
    padding: 12px 16px;
    background-color: #0058a3;
    color: #fff;
    border: none;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.01px;
    margin-bottom: 24px;
}

.goods-color p {
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 16px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
}

.goods-color p span {
    color: #181818;
}

.goods-color__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.goods-color__item {
    width: 60px;
    height: 60px;
    padding: 0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: transparent;
}

.goods-color__item:hover {
    border: 1px solid #181818;
}

.goods-color__item img {
    object-fit: cover;
    max-width: 56px;
    max-height: 56px;
}

.goods-sizes {
    margin-bottom: 24px;
}

.goods-sizes__card {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.goods-sizes__card .goods-sizes__item {
    display: block;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 4px 8px;
    text-align: center;
    min-height: 104px;
    max-width: 95px;
    width: 95px;
}

.goods-sizes__card .goods-sizes__item:hover {
    border: 1px solid #181818;
}

.goods-sizes__item img {
    width: 56px;
    height: 56px;
    max-width: 56px;
    max-height: 56px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 4px;
}

.goods-sizes__item p {
    font-weight: 600;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.04em;
    color: #757575;
    margin-bottom: 0;
}

.goods-sizes__item .good-sizes__number {
    font-weight: 600;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.04em;
    color: #181818;
    margin-bottom: 4px;
}

.goods-add {
    margin-bottom: 24px;
}

.goods-add__item {
    display: flex;
    border-radius: 4px;
    padding: 12px 8px 12px 16px;
    width: 100%;
    background-color: #fafafa;
    border: none;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.add-item__content p {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    text-align: left;
}

.add-item__top {
    display: flex;
    margin-bottom: 4px;
}

.add-item__top p {
    margin-bottom: 0;
    margin-right: 4px;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
}

.add-item__top span {
    border-radius: 4px;
    padding: 0px 4px;
    background-color: #e0e0e0;
    font-weight: 600;
    font-size: 11px;
    line-height: 20px;
    letter-spacing: 0.05em;
    color: #181818;
    height: fit-content;
    max-height: fit-content;
}

.goods-parametrs {
    margin-bottom: 24px;
}

.goods-parametrs__item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
}

.goods-parametrs__item p {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #616161;
}

.goods-parametrs__item .parametrs-number {
    color: #181818;
}

.goods-parametrs__button {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    background-color: transparent;
    border: none;
    padding: 4px 0px;
    margin-top: 4px;
}

.goods-dostavka .goods-add__item p,
.goods-collections .goods-add__item p {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 0;
}

.goods-collections {
    margin-bottom: 24px;
}

.goods-consultation {
    border-radius: 4px;
    padding: 12px 16px;
    background-color: #fafafa;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.goods-consultation img {
    border-radius: 4px;
    width: 64px;
    height: 64px;
    object-fit: cover;
}

.goods-consultation__content P {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 8px;
}

.goods-consultation__content span {
    display: inline-block;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    margin-bottom: 8px;
}

.goods-consultation__content a {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: #0058a3;
}

.more {
    margin-bottom: 24px;
}

.more-inner {
    padding-top: 24px;
}

.more .products-card-slider {
    padding-bottom: 54px;
}

.products-card-slider .swiper-slide-inner {
    margin: 0 !important;
    flex-wrap: nowrap !important;
}

.products-card-slider .product-card-inner {
    padding: 0 !important;
}

.products-card-slider .swiper-slide {
    height: auto;
    max-width: none;
    margin-right: 0 !important;
}

.more .products-slider__pagination {
    bottom: 30px !important;
}

.more-inner .products-slider .swiper-wrapper {
    gap: 0;
}



.more-inner .product-gallery-thumbs .swiper-slide {
    max-width: unset !important;
}

.same-inner {
    padding-bottom: 88px;
}

/* Табы карточки товара */

.character-nav__tabs {
    border: none;
    border-bottom: 2px solid #EEEEEE;
}

.nav-tabs .nav-link {
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 16px;
    border-radius: 0;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.1px;
    color: #757575;
    outline: none;
    display: flex;
    align-items: center;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: #0058A3;
    background-color: transparent;
    border-top: none;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-color: #0058A3;
}

.nav-link:focus-visible {
    box-shadow: none;
}

.character-tab__content {
    padding-top: 32px;
    padding-bottom: 48px;
}

.tab-material__item {
    margin-bottom: 3px;
}



.tab-description__content h5,
.tab-size__content h5,
.tab-material__content h5,
.tab-instrustions__content h5,
.tab-delivery__content h5,
.tab-advices__content h5 {
    font-size: 22px;
    line-height: 28px;
    font-weight: 600;
    color: #181818;
    margin-bottom: 16px;

}

.tab-description__content p {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.25px;
    font-weight: 400;
    margin-bottom: 0;
    color: #181818;
}

.tab-description__content .bold {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.1px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #181818;
}

.tab-size__content {
    display: flex;
    justify-content: space-between;
    gap: 32px;
}

.size-contet__info {
    width: 1040px;
    max-width: 1040px;
}

.size-contet__info h5:not(:first-of-type) {
    margin-top: 24px;
}

.size-contet__info p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0.25px;
    color: #616161;
    margin-bottom: 16px;
}

.size-info__item:last-child {
    margin-bottom: 24px;
}

.size-contet__info .size-info__item {
    display: flex;
    justify-content: space-between;
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #EEEEEE;
    margin-bottom: 0;
}

.size-contet__info .size-info__item p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0.25px;
    color: #616161;
    margin-bottom: 0;
}

.size-info__item p:last-child {
    color: #181818;
}

.size-content__banner img {
    width: 428px;
    max-width: 428px;
    height: 428px;
    max-height: 428px;
    object-fit: cover;
}

.size-info__double {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.size-double__item {
    width: 50%;
    max-width: 512px;
}

.size-double__item h6 {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.1px;
    margin-bottom: 8px;
    color: #181818;
}

.size-double__item .size-info__item p {
    width: 50%;
    max-width: 252px;
}

.size-double__item .size-info__item p:last-child {
    width: 50%;
    max-width: 252px;
}

.tab-material__content p {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #181818;
}

.tab-material__label strong {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
}

.tab-material__content ul li {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0.5px;
    margin-bottom: 0;
    color: #181818;
}

.instrustions-content__files {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 16px;
    margin-bottom: 32px;
}

.instrustions-content__files:last-child {
    margin-bottom: 0;
}

.content-files__item {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 50%;
    max-width: 512px;
}

.content-files__info p {
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1px;
    margin-bottom: 4px;
    color: #181818;
}

.content-files__info .artikul {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.25px;
    margin-bottom: 4px;
    color: #757575;
}

.if_have_feed_count {
    font-size: 12px;
    font-weight: 600;
    color: #181818;
    line-height: 16px;
    letter-spacing: 0.5px;
    display: inline-block;
    background-color: #E0E0E0;
    border-radius: 4px;
    padding: 2px 8px;
    margin-left: 8px;
}

.feedbacks-content__info {
    width: 1040px;
}

.content-info__inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-info__inner img {
    width: 179px;
    max-width: 179px;
    height: 179px;
    max-height: 179px;
    object-fit: cover;
    margin-right: 24px;
}

.content-info__inner p {
    font-weight: 600;
    font-size: 22px;
    line-height: 127%;
    text-align: center;
    color: #181818;
    margin-bottom: 0;
}

.feedbacks-content__alert {
    max-width: 428px;
    background-color: #fafafa;
    padding: 16px;
    border-radius: 8px;
}

.feedbacks-content__alert p {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #757575;
    margin-bottom: 32px;
}

.feedbacks-content__alert p:last-child {
    margin-bottom: 0;
}

/* ========== ОТЗЫВЫ ТОВАРА ========== */

.tab-feedbacks__content {
    width: 100%;
    display: flex;
}

.feedbacks-layout {
    display: grid;
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 428px;
    gap: 32px;
    align-items: flex-start;
}

.feedbacks-main {
    min-width: 0;
}

.feedbacks-photos {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.feedbacks-photos__item {
    flex: 0 0 96px;
    width: 96px;
    height: 96px;
    border: none;
    padding: 0;
    background: transparent;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
}

.feedbacks-photos__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feedbacks-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.feedbacks-rating-filter {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
}

.feedbacks-rating-filter__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: none;
    border-radius: 8px;
    padding: 8px 12px;
    white-space: nowrap;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #181818;
    flex-direction: row-reverse;
}

.feedbacks-rating-filter__item.active {
    background: #0058a3;
    color: #fff;
}

.feedbacks-sort {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.feedbacks-sort__photo,
.feedbacks-sort__button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 8px 16px;
    background: #fff;
    white-space: nowrap;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    width: 218px;
    justify-content: space-between;
}

.feedbacks-sort__photo.active {
    border-color: #0058a3;
    background: #eaf4ff;
    color: #0058a3;
}

.feedbacks-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.feedbacks-review {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 24px;
}

.feedbacks-review__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    background: #f5f5f5;
}

.feedbacks-review__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feedbacks-review__header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.feedbacks-review__header h6 {
    margin: 0 0 4px;
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    color: #181818;
}

.feedbacks-review__variant {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    color: #757575;
}

.feedbacks-review__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex: 0 0 auto;
}

.review-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.feedbacks-review__meta p {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    color: #757575;
    white-space: nowrap;
}

.feedbacks-review__text {
    margin: 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #181818;
}

.feedbacks-review__photos {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    overflow-x: auto;
}

.feedbacks-review__photos img {
    width: 72px;
    height: 72px;
    border-radius: 4px;
    object-fit: cover;
}

.feedbacks-load-more {
    margin-top: 24px;
    border: 1px solid #181818;
    border-radius: 4px;
    padding: 12px 24px;
    background: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    color: #181818;
}

.feedbacks-load-more:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.feedbacks-rating {
    position: sticky;
    top: 90px;
    border-radius: 8px;
    padding: 16px;
    background: #fafafa;
}

.feedbacks-rating__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
}

.feedbacks-rating__value {
    margin: 0;
    font-weight: 600;
    font-size: 22px;
    line-height: 127%;
    color: #181818;
}

.feedbacks-rating__description,
.feedbacks-rating__notice,
.feedbacks-rating__empty {
    margin: 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #757575;
}

.feedbacks-rating__description {
    padding-top: 16px;
}


.feedbacks-rating__distribution {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 32px;
    margin-bottom: 16px;
}

.feedbacks-rating__row {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr) 24px;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}

.feedbacks-rating__row p {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
}

.feedbacks-rating__row p:last-child {
    text-align: right;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    text-align: right;
    color: #181818;
}

.feedbacks-rating__bar {
    height: 8px;
    border-radius: 3px;
    background: #e0e0e0;
    overflow: hidden;
}

.feedbacks-rating__bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #ffb300;
}

.feedbacks-sort-dropdown {
    position: relative;
    flex: 0 0 auto;
}

.feedbacks-sort-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 220px;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    z-index: 20;
}

.feedbacks-sort-dropdown__item {
    width: 100%;
    text-align: left;
    border: none;
    background: #fff;
    padding: 14px 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #181818;
}

.feedbacks-sort-dropdown__item:hover {
    background: #f7f7f7;
}

.feedbacks-sort-dropdown__item.active {
    color: #0058a3;
}

.feedbacks-review__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feedbacks-review__avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tab-delivery__content {
    max-width: 1040px;
}

.tab-delivery__content a {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.1px;
    color: #0076C5;
    text-decoration: underline;
    margin-top: 16px;
    display: inline-block;
}

.tab-delivery__content p {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.1px;
    color: #181818;
    margin-bottom: 32px;
}

.tab-delivery__content p a {
    color: #0076C5;
    text-decoration: underline;
    margin-top: 0;
}

.not-minsk__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #EEEEEE;
}

.not-minsk__item p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0.5px;
    margin-bottom: 0;
    color: #181818;
}

.not-minsk__item p:last-child {
    font-weight: 600;
}

.tab-delivery__content .not-minsk__alert {
    margin-bottom: 0;
    margin-top: 32px;
    letter-spacing: 0.1px;
    font-weight: 400;
    color: #757575;
}

.advices-content__cards {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}

.advices-cards__item {
    width: 50%;
    max-width: 738px;
    display: flex;
    flex-direction: row;
    height: 100%;
    gap: 16px;
}

.advices-cards__item img {
    width: 210px;
    max-width: 210px;
    height: 140px;
    max-height: 140px;
    object-fit: cover;
    border-radius: 8px;
}

.advices-cards__info {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto
}

.advices-cards__info p {
    font-size: 16px;
    font-weight: 600;
    color: #181818;
    margin-bottom: 8px;
}

.advices-cards__info span {
    display: inline-block;
    margin-bottom: 8px;
    color: #757575;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    font-weight: 400;
}

.advices-cards__info a {
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    line-height: 20px;
    letter-spacing: 0.1px;
    color: #0058A3;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto
}

.offcanvas {
    --bs-offcanvas-width: 515px;
}

.offcanvas-header {
    padding: 12px 24px 12px 24px;
}

.offcanvas-title {
    font-size: 22px;
    line-height: 28px;
    font-weight: 600;
    color: #181818;
}

.offcanvas-title button {
    padding: 12px;
    width: 24px;
    height: 24px;
}

.offcanvas-body {
    padding: 8px 24px 0px 24px;
}

.offcanvac-charart__modal .tab-size__content h5 {
    font-size: 18px;
    line-height: 24px;
}

.offcanvac-charart__modal .size-info__item {
    gap: 8px;
}

.offcanvac-charart__modal .size-info__item p {
    width: 50%;
    max-width: 230px;
}

.nogki-item {
    width: 100%;
    display: flex;
    padding: 8px;
    align-items: center;
    border-radius: 4px;
    border: 1px solid #E0E0E0;
    background-color: transparent;
    margin-bottom: 16px;
    transition: all .3s;
    justify-content: space-between;
}

.nogki-item:hover {
    border: 1px solid #181818;
    transition: all .3s;
}

.nogki-item:hover.nogki-item img {
    border: 1px solid #181818;
    transition: all .3s;
}

.nogki-item img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 4px;
    transition: all .3s;
}

.nogki-item p {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.25px;
    margin-bottom: 0;
    max-width: 300px;
    text-align: left;
}

.nogki-item span {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1px;
    color: #757575;
}

.tab-predmety__content .like {
    top: 0px;
    right: 2px;
}

.predmety-slider__card {
    padding: 12px;
    border-radius: 8px;
}

.predmety-slider__card img {
    width: 269.6px;
    height: 269.6px;
    object-fit: cover;
    margin-bottom: 8px;
}

.predmety-card__title {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    font-weight: 600;
    color: #181818;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.predmety-slider__card span:last-child {
    display: inline-block;
    color: #757575;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    font-weight: 400;
}

.predmety-slider__card .pink {
    display: inline-block;
}

.tab-predmety__content .swiper-wrapper {
    padding-bottom: 16px;
}

.predmety-slider__nav {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #fff;
    border: none;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
    z-index: 11;
    position: absolute;
}

.predmety-slider__nav-next {
    top: 37%;
    left: 97.9%;
}

.predmety-slider__nav-prev {
    top: 37%;
    right: 97.9%;
}

.predmety-slider__pagination {
    position: absolute;
    bottom: -1px;
}

.predmety-slider__pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ddd;
    opacity: 1;
    margin: 0 5px !important;
}

.predmety-slider__pagination .swiper-pagination-bullet-active {
    width: 32px !important;
    height: 8px !important;
    background: #181818 !important;
    border-radius: 4px !important;
}

.verh {
    padding-top: 12px;
    padding-bottom: 12px;
    position: absolute;
    background-color: #fff;
    top: 9.7%;
    z-index: 11;
    width: 100%;
    box-shadow: 0 0 20px 0 rgba(24, 24, 24, 0.08);
}

.verh.active {
    display: block;
    position: fixed;
}

.verh-card {
    display: flex;
    align-items: center;
}

.verh-card img {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    object-fit: cover;
    margin-right: 16px;
}

.verh-card__info {
    margin-right: 16px;
    width: 996px;
}

.verh-card__info p {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 8px;
}

.verh-card__info .goods-feedback {
    margin-bottom: 0;
}

.verh-card__info .goods-feedback p {
    margin-bottom: 0;
    color: #757575;
}

.verh-card__action {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 424px;
    justify-content: end;
}

.verh-card__action .goods-costs {
    margin-bottom: 0;
    display: block;
}

.verh-card__action .goods-costs p {
    font-weight: 600;
    font-size: 24px;
    line-height: 133%;
    color: #181818;
}

.verh-card__action .goods-costs p span {
    font-size: 14px;
}

.verh-card__action .goods-add__cart {
    width: 240px;
    max-width: 240px;
    margin-bottom: 0;
}

.verh-like {
    padding: 10px;
    background-color: transparent;
    border: none;
    margin-left: 16px;
}

/* Конец табов карточки товара */

.good-noposhlina {
    background-color: #fafafa;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 12px;
}

.noposhlita-content p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    margin-bottom: 0;
}

.noposhlita-content a {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: #0058a3;
}

.goods-added {
    display: flex;
    align-items: center;
    gap: 16px;
}

.goods-content__inner .goods-added {
    margin-bottom: 24px;
}

.goods-added__counter {
    background: #f5f5f5;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    width: 50%;
}


.counter-button {
    padding: 12px;
    border: none;
    background: transparent;
    outline: none;
}

.counter-vlaue {
    padding: 12px 60px;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    text-align: center;
    color: #181818;
    background: transparent;
}

.good-added__link {
    background: #00910a;
    padding: 14px 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    gap: 8px;
    border-radius: 8px;
    cursor: pointer;
    width: 50%;
}

.good-added__link p {
    margin-bottom: 0;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
}

.added-fullwidth {
    margin-bottom: 0;
    min-height: 40px;
}

.added-fullwidth .goods-added__counter {
    width: 100%;
    min-height: 40px;
    align-items: center;
}

.added-fullwidth .counter-button {
    padding: 8px 12px;
}

.added-fullwidth .counter-button svg {
    width: 20px;
    height: 20px;
}

.added-fullwidth .counter-vlaue {
    padding: 10px 42px;
    display: inline-block;
    max-height: fit-content;
    font-size: 14px;
    line-height: 20px;
}

.swiper-button-next,
.swiper-button-prev {
    width: 32px;
    height: 32px;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
    background: #fff;
    border-radius: 50%;
    color: #616161;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 0;
    font-size: 15px;
}

.goods-images__noslide {
    margin-right: 32px;
}

.goods-images__noslide img {
    width: 952px;
    height: 952px;
    object-fit: cover;
    border-radius: 4px;
}

/* Конец карточки товара */

/* Корзина начало */

.korzina {
    background-color: #FAFAFA;
    padding-bottom: 48px;
}

.zakaz-inner h2 {
    font-weight: 600;
    font-size: 24px;
    line-height: 133%;
    color: #181818;
    margin-bottom: 32px;
}

.cart-layout {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.cart-main {
    width: 75%;
    max-width: 1124px;
}

.is-empty-cart .cart-main {
    width: 100%;
    max-width: 100%;
}

.cart-empty {
    margin: 0 auto;
    text-align: center;
    padding-top: 50px;
    padding-bottom: 50px;
}

.cart-empty h3 {
    margin-bottom: 20px;
}

.cart-main__top,
.cart-section__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
}

.cart-select-all {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.cart-select-all__input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #9e9e9e;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
}

.cart-select-all__input[type="checkbox"]:checked {
    background: #0058A3;
    border-color: #0058A3;
}

.cart-select-all__input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.cart-select-all label {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    margin-left: 8px;
}


.cart-remove-selected {
    background-color: transparent;
    border: none;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    display: flex;
    align-items: center;
    gap: 4px;
}

.cart-section--available {
    margin-bottom: 24px;
}

.cart-item {
    display: flex;
    background-color: #fff;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    justify-content: space-between;
}

.cart-item:last-child {
    margin-bottom: 0;
}

.cart-item__select input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #9e9e9e;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
}

.cart-item__select input[type="checkbox"]:checked {
    background: #0058A3;
    border-color: #0058A3;
}

.cart-item__select input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.cart-item__image {
    max-width: 96px;
    max-height: 96px;
}

.cart-item__image img {
    max-width: 96px;
    max-height: 96px;
    object-fit: cover;
    border-radius: 4px;
}

.cart-item__info {
    width: 530px;
    max-width: 620px;
    overflow: hidden;
}

.cart-item__name {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 4px;
}

.cart-item__desc {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    margin-bottom: 4px;
    white-space: nowrap;
}

.cart-item__issue {
    display: none;
}

.cart-item__meta button {
    border: none;
    background-color: transparent;
    padding: 10px;
}

.cart-item__qty {
    margin-right: 24px;
    height: fit-content;
    background-color: #F5F5F5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    max-width: fit-content;
}

.cart-item__qty button {
    border: none;
    background: transparent;
    padding: 12px;
}

.qty-btn--minus {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.qty-btn--plus {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.qty-value {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    text-align: center;
    color: #181818;
    padding-left: 14px;
    padding-right: 15px;
}

.cart-item__price {
    width: 140px;
    max-width: 140px;
    text-align: right;
}

.no_promokod .price-promo {
    display: none;
}

.is_promocod .price-promo {
    display: block;
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #ce0061;
}

.no_promokod .price-main {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
    display: block;
}

.is_promocod .price-main {
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #757575;
    text-decoration: line-through;
}

.no_promokod .promo-size {
    display: none;
}

.is_promocod .promo-size {
    display: inline-block;
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #757575;
}

.no_promokod .promo-badge {
    display: none;
}

.is_promocod .promo-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: end;
}

.is_promocod .promo-badge p {
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #00910a;
    margin-bottom: 0;
}

.price-currency {
    font-size: 12px;
}

.badge {
    padding: 2px 6px;
    background: #0058a3;
    color: #fff;
    border-radius: 4px;
    height: fit-content;
    font-weight: 600;
    font-size: 11px;
    line-height: 133%;
    letter-spacing: 0.04em;
}

.badge--dark {
    background-color: #181818;
    color: #fff;
}

.cart-item__favorite:active svg {
    fill: #CE0061;
}

.cart-item__favorite:active svg path {
    fill: #CE0061;
    background-color: #CE0061;
}

.btn--ghost-small {
    background-color: #EEEEEE;
    border-radius: 8px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #181818;
}

.btn--ghost-small:hover {
    background-color: #0058a3;
    color: #fff;
}

.btn--ghost-small:hover svg path {
    fill: #fff;
}

.cart-section--unavailable {
    margin-bottom: 40px;
}

.cart-summary {
    width: 25%;
    max-width: 360px;
    position: sticky;
    top: 80px;
    align-self: flex-start;
}

.cart-summary__inner {
    background-color: #fff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.cart-summary__inner .no_promokod {
    display: none;
}

.cart-summary__inner .is_promocod {
    display: flex;
}

.cart-summary__title {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
    margin-bottom: 16px;
}

.cart-summary__row {
    display: flex;
    justify-content: space-between;
    padding-top: 4px;
    padding-bottom: 4px;
}

.cart-summary__row p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    margin-bottom: 0;
}

.cart-summary__row p span {
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #bdbdbd;
}

.cart-summary__row div {
    height: 1px;
    border-bottom: 1px dashed #eee;
}

.cart-summary__row .summery-row__cost {
    font-weight: 600;
}

.cart-summary__row .is_promocod {
    color: #B71C1C;
}

.cart-summary__total {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    margin-bottom: 16px;
}

.cart-summary__total p {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
}

.cart-summary__total .summery-total__total {
    font-weight: 600;
    font-size: 22px;
    line-height: 127%;
    color: #181818;
}

.cart-summary__total .summery-total__total span {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
}

.cart-summary__checkout-btn {
    width: 100%;
    border: none;
    background-color: #0058A3;
    color: #fff;
    padding: 14px 16px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #fff;
    margin-bottom: 16px;
}

.cart-summary__notice {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    color: #181818;
    margin-bottom: 0;
}

.cart-summary__notice a {
    color: #0058A3;
}


.cart-summary__checkout-btn:disabled {
    background: #0058A3;
    color: #ffffff;
    cursor: pointer;
}

.cart-summary__note {
    background-color: #fff;
    border-radius: 8px;
    padding-top: 16px;
}

.summary-note__wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.summary-note__wrap p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #757575;
    margin-bottom: 0;
}

.summary-note__wrap p span {
    font-weight: 600;
    color: #181818;
}

.cart-summary__note a {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: #0058a3;
    background: transparent;
    border: none;
    outline: none;
}

.card-summary__coupon {
    background-color: #F5F5F5;
    padding: 16px;
}

.card-summary__coupon .errors {
    border-color: #b71c1c;
}

.card-summary__coupon form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.card-summary__coupon form input {
    padding: 7px 16px;
    border-radius: 8px;
    border: 1px solid #BDBDBD;
    max-width: 183px;
    outline: none;
}

.card-summary__coupon form button {
    background-color: #0058A3;
    padding: 8px 16px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    max-width: 112px;
    height: fit-content;
}

.reki {
    padding-bottom: 72px;
}

.promokod-toast {
    box-shadow: 0 8px 24px 0 rgba(0, 6, 15, 0.15);
    background: #fff;
    border: none;
    padding: 16px;
    border-radius: 8px;
}

.promokod-toast .d-flex {
    align-items: center;
    gap: 8px;
}

.promokod-toast .toast-body {
    word-wrap: break-word;
    padding: 0;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.promokod-toast button {
    margin-top: 0;
}

.checkout-section_errori {
    display: flex;
    align-items: center;
    background: #fafafa;
    padding: 16px;
    border-radius: 8px;
    gap: 16px;
    margin-bottom: 16px;
}

.checkou-errori_content p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #b71c1c;
    margin-bottom: 4px;
}

.checkou-errori_content a {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: #757575;
}

/* Анимация обновления цены */
.price-updated {
    animation: priceUpdate 0.3s ease;
}

@keyframes priceUpdate {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
        color: #0058A3;
    }
}


/* Пустая корзина */
.empty-cart {
    text-align: center;
    padding: 60px 20px;
}

.empty-cart p {
    font-size: 18px;
    color: #757575;
    margin-bottom: 20px;
}

/* Плавное удаление */
.cart-item {
    transition: all 0.3s ease;
}

/* ========== МОДАЛЬНОЕ ОКНО "ТАМОЖЕННАЯ ПОШЛИНА" ========== */

/* Заголовок модалки */
#customsModal .modal-header {
    padding: 16px 24px;
}

#customsModal .modal-header .modal-title {
    font-size: 20px;
    font-weight: 600;
    color: #181818;
    margin: 0;
}

/* Тело модалки */
#customsModal .modal-body {
    padding: 8px 24px 16px 24px;
}

#customsModal .modal-description p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    margin-bottom: 10px;
}

#customsModal .modal-description p:last-child {
    margin-bottom: 0;
}

#customsModal .modal-description p span {
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #ce0061;
}

#customsModal .modal-description p strong {
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* Футер модалки */
#customsModal .modal-footer {
    border-top: none;
    justify-content: end;
    padding: 8px 24px 16px 24px;
}

#customsModal .modal-footer .btn {
    min-width: fit-content;
    padding: 14px 16px;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #fff;
    background: #0058a3;
    border-radius: 8px;
}

/* Кнопка закрытия */
#customsModal .btn-close {
    background-size: 16px;
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

#customsModal .btn-close:hover {
    opacity: 1;
}

#nondeliveryModal .modal-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
}

#nondeliveryModal .modal-body {
    padding: 8px 24px 16px 24px;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

#nondeliveryModal .modal-body p {
    margin-bottom: 0;
}

#nondeliveryModal ul {
    padding-left: 22px;
    list-style-type: disc;
}

#nondeliveryModal .modal-footer {
    border: none;
    padding: 8px 24px 16px 24px;
}

.order-toast_choose {
    background: #fff;
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.order-toast_choose p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #b71c1c;
    margin-bottom: 0;
}

.order-toast_delivery {
    background: #fff;
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
    display: none;
}

.order-toast_delivery p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    margin-bottom: 0;
    color: #181818;
}

/* Корзина конец */

/* ========== ВЫПАДАЮЩЕЕ МЕНЮ ПРОФИЛЯ ========== */

.head-profile {
    position: relative;
}

.panel-item-button {
    display: block;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    border-radius: 0;
    position: relative;
}

.panel-item-button:hover {
    background: transparent;
}

.panel-item-button img {
    width: 30px;
    height: 30px;
}

.panel-item-button p {
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    text-align: center;
    color: #181818;
    margin: 0;
}

.profile-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: #0058A3;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 10px;
}

/* Выпадающее меню */
.profile-dropdown {
    position: absolute;
    top: 71%;
    right: 9%;
    width: 332px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 12px 0 rgba(24, 24, 24, 0.08), -4px -4px 10px 0 rgba(24, 24, 24, 0.08);
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.profile-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.profile-dropdown__content {
    padding: 16px 12px;
}

/* ========== ШАПКА ПРОФИЛЯ ========== */

.profile-header {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.profile-header__avatar {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-header__info {
    flex: 1;
}

.profile-name {
    font-size: 16px;
    font-weight: 600;
    color: #181818;
    margin: 0 0 4px 0;
}

.profile-details-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #0058A3;
    text-decoration: none;
    transition: color 0.2s;
}

.profile-details-link:hover {
    color: #004080;
}

.profile-details-link svg {
    width: 16px;
    height: 16px;
}

/* ========== РАЗДЕЛИТЕЛЬ ========== */

.profile-divider {
    height: 1px;
    background: #e0e0e0;
}

/* ========== МЕНЮ ПРОФИЛЯ ========== */

.profile-menu {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.profile-menu-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 8px 14px 16px;
    border-radius: 0;
    text-decoration: none;
    transition: all 0.2s;
    position: relative;
}

.profile-menu-item:hover {
    background: #fafafa;
}

.profile-menu-item:hover .menu-item-text {
    color: #0058a3;
}

.profile-menu-item:hover svg path {
    fill: #0058a3;
}

.profile-menu-item.active .menu-item-text {
    color: #0058a3;
}

.profile-menu-item.active svg path {
    fill: #0058a3;
}

.menu-item-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-right: 0;
}

.menu-item-icon svg {
    width: 20px;
    height: 20px;
}

.menu-item-text {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.menu-item-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    background: #0058A3;
    font-weight: 600;
    font-size: 11px;
    line-height: 145%;
    letter-spacing: 0.05em;
    color: #fff;
    border-radius: 4px;
}

/* ========== КНОПКА ВЫХОДА ========== */

.profile-logout {
    width: 100%;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    padding: 14px 8px 14px 16px;
    background: transparent;
    border: none;
    border-radius: 0;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s;
}

.profile-logout:hover {
    background: #f5f5f5;
    color: #181818;
}


/* ========== ПЛАВАЮЩАЯ КНОПКА ЧАТА (FAB) ========== */

.button__NwVZ9 {
    height: 48px !important;
    width: 48px !important;
}

.logoIconCloud__ICsIa {
    width: 24px !important;
    height: 24px !important;
}

/* Корзина */

.zakaz-title {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
    gap: 12px;
    cursor: pointer;
}

.zakaz-title h2 {
    margin-bottom: 0;
}

.checkout-container {
    max-width: 100%;
}

.checkout-section {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.for-white_bg .checkout-section {
    margin-bottom: 0;
    border-radius: 0;
}

.checkout-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 0;
}

.for-white_bg .address-section {
    padding-top: 0;
}

.pickup-provider-name {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    display: block;
    margin-bottom: 4px;
}

.checkout-section .section-title {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    margin: 0;
    padding-left: 0;
    padding-bottom: 0;
}

.pickup-section .section-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
}

.zakaz-inner .checkout-section .section-header h2 {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
    padding: 0;
    margin-bottom: 16px;
}

.change-link {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    transition: color 0.2s;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #0058a3;

}

.change-link:hover {
    color: #004080;
    text-decoration: underline;
}

/* ========== КНОПКА ВЫБОРА ========== */
.select-button {
    width: 100%;
    max-width: fit-content;
    background: #0058A3;
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.3s;
}

.select-button:hover {
    background: #004080;
}

/* ========== СПОСОБЫ ОПЛАТЫ ========== */
.payment-methods {
    display: flex;
    gap: 16px;
}

.payment-method {
    position: relative;
    cursor: pointer;
    max-width: 156px;
}

.payment-method input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.payment-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 84px;
    padding: 12px;
    background: #FFFFFF;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    transition: all 0.3s;
    width: 156px;
}

.payment-card svg path {
    fill: #757575;
}

.payment-card span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    text-align: center;
    color: #757575;
}

.payment-method input[type="radio"]:checked+.payment-card {
    border-color: #0058A3;
}

.payment-method input[type="radio"]:checked+.payment-card span {
    color: #181818;
}

.payment-method input[type="radio"]:checked+.payment-card svg path {
    fill: #181818;
}

.payment-card:hover {
    border-color: #0058A3;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 88, 163, 0.15);
}

/* Для логотипов ЕРИП и Оплати */
.payment-card img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* ========== АЛЕРТЫ ========== */
.alert {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-radius: 8px;
    margin-bottom: 16px;
}

.alert-warning {
    background: #fafafa;
    border-radius: 8px;
    padding: 16px;
    border: none;
}

.alert-warning span {
    color: #b71c1c;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    align-content: center;
    display: inline-block;
    margin-bottom: 0;
}

.alert-warning span strong {
    color: #b71c1c;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.alert svg {
    flex-shrink: 0;
}

.alert p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #b71c1c;
    margin-bottom: 0;
    max-width: 940px;
}

.alert strong {
    font-weight: 400;
    letter-spacing: 0.01em;
    color: #181818;
}

.alert .timer-value {
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #b71c1c;
}

.btn-pay-order {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #fff;
    padding: 14px 16px;
    background: #b71c1c;
    border: none;
    border-radius: 8px;
    margin-left: auto;
}

/* ========== ИНФОРМАЦИЯ О ПОЛУЧАТЕЛЕ ========== */
.recipient-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.info-label {
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #757575;
    display: block;
}

.info-value {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #181818;
    display: block;
}


/* ========== СЕКЦИЯ САМОВЫВОЗА ========== */
.pickup-section {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.pickup-section .alert {
    gap: 16px;
    align-items: center;
    background: #fafafa;
    border: none;
    margin-top: 16px;
}

.pickup-section .alert-danger span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #b71c1c;
}

.vgh-details-link {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #757575;
}

.pickup-section .alert-info {
    background: #fafafa;
    border: none;
    padding: 16px;
    margin-top: 16px;
}

.delivery-info-block .alert-info {
    background: #fff;
    align-items: center;
}

.pickup-section .alert-info span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.delivery-info-block .alert-info span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.pickup-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.pickup-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pickup-icon svg {
    width: 48px;
    height: 48px;
}

.pickup-info {
    flex: 1;
}

.zakaz-inner .checkout-section .pickup-info h2 {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    margin-bottom: 4px;
}

.pickup-address {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 0;
}

/* ========== КОНТАКТНЫЕ ДАННЫЕ ========== */
.contact-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
}

.contact-item svg {
    flex-shrink: 0;
}

.contact-item span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

/* ========== ВРЕМЕННАЯ ШКАЛА ========== */
.order-timeline {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #F0F0F0;
}

.timeline-item {
    display: flex;
    flex-direction: column;
}

.timeline-label {
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #757575;
}

.timeline-value {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

/* ========== СЕКЦИЯ УСЛУГ ========== */
.services-section {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.zakaz-inner .services-section h2 {
    margin-bottom: 16px;
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
}

.services-section .alert {
    margin-bottom: 16px;
    align-items: center;
    gap: 16px;
}

.services-section .alert span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.services-section .alert-info {
    background: #fafafa;
    border: none;
    padding: 16px;
    margin-top: 16px;
}



.services-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
}

/* ========== КАРТОЧКА УСЛУГИ ========== */
.service-card {
    position: relative;
    display: block;
    cursor: pointer;
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    padding: 16px;
    transition: all 0.3s;
    background: #FFFFFF;
}

.service-card input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.service-card:hover {
    border-color: #0058A3;
}

.service-card.selected {
    border-color: #0058A3;
}

.service-content {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
}

.service-header {
    display: flex;
    align-items: center;
    gap: 16px;
}

.checkbox-custom {
    width: 24px;
    height: 24px;
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
    background: #FFFFFF;
}

.service-card.selected .checkbox-custom {
    background: #0058A3;
    border-color: #0058A3;
}

.checkbox-custom svg {
    opacity: 0;
    transition: opacity 0.2s;
}

.service-card.selected .checkbox-custom svg {
    opacity: 1;
}

.service-name {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 4px;
}

.service-description {
    padding-left: 42px;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    margin-bottom: 0;
}

.service-price {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
}

/* ========== СЕКЦИИ С ДАННЫМИ ========== */
.passport-section,
.address-section {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.zakaz-inner .address-section h2 {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 16px;
    border-top: 1px solid #e0e0e0;
    padding-top: 16px;
}

/* ========== ДАННЫЕ (ПАСПОРТ И АДРЕС) ========== */
.passport-data,
.address-data {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.data-row {
    display: flex;
    flex-direction: column;
}

.data-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Строка с двумя колонками */
.data-row-split {
    flex-direction: row;
    gap: 24px;
}

.data-column {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.data-label {
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #757575;
    margin-bottom: 4px;
}

.data-value {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #181818;
}

/* ========== КНОПКА "ПОКАЗАТЬ ДАННЫЕ" ========== */
.show-data-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: color 0.2s;
    font-weight: 600;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.04em;
    color: #0058a3;
    margin-right: auto;
    margin-top: 16px;
}

.show-data-btn:hover {
    color: #004080;
}

/* Состояние "данные показаны" */
.show-data-btn.active {
    color: #757575;
}

.show-data-btn.active svg {
    opacity: 0.5;
}

/* Конец корзины */

/* ========== СТРАНИЦА УСПЕХА ЗАКАЗА ========== */

.orders-statused {
    padding-top: 0;
    padding-bottom: 16px;
    background-color: #fafafa;
}

.order-success-page {
    margin: 0 auto;
    padding-top: 16px;
}

.order-success-page .zakazi {
    padding-bottom: 0;
}

/* ========== ЗАГОЛОВОК УСПЕХА ========== */
.success-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    text-align: center;
    margin-bottom: 24px;
}

.success-icon-large {
    animation: successPulse 0.6s ease-out;
}

@keyframes successPulse {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.success-title {
    font-weight: 600;
    font-size: 24px;
    line-height: 133%;
    color: #181818;
    margin: 0;
}

.order-success-page .alert {
    padding: 13px;
    border-radius: 8px;
    background: #fff;
    border: none;
    align-items: center;
}

.order-success-page .alert-info span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.order-success-page .alert-info span strong {
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* ========== ИНФОРМАЦИЯ О ЗАКАЗЕ ========== */
.order-info-section {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 16px;
    padding-top: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.order-number {
    font-weight: 600;
    font-size: 22px;
    line-height: 127%;
    color: #181818;
    margin: 0;
}

.order-tracking {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #181818;
    margin-bottom: 16px;
}

.tracking-link {
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: #0058a3;
}

.tracking-link:hover {
    color: #004080;
}

/* ========== ЭЛЕМЕНТЫ ДЕТАЛЕЙ ЗАКАЗА ========== */
.order-detail-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    padding-top: 0;
}

.order-detail-item:last-child {
    border-bottom: 1px solid #eee;
    border-top: 1px solid #eee;
    padding-top: 16px;
}

.detail-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}

.ikea-icon {
    background: #F5F5F5;
    border-radius: 50%;
}

.detail-content {
    flex: 1;
}

.detail-title,
.detai-delivery {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin: 0 0 4px;
}

.detail-subtitle {
    font-size: 14px;
    color: #757575;
    margin: 0;
    line-height: 1.4;
}

.detail-status {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #b71c1c;
    margin: 0;
}

/* Специальные стили для доставки и суммы */
.delivery-free .detail-title {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #00910a;
    text-transform: unset;
    margin-bottom: 0;
    padding-left: 40px;
}

.delivery-free {
    border-bottom: 1px solid #eee;
}

.delivery-free .detail-subtitle {
    padding-left: 40px;
}

.total-amount {
    padding-top: 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #eee;
}

.total-amount .detail-price,
.detail-delivery .detail-price {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin: 0;
    padding-left: 40px;
}

.total-amount .detail-subtitle,
.detail-delivery .detail-subtitle {
    padding-left: 40px;
}



/* ========== СЕКЦИЯ УСЛУГ ========== */
.selected-services-section {
    background: #FFFFFF;
    border-radius: 8px;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    padding: 0 16px;
    margin-bottom: 24px;

}

.selected-services-section .alert {
    background: #fafafa;
}

.selected-services-section .alert span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.services-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 4px;
}

.services-title {
    font-size: 16px;
    font-weight: 600;
    color: #181818;
    margin: 0;
}

.services-list-simple {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-left: 40px;
    padding-bottom: 16px;
}

.services-list-simple li {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    padding: 0;
    padding-bottom: 4px;
}

.services-list-simple li:last-child {
    padding-bottom: 0;
}

/* ========== СЕКЦИЯ ПОЛУЧАТЕЛЯ ========== */
.recipient-section {
    border-radius: 0;
    box-shadow: none;
    padding-top: 0;
    padding-bottom: 16px;
}

.recipient-header {
    display: flex;
    align-items: center;
    gap: 12px;
    border: none;
    padding-bottom: 0;
    margin-bottom: 4px;
}

.recipient-name {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 0;
}

.contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 40px;
}

.contact-info-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contact-info-item svg {
    flex-shrink: 0;
}

.contact-info-item span {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
}

/* ========== АНИМАЦИИ ПОЯВЛЕНИЯ ========== */
.order-success-page>* {
    animation: fadeInUp 0.7s ease-out backwards;
}

.order-success-page>*:nth-child(1) {
    animation-delay: 0.1s;
}

.order-success-page>*:nth-child(2) {
    animation-delay: 0.2s;
}

.order-success-page>*:nth-child(3) {
    animation-delay: 0.3s;
}

.order-success-page>*:nth-child(4) {
    animation-delay: 0.4s;
}

.order-success-page>*:nth-child(5) {
    animation-delay: 0.5s;
}

.order-success-page>*:nth-child(6) {
    animation-delay: 0.6s;
}

.order-success-page>*:nth-child(7) {
    animation-delay: 0.7s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.order-info-payment {
    padding: 14px 16px;
    border-radius: 8px;
    border: none;
    background: #b71c1c;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #fff;
}


.order-number-wrap {
    display: flex;
    align-items: center;
    margin: 0 0 16px;
    gap: 8px;
    padding-top: 16px;
}

.btn-copy-order {
    background: transparent;
    border: none;
    outline: none;
    padding: 0;
}

.btn-copy-order:hover svg path {
    fill: #004a8c;
}

#deliveryModal .modal-header .modal-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
}

#deliveryModal .modal-body {
    padding: 0 16px 16px 16px;
}

#deliveryModal .pvz-map .container {
    max-width: 100%;
}

#deliveryModal .pvz-scroll {
    height: 100vh;
}


#deliveryModal .map-wrapper {
    height: 100vh;
}

#deliveryModal .offcanvas {
    max-width: 444px;
    background: transparent;
    border: none;
}

#deliveryModal .offcanvas-header {
    min-height: 54px;
}

#deliveryModal .offcanvas-backdrop {
    background-color: transparent;
}

#deliveryModal .offcanvas-body {
    background: #fff;
    padding: 16px 16px 16px 16px;
}

.more-pvz_inner {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.more-pvz_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    flex-shrink: 0;
    /* Заголовок не сжимается */
}

.more-pvz_title h5 {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
}

.more-pvz_title .btn-close {
    width: 24px;
    height: 24px;
    padding: 12px;
}

.more-pvz_contant {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
    /* Контент занимает всё доступное пространство */
    overflow-y: auto;
    /* Прокрутка если контент большой */
}

.pvz-contatc_point {
    display: flex;
    align-items: center;
    gap: 16px;
}

.pvz-contatc_point span {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #181818;
}

.more-pvz_down {
    flex-shrink: 0;
    /* Кнопка не сжимается */
    margin-top: auto;
    /* Прижимает блок к низу */

}

.more-pvz_choosen {
    border-radius: 8px;
    padding: 12px 16px;
    border: none;
    background: #0058a3;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #fff;
    width: 100%;
}

.cart-summary__row .free-deliverys {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: right;
    color: #00910a;
}


/* ========== МЕГАМЕНЮ ========== */

.mega-menu-overlay {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    border-top: 1px solid #E0E0E0;
    height: calc(100vh - 152px);
    max-height: calc(100vh - 152px);
    overflow: hidden;
}

.mega-menu-overlay .container-menu {
    max-width: 1500px;
    margin: 0 auto;
    height: calc(100vh - 152px);
    max-height: calc(100vh - 152px);
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.mega-menu-overlay .mega-menu-mobile-nav {
    display: none;
}

.mega-menu-overlay .mega-menu-desktop {
    display: flex;
    width: 100%;
    height: 100%;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.mega-menu-overlay .mega-menu-sidebar {
    width: 360px;
    min-width: 360px;
    max-width: 360px;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    border-right: 1px solid #E0E0E0;
    scrollbar-width: none;
    padding: 16px 0 24px;
    padding-top: 0;
}

.mega-menu-overlay .mega-menu-sidebar::-webkit-scrollbar,
.mega-menu-overlay .mega-menu-content::-webkit-scrollbar {
    display: none;
}

.mega-menu-overlay .mega-menu-sidebar__top,
.mega-menu-overlay .mega-menu-sidebar__main {
    display: flex;
    flex-direction: column;
}

.mega-menu-overlay .mega-menu-sidebar__divider {
    margin: 8px 24px;
    border-top: 1px solid #E0E0E0;
}

.mega-menu-overlay .mega-menu-root-item {
    min-height: 48px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #181818;
    background: #fff;
    transition: background-color 0.2s ease;
}

.mega-menu-overlay .mega-menu-root-item:hover,
.mega-menu-overlay .mega-menu-root-item:focus-visible,
.mega-menu-overlay .mega-menu-root-item.active {
    background: #F5F5F5;
}

.mega-menu-overlay .mega-menu-root-item__content {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.mega-menu-overlay .mega-menu-root-item__icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
}

.mega-menu-overlay .mega-menu-root-item__text {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    white-space: wrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mega-menu-overlay .mega-menu-root-item.active .mega-menu-root-item__text {
    font-weight: 600;
}

.mega-menu-overlay .mega-menu-root-item__arrow {
    font-size: 18px;
    line-height: 18px;
    margin-left: 8px;
}

.mega-menu-overlay .mega-menu-content {
    width: 1140px;
    min-width: 1140px;
    max-width: 1140px;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px 0 24px;
}

.mega-menu-overlay .mega-menu-columns {
    width: 1140px;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    overflow-y: visible;
    display: grid;
    grid-template-columns: repeat(3, 380px);
    align-content: start;
    gap: 0;
}

.mega-menu-overlay .mega-menu-column {
    width: 380px;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    overflow-y: visible;
    padding: 0 16px 0 16px;
}

.mega-menu-overlay .mega-menu-group {
    width: 100%;
    margin-bottom: 18px;
}

.mega-menu-overlay .mega-menu-group__title-row {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 4px;
}

.mega-menu-overlay .mega-menu-group__icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
}

.mega-menu-overlay .mega-menu-group__icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.mega-menu-overlay .mega-menu-group__title {
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    color: #181818;
}

.mega-menu-overlay .mega-menu-group__title:hover {
    color: #0058A3;
}

.mega-menu-overlay .mega-menu-group__children {
    list-style: none;
    margin: 0;
    padding: 0 0 0 56px;
}

.mega-menu-overlay .mega-menu-group__children li {
    min-height: 36px;
    display: flex;
    align-items: center;
}

.mega-menu-overlay .mega-menu-group__children a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    width: 100%;
    color: #181818;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
}

.mega-menu-overlay .mega-menu-group__children a:hover {
    color: #0058A3;
}

.mega-menu-overlay .mega-menu__show-more {
    display: inline-flex;
    align-items: center;
    margin-top: 6px;
    margin-left: 56px;
    color: #0058A3;
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    text-decoration: underline;
}

.mega-menu-overlay .mega-menu__show-more:hover {
    color: #0058A3;
}

.mega-menu-overlay .mega-menu-desktop-skeleton {
    background: #FFFFFF;
}

.mega-menu-overlay .mega-menu-loader {
    display: none;
}

.mega-menu-overlay .mega-menu-skeleton-sidebar {
    pointer-events: none;
}

.mega-menu-overlay .mega-menu-skeleton-content {
    pointer-events: none;
}

.mega-menu-overlay .mega-menu-skeleton-root {
    min-height: 48px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.mega-menu-overlay .mega-menu-skeleton-icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    flex: 0 0 24px;
    border-radius: 6px;
    background: #F1F3F5;
}

.mega-menu-overlay .mega-menu-skeleton-icon--large {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 8px;
}

.mega-menu-overlay .mega-menu-skeleton-line {
    display: block;
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, #F1F3F5 0%, #E6EAF0 50%, #F1F3F5 100%);
    background-size: 220% 100%;
    animation: mega-menu-skeleton-pulse 1.4s ease-in-out infinite;
}

.mega-menu-overlay .mega-menu-skeleton-line--root {
    width: 68%;
}

.mega-menu-overlay .mega-menu-skeleton-line--title {
    width: 62%;
}

.mega-menu-overlay .mega-menu-skeleton-line--child {
    width: calc(100% - 56px);
    margin: 12px 0 0 56px;
}

.mega-menu-overlay .mega-menu-skeleton-line--child.short {
    width: calc(72% - 56px);
}

.mega-menu-overlay .mega-menu-skeleton-group {
    width: 100%;
    min-height: 160px;
    margin-bottom: 18px;
}

.mega-menu-overlay .mega-menu-skeleton-title-row {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 4px;
}

@keyframes mega-menu-skeleton-pulse {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

@media (max-width: 1199.98px) {
    .mega-menu-overlay .mega-menu-loader {
        display: flex;
    }

    .mega-menu-overlay .mega-menu-desktop-skeleton {
        display: none !important;
    }
}

.mega-menu-overlay .mega-menu-empty,
.mega-menu-overlay .mega-menu-error {
    padding: 24px;
    font-size: 14px;
    line-height: 20px;
    color: #757575;
}

.mega-menu-overlay .mega-menu-error {
    color: #b71c1c;
}

/* Sticky header has smaller height (header-bottom hidden), so MegaMenu shell
   must use a shorter viewport subtraction to stay full-height under sticky bar. */
.header.sticky .mega-menu-overlay,
.header.sticky .mega-menu-overlay .container-menu {
    height: calc(100vh - 65px);
    max-height: calc(100vh - 65px);
}

.header.sticky .mega-menu-overlay {
    overflow: hidden;
}

.header.sticky .mega-menu-overlay .container-menu {
    min-height: 0;
    overflow: hidden;
}

.header.sticky .mega-menu-overlay .mega-menu-desktop {
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}

.header.sticky .mega-menu-overlay .mega-menu-sidebar,
.header.sticky .mega-menu-overlay .mega-menu-content {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Активное состояние кнопки каталога */
.catalog-btn.active {
    color: #0058A3;
}

/* ===== PRICE FILTER SLIDER ===== */

.price-filter .section-title {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    padding-top: 16px;
    margin-bottom: 8px;
}

/* Обёртка слайдера */
.price-slider-wrapper {
    position: relative;
    height: 20px;
    margin-bottom: 16px;
}

/* Серая дорожка */
.price-slider-track {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 4px;
    background: #e0e0e0;
    border-radius: 2px;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Синяя активная полоса */
.price-slider-range {
    position: absolute;
    height: 100%;
    background: #0058a3;
    border-radius: 2px;
}

/* Общие стили для обоих range-инпутов */
.price-slider {
    position: absolute;
    top: -50%;
    left: 0;
    width: 100%;
    height: 4px;
    transform: translateY(-50%);
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    pointer-events: none;
    outline: none;
}

/* Ползунок (thumb) */
.price-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0058a3;
    cursor: pointer;
    pointer-events: all;
    border: none;
    box-shadow: 0 1px 4px rgba(0, 88, 163, 0.3);
    transition: box-shadow 0.15s;
}

.price-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0058a3;
    cursor: pointer;
    pointer-events: all;
    border: none;
    box-shadow: 0 1px 4px rgba(0, 88, 163, 0.3);
}

.price-slider::-webkit-slider-thumb:hover {
    box-shadow: 0 0 0 6px rgba(0, 88, 163, 0.12);
}

/* z-index чтобы ползунки не перекрывали друг друга */
.price-slider--min {
    z-index: 3;
}

.price-slider--max {
    z-index: 4;
}

/* Инпуты от/до */
.price-inputs {
    display: flex;
    gap: 12px;
    position: relative;
}

.price-input-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.price-input-label {
    font-weight: 600;
    font-size: 11px;
    line-height: 145%;
    letter-spacing: 0.05em;
    color: #9e9e9e;
    position: absolute;
    z-index: 3;
    top: 0;
    padding-left: 16px;
}

.price-input {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.15s;
    -moz-appearance: textfield;
    font-weight: 400;
    font-size: 12px;
    line-height: 133%;
    letter-spacing: 0.03em;
    color: #181818;
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 2px;
}

.price-input::-webkit-inner-spin-button,
.price-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.price-input:focus {
    border-color: #0058a3;
}

.fab-chat {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0058A3;
    color: #fff;
    border: none;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 88, 163, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1000;
    overflow: hidden;
}

.fab-chat.show {
    animation: fabSlideIn 0.4s ease-out;
}

/* ─── Страница «Советы и идеи» ─────────────────────────────────────────────── */

.blog-list {
    padding: 0 0 64px;
}

.blog-list .container {
    width: 100%;
    max-width: 1400px;
    padding-left: 32px;
    padding-right: 32px;
}

.blog-list__title {
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: #181818;
    margin-bottom: 32px;
}

/* ─── Табы ──────────────────────────────────────────────────────────────────── */

.blog-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
    align-items: center;
}

.blog-tabs__item {
    padding: 8px 12px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    white-space: nowrap;
    background: #f5f5f5;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #181818;
}

.blog-tabs__item:hover {
    background: #0058a3;
    color: #fff;
}

.blog-tabs__item--active {
    background: #0058a3;
    color: #fff;
}

.blog-tabs__item--active:hover {
    color: #fff;
}

/* ─── Сетка карточек ────────────────────────────────────────────────────────── */

.blog-list__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: start;
}

/* ─── Карточка статьи ───────────────────────────────────────────────────────── */

.blog-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    gap: 8px;
}

.blog-card:hover .blog-card__title {
    color: #0058a3;
}

.blog-card__image-wrap {
    position: relative;
    width: 100%;
    padding-top: 66.6667%;
    /* соотношение 3:2 */
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
}

.blog-card__image {
    object-fit: cover;
    transition: transform 0.3s ease;
}

.blog-card:hover .blog-card__image {
    transform: scale(1.04);
}

.blog-card__image-placeholder {
    position: absolute;
    inset: 0;
    background: #ececec;
}

.blog-card__badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    background: #0058a3;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.04em;
    width: fit-content;
}

.blog-card__title {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 0;
    transition: color 0.2s;
}

.blog-card__excerpt {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #757575;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ─── Спиннер / служебные состояния ────────────────────────────────────────── */

.blog-list__spinner {
    display: flex;
    justify-content: center;
    padding: 40px 0;
}

.blog-list__sentinel {
    height: 1px;
}

.blog-list__end,
.blog-list__empty {
    text-align: center;
    color: #0058a3;
    font-size: 14px;
    padding: 32px 0 0;
}

/* ─── Phone Dropdown ────────────────────────────────────────────────────────── */

.phone-dropdown {
    position: relative;
}

.phone-dropdown__trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #9e9e9e;
    padding: 0;
    transition: color 0.2s;
}

.phone-dropdown__trigger:hover,
.phone-dropdown__trigger--active {
    color: #9e9e9e;
}

.phone-dropdown__menu {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
    min-width: 320px;
    padding: 8px;
    z-index: 1000;
}

.phone-dropdown__phone {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 4px 4px 16px;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
}

.phone-dropdown__phone:hover {
    background: #f8f9fa;
}

.phone-dropdown__phone img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.phone-dropdown__number {
    display: block;
    font-weight: 700;
    font-size: 22px;
    line-height: 127%;
    color: #0058a3;
    line-height: 1.2;
}

.phone-dropdown__hours {
    display: block;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    padding: 0px 4px 8px 16px;
}

.phone-dropdown__divider {
    height: 1px;
    background: #f0f0f0;
    margin: 4px 0;
}

.phone-dropdown__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 14px;
    color: #181818;
    transition: background 0.15s;
    background: transparent;
    border: none;
    width: 100%;
}

.phone-dropdown__item:hover {
    background: #f8f9fa;
    color: #181818;
}

.phone-dropdown__item img,
.phone-dropdown__item svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* ─── Cookie Banner ─────────────────────────────────────────────────────────── */

.cookie-banner {
    position: fixed;
    bottom: 16px;
    right: 16px;
    width: 362px;
    min-height: 204px;
    padding: 16px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: -1px -1px 8px rgba(24, 24, 24, 0.04), 4px 4px 8px rgba(24, 24, 24, 0.24);
    background: #f5f5f5;
    border-radius: 8px;
}

@media (min-width: 1200px) {
    .cookie-banner {
        right: max(16px, calc((78vw - 1200px) / 2 + 16px));
    }
}

.cookie-banner__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cookie-banner__title {
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: #181818;
    margin: 0;
}

.cookie-banner__text {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
    color: #181818;
    margin: 0;
}

.cookie-banner__settings-link {
    background: none;
    border: none;
    padding: 0;
    margin-top: 4px;
    cursor: pointer;
    display: inline-block;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    color: #0058a3;
    text-decoration: none;
    text-align: left;
}

.cookie-banner__settings-link:hover {
    color: #0058a3;
    text-decoration: underline;
}

.cookie-banner__actions {
    display: flex;
    gap: 16px;
    width: 100%;
}

/* ─── Shared buttons ────────────────────────────────────────────────────────── */

.cookie-banner__btn,
.not-found__btn {
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 600;
    transition: var(--transition-button-colors);
}

.cookie-banner__btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 40px;
    height: 40px;
    padding: 8px 16px;
    cursor: pointer;
    white-space: nowrap;
    line-height: 20px;
    letter-spacing: 0.1px;
    text-align: center;
    color: var(--color-brand-primary);
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cookie-banner__btn--outline {
    background: transparent;
    border: 1px solid var(--color-brand-primary);
    color: var(--color-brand-primary);
}

.cookie-banner__btn--outline:hover {
    border-color: var(--color-brand-primary);
    color: var(--white-100);
    background: var(--color-brand-primary);
}

.cookie-banner__btn--primary {
    background: var(--color-brand-primary);
    border: 1px solid var(--color-brand-primary);
    color: var(--white-100);
}

.cookie-banner__btn--primary:hover {
    background: transparent;
    border-color: var(--color-brand-primary);
    color: var(--color-brand-primary);
}

/* ─── Cookie Modal Overlay ──────────────────────────────────────────────────── */

.cookie-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

/* ─── Cookie Modal ──────────────────────────────────────────────────────────── */

.cookie-modal {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
    width: 100%;
    max-width: 720px;
    padding: 16px 24px 24px;
    display: flex;
    flex-direction: column;
}

.cookie-modal__title {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
    margin-bottom: 24px;
}

.cookie-modal__list {
    display: flex;
    flex-direction: column;
}

.cookie-modal__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-direction: row-reverse;
}

.cookie-modal__item-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.cookie-modal__item-label {
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #181818;
}

.cookie-modal__item-desc {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
}

.cookie-modal__divider {
    height: 1px;
    background: #f0f0f0;
    margin: 24px 0;
}

.cookie-modal__footer {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 24px;
}

.cookie-modal__footer p {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #181818;
    margin-bottom: 0;
}

.cookie-modal__policy-link {
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #0058a3;
}

.cookie-modal__policy-link:hover {
    color: #0058a3;
}

.cookie-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
}

.footer-cookie-btn {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    font-size: inherit;
    cursor: pointer;
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.5px;
}

/* ─── Toggle Switch ─────────────────────────────────────────────────────────── */

.cookie-toggle {
    position: relative;
    width: 36px;
    height: 24px;
    border-radius: 100px;
    border: none;
    background: #e0e0e0;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s;
    padding: 0;
    margin-top: 0;
}

.cookie-toggle--on {
    background: #9e9e9e;
}

.cookie-toggle--disabled {
    opacity: 1;
    cursor: not-allowed;
}

.cookie-toggle__thumb {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
    display: block;
}

.cookie-toggle--on .cookie-toggle__thumb {
    transform: translateX(10px);
}

/* ─── Page Loader ───────────────────────────────────────────────────────────── */

.page-loading-space {
    min-height: 100vh;
    min-height: 100dvh;
}

.page-loader {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    z-index: 9990;
}

.route-page-loader .page-loader {
    z-index: 10050;
}

.page-loader__spinner {
    width: 48px;
    height: 48px;
    border: 4px solid #e0eaf4;
    border-top-color: #0058A3;
    border-radius: 50%;
    animation: page-loader-spin 0.75s linear infinite;
}

@keyframes page-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ─── 404 страница ──────────────────────────────────────────────────────────── */

.not-found {
    padding: 64px 0 48px;
}

.not-found__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
}

.not-found__image {
    width: 160px;
    height: 160px;
    object-fit: contain;
    margin-bottom: 8px;
}

.not-found__title {
    font-size: 24px;
    font-weight: 700;
    color: #181818;
    margin: 0;
}

.not-found__subtitle {
    font-size: 15px;
    color: #6c757d;
    margin: 0;
}

.not-found__actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.not-found__btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    text-decoration: none;
}

.not-found__btn--outline {
    border: 1.5px solid #d9d9d9;
    background: #fff;
    color: #181818;
}

.not-found__btn--outline:hover {
    border-color: #0058A3;
    color: #0058A3;
}

.not-found__btn--primary {
    background: #0058A3;
    border: 1.5px solid #0058A3;
    color: #fff;
}

.not-found__btn--primary:hover {
    background: #004a8c;
    border-color: #004a8c;
}

.advices-content__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.advice-card {
    display: flex;
    align-content: center;
    align-items: stretch;
    width: 50%;
    max-width: 738px;
    gap: 16px;
}

.advice-card__image {
    width: 210px;
    min-width: 210px;
    height: 140px;
}

.advice-card__image img {
    width: 100%;
    min-width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.advice-card__info {
    display: flex;
    flex-direction: column;
}

.advice-card__info h6 {
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #181818;
    margin-bottom: 8px;
}

.advice-card__excerpt {
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #757575;
    margin-bottom: 8px;
    max-height: 60px;
    overflow: hidden;
}

.advice-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    color: #0058a3;
}

.advice-card__link svg {
    flex: 0 0 auto;
}

.advice-card:hover .advice-card__link {
    text-decoration: underline;
}

.guest-sidebar {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 8px 12px;
    padding-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}

.guest-sidebar__title {
    font-weight: 600;
    font-size: 18px;
    line-height: 133%;
    color: #181818;
    margin-bottom: 12px;
}

.guest-sidebar__text {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.03em;
    color: #181818;
    margin-bottom: 12px;
}

.guest-sidebar__btn {
    width: 100%;
    padding: 14px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.01em;
    text-align: center;
    color: #fff;
}

.guest-sidebar__btn--primary {
    background: #0058A3;
    color: #fff;
    margin-bottom: 8px;
}

.guest-sidebar__btn--outline {
    background: #fff;
    color: #0058A3;
    border: none;
    margin-bottom: 16px;
}

.guest-sidebar__favorites-link {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fafafa;
    padding: 14px 16px;
    border-radius: 4px;
    font-weight: 400;
    font-size: 14px;
    line-height: 143%;
    letter-spacing: 0.02em;
    color: #0058a3;
}


.filter-aside {
    scrollbar-width: auto;
    -ms-overflow-style: none;
}

/* components/catalog/SearchNotFound.css */

.search-not-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    width: 100%;
}

.search-not-found__image {
    width: 160px;
    height: 160px;
    margin-bottom: 24px;
}

.search-not-found__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.search-not-found__title {
    font-size: 20px;
    font-weight: 600;
    color: #181818;
    margin-bottom: 8px;
}

.search-not-found__text {
    font-size: 15px;
    color: #757575;
    margin: 0;
}

.search-not-found__link {
    color: #0058A3;
    text-decoration: underline;
    transition: color 0.15s;
}

.search-not-found__link:hover {
    color: #004a8f;
}

.catalog-toolbar {
    display: block;
}

.mobile-catalog-filters {
    display: none;
}

.mobile-filter-trigger,
.mobile-filter-overlay,
.mobile-filter-panel {
    display: none;
}

.product-mobile-tabs-list,
.product-mobile-tabs-panel {
    display: none;
}

.product-desktop-tabs {
    display: block;
}

.product-gallery-mobile {
    display: none;
}

.product-mobile-header {
    display: none;
}

/* ===== Button Micro-Interactions ===== */

.catalog-btn,
.shop_button,
.view-all-btn,
.empty-btn,
.return-order,
.panel-item-button,
.btn-pay-order,
.btn-copy-order,
.btn--ghost-small,
.cart-summary__checkout-btn,
.apply-filters,
.clear-filters,
.select-button,
.feedbacks-sort__button,
.feedbacks-load-more,
.mega-menu-mobile-card,
.mega-menu-mobile-back,
.mega-menu-mobile-list-item {
    transition: transform 120ms ease, background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
    transform: translateZ(0);
}

.catalog-btn:active,
.shop_button:active,
.view-all-btn:active,
.empty-btn:active,
.return-order:active,
.panel-item-button:active,
.btn-pay-order:active,
.btn-copy-order:active,
.btn--ghost-small:active,
.cart-summary__checkout-btn:active,
.apply-filters:active,
.clear-filters:active,
.select-button:active,
.feedbacks-sort__button:active,
.feedbacks-load-more:active,
.mega-menu-mobile-card:active,
.mega-menu-mobile-back:active,
.mega-menu-mobile-list-item:active {
    transform: scale(0.98);
}

.shop_button:active,
.btn-copy-order:active,
.mega-menu-mobile-card:active,
.mega-menu-mobile-back:active,
.mega-menu-mobile-list-item:active {
    transform: scale(0.97);
}

.catalog-btn:focus-visible,
.shop_button:focus-visible,
.view-all-btn:focus-visible,
.empty-btn:focus-visible,
.return-order:focus-visible,
.panel-item-button:focus-visible,
.btn-pay-order:focus-visible,
.btn-copy-order:focus-visible,
.btn--ghost-small:focus-visible,
.cart-summary__checkout-btn:focus-visible,
.apply-filters:focus-visible,
.clear-filters:focus-visible,
.select-button:focus-visible,
.feedbacks-sort__button:focus-visible,
.feedbacks-load-more:focus-visible,
.mega-menu-mobile-card:focus-visible,
.mega-menu-mobile-back:focus-visible,
.mega-menu-mobile-list-item:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 88, 163, 0.28);
}

.catalog-btn:disabled,
.shop_button:disabled,
.view-all-btn:disabled,
.empty-btn:disabled,
.return-order:disabled,
.panel-item-button:disabled,
.btn-pay-order:disabled,
.btn-copy-order:disabled,
.btn--ghost-small:disabled,
.cart-summary__checkout-btn:disabled,
.apply-filters:disabled,
.clear-filters:disabled,
.select-button:disabled,
.feedbacks-sort__button:disabled,
.feedbacks-load-more:disabled,
.mega-menu-mobile-card:disabled,
.mega-menu-mobile-back:disabled,
.mega-menu-mobile-list-item:disabled,
.catalog-btn[aria-disabled="true"],
.shop_button[aria-disabled="true"],
.view-all-btn[aria-disabled="true"],
.empty-btn[aria-disabled="true"],
.return-order[aria-disabled="true"],
.panel-item-button[aria-disabled="true"],
.btn-pay-order[aria-disabled="true"],
.btn-copy-order[aria-disabled="true"],
.btn--ghost-small[aria-disabled="true"],
.cart-summary__checkout-btn[aria-disabled="true"],
.apply-filters[aria-disabled="true"],
.clear-filters[aria-disabled="true"],
.select-button[aria-disabled="true"],
.feedbacks-sort__button[aria-disabled="true"],
.feedbacks-load-more[aria-disabled="true"],
.mega-menu-mobile-card[aria-disabled="true"],
.mega-menu-mobile-back[aria-disabled="true"],
.mega-menu-mobile-list-item[aria-disabled="true"] {
    transform: none;
    box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {

    .catalog-btn,
    .shop_button,
    .view-all-btn,
    .empty-btn,
    .return-order,
    .panel-item-button,
    .btn-pay-order,
    .btn-copy-order,
    .btn--ghost-small,
    .cart-summary__checkout-btn,
    .apply-filters,
    .clear-filters,
    .select-button,
    .feedbacks-sort__button,
    .feedbacks-load-more,
    .mega-menu-mobile-card,
    .mega-menu-mobile-back,
    .mega-menu-mobile-list-item {
        transition: none;
    }

    .catalog-btn:active,
    .shop_button:active,
    .view-all-btn:active,
    .empty-btn:active,
    .return-order:active,
    .panel-item-button:active,
    .btn-pay-order:active,
    .btn-copy-order:active,
    .btn--ghost-small:active,
    .cart-summary__checkout-btn:active,
    .apply-filters:active,
    .clear-filters:active,
    .select-button:active,
    .feedbacks-sort__button:active,
    .feedbacks-load-more:active,
    .mega-menu-mobile-card:active,
    .mega-menu-mobile-back:active,
    .mega-menu-mobile-list-item:active {
        transform: none;
    }

    .mega-menu-overlay .mega-menu-skeleton-line {
        animation: none;
        background-size: 100% 100%;
    }
}

.start-slider {
    position: relative;
    padding-bottom: 56px;
    margin-bottom: 24px;
}

.start-slider-inner {
    position: relative;
}

.start-slider__swiper {
    overflow: hidden;
    border-radius: 8px;
}

.start-slider__media,
.start-slider__media a,
.start-slider__media picture {
    display: block;
    width: 100%;
}

.start-slider__media {
    position: static;
    aspect-ratio: auto;
    height: auto;
}

.start-slider__media img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    object-fit: initial;
    border-radius: 8px;
}

.horizontal-banner,
.advertising-banners {
    margin: 70px 0 48px;
}

.horizontal-banner-slider,
.advertising-banners-slider {
    position: relative;
    width: 100%;
}

.horizontal-banner-inner,
.advertising-banners-inner {
    overflow: hidden;
}

.horizontal-banner-item,
.horizontal-banner-item a,
.horizontal-banner-item picture {
    display: block;
    width: 100%;
}

.horizontal-banner-item img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.advertising-banner-item,
.advertising-banner-item a,
.advertising-banner-item picture {
    display: block;
    width: 100%;
}

.advertising-banner-item img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
}

.horizontal-banner__nav,
.advertising-banners__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    background: #FFFFFF;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 4px 4px 16px 0 rgba(0, 10, 18, 0.24), -1px -1px 16px 0 rgba(0, 10, 18, 0.04);
    transition: all 0.3s ease;
    padding: 0;
}

.horizontal-banner__nav:hover:not(.swiper-button-disabled),
.advertising-banners__nav:hover:not(.swiper-button-disabled) {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-50%) scale(1.05);
}

.horizontal-banner__nav-prev,
.advertising-banners__nav-prev {
    left: -16px;
}

.horizontal-banner__nav-next,
.advertising-banners__nav-next {
    right: -16px;
}

.horizontal-banner__nav.swiper-button-disabled,
.advertising-banners__nav.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.horizontal-banner__pagination,
.advertising-banners__pagination {
    position: absolute;
    bottom: -28px !important;
    left: 50% !important;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 10;
    width: fit-content !important;
}

.horizontal-banner__pagination .swiper-pagination-bullet,
.advertising-banners__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #E0E0E0;
    border-radius: 4px;
    opacity: 1;
    margin: 0 !important;
    transition: all 0.3s ease;
    cursor: pointer;
}

.horizontal-banner__pagination .swiper-pagination-bullet-active,
.advertising-banners__pagination .swiper-pagination-bullet-active {
    width: 32px;
    height: 8px;
    background: #181818;
    border-radius: 4px;
}

@media (min-width: 993px) {
    .start-slider-inner .start-slider__nav-prev,
    .start-slider-inner .start-slider__nav-next,
    .horizontal-banner-slider .horizontal-banner__nav,
    .advertising-banners-slider .advertising-banners__nav,
    .popular-categories-desktop .popular-categories__nav,
    .products-slider .products-slider__nav,
    .blog-slider--desktop .blog-slider__nav {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.2s ease, visibility 0.2s ease, box-shadow 0.3s ease, transform 0.3s ease;
    }

    .start-slider-inner:hover .start-slider__nav-prev:not(.swiper-button-disabled),
    .start-slider-inner:hover .start-slider__nav-next:not(.swiper-button-disabled),
    .horizontal-banner-slider:hover .horizontal-banner__nav:not(.swiper-button-disabled),
    .advertising-banners-slider:hover .advertising-banners__nav:not(.swiper-button-disabled),
    .popular-categories-desktop:hover .popular-categories__nav:not(.swiper-button-disabled),
    .products-slider:hover .products-slider__nav:not(.swiper-button-disabled),
    .blog-slider--desktop:hover .blog-slider__nav:not(.swiper-button-disabled) {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .start-slider-inner:hover .start-slider__nav-prev.swiper-button-disabled,
    .start-slider-inner:hover .start-slider__nav-next.swiper-button-disabled,
    .horizontal-banner-slider:hover .horizontal-banner__nav.swiper-button-disabled,
    .advertising-banners-slider:hover .advertising-banners__nav.swiper-button-disabled,
    .popular-categories-desktop:hover .popular-categories__nav.swiper-button-disabled,
    .products-slider:hover .products-slider__nav.swiper-button-disabled,
    .blog-slider--desktop:hover .blog-slider__nav.swiper-button-disabled {
        opacity: 0.3;
        visibility: visible;
        pointer-events: none;
    }
}
