/*
** Основные переменные шаблона
*/
:root {
  --color-primary: #047fff; /* 1_основной */
  --color-primary-hover: #50a6ff;
  --color-secondary: #dfff5b; /* 2_основной */
  --color-secondary-hover: #efffae;
  --color-white: #fff;
  --color-black: #0d1824; /* черный */
  --color-darkgray: #90acc3; /* темный серый */
  --color-background: #e9f1f9; /* фоновой f8f8ff */
  --color-gray: #d2e1ef;
  --color-white-opacity: rgb(255 255 255 / 80%);
  --color-white-hover: #F6F9FD;
  /* --color-lightgray: #e5eeed;
  --color-primary-light: #85B3A7; */
  --color-text-primary: var(--color-black);
  --color-border: var(--color-gray);
  --color-border-secondary: var(--color-text-primary);
  --color-disabled: var(--color-gray);
  --color-error: #FD6669;
  --border-radius: 4px;
  --drop-shadow: 0 4px 20px rgb(28 65 103 / 8%);
  --scrollbar-width: 16px;
  --scrollbar-width-thin: 4px;
  --scrollbar-color: #d4e4e4;
  --duration: 300ms;
  --transition: all var(--duration) ease;
  --font-primary: "Onest", "Arial", sans-serif;
  /* Глобальные настройки переменных */
  --button-small: 32px;
  --button-medium: 44px;
  --button-large: 48px;
  --text-size-small: 12px;
  --text-size-regular: 14px;
  --text-size-medium: 16px;
  --text-size-large: 18px;
  --line-height-small: 16px;
  --line-height-regular: 18px;
  --line-height-medium: 22px;
  --line-height-large: 26px;
  --icon-size-small: 14px;
  --icon-size-regular: 16px;
  --icon-size-medium: 20px;
  --icon-size-large: 24px;
  --heading-01: 36px;
  --heading-02: 30px;
  --heading-03: 26px;
  --heading-04: 24px;
  --heading-05: 22px;
  --heading-06: 18px;
}
/*
** Основные стили
*/
html {
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
body {
  color: var(--color-text-primary);
  font-size: var(--text-size-medium);
  font-family: var(--font-primary);
  background-color: var(--color-white);
}
/*
** Заголовки основных блоков
*/
.headline {margin-bottom: 16px;}
.headline__title {display: flex;gap: 12px;align-items: center;font-size: var(--heading-02);}
.headline__nav {margin-bottom: 12px;}
@media all and (min-width: 768px) {
  .headline {margin-bottom: 40px;}
  .headline__title {font-size: var(--heading-01);}
  .headline__nav {margin-bottom: 16px;}
}
/*
** Шапка
*/
.header__top {display: none;}
.header__middle {padding-block: 10px;}
.header__bottom {padding-block: 10px;}
.header__inner {position: relative;display: flex;gap: 16px;gap: 8px 40px;align-items: center;}
@media all and (min-width: 1024px) {
  .header__top {display: flex;color: var(--color-white);background-color: var(--color-primary);padding-block: 8px;}
}
@media all and (min-width: 1440px) {
  .header__inner {gap: 8px 56px;}
}
/* Шапка. Логотип */
.header-logo__link {display: flex;width: 110px;height: 35px;margin-top: -4px;}
@media all and (min-width: 1024px) {
  .header-logo__link {width: 222px;height: 70px;}
}
/* Шапка. Регион */
.header-region {flex-shrink: 0;}
.header-region__link {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--color-white);
  font-weight: bold;
  font-size: var(--text-size-regular);
}
.header-region__link svg { flex-shrink: 0; }
.header-region__link:active {color: var(--color-white);text-decoration: underline;text-decoration-style: dotted;text-underline-offset: 5px;}
@media (hover: hover) and (pointer: fine) {
  .header-region__link:hover {color: var(--color-white);text-decoration: underline;text-decoration-style: dotted;text-underline-offset: 5px;}
}
/* Шапка. Навигация */
.mainnav {position: relative;width: 100%;}
.is-loading .mainnav {overflow: hidden;}
.header-mainnav {display: none;flex-grow: 1;align-items: center;}
.mainnav__list { 
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
}
.mainnav__link {
  padding: 4px 8px;
  color: var(--color-white-opacity);
  font-size: var(--text-size-regular);
  line-height: var(--line-height-medium);
  white-space: nowrap;
}
.mainnav__link.is-active {color: var(--color-white);font-weight: bold;}
.mainnav__link:active {color: var(--color-white);}
.mainnav__item--more {order: 2;}
.mainnav__item--more.is-opened svg {transform: rotate(180deg);}
.mainnav__dropdown {max-width: 220px;margin: 12px 0 0;}
.mainnav__dropdown .mainnav__link {color: var(--color-text-primary);}
.mainnav__dropdown .mainnav__link:active {color: var(--color-primary);}
@media (hover: hover) and (pointer: fine) {
  .mainnav__link:hover {color: var(--color-white);}
  .mainnav__dropdown .mainnav__link:hover {color: var(--color-primary);}
}
/* Шапка. Контакты */
.header-contacts {flex-shrink: 0;}
.header-contacts__link-button {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--color-white);
  font-weight: bold;
  font-size: var(--text-size-regular);
  fill: currentcolor;
}
.header-contacts__link-button:active {color: var(--color-white);text-decoration: underline;text-decoration-style: dotted;text-underline-offset: 5px;}
.header-contacts__dropdown {top: 0;}
.header-contacts__phone {font-weight: bold;text-align: center;}
.header-contacts__callback {color: var(--color-primary);font-weight: normal;}
.header-contacts__callback:active {color: var(--color-text-primary);}
.header-contacts__label {display: block;margin-bottom: 4px;color: var(--color-darkgray);font-size: var(--text-size-small);}
.header-social.social__links {margin-top: 8px;}
@media (hover: hover) and (pointer: fine) {
  .header-contacts__callback:hover {color: var(--color-text-primary);}
  .header-contacts__link-button:hover {color: var(--color-white);text-decoration: underline;text-decoration-style: dotted;text-underline-offset: 5px;}
}
/* Шапка. Добавление в корзину/избранное/сравнение/лк */
.addto {display: none;gap: 32px;}
.addto__link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  font-size: var(--text-size-regular);
}
.addto__link.is-opened {color: var(--color-primary);}
.is-empty .addto__count {display: none;}
.cart.is-empty .addto__link data {display: none;}
.cart .addto__label {display: none;}
.cart.is-empty .addto__label {display: block;}
.addto__count {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-weight: 500;
  font-size: var(--text-size-small);
  background-color: var(--color-secondary);
  border-radius: 100%;
}
.addto__icon {display: flex;gap: 8px;align-items: center;}
.addto__cart-sum {display: none;}
.addto__label {display: none;}
.addto__dropdown {gap: 0;max-width: 344px;}
@media all and (min-width: 1024px) {
  .addto {display: flex;align-items: center;}
}
@media all and (min-width: 1200px) {
  .addto__label {display: block;}
  .addto__cart-sum {display: block;font-weight: bold;white-space: nowrap;}
}
/* Шапка. Поиск */
.search__form {position: relative;display: none;align-items: center;width: 100%;text-align: left;}
.search__form button {position: absolute; height: 100%; padding: 0;}
.search__form button svg {flex-shrink: 0;}
.search__input {
  height: var(--button-large);
  color: var(--color-text-primary);
  font-size: var(--text-size-regular);
  background-color: var(--color-background);
  border-color: var(--color-background);
  border-radius: 24px;
  padding-inline: 186px 104px;
}
.search__submit {right: 30px;pointer-events: none;padding-inline: 16px;}
.search--success .search__submit {pointer-events: all;}
.search__reset {right: 64px;width: 14px;opacity: 0;pointer-events: none;}
.search--filled .search__reset {opacity: 1;pointer-events: all;}
.search__loader {
  position: absolute;
  right: 80px;
  display: flex;
  align-items: center;
  width: 24px;
  height: 100%;
  opacity: 0;
}
.search__loader span {
  position: absolute;
  display: block;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 2px solid;
  border-color: var(--color-darkgray) transparent transparent transparent;
  border-radius: 100%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}
.search__loader span:nth-child(1) {animation-delay: -0.45s;}
.search__loader span:nth-child(2) {animation-delay: -0.3s;}
.search__loader span:nth-child(3) {animation-delay: -0.15s;}
.search--loading .search__loader {opacity: 1;}
@keyframes lds-ring {
  0% {transform: rotate(0deg);}
  100% {transform: rotate(360deg);}
}
@media all and (min-width: 1024px) {
  .header-search {position: relative;flex-grow: 1;}
  .search__icon {display: none;}
  .header-catalog {position: absolute;top: 5px;left: 5px;z-index: 2;}
  .header-mainnav {display: flex;width: calc(100% - 160px - 140px - 80px);}
}
@media all and (min-width: 1440px) {
  .header-mainnav {display: flex;width: calc(100% - 160px - 140px - 112px);}
}
/* Шапка. Результаты поиска */
.search-results {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 6;
  width: 100%;
  margin-top: 12px;
  padding: 16px;
  text-align: left;
  background-color: var(--color-white);
  box-shadow: var(--drop-shadow);
}
.search-results__inner {display: flex;flex-flow: column wrap;gap: 24px;}
.search-results__items {
  max-height: 394px;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  line-height: 1.25;
  list-style: none;
}
.search-results__items::-webkit-scrollbar {width: var(--scrollbar-width-thin);}
.search-results__item {display: flex; gap: 12px;align-items: center;margin-bottom: 16px;}
.search-results__item:last-child {margin-bottom: 6px;}
.search-results__items--goods { width: 100%; }
.search-results__price {display: block;margin-top: 4px;font-size: var(--text-size-medium) !important; }
.search-results__name {display: flex;gap: 16px;align-items: center;}
.search-results__image {flex-shrink: 0; width: 60px;height: 60px;}
.search-results__button {width: 100%;border-radius: 8px;}
.search-results__items--category {display: flex;flex-wrap: wrap;gap: 8px;width: 100%;}
.search-results__items--category .search-results__image {display: none;}
.search-results__items--category .search-results__item {
  margin: 0;
  padding: 8px 20px;
  font-size: var(--text-size-regular);
  background-color: var(--color-background);
  border-radius: 32px;
}
@media all and (min-width: 640px) {
  .search__results {margin-top: 0;}
}
@media all and (min-width: 1024px) {
  .search__results {margin-top: 8px;}
  .search__form {display: flex;}
}
/* Шапка. Каталог */
.header-catalog__button {width: 32px;height: var(--button-small);padding: 0;}
.header-catalog__button span {display: none;}
.header-catalog__button-open {display: block;}
.header-catalog__button-close {display: none;}
.header-catalog.is-opened .header-catalog__button-open {display: none;}
.header-catalog.is-opened .header-catalog__button-close {display: block;}
.catalog__sub {margin: 0;padding: 0;list-style: none;}
.catalog__link {display: flex;gap: 8px;align-items: center;padding: 6px;}
@media all and (min-width: 1024px) {
  .header-catalog__button {display: inline-flex;width: 160px;height: 38px;}
  .header-catalog__button span {display: block;}
  .header-catalog__content {left: 0;max-width: 100%;margin-top: 12px;padding: 0;}
  .header-catalog__content ul {flex-direction: column;margin: 0;padding: 0;list-style: none;}
  .catalog__link[data-level="0"] {justify-content: space-between;width: 240px;padding: 12px 16px;border-radius: 24px;transition: background-color var(--duration);}
  .catalog__link[data-level="0"]:active {color: var(--color-primary);background-color: var(--color-background);}
  .catalog__link[data-level="1"] {padding-block: 10px;font-weight: bold;}
  .catalog__link[data-level="2"] {color: var(--color-darkgray);}
  .catalog__link[data-level="2"]:active {color: var(--color-primary);}
  .catalog__link:not([data-level="0"]) svg {display: none;}
  .catalog__sub {display: none;}
  .catalog__sub::-webkit-scrollbar {width: var(--scrollbar-width-thin);}
  .catalog__sub[data-level="0"] {
    display: block;
    height: 420px;
    padding: 6px 13px;
    overflow: hidden auto;
    border: 1px solid var(--color-border);
    border-radius: 24px;
  }
  .catalog__sub[data-level="1"] {
    position: absolute;
    top: 0;
    left: 260px;
    grid-auto-rows: max-content;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    align-items: flex-start;
    width: calc(100% - 260px);
    height: 420px;
    padding: 8px 20px;
    overflow: hidden auto;
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 0 24px 0 0;
  }
  .catalog__sub[data-level="2"] {display: block;}
  @media (hover: hover) and (pointer: fine) {
    .catalog__link[data-level="0"]:hover {color: var(--color-primary);background-color: var(--color-background);}
    .catalog__link[data-level="2"]:hover {color: var(--color-primary);}
    .catalog__item.is-parent:hover > .catalog__sub[data-level="1"] {display: grid;}
  }
}
/* Шапка. Мобильная версия */
@media all and (max-width: 1023px) {
  .header__inner {gap: 16px;}
  .header-catalog {order: 1;}
  .header-logo {order: 2;margin-right: auto;}
  .header-search {display: contents;}
  .search__icon {order: 5;color: var(--color-text-primary);}
  .header-region-mobile {order: 3;}
  .header-contact-mobile {order: 4;}
  .header-region-mobile__link {display: flex;color: var(--color-text-primary);}
  .header-contact-mobile__link {display: flex;color: var(--color-text-primary);}
  .header__bottom {display: none;}
}
@media all and (min-width: 480px) {
  .header-catalog {margin-right: 12px;}
}
@media all and (min-width: 1024px) {
  .header-region-mobile {display: none;}
  .header-contact-mobile {display: none;}
}
/* Шапка. Мобильная версия. Каталог */
.mainnav-catalog__sub {
  display: none;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mainnav-catalog__sub[data-level="0"] {display: flex;width: 100%;}
.mainnav-catalog__link {display: flex;gap: 8px;align-items: center;padding: 8px 30px;white-space: nowrap;}
.mainnav-catalog__link span {font-weight: normal;text-decoration: underline;text-decoration-style: solid;text-underline-offset: 6px;text-decoration-color: var(--color-darkgray);}
.mainnav-catalog__item--more {order: 2;}
.mainnav-catalog__dropdown .mainnav-catalog__link span {font-weight: bold;text-decoration: none;}
.mainnav-catalog__dropdown {flex-flow: row wrap;max-width: 100%;}
/*
** Слайдшоу
*/
#slideshow {margin-top: 16px;}
.is-loading .slideshow__items {display: grid;grid-template-columns: 100%;gap: 16px;height: 340px;overflow: hidden;}
.is-loading .slideshow__item {height: 340px;}
.slideshow__item {
  position: relative;
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 20px;
}
.slideshow__container {height: 340px;padding-top: 32px;}
.slideshow__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
  padding-inline: 12px;
}
.slideshow__title {position: relative;z-index: 1;font-weight: bold;font-size: 30px;line-height: 38px;}
.slideshow__image {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
}
.slideshow__image img {object-fit: cover;}
.slideshow__sale {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  color: var(--color-white);
  font-weight: bold;
  font-size: var(--text-size-regular);
  text-transform: uppercase;
  background-color: #FD6669;
  border-radius: 32px;
  outline: 1px solid var(--color-white);
  outline-offset: -5px;
  transform: rotate(-3deg);
  padding-inline: 20px;
}
.slideshow__item:nth-child(1) .slideshow__sale {color: var(--color-text-primary);background-color: #DFFF5B;}
.slideshow__item:nth-child(2) .slideshow__sale {color: var(--color-white);background-color: var(--color-primary);transform: rotate(3deg);}
.slideshow__item:nth-child(3) .slideshow__sale {color: var(--color-white);background-color: #FE5500;}
.slideshow__item:nth-child(4) .slideshow__sale {color: var(--color-white);background-color: #F8464D;transform: rotate(3deg);}
.slideshow__item:nth-child(2n) {background: radial-gradient(86.29% 86.29% at 21.45% 3.43%, #767676 0%, #AFAFAF 100%);}
.slideshow__item:nth-child(3n) {background: #4429CC;}
.slideshow__item:nth-child(4n) {background: radial-gradient(50% 50% at 50% 50%, #AE918F 0%, #695051 100%);}
#slideshow :is(.swiper-button-next, .swiper-button-prev) svg {display: none;}
#slideshow :is(.swiper-button-next, .swiper-button-prev) {
  --swiper-navigation-size: 40px;
  --swiper-navigation-sides-offset: 12px;
  background-color: transparent;
  border: 1px solid var(--color-white);
  border-radius: 100%;
}
#slideshow :is(.swiper-button-next, .swiper-button-prev):hover {background-color: var(--color-white-opacity);}
#slideshow :is(.swiper-button-next, .swiper-button-prev)::after {width: 20px;height: 20px;}
#slideshow .swiper-button-prev::after {background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.655714 11.6293L7.39429 18.5715L8.40429 17.531L1.81 10.736H20V9.26423H1.80714L8.40429 2.4692L7.39429 1.42868L0.655714 8.36941C0.232857 8.80505 0 9.38492 0 10.0001C0 10.6153 0.232857 11.1952 0.655714 11.6279V11.6293Z' fill='white'/%3E%3C/svg%3E%0A");content: '';}
#slideshow .swiper-button-next::after {background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.3443 11.6293L12.6057 18.5715L11.5957 17.531L18.19 10.736H0V9.26423H18.1929L11.5957 2.4692L12.6057 1.42868L19.3443 8.36941C19.7671 8.80505 20 9.38492 20 10.0001C20 10.6153 19.7671 11.1952 19.3443 11.6279V11.6293Z' fill='white'/%3E%3C/svg%3E%0A");content: '';}
@media all and (min-width: 480px) {
  #slideshow {margin-top: 24px;}
  .is-loading .slideshow__items {grid-template-columns: repeat(2, 1fr);}
}
@media all and (min-width: 480px) and (max-width: 639px) {
  .slideshow__title {font-size: 24px;line-height: 32px;}
  .is-loading .slideshow__items {height: 264px;}
  .is-loading .slideshow__item {height: 264px;}
  .slideshow__container {height: 264px;}
}
@media all and (min-width: 640px) and (max-width: 1024px) {
  .is-loading .slideshow__items {height: 360px;}
  .is-loading .slideshow__item {height: 360px;}
  .slideshow__container {height: 360px;}
}
@media all and (min-width: 768px) {
  #slideshow :is(.swiper-button-next, .swiper-button-prev) {--swiper-navigation-size: 50px;}
  .is-loading .slideshow__items {grid-template-columns: repeat(3, 1fr);}
}
@media all and (min-width: 1024px) {
  .is-loading .slideshow__items {height: 496px;}
  .is-loading .slideshow__item {height: 496px;}
  .slideshow__container {height: 496px;}
  .slideshow__subtitle {font-size: 20px;line-height: var(--line-height-large);}
  .slideshow__title {font-size: 36px;line-height: 46px;}
  .slideshow__sale {font-size: var(--text-size-medium);}
}
@media all and (min-width: 1440px) {
  .is-loading .slideshow__items {grid-template-columns: repeat(4, 1fr);}
}
/*
** Каталог
*/
.categories__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.categories__item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  text-align: center;
  background-color: var(--color-background);
  border-radius: 20px;
}
.categories__images {width: 100%;height: 108px;margin-bottom: 12px;overflow: hidden;border-radius: 20px;}
.categories__images img {object-fit: cover;}
.categories__name {width: 100%;padding: 12px 20px 20px;font-weight: 600;}
.categories__count {color: var(--color-darkgray);font-size: var(--text-size-regular);}
.categories__grid--small {display: flex;flex-wrap: wrap;gap: 12px;}
.categories__grid--small .categories__item {width: auto;border-radius: var(--border-radius);}
.categories__grid--small .categories__name {
  display: flex;
  align-items: center;
  padding: 12px;
  font-weight: normal;
  font-size: var(--text-size-regular);
  line-height: var(--line-height-regular);
}
@media all and (min-width: 480px) {
  .categories__name {font-size: 20px;line-height: 26px;}
}
@media all and (min-width: 640px) and (max-width: 767px) {
  .categories__grid {grid-template-columns: repeat(3, 1fr);}
}
@media all and (min-width: 768px) and (max-width: 1199px) {
  .categories__grid {grid-template-columns: repeat(4, 1fr);}
}
@media all and (min-width: 1200px) and (max-width: 1439px) {
  .categories__grid {grid-template-columns: repeat(5, 1fr);}
}
@media all and (min-width: 1440px) {
  .categories__grid {grid-template-columns: repeat(6, 1fr);}
}
/*
** Каталог на главной
*/
#categories .swiper {padding-bottom: 32px;}
#categories .swiper-pagination {--swiper-pagination-bottom: 0;}
.is-loading #categories {position: relative;height: 220px;overflow: hidden;}
.is-loading #categories .categories__grid {display: grid;grid-template-columns: 100%;gap: 16px;}
#categories .categories__inner {position: relative;}
#categories .categories__item {
  gap: 16px 4px;
  justify-content: flex-start;
  height: auto;
  min-height: 204px;
  padding: 16px;
  text-align: left;
  border-radius: 32px;
}
#categories .categories__name {padding: 0;}
#categories .categories__item.swiper-slide {display: flex;align-items: flex-start;}
#categories .categories__images {display: none;}
#categories .categories__count {position: absolute;top: 18px;right: 24px;}
#categories .categories__sub {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  width: 100%;
  max-height: 152px;
  margin: 0;
  list-style: none;
}
#categories .categories__sub .categories__sub {display: none;}
#categories .categories__sub .categories__images {display: none;}
#categories .categories__sub .categories__item:not([data-level="1"]) {display: none;}
#categories .categories__sub .categories__count {display: none;}
#categories .categories__sub .categories__name {padding: 8px 20px;font-size: var(--text-size-medium);line-height: 24px;background-color: var(--color-white);border-radius: 20px;}
#categories .categories__sub .categories__item {width: auto;height: 40px;min-height: auto;padding: 0;}
@media all and (min-width: 480px) {
  #categories .categories__item {padding: 24px 20px;}
  #categories .categories__sub {padding: 0 0 0 122px;}
  #categories .categories__count {top: 28px;}
  #categories .categories__images {
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-flex;
    width: 140px;
    height: 140px;
    margin-bottom: 0;
    border-radius: 0;
  }
}
@media all and (min-width: 768px) and (max-width: 1199px) {
  .is-loading #categories .categories__grid {grid-template-columns: repeat(2, 1fr);}
}
@media all and (min-width: 1024px) and (max-width: 1439px) {
  #categories .categories__sub {padding: 0 0 0 140px;}
}
@media all and (min-width: 1200px) {
  .is-loading #categories .categories__grid {grid-template-columns: repeat(3, 1fr);}
}
@media all and (min-width: 1440px) {
  #categories .categories__item {gap: 20px 4px;}
}
/*
** Товарные Иконки: Новинка, Хит, Скидка
*/
.sticker {
	position: relative;
  padding: 4px 8px;
	color: var(--color-white);
	font-weight: bold;
	font-size: var(--text-size-small);
  line-height: 20px;
  text-align: center;
  border-radius: 4px;
}
.sticker::before {position: relative;z-index: 2;}
.sticker--sales {
  position: absolute;
  bottom: 5px;
  left: 0;
  display: flex;
  gap: 4px;
  align-items: center;
  font-size: var(--text-size-regular);
  background: #FD6669;
  border-radius: 32px;
  padding-inline: 12px;
}
.sticker--sale {background: #FD6669;}
.sticker--sale::before {content: 'sale';}
.sticker--best {color: #A978FE;background: #F3EBFF;}
.sticker--best::before {content: 'хит';}
.sticker--new {color: #3C5;background: #E0FFE7;}
.sticker--new::before {content: 'новинка';}
/* 
** Товары табов на главной
*/
[data-tabs-content] {display: none;}
[data-tabs-content].is-active {display: block;}
.products__header {display: flex;flex-direction: column;gap: 10px;align-items: flex-start;margin-bottom: 32px;}
.products__tabs {display: flex;flex-wrap: wrap;gap: 8px;align-items: center;}
.products__tabs-item {
  position: relative;
  display: flex;
  padding: 12px 20px;
  color: var(--color-darkgray);
  background-color: var(--color-background);
  border-radius: 8px;
}
.products__tabs-item.is-active {color: var(--color-primary);}
.products__tabs-item.is-active::after {
  position: absolute;
  bottom: 0;
  left: 8px;
  width: calc(100% - 16px);
  height: 2px;
  background-color: var(--color-primary);
  border-radius: 2px;
  content: '';
}
.products__buttons {margin-top: 40px;}
.products__button {width: 100%;height: var(--button-large);font-size: var(--text-size-regular);border-radius: 8px;box-shadow: var(--drop-shadow);}
@media all and (min-width: 480px) {
  .products__header {gap: 16px;}
}
@media all and (min-width: 768px) {
  .products__title {font-size: var(--heading-01);}
}
@media all and (min-width: 1024px) {
  .products__header {flex-direction: row;align-items: center;justify-content: space-between;}
}
/* 
** Товары
*/
.products__grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px;}
.product__item {position: relative;padding: 8px;border: 1px solid var(--color-border);border-radius: 12px;}
.product__images {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  aspect-ratio: 1/1;
}
.product__image {
  position: relative;
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 1/1;
}
.product__image-hover + .product__image-img {position: absolute;inset: 0;opacity: 0;}
.product__image-hover {position: relative;z-index: 1;flex-grow: 1;height: 100%;}
.product__image-hover::before {
  position: absolute;
  bottom: 0;
  z-index: 2;
  width: 100%;
  height: 1px;
  background-color: var(--color-border);
  content: '';
}
.product__image-img {background-color: var(--color-white);}
.product__image-hover:first-of-type + .product__image-img {opacity: 1;}
.product__image-hover:hover::before {background-color: var(--color-black);}
.product__image-hover:hover + .product__image-img {opacity: 1;}
.product__addto {display: flex;gap: 16px;align-items: center;margin-top: 4px;}
.product__add {width: 44px;height: 44px;padding: 0;}
.product__add span {display: none;white-space: nowrap;}
.product__add.is-added {color: var(--color-white);}
.product__links {display: flex;gap: 12px;}
.product__link span {display: none;}
.product__name {
	display: flex;
  flex-shrink: 0;
	align-items: flex-start;
	width: 100%;
	height: 60px;
	overflow: hidden;
  font-size: var(--text-size-regular);
	line-height: 20px;
}
.product__name span {
	display: -webkit-box;
	text-overflow: ellipsis;
  word-break: break-word;
	overflow-wrap: anywhere;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-user-select: none;
  user-select: none;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.product__sticker {position: absolute;top: 8px;left: 4px;z-index: 1;}
.product__form {display: flex;flex-direction: column;height: 100%;}
.product__shop {display: flex;flex-direction: column;gap: 4px;margin-top: auto;padding-top: 20px;}
.product__price {display: flex;flex-wrap: wrap;gap: 4px 10px;align-items: flex-start;}
.price__now {font-weight: bold;font-size: var(--text-size-medium);white-space: nowrap;}
.price__old {
  position: relative;
	order: 2;
	overflow: hidden;
  color: var(--color-darkgray);
  font-weight: normal;
	font-size: var(--text-size-small);
	white-space: nowrap;
  text-decoration: none;
	text-overflow: ellipsis;
}
.price__old::after {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 1px;
  background-color: var(--color-error);
  transform: rotate(-10deg);
  content: '';
}
.product__rating {
  position: absolute;
  top: 6px;
  right: 2px;
  display: flex;
  gap: 2px;
  align-items: center;
  padding: 4px 8px;
  font-weight: bold;
  font-size: var(--text-size-small);
  background-color: var(--color-white);
  border-radius: 12px;
  fill: #FFC107;
}
.product__item[data-rest-value="0"] {color: var(--color-darkgray);}
@media all and (min-width: 480px) {
  .product__add {width: auto;padding-inline: 32px;}
  .product__name {font-size: var(--text-size-medium);line-height: var(--line-height-medium);}
  .product__shop {gap: 12px;}
  .product__item {padding: 12px;}
  .price__now {font-size: 18px;}
  .price__old {font-size: var(--text-size-regular);}
}
@media all and (min-width: 768px) {
  .product__addto {justify-content: space-between;}
  .product__add {padding-inline: 24px;}
  .product__add span {display: block;}
  .product__add svg {display: none;}
  .product__links {gap: 20px;}
  .price__now {font-size: 22px;}
}
@media all and (min-width: 1200px) {
  .product__item {padding: 16px;}
}
@media all and (min-width: 640px) and (max-width: 1023px) {
  .products__grid {grid-template-columns: repeat(3, 1fr);}
}
@media all and (min-width: 1024px) and (max-width: 1439px) {
  .products__grid {grid-template-columns: repeat(4, 1fr);}
  .products__content.has-filter .products__grid {grid-template-columns: repeat(3, 1fr);}
}
@media all and (min-width: 1440px) {
  .products__grid {grid-template-columns: repeat(5, 1fr);}
  .products__content.has-filter .products__grid {grid-template-columns: repeat(4, 1fr);}
}
/*
** Товары таблицей на главной
*/
.products__grid--visible .product__item {display: none;}
.products__grid--visible .product__item:nth-child(-n+4) {display: block;}
.products__grid--visible.is-active .product__item {display: block;}
@media all and (min-width: 640px) and (max-width: 1023px) {
	.products__grid--visible .product__item:nth-child(-n+6) {display: block;}
}
@media all and (min-width: 1024px) and (max-width: 1439px) {
	.products__grid--visible .product__item:nth-child(-n+8) {display: block;}
}
@media all and (min-width: 1440px) {
	.products__grid--visible .product__item:nth-child(-n+10) {display: block;}
}
/* 
** Бренды
*/
.is-loading #brands {position: relative;height: 114px;overflow: hidden;}
.is-loading .brands__items {display: flex;flex-wrap: nowrap;gap: 12px;}
.is-loading .brands__item.swiper-slide {width: 200px;}
#brands .swiper {padding: 20px 32px;}
.brands__inner {background-color: var(--color-background);border-radius: 32px;}
.brands__item {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 74px;
  background-color: var(--color-white);
  border-radius: 12px;
}
.brands__item.swiper-slide {display: flex;height: 70px;}
.brands__item img {width: auto;height: auto;}
.brands__item:active {color: var(--color-primary);transform: translateY(-8px) !important;}
@media (hover: hover) and (pointer: fine) {
	.brands__item:hover {color: var(--color-primary);transform: translateY(-8px) !important;}
}
/* 
** Баннеры
*/
.is-loading #banners {position: relative;height: 290px;overflow: hidden;}
#banners .swiper {padding-block: 8px 32px;}
#banners .swiper-pagination {--swiper-pagination-bottom: 0;}
.is-loading .banners__items {display: grid;grid-template-columns: repeat(4, 1fr);gap: 16px;height: 258px;overflow: hidden;}
.is-loading .banners__item.swiper-slide {display: flex;flex-direction: column;}
.banners__item {transition: transform var(--duration);}
.banners__images {display: flex;height: 160px;overflow: hidden;border-radius: 20px;}
.banners__images::before {position: absolute;content: '';inset: 0;}
.banners__images img {object-fit: cover;}
.banners__content {display: flex;gap: 8px;margin-top: 12px;}
.banners__block-title {display: flex;flex-direction: column;}
.banners__title {font-weight: 600;font-size: 20px;line-height: var(--line-height-large);}
.banners__subtitle {font-size: var(--text-size-medium);line-height: var(--line-height-medium);}
.banners__sale {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 12px;
  height: 40px;
  color: var(--color-white);
  font-weight: bold;
  background-color: #FD6669;
  border-radius: 32px;
  outline: 1px solid var(--color-white);
  outline-offset: -5px;
  transform: rotate(-15deg);
}
.banners__item:nth-child(n) .banners__sale {background-color: #FD6669;}
.banners__item:nth-child(2n) .banners__sale {background-color: #3598FE;}
.banners__item:nth-child(3n) .banners__sale {background-color: #4429CC;}
.banners__item:nth-child(4n) .banners__sale {color: var(--color-text-primary);background-color: #dfff5b;}
.banners__item:active {color: var(--color-primary);transform: translateY(-8px) !important;}
@media (hover: hover) and (pointer: fine) {
	.banners__item:hover {color: var(--color-primary);transform: translateY(-8px) !important;cursor: pointer;}
}
@media all and (min-width: 640px) {
  .banners__images {height: 184px;}
}
@media all and (min-width: 768px) {
  .banners__images {height: 176px;}
  .banners__content {gap: 12px;}
  .banners__sale {padding-inline: 24px;}
}
/* 
** Бэнто
*/
.bento__items {display: grid;grid-template-columns: 152px 1fr;gap: 12px;}
.bento__title {font-weight: 600;font-size: var(--text-size-large);line-height: var(--line-height-medium);}
.bento__item {position: relative;padding: 20px 12px;overflow: hidden;background-color: var(--color-background);border-radius: 20px;}
.bento__item:nth-child(1) {grid-column: 1 / 3;height: 160px;}
.bento__item:nth-child(2) {
  display: flex;
  grid-column: 1 / 3;
  align-items: center;
  height: 108px;
  padding-left: 20px;
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 200px;
}
.bento__item:nth-child(3) {
  height: 152px;
  padding-top: 24px;
  color: var(--color-white);
  text-align: center;
  background-color: #4429CC;
  border-radius: 100%;
}
.bento__item:nth-child(4) {padding-top: 12px;}
.bento__item:nth-child(2) .bento__title {max-width: 50%;}
.bento__item .bento__image {position: absolute;bottom: 0;left: 0;flex-shrink: 0;}
.bento__item:nth-child(1) .bento__image {bottom: -25px;width: 150px;}
.bento__item:nth-child(2) .bento__image {right: -4px;bottom: -8px;left: auto;width: 104px;}
.bento__item:nth-child(3) .bento__image {bottom: -16px;left: 8px;}
.bento__item:nth-child(4) .bento__image {right: -8px;bottom: -16px;left: auto;}
.main__inner {display: flex;flex-direction: column;gap: 20px;align-items: flex-start;}
@media all and (min-width: 480px) {
  .bento__items {grid-template-columns: 1fr 152px 122px;gap: 16px;width: 100%;}
  .bento__item {padding: 20px 16px;}
  .bento__item:nth-child(1) {grid-row: 1 / 3;grid-column: 1 / 1;height: 332px}
  .bento__item:nth-child(3) {height: 152px;padding-top: 30px;}
  .bento__item:nth-child(4) {height: 152px;}
  .bento__item:nth-child(2) {grid-column: 2 / 4;height: 152px;padding-left: 24px;}
  .bento__item:nth-child(2) .bento__image {right: -40px;width: 166px;height: 142px;}
  .bento__item:nth-child(1) .bento__image {bottom: -4px;width: 180px;}
}
@media all and (min-width: 640px) {
  .bento__items {grid-template-columns: 1fr 152px 152px;gap: 16px 20px;}
  .bento__title {font-size: 20px;line-height: var(--line-height-large);}
  .bento__item:nth-child(2) .bento__image {right: 0;padding-left: 30px;}
  .bento__item:nth-child(2) {padding-left: 32px;}
}
@media all and (min-width: 1024px) {
  .main__inner {flex-direction: row;}
  .bento__items {grid-template-columns: 152px 152px 152px;}
}
@media all and (min-width: 1200px) {
  .main__inner {gap: 40px;}
  .bento__items {grid-template-columns: 182px 180px 146px;}
  .bento__item:nth-child(1) {height: 352px;}
  .bento__item:nth-child(3) {height: 180px;}
  .bento__item:nth-child(4) {height: 180px;}
}
@media all and (min-width: 1440px) {
  .bento__items {grid-template-columns: 224px 180px 146px;}
}
/* 
** Новости
*/
.is-loading #news {position: relative;height: 524px;overflow: hidden;}
.is-loading #news .news__items {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;height: 402px;overflow: hidden;}
#news .swiper {padding-bottom: 32px;}
#news .swiper-pagination {--swiper-pagination-bottom: 0;}
.news__items {align-items: stretch;}
.news__items .swiper-slide {height: auto;}
.news__desc {display: none;}
.news__title {font-weight: 600;font-size: var(--text-size-large);line-height: 22px;text-align: center;}
.news__item {height: 100%;background-color: var(--color-background);border-radius: 20px;}
.news__image {height: 140px;overflow: hidden;border-radius: 20px;}
.news__image img {object-fit: cover;object-position: top;}
.news__date {
  position: absolute;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 40px;
  overflow: hidden;
  background-color: var(--color-secondary);
  border-radius: 8px 8px 0 0;
  transform: translate(-50%, -125%);
}
.news__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  height: calc(100% - 140px);
  padding: 32px 12px;
}
.news__button {margin-top: auto;}
@media all and (min-width: 480px) {
  .news__image {height: 200px;}
  .news__content {gap: 16px;height: calc(100% - 200px);padding: 32px 16px;}
}
@media all and (min-width: 768px) {
  .news__title {font-size: 20px;line-height: var(--line-height-large);}
}
/* 
** Подписка
*/
.subscribe__inner {display: flex;flex-wrap: wrap;gap: 20px;}
.subscribe-block {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  padding: 20px;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 20px;
}
.subscribe-block__content {position: relative;z-index: 1;}
.subscribe-block__title {font-weight: 600;font-size: var(--text-size-large);line-height: 22px;}
.subscribe-block__subtitle {font-size: var(--text-size-regular);line-height: 18px;}
.subscribe-block__buttons {display: flex;gap: 12px;align-items: center;margin-top: 8px;}
.subscribe-block__button {color: var(--color-primary);background-color: var(--color-white);border-color: var(--color-white);}
.subscribe-block__image {position: absolute;right: 0;bottom: 0;height: 100%;}
.subscribe-block__image img {object-fit: cover;}
.subscribe-form {
  position: relative;
  width: 100%;
  padding: 20px;
  background-color: var(--color-background);
  border-radius: 20px;
}
.subscribe-form__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.subscribe-form__form {position: relative;max-width: 580px;}
.subscribe-form__title {font-weight: 600;font-size: var(--text-size-large);line-height: 22px;}
.subscribe-form__form-input {width: 100%;}
.subscribe-form__form-input-label {display: none;}
.subscribe-form__input {border-radius: 32px;}
.subscribe-form__button {position: absolute;top: 5px;right: 5px;height: 38px;padding-inline: 20px;}
.subscribe-form__button span {display: none;}
.subscribe-form__image {position: absolute;display: flex;inset: 0;}
.subscribe-form__image img {object-fit: cover;object-position: 40%;}
.subscribe-form__fields {margin-top: 8px;color: var(--color-darkgray);font-size: var(--text-size-regular);}
.subscribe-form__fields a {color: inherit;}
.subscribe-form__fields a:active {color: var(--color-primary);}
@media (hover: hover) and (pointer: fine) {
  .subscribe-form__fields a:hover {color: var(--color-primary);}
}
@media all and (min-width: 480px) {
  .subscribe-block {gap: 6px;padding: 30px 20px;}
  .subscribe-block__buttons {margin-top: 20px;}
  .subscribe-block__subtitle {margin-top: 8px;}
  .subscribe-form {padding: 32px 20px;}
  .subscribe-form__fields {margin-top: 16px;}
  .subscribe-form__image img {object-position: 15%;}
}
@media all and (min-width: 640px) {
  .subscribe-form {gap: 16px;padding: 40px 30px;}
}
@media all and (min-width: 768px) {
  .subscribe-block {width: 236px;}
  .subscribe-block__title {font-size: 20px;line-height: var(--line-height-large);}
  .subscribe-form {width: calc(100% - 236px - 20px);}
  .subscribe-form__title {font-size: 20px;line-height: var(--line-height-large);}
  .subscribe-form__image img {object-position: 25%;}
}
@media all and (min-width: 1024px) {
  .subscribe-form__image img {object-position: right;}
}
@media all and (min-width: 1200px) {
  .subscribe-block {width: 284px;}
  .subscribe-form {width: calc(100% - 284px - 20px);}
}
@media all and (min-width: 1440px) {
  .subscribe-block {width: 346px;}
  .subscribe-form {width: calc(100% - 346px - 20px);}
  .subscribe-form__form {max-width: 620px;}
}
/* Регистрация на главной */
.subscribe-registration {width: 100%;}
.registration__inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  justify-content: space-between;
  min-height: 120px;
  padding: 30px 20px;
  overflow: hidden;
  background-color: #3E34BF;
  border-radius: 20px;
}
.registration__buttons {width: 220px;}
.registration__block-title {width: 100%;color: var(--color-white);font-size: var(--text-size-large);line-height: var(--line-height-large);}
.registration__button {width: 100%;border-radius: 8px;}
.registration__sale {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  order: -1;
  height: 40px;
  color: var(--color-white);
  font-weight: bold;
  font-size: var(--text-size-medium);
  background-color: #FD6669;
  border-radius: 32px;
  outline: 1px solid var(--color-white);
  outline-offset: -5px;
  transform: rotate(3deg) translate(0, -8px);
  padding-inline: 24px;
}
.registration__image {display: none;}
.registration__title {display: flex;flex-wrap: wrap;align-items: center;}
@media all and (min-width: 480px) {
  .registration__inner {padding: 20px;}
  .registration__buttons {width: 220px;}
  .registration__block-title {font-size: 20px;}
  .registration__sale {order: 0;transform: rotate(3deg) translate(24px, -4px);}
}
@media all and (min-width: 640px) {
  .registration__inner {padding: 20px 20px 20px 192px;}
  .registration__image {position: absolute;bottom: -8px;left: -70px;display: flex;}
}
@media all and (min-width: 768px) {
  .registration__inner {padding-inline: 154px 16px;}
  .registration__block-title {width: calc(100% - 220px - 24px);}
  .registration__image {bottom: 0;}
}
@media all and (min-width: 1024px) {
  .registration__inner {padding-inline: 294px 32px;}
  .registration__image {left: 16px;}
}
@media all and (min-width: 1440px) {
  .registration__buttons {width: 364px;}
  .registration__block-title {width: calc(100% - 364px - 24px);}
  .registration__inner {padding-inline: 300px 64px;}
}
/* 
** Подвал
*/
.footer-advantages {
  display: grid;
  grid-template-columns: 100%;
  justify-content: space-between;
  padding: 12px;
  background-color: var(--color-white);
  border-radius: 32px;
}
.footer-advantages__item {display: flex;flex-direction: column;gap: 8px;padding: 20px;}
.footer-advantages__item:first-child {border-left: none;}
.footer-advantages__title {margin-top: 4px;font-weight: 600;}
.footer-advantages__subtitle {font-weight: 500;}
.footer-advantages__icon {
  position: relative;
  width: 60px;
  height: 60px;
  overflow: hidden;
  background-color: var(--color-primary);
  border-radius: 12px;
  fill: var(--color-white);
}
.footer-advantages__icon svg {position: absolute;}
.footer-advantages__item:nth-child(1) .footer-advantages__icon svg {right: -6px;bottom: -14px;}
.footer-advantages__item:nth-child(2) .footer-advantages__icon svg {right: -15px;bottom: -20px;}
.footer-advantages__item:nth-child(3) .footer-advantages__icon svg {right: -13px;bottom: -20px;}
.footer-advantages__item:nth-child(4) .footer-advantages__icon svg {right: -12px;bottom: -10px;}
@media all and (min-width: 480px) {
  .footer-advantages__item {border-left: 1px solid var(--color-border);}
}
@media all and (min-width: 480px) and (max-width: 1199px) {
  .footer-advantages {grid-template-columns: repeat(2, 1fr);}
  .footer-advantages__item:nth-child(2) {padding-left: 40px;}
  .footer-advantages__item:nth-child(3) {border-top: 1px solid var(--color-border);border-left: 0;}
  .footer-advantages__item:nth-child(4) {padding-left: 40px;border-top: 1px solid var(--color-border);}
}
@media all and (min-width: 1024px) {
  .footer-advantages__title {font-size: 20px;line-height: var(--line-height-large);}
}
@media all and (min-width: 1200px) {
  .footer-advantages {grid-template-columns: repeat(4, 1fr);padding: 20px 10px;}
}
@media all and (min-width: 1440px) {
  .footer-advantages {padding-inline: 30px;}
}
/* Подвал. Блоки */
.footer__inner {display: flex;flex-direction: column;padding: 32px 16px;background-color: var(--color-background);border-radius: 32px;}
.footer__title {
  display: flex;
  gap: 16px;
  align-items: center;
  font-weight: 600;
  font-size: 20px;
  line-height: var(--line-height-large);
}
.footer__block.is-opened .footer__title svg {transform: rotate(180deg);}
.footer__title + .footer__links {margin-top: 12px;}
.footer__links {
  display: none;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer__block.is-opened .footer__links {display: flex;}
.footer__links li:nth-child(n+8) {display: none;}
.footer__links.is-active li {display: block;}
.footer__link--more {color: var(--color-primary);}
.footer__blocks {display: grid;grid-template-columns: 100%;gap: 20px;margin-top: 40px;}
@media all and (min-width: 640px) {
  .footer__blocks {grid-template-columns: repeat(2, 1fr);gap: 40px 20px;margin-top: 60px;}
  .footer__title {margin-bottom: 20px;color: var(--color-darkgray);font-weight: 500;font-size: var(--text-size-medium);}
  .footer__title svg {display: none;}
  .footer__link {font-weight: 600;font-size: 20px;line-height: var(--line-height-large);}
  .footer__links {display: flex;gap: 8px;}
}
@media all and (min-width: 1024px) {
  .footer__blocks {grid-template-columns: repeat(4, 1fr);}
  .footer__inner {padding: 40px;border-radius: 40px;}
}
@media all and (max-width: 639px) {
  #footer .container {padding-inline: 0;}
}
/* Подвал. Контакты */
.footer__links--contacts {display: flex;gap: 32px;}
.footer__block--contacts {margin-top: 12px;}
#footer .contacts__link {font-weight: 600;font-size: 20px;}
#footer .contacts__link--phone {font-weight: 600;font-size: 24px;}
#footer .contacts__link--worktime {color: var(--color-darkgray);font-size: var(--text-size-medium);}
#footer .contacts__label {display: none;}
/* Подвал. Социальные сети */
.footer__social {
  position: relative;
  max-width: 300px;
  min-height: 144px;
  margin-top: 20px;
  padding: 20px 8px 20px 94px;
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: 12px;
}
.footer__social-image {position: absolute;bottom: 0;left: 0;display: flex;}
.footer__social-title {font-weight: 600;line-height: 20px;}
.footer__social-subtitle {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
  color: var(--color-darkgray);
  font-size: var(--text-size-regular);
}
.footer__social-subtitle::before {
  width: 8px;
  height: 8px;
  background-color: #73DF8C;
  border-radius: 100%;
  content: '';
}
.social__links {display: flex;gap: 8px;margin: 24px 0 0;padding: 0;list-style: none;}
.social__links span {display: none;}
.social__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-border);
  border-radius: 100%;
  transition: transform var(--duration), border-color var(--duration);
}
.social__link:active {border-color: var(--color-primary);transform: translateY(-8px);}
@media (hover: hover) and (pointer: fine) {
  .social__link:hover {border-color: var(--color-primary);transform: translateY(-8px);}
}
@media all and (min-width: 480px) {
  .footer__social {margin-top: 24px;}
}
@media all and (min-width: 640px) {
  .footer__social {margin-top: 32px;}
}
/* Подвал. Нижний блок */
.footer__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}
.footer__copyright {margin: 0;color: var(--color-darkgray);font-weight: 500;padding-inline: 16px;text-align: center;}
.payments__links {display: flex;gap: 12px;margin: 0;padding: 0;list-style: none;}
.payments__link {color: var(--color-darkgray);}
.payments__link:active {border-color: var(--color-primary);}
@media (hover: hover) and (pointer: fine) {
  .payments__link:hover {border-color: var(--color-primary);}
}
@media all and (min-width: 1024px) {
  .footer__bottom {justify-content: space-between;}
}
/* Модальные окна */
.dialog__title {font-size: var(--heading-01);text-transform: none;}
.form__button {width: 100%;border-radius: 8px;}
/*
** Мобильное меню
*/
.mobile-menu__nav {
  max-height: 212px;
  padding: 10px 20px;
  overflow: hidden auto;
}
.mobile-menu__nav::-webkit-scrollbar {width: var(--scrollbar-width-thin);}
.mobile-menu__list {margin: 0;padding: 0;list-style: none;}
.mobile-menu__link {display: flex;padding-block: 6px;}
.mobile-menu__inner {padding: 0;}
.mobile-menu__catalog {
	flex-grow: 1;
	height: calc(100dvh - 212px - 134px - 59px);
	padding: 20px 10px 20px 20px;
	overflow: hidden auto;
	border-bottom: 1px solid var(--color-border);
}
.mobile-menu__catalog::-webkit-scrollbar {width: var(--scrollbar-width-thin);}
.mobile-menu__catalog.is-opened .mobile-menu__link.is-catalog svg {rotate: 90deg;}
.mobile-menu__catalog.is-opened {display: block;}
.mobile-menu__catalog .catalog__sub {display: none;padding-left: 12px;}
.mobile-menu__catalog .catalog__sub[data-level="0"] {display: block;padding-left: 0;}
.mobile-menu__catalog ul {margin: 0;padding: 0;list-style: none;}
.mobile-menu__catalog .is-opened > .catalog__sub {display: block;}
.mobile-menu__catalog .is-opened > .catalog__link {color: var(--color-primary);}
.mobile-menu__catalog .is-opened > .catalog__link .catalog__link-icon {rotate: 90deg;}
.mobile-menu__catalog .catalog__link-icon {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 24px;
  height: 24px;
  padding: 6px;
}
.mobile-menu__catalog .catalog__link {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 6px 28px 6px 0;
	font-weight: 400;
}
.mobile-menu__catalog .catalog__link[data-level="0"] {font-weight: 600;}
.mobile-menu__contacts {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 20px;
  background-color: var(--color-background);
}
.mobile-menu__contacts .contacts__block {display: flex;flex-direction: column;gap: 8px 24px;}
.mobile-menu-contacts {display: flex;flex-shrink: 0;gap: 16px;align-items: center;}
.mobile-menu-contacts__icon {width: 58px;height: 58px;}
.mobile-menu-contacts__link {display: block;margin-bottom: 4px;font-weight: 700;}
.mobile-menu__contacts-social {margin-top: 0;}
.mobile-menu-contacts__callback {color: var(--color-primary);}
.mobile-menu-contacts__callback:active {color: var(--color-text-primary);}
.mobile-menu__contacts-social .social__link {background-color: var(--color-white);}
@media (hover: hover) and (pointer: fine) {
  .mobile-menu-contacts__callback:hover {color: var(--color-text-primary);}
}
/*
** Уведомления
*/
.swal2-popup.swal2-toast .swal2-close::before,
.swal2-popup.swal2-toast .swal2-close::after {display: none;}
.swal2-container .swal2-popup.swal2-toast .swal2-close {align-self: flex-start;color: var(--color-darkgray);}
.swal2-container .swal2-popup.swal2-toast .swal2-close:hover {color: var(--color-text-primary);}
.swal2-timer-progress-bar {background: var(--color-primary);}
body.swal2-toast-shown .swal2-container.swal2-backdrop-show {width: 440px;}
.noty__block {display: flex;flex-direction: column;gap: 4px;}
.noty__goods {margin: 0;}
.noty__title {display: none;margin: 0;font-weight: 600;font-style: italic;text-transform: uppercase;}
.noty__message {margin: 0;text-transform: lowercase;}
.noty__message::first-letter {text-transform: uppercase;}
.noty--error .noty__message {color: var(--color-error);}
.noty--error .swal2-timer-progress-bar {background: var(--color-error);}
/*
** Добавленные товары в корзину/избранное/сравнение
*/
.addto__item {position: relative;display: flex;padding-block: 16px;}
.addto__item:not(:last-child) {border-bottom: 1px solid var(--color-border);}
.addto__items {max-height: 310px;overflow: hidden auto;}
.addto__items::-webkit-scrollbar {width: var(--scrollbar-width-thin);}
.addto__image {
  position: relative;
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	overflow: hidden;
	border-radius: var(--border-radius);
}
.addto__content {flex-grow: 1;width: calc(100% - 70px);padding-inline: 16px;}
.addto__remove {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--button-small);
	height: var(--button-small);
	background-color: transparent;
}
.addto__price-count {
  position: absolute;
  top: 16px;
  right: 44px;
  color: var(--color-darkgray);
  font-size: var(--text-size-regular);
  white-space: nowrap;
}
.addto__name {word-wrap: break-word;}
.addto__mods {display: block;margin-top: 8px;color: var(--color-gray);font-size: var(--text-size-regular);line-height: 1.25;}
.addto__mods:empty {display: none;}
.addto__price {display: flex;flex-wrap: wrap;gap: 8px;align-items: flex-end;margin-bottom: 8px;}
.addto__price small {font-weight: bold;opacity: 0.5;}
.addto__price .price__old {display: none;margin-right: 8px;font-size: var(--text-size-small);white-space: nowrap;}
.addto__price .price__now {font-size: var(--text-size-medium);white-space: nowrap;}
.addto__header {
	display: flex;
	gap: 4px;
	margin-bottom: 12px;
	padding: 6px 12px;
	font-size: var(--text-size-regular);
	background-color: var(--color-background);
	border-radius: var(--border-radius);
}
.addto__header data {padding-top: 4px;font-weight: bold;}
.addto__clear {display: none;justify-content: center;fill: currentcolor;}
.addto__buttons {display: flex;flex-flow: column wrap;gap: 16px;padding-top: 24px;border-top: 1px solid var(--color-border);}
.addto__total {display: flex;flex-shrink: 0;justify-content: space-between;}
.addto__total > span {font-size: var(--text-size-regular);}
.addto__total data {font-size: var(--text-size-medium);}
.addto__discount {display: flex;flex-shrink: 0;justify-content: space-between;}
.addto__discount > span {font-size: var(--text-size-large);}
.addto__discount data {color: var(--color-error);font-weight: bold;font-size: var(--text-size-large);white-space: nowrap;}
.addto__discount:empty {display: none;}
.addto__empty {display: none;}
.is-empty .addto__empty {display: block;padding: 24px;}
.is-empty .addto__items {display: none;}
.is-empty .addto__header {display: none;}
.is-empty .addto__form {display: none;}
.is-empty .addto__buttons {display: none;}
.is-empty .addto__title data {display: none;}
/*
** Фиксированная шапка
*/
#header {transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;}
#header.is-fixed {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 12;
  background-color: var(--color-white);
  box-shadow: var(--drop-shadow);
  animation: slide-down 0.3s ease-in-out;
}
#header.is-fixed .header__top {display: none;}
#header.is-fixed .header__bottom {display: none;}
@keyframes slide-down {
  from {transform: translateY(-100%);}
  to {transform: translateY(0);}
}
/*
** Акции
*/
.promotion__grid {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.promotion__item {border-radius: 20px;}
.promotion__inner {position: relative;padding-bottom: 8px;}
.promotion__name {
	display: flex;
	align-items: flex-start;
  justify-content: center;
	width: 100%;
	height: 52px;
  margin-bottom: 12px;
	overflow: hidden;
  font-weight: 600;
  font-size: 20px;
	line-height: 26px;
  text-align: center;
}
.promotion__name span {
	display: -webkit-box;
	text-overflow: ellipsis;
  word-break: break-word;
	overflow-wrap: anywhere;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-user-select: none;
  user-select: none;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.promotion__desc {display: none;}
.promotion__image {
  display: block;
  width: 100%;
  height: 140px;
  overflow: hidden;
  background-color: var(--color-background);
  border-radius: 20px;
}
.promotion__content {padding: 30px 20px;text-align: center;background-color: var(--color-background);}
.promotion__date {
  color: var(--color-error);
  font-weight: bold;
  font-size: var(--text-size-regular);
  background-color: #FFDEDF;
  border-radius: 32px;
  padding-block: 8px;
}
.promotion__sale {
  position: absolute;
  top: -10px;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  color: var(--color-white);
  font-weight: bold;
  font-size: var(--text-size-medium);
  background-color: #FD6669;
  border-radius: 32px;
  outline: 1px solid var(--color-white);
  outline-offset: -5px;
  transform: rotate(-15deg);
  padding-inline: 16px;
}
.promotion__button {transform: translateX(-22px);}
.promotion__item--empty {color: var(--color-darkgray);}
.promotion__item--empty .promotion__sale {color: var(--color-white);background-color: var(--color-darkgray);}
.promotion__item--empty .promotion__date {color: var(--color-darkgray);background-color: var(--color-background);}
.promotion__item--empty .promotion__name {color: var(--color-darkgray);}
.promotion__item--empty .promotion__button {color: var(--color-darkgray);background-color: var(--color-white-opacity);}
@media all and (min-width: 480px) and (max-width: 767px) {
	.promotion__grid {grid-template-columns: repeat(2, 1fr);}
}
@media all and (min-width: 768px) and (max-width: 1023px) {
	.promotion__grid {grid-template-columns: repeat(3, 1fr);}
}
@media all and (min-width: 1024px) {
	.promotion__grid {grid-template-columns: repeat(4, 1fr);}
}
@media all and (min-width: 1440px) {
  .promotion__date {text-align: center;}
}
@media all and (max-width: 1439px) {
  .promotion__date {padding-left: 88px;}
}
/*
** Товары
*/
.categories__grid + .products__container {margin-top: 40px;}
.categories__inner + .products__container {margin-top: 40px;}
.products + .html-description {margin-top: 40px;}
body:not(.page-index) .html-description {padding: 20px;line-height: var(--line-height-medium);background-color: var(--color-white);border-radius: 20px;}
.toolbar {margin-bottom: 24px;}
.toolbar__selects select {height: 40px;border-radius: 32px;}
.toolbar__form {display: flex;flex-wrap: wrap;gap: 16px;}
.toolbar__sort {width: calc(100% - 100px - 16px - 84px - 16px);}
.toolbar__label {display: none;}
.toolbar__filters {order: 2;width: 100%;}
.toolbar__views {display: flex;gap: 12px;align-items: center;justify-content: space-around;}
.views__icon {display: flex;color: var(--color-gray);}
@media all and (min-width: 640px) {
  .toolbar__filters {order: 0;width: 180px;}
  .toolbar__sort {width: 180px;}
  .toolbar__views {margin-left: auto;}
}
@media all and (min-width: 1024px) {
  .toolbar__filters {display: none;}
}
@media all and (max-width: 479px) {
  .toolbar__show {display: none;}
  .pages__first, .pages__last {display: none;}
  .toolbar__sort {flex-grow: 1;}
}
/* Фильтры */
.products__container {display: flex;flex-wrap: wrap;gap: 16px;}
@media all and (min-width: 1024px) {
  .products__filters {position: relative;display: block;flex-shrink: 0;width: 240px;height: auto;}
  .products__filters::after {display: none;}
  .products__content.has-filter {width: calc(100% - 240px - 16px);}
  .products__filters .sidebar__content {height: auto;padding: 0;overflow: hidden;}
  .filters__header {display: none;}
}
/*
** Фильтры
*/
.filter__list {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
}
.filter__form {display: flex;flex-direction: column;gap: 24px;}
.filter__title {
	display: flex;
	gap: 8px;
	align-items: center;
  justify-content: space-between;
  width: 100%;
	font-weight: 600;
  font-size: 20px;
	word-break: break-word;
	overflow-wrap: break-word;
	cursor: pointer;
}
.filter__title svg {flex-shrink: 0;}
.filter__list.has-filters .filter__title svg {transform: rotate(180deg);}
.filter__list.has-filters .filter__items {display: block;}
.filter__count {color: var(--color-darkgray);font-size: var(--text-size-regular);}
.filter__label {
  display: flex;
  gap: 4px;
  align-items: center;
  width: calc(100% - 24px);
  line-height: 24px;
  padding-inline: 8px;
}
.filter__value {
	display: -webkit-box;
	text-overflow: ellipsis;
  word-break: break-word;
	overflow-wrap: anywhere;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-user-select: none;
  user-select: none;
	-webkit-box-orient: vertical;
}
.filter__items {
  display: none;
  flex-direction: column;
  gap: 12px;
	max-height: 120px;
  margin-top: 166px;
	overflow: hidden auto;
	-webkit-overflow-scrolling: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--scrollbar-color) var(--color-background);
}
.filter__items::-webkit-scrollbar {width: var(--scrollbar-width-thin);}
.filter__item {display: flex;flex-wrap: wrap;align-items: flex-start;}
.filter__item.is-disabled {color: var(--color-gray);pointer-events: none;}
.filter__items .filter__item:last-child {margin-bottom: 4px;}
/* Фильтры по цене */
.filter-price__blocks {display: flex;gap: 4px;}
.filter-price__block {position: relative;}
.filter-price__block label {position: absolute;bottom: 14px;left: 12px;color: var(--color-darkgray);font-size: var(--text-size-regular);}
.filter-price__block input {padding-inline: 32px 12px;}
.filter-price__button--clear {color: var(--color-darkgray);}
.filter-price__buttons {display: flex;justify-content: space-between;margin-top: 16px;}
.filter-active {display: none;}
.filters.has-filter .filter-active {display: block;}
.filter-active__clear {display: block;margin-top: 12px;color: var(--color-primary);}
.filter-active__items {display: flex;flex-wrap: wrap;gap: 4px;}
.filter-active__item {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 12px;
  overflow: hidden;
  font-size: var(--text-size-regular);
  background-color: var(--color-white);
  border-radius: 8px;
}
.filters__clear {flex-shrink: 0;justify-content: space-between;width: 100%;height: var(--button-large);padding-inline: 20px 6px;}
.filters__clear svg {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 12px;
  color: var(--color-text-primary);
  background-color: var(--color-white);
  border-radius: 8px;
}
/* Стили для слайдера фильтра по цене */
.price-slider {position: relative;height: 20px;margin: 0 12px 20px;}
.price-slider__track {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 6px;
  background-color: var(--color-gray);
  border-radius: 3px;
  transform: translateY(-50%);
  cursor: pointer;
}
.price-slider__range {
  position: absolute;
  top: 50%;
  height: 6px;
  background-color: var(--color-primary);
  border-radius: 3px;
  transform: translateY(-50%);
  pointer-events: none;
}
.price-slider__thumb {
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  background-color: var(--color-white);
  border: 3px solid var(--color-primary);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  cursor: grab;
  transition: all 0.2s ease;
}
.price-slider__thumb:hover {transform: translate(-50%, -50%) scale(1.1);}
.price-slider__thumb:focus {outline: 2px solid var(--color-secondary);outline-offset: 2px;}
.price-slider__thumb.is-active {transform: translate(-50%, -50%) scale(1.2);cursor: grabbing;}
.price-slider__thumb--min {z-index: 2;}
.price-slider__thumb--max {z-index: 1;}
@media (hover: hover) and (pointer: fine) {
  .filter-active__item:hover {color: var(--color-primary);cursor: pointer;fill: currentcolor;}
  .filter-active__clear:hover {color: var(--color-black);}
}
@media all and (max-width: 1023px) {
  .filter-active__item {background-color: var(--color-background);}
  .filters .sidebar__content {height: calc(100dvh - 80px - 56px);}
  .sidebar__buttons {display: block;padding: 16px;}
  .filter-active__clear {display: none;}
}
@media all and (min-width: 1024px) {
  .filters__header {display: none;}
}