.date, .price.price--icon, .address {
  display: flex;
  column-gap: var(--date-column-gap, 12px);
  align-items: center;
}
.date {
  font-weight: var(--date-text-weight, 600);
  font-size: var(--date-text-size, 0.875rem);
  color: var(--date-text-color, inherit);
}
.date .icon {
  --icon-size: var(--date-icon-size, 21px);
  --icon-fill: var(--date-icon-fill, var(--date-text-color, currentColor));
}
.price {
  font-weight: var(--price-text-weight, 600);
  font-size: var(--price-text-size, 0.875rem);
  font-family: var(--price-text-family, var(--font1));
  color: var(--price-text-color, inherit);
}
.price .icon {
  --icon-size: var(--price-icon-size, 21px);
  --icon-fill: var(--price-icon-fill, var(--price-text-color, currentColor));
}
.price__symbol {
  font-family: inherit;
}
.price__old {
  opacity: 0.5;
  margin-left: 6px;
  text-decoration: line-through;
}
.address {
  font-weight: var(--address-text-weight, 600);
  font-size: var(--address-text-size, 0.875rem);
  color: var(--address-text-color, inherit);
}
.address .icon {
  --icon-size: var(--address-icon-size, 21px);
  --icon-fill: var(--address-icon-fill, var(--address-text-color, currentColor));
}

.icon {
  display: block;
  width: var(--icon-width, var(--icon-size, 20px));
  height: var(--icon-height, var(--icon-size, 20px));
}
.icon svg {
  width: 100%;
  height: 100%;
}
.icon :is(path) {
  transition: .3s;
}
.icon:not(.icon--nofill) :is(path) {
  fill: var(--icon-fill, currentColor);
}

blockquote {
  font-weight: 400;
  font-size: inherit;
  font-family: var(--font3);
  color: var(--blockquote-color, var(--color-primary1));

  z-index: 0;
  position: relative;
  border-radius: 10px;
  padding: 38px 24px 30px 36px;
  background-color: var(--blockquote-background, var(--color-primary26));
}
blockquote::before {
  content: '';
  z-index: 0;
  position: absolute;
  left: 12px;
  top: 16px;
  width: 25px;
  height: 18px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNiAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNjQwNjggNi40ODYwOEM3LjI1MjMgNi40ODYwOCA4LjU3NDY2IDcuMDE0NSA5LjYwNzc1IDguMDcxMzRDMTAuNjQwOCA5LjEyODE5IDExLjE1NzQgMTAuNDgxIDExLjE1NzQgMTIuMTI5NkMxMS4xNTc0IDEzLjY5MzggMTAuNjQwOCAxNS4wNDY1IDkuNjA3NzUgMTYuMTg3OUM4LjU3NDY2IDE3LjMyOTMgNy4yNTIzIDE3LjkgNS42NDA2OCAxNy45QzQuMTExNyAxNy45IDIuNzg5MzUgMTcuMzI5MyAxLjY3MzYxIDE2LjE4NzlDMC41NTc4NjkgMTUuMDQ2NSAwIDEzLjY5MzggMCAxMi4xMjk2QzAgMTAuNDgxIDAuNTU3ODY5IDkuMTI4MTkgMS42NzM2MSA4LjA3MTM0QzIuNzg5MzUgNy4wMTQ1IDQuMTExNyA2LjQ4NjA4IDUuNjQwNjggNi40ODYwOFpNMTEuNzc3NCAwQzkuNjA3NzUgMi4zMDA5NyA5Ljc3MzA1IDIuNDcwMDcgOS4yMzU4NCAzLjMxNTU0QzguNzM5OTUgNC4xNjEwMiA4LjMyNjcyIDQuOTY0MjIgNy45OTYxMyA1LjcyNTE1QzcuNzA2ODYgNi40NDM4IDcuNTAwMjQgNy4yNDcgNy4zNzYyNyA4LjEzNDc2QzcuMjUyMyA5LjAyMjUxIDcuMTkwMzIgMTAuMTQyOCA3LjE5MDMyIDExLjQ5NTVMMCAxMi4xMjk2QzAgMTAuMzU0MSAwLjI2ODYwNCA4LjY2MzE4IDAuODA1ODEyIDcuMDU2NzdDMS4zODQzNCA1LjQ1MDM3IDIuMTI4MTcgMy44NjUxIDMuMDM3MjkgMi4zMDA5N0M0LjE1MzU5IDAuNzE2IDUuMDUzNTQgMCA1LjA1MzU0IDBIMTEuNzc3NFpNMTkuMjc3NSA2LjQ4NjA4QzIwLjg4OTEgNi40ODYwOCAyMi4yMTE1IDcuMDE0NSAyMy4yNDQ2IDguMDcxMzRDMjQuMjc3NyA5LjEyODE5IDI0Ljc5NDIgMTAuNDgxIDI0Ljc5NDIgMTIuMTI5NkMyNC43OTQyIDEzLjY5MzggMjQuMjc3NyAxNS4wNDY1IDIzLjI0NDYgMTYuMTg3OUMyMi4yMTE1IDE3LjMyOTMgMjAuODg5MSAxNy45IDE5LjI3NzUgMTcuOUMxNy43NDg1IDE3LjkgMTYuNDI2MiAxNy4zMjkzIDE1LjMxMDQgMTYuMTg3OUMxNC4xOTQ3IDE1LjA0NjUgMTMuNjM2OCAxMy42OTM4IDEzLjYzNjggMTIuMTI5NkMxMy42MzY4IDEwLjQ4MSAxNC4xOTQ3IDkuMTI4MTkgMTUuMzEwNCA4LjA3MTM0QzE2LjQyNjIgNy4wMTQ1IDE3Ljc0ODUgNi40ODYwOCAxOS4yNzc1IDYuNDg2MDhaTTI1LjA2IDBDMjQuMjc0OSAxLjIyNTk0IDIzLjQwOTkgMi40NzAwNyAyMi44NzI2IDMuMzE1NTRDMjIuMzc2OCA0LjE2MTAyIDIxLjk2MzUgNC45NjQyMiAyMS42MzI5IDUuNzI1MTVDMjEuMzQzNyA2LjQ0MzggMjEuMTM3MSA3LjI0NyAyMS4wMTMxIDguMTM0NzZDMjAuODg5MSA5LjAyMjUxIDIwLjgyNzEgMTAuMTQyOCAyMC44MjcxIDExLjQ5NTVMMTMuNjM2OCAxMi4xMjk2QzEzLjYzNjggMTAuMzU0MSAxMy45MDU0IDguNjYzMTggMTQuNDQyNiA3LjA1Njc3QzE1LjAyMTIgNS40NTAzNyAxNS43NjUgMy44NjUxIDE2LjY3NDEgMi4zMDA5N0MxNy42MjQ1IDAuNjk0NTY5IDE4LjQxODcgMCAxOC40MTg3IDBIMjUuMDZaIiBmaWxsPSIjNEIwMDgyIi8+Cjwvc3ZnPgo=);
}
blockquote:not(:first-child) {
  margin-top: 30px;
}
blockquote:not(:last-child) {
  margin-bottom: 30px;
}

.video {
  width: 100%;
  height: 100%;
  z-index: 0;
  position: relative;
  cursor: pointer;
}
.video__play {
  --icon-size: 100%;
  --icon-fill: var(--color-primary4);

  z-index: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  transition: .2s;
  transform: translate(-50%, -50%);
  transform-origin: left top;
}
.video__play .icon {
  overflow: hidden;
  border-radius: 50%;
}
.video__play mask [fill="black"] {
  fill: initial;
}
.video:hover .video__play {
  scale: 1.2;
}
.fancybox__slide.has-html5video .fancybox__content {
  height: calc(100% - 40px) !important;
}

.title {
  width: 100%;
  z-index: 1;
  position: relative;
}
.title:not(:last-child) {
  margin-bottom: 60px;
}
.title__wrap {
  display: flex;
  row-gap: 30px;
  flex-direction: column;
}
.title--tags .title__wrap {
  z-index: 0;
  position: relative;

  width: min-content;
  min-width: max-content;
}
.title__text {
  display: flex;
  column-gap: 40px;
  align-items: baseline;
  justify-content: space-between;
}
.title__text :is(h1, h2, h3, div) {
  margin: 0;
  max-width: 1080px;
  font-weight: 700;
  font-family: var(--font2);
  text-transform: uppercase;
  color: var(--title-color, currentColor);
}
.title__text :is(h1, h2, div) {
  line-height: 100%;
  font-size: var(--title-size, 3.75rem);
}
.title__text :is(h3) {
  line-height: 120%;
  font-size: var(--title-size, 1.5rem);
}
.title__text :is(h1, h2, h3, div) span {
  color: var(--title-span-color, var(--color-primary3));
}
.dark-theme .title__text :is(h1, h2, h3, div) span {
  color: var(--color-primary35);
}
.title__caption {
  max-width: 1080px;
  font-weight: 600;
  font-size: var(--title-caption-size, 1.5rem);
  font-family: var(--font1);
  line-height: 128%;
}
.title--tags .title__caption {
  z-index: 1;
  position: absolute;
  left: 100%;
  top: 100%;
  margin-top: -40px;
  margin-left: -80px;
}
.dark-theme .title__caption {
  color: var(--color-primary2);
}
.title__caption strong {
  font-weight: 700;
  font-family: var(--font2);
}
.title__caption-part {
  padding: 8px 24px;
  font-weight: 700;
  font-size: 0.875rem;
  font-family: var(--font2);
  color: var(--color-primary2);
  text-transform: uppercase;
  background-color: var(--color-primary5);

  position: relative;
  border-radius: 2px;
  width: min-content;
  min-width: max-content;
  border: 1px solid var(--color-primary2);
  z-index: var(--title-caption-part-zindex, 0);
  rotate: var(--title-caption-part-rotate, 0deg);
  margin-top: var(--title-caption-part-top, 0px);
  margin-left: var(--title-caption-part-left, 0px);
}
.title__carousel-buttons {
  display: flex;
  column-gap: 24px;
  align-items: center;
  /* transform: translateY(-8px); */
}
.title__carousel-buttons .swiper-button {
  --icon-size: 28px;
  --icon-fill: var(--color-primary4);

  cursor: pointer;
}
.title__carousel-buttons .swiper-button:hover {
  --icon-fill: var(--color-primary3);
}
.dark-theme .title__carousel-buttons .swiper-button:hover {
  --icon-fill: var(--color-primary35);
}

.link {
  color: var(--link-color, currentColor);
}
.link:hover {
  color: var(--link-hover-color, var(--link-color, currentColor));
}
.text .link {
  color: var(--link-color, var(--color-primary3));
}
.dark-theme .text .link {
  color: var(--link-color, var(--color-primary35));
}
.text .link:hover {
  color: var(--link-hover-color, var(--link-color, var(--color-primary5)));
}

.button {
  display: flex;
  column-gap: 20px;
  align-items: center;
  justify-content: center;

  max-width: 100%;
  width: var(--button-size, var(--button-width, auto));
  min-width: var(--button-size, var(--button-min-width, 116px));
  height: var(--button-size, var(--button-height, 34px));

  border: 0;
  outline: none;
  cursor: pointer;
  overflow: hidden;
  user-select: none;
  position: relative;
  border-radius: var(--button-radius, 8px);
  padding: var(--button-padding, 0 16px);
  box-shadow: var(--button-shadow-sizes, 0 0 0 0) var(--button-shadow-color, transparent);
  border: 1px solid var(--button-border-color, var(--color-primary3));
  color: var(--button-color, var(--color-primary2));
  background-color: var(--button-background, var(--color-primary3));
  transition: .3s;
}
.button:hover {
  --button-color: var(--button-hover-color, var(--color-primary3));
  --button-background: var(--button-hover-background, var(--color-primary4));
  --button-border-color: var(--button-hover-border-color, var(--color-primary4));
}
.button:active {
  --button-color: var(--button-active-color, var(--color-primary3));
  --button-background: var(--button-active-background, var(--color-primary4));
  --button-border-color: var(--button-active-border-color, var(--color-primary4));
  --button-shadow-sizes: var(--button-active-shadow-sizes, inset 4px 4px 4px 0);
  /* --button-shadow-color: var(--button-active-shadow-color, var(--color-primary11)); */

  transition: .1s;
}
.button__text {
  text-transform: var(--button-text-transform, uppercase);
  font-family: var(--button-text-family, var(--font3));
  font-weight: var(--button-text-weight, 700);
  font-size: var(--button-text-size, 0.875rem);
  color: var(--button-color);
  transition: .3s;
}
.button:not(.link) {
  white-space: nowrap;
}
.button__icon {
  --icon-width: var(--button-icon-width, var(--button-icon-size));
  --icon-height: var(--button-icon-height, var(--button-icon-size));
  --icon-fill: var(--button-icon-fill, var(--button-color, var(--color-primary2)));

  transition: .3s;
  order: var(--button-icon-order, 1);
}

.button--animated::after {
  content: "";
  margin-left: 60px;
  width: 40px;
  height: 300px;
  background: #fff;
  -webkit-animation-delay: 0.05s;
  animation-delay: 0.05s;
  position: absolute;
  left: -40px;
  top: -150px;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  -webkit-animation-name: buttonSlideme;
  animation-name: buttonSlideme;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  filter: blur(20px);
}
@-webkit-keyframes buttonSlideme {
  0% {
    left: -30px;
    margin-left: 0px;
  }

  30% {
    left: 110%;
    margin-left: 80px;
  }

  100% {
    left: 110%;
    margin-left: 80px;
  }
}
@keyframes buttonSlideme {
  0% {
    left: -30px;
    margin-left: 0px;
  }

  30% {
    left: 110%;
    margin-left: 80px;
  }

  100% {
    left: 110%;
    margin-left: 80px;
  }
}

.button--circle {
  --button-padding: 0;
  --button-radius: 50%;
  --button-min-width: none;
  --button-width: var(--button-size);
  --button-height: var(--button-size);
}

.button--type2, .button--light {
  --button-color: var(--color-primary3);
  --button-background: var(--color-primary2);
  --button-border-color: var(--color-primary3);
}

.button--type3 {
  --button-color: var(--color-primary1);
  --button-background: var(--color-primary2);
  --button-border-color: var(--color-primary6);
  --button-shadow-sizes: inset 0 3px 4px 0;
  --button-shadow-color: var(--color-primary11);
}
.button--type3:hover {
  --button-color: var(--button-hover-color, var(--color-primary1));
  --button-background: var(--button-hover-background, var(--color-primary4));
  --button-border-color: var(--button-hover-border-color, var(--color-primary4));
}
.button--type3::before {
  content: '';
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  z-index: 1;
  position: absolute;
  left: 4px;
  right: 4px;
  top: 4px;
  bottom: 4px;
  background-color: var(--button-overlay-background, var(--color-primary2));
  border-radius: var(--button-radius, 8px);
  box-shadow: 0 0 6px 0 var(--color-primary11);
  transition: .3s;
}
.button--type3 * {
  z-index: 2;
  position: relative;
}

.button--type4 {
  --button-color: var(--color-primary1);
  --button-background: var(--color-primary3);
  --button-border-color: var(--color-primary31);
  --button-shadow-sizes: inset 0 3px 4px 0;
  --button-shadow-color: var(--color-primary11);
}
.button--type4:hover {
  --button-color: var(--button-hover-color, var(--color-primary1));
  --button-background: var(--button-hover-background, var(--color-primary4));
  --button-border-color: var(--button-hover-border-color, var(--color-primary4));
}
.button--type4::before {
  content: '';
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  z-index: 1;
  position: absolute;
  left: 4px;
  right: 4px;
  top: 4px;
  bottom: 4px;
  background-color: var(--button-overlay-background, var(--color-primary2));
  border-radius: var(--button-radius, 8px);
  box-shadow: 0 0 6px 0 var(--color-primary11);
  transition: .3s;
}
.button--type4 * {
  z-index: 2;
  position: relative;
}

.button--type5, .button--lime {
  --button-color: var(--color-primary3);
  --button-background: var(--color-primary4);
  --button-border-color: var(--color-primary4);
}
.button--type5:hover, .button--lime:hover {
  --button-color: var(--button-hover-color, var(--color-primary2));
  --button-background: var(--button-hover-background, var(--color-primary3));
  --button-border-color: var(--button-hover-border-color, var(--color-primary3));
}
:is(.button--type5:hover, .button--lime:hover) .button__text {
  --button-color: var(--button-hover-color, var(--color-primary2));
}

.button--type6, .button--blue {
  --button-color: var(--color-primary2);
  --button-background: var(--color-primary5);
  --button-border-color: var(--color-primary5);
}
.button--type6:hover, .button--blue:hover {
  --button-background: var(--button-hover-background, var(--color-primary3));
  --button-border-color: var(--button-hover-border-color, var(--color-primary3));
}
:is(.button--type6:hover, .button--blue:hover) .button__text {
  --button-color: var(--button-hover-color, var(--color-primary2));
}

.button--type7, .button--lime2 {
  --button-color: var(--color-primary3);
  --button-background: var(--color-primary4);
  --button-border-color: var(--color-primary4);
}
.button--type7:hover, .button--lime2:hover {
  --button-background: var(--button-hover-background, var(--color-primary2));
  --button-border-color: var(--button-hover-border-color, var(--color-primary2));
}
:is(.button--type7:hover, .button--lime2:hover) .button__text {
  --button-color: var(--button-hover-color, var(--color-primary1));
}

.button--type8, .button--grey {
  --button-color: var(--color-primary1);
  --button-background: var(--color-primary21);
  --button-border-color: var(--color-primary21);
}
.dark-theme :is(.button--type8, .button--grey) {
  --button-color: var(--color-primary61);
  --button-background: var(--color-primary15);
  --button-border-color: var(--color-primary15);
}
.button--type8:hover, .button--grey:hover {
  --button-color: var(--color-primary3);
  --button-background: var(--button-hover-background, var(--color-primary2));
  --button-border-color: var(--button-hover-border-color, var(--color-primary1));
}

.button--type9, .button--cyan {
  --button-color: var(--color-primary2);
  --button-background: var(--color-primary51);
  --button-border-color: var(--color-primary51);
}
.dark-theme :is(.button--type9, .button--cyan) {
  --button-background: var(--color-primary5);
  --button-border-color: var(--color-primary5);
}
.button--type9:hover, .button--cyan:hover {
  --button-color: var(--button-hover-color, var(--color-primary2));
  --button-background: var(--button-hover-background, var(--color-primary5));
  --button-border-color: var(--button-hover-border-color, var(--color-primary5));
}
.dark-theme :is(.button--type9:hover, .button--cyan:hover) {
  --button-background: var(--button-hover-background, var(--color-primary3));
  --button-border-color: var(--button-hover-border-color, var(--color-primary3));
}

.button--type10, .button--light2 {
  --button-color: var(--color-primary3);
  --button-background: var(--color-primary24);
  --button-border-color: var(--color-primary21);
}
.dark-theme :is(.button--type10, .button--light2) {
  --button-color: var(--color-primary2);
  --button-background: var(--color-primary25);
  --button-border-color: var(--color-primary21);
}
.button--type10:hover, .button--light2:hover {
  --button-color: var(--button-hover-color, var(--color-primary2));
  --button-background: var(--button-hover-background, var(--color-primary3));
  --button-border-color: var(--button-hover-border-color, var(--color-primary3));
}

.button.button--lime2[href="#addCart"] {
  --button-width: 95px;
  --button-height: 56px;
  --button-radius: 28px;
  --button-min-width: none;
  --button-icon-size: 40px;
  --button-hover-background: var(--color-primary4);

  transition: .3s;
}
.button.button--lime2[href="#addCart"]:active {
  box-shadow: 0px 5px 5px 0px var(--color-primary11) inset;
}

ul.list {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul.list:not(:first-child) {
  margin-top: 22px;
}
ul.list:not(:last-child) {
  margin-bottom: 22px;
}
ul.list > li {
  margin: 0;
  margin-top: -12px;
  padding: 0;
  padding-left: 12px;
  list-style: none;
}
ul.list > li::before {
  content: '•';
  display: inline;
  background: none;
  font-weight: 700;
  font-size: 30px;
  margin-right: 12px;
  max-height: 100%;
}

.logo {
  width: 100%;
  height: 100%;
}
.logo img {
  display: block;
}

.phones {
  display: flex;
  column-gap: 16px;
  align-items: center;
}
.phones:hover {
  /* color: var(--color-primary3); */
}
.phones__list {
  display: flex;
  row-gap: 10px;
  flex-direction: column;
  position: relative;
}
.phones--dropdown .phones__item:not(:first-child) {
  opacity: 0;
  pointer-events: none;
  display: none;
}
.phones__control {
  cursor: pointer;
}
.phones .icon {
  --icon-size: 11px;
}

.difficulty-flash {
  --icon-width: 8px;
  --icon-height: 13px;
  --icon-fill: var(--difficulity-fill, var(--color-primary2));

  display: flex;
  column-gap: 1px;
  align-items: center;
}

.socials {
  display: flex;
  row-gap: 20px;
  flex-direction: column;
}
.socials__list {
  display: flex;
  column-gap: var(--socials-gap, 24px);
  align-items: center;
}
.socials__link {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--socials-size, auto);
  height: var(--socials-size, auto);
  background-color: var(--socials-fill, transparent);
  transition: .3s;
}
.socials__link:hover {
  --socials-fill: var(--socials-hover-fill, transparent);
}
.socials .icon {
  --icon-size: var(--socials-icon-size, 24px);
  --icon-fill: var(--socials-icon-fill, currentColor);
}
.socials__link:hover .icon {
  --icon-fill: var(--socials-hover-icon-fill, currentColor);
}

.ribbon {
  width: 100%;
  height: 70px;
}
.ribbon span {
  width: 100%;
  height: 100%;
  display: block;
  
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
  background-image: url('../images/ribbon-dark.png');
  box-shadow: 0px 0px 4px 4px var(--color-primary11);
}
.ribbon--light span {
  background-image: url('../images/ribbon-light.png');
}

.copyright {
  width: max-content;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--copyright-color, currentColor);
  text-decoration: underline;
  /* border-bottom: 1px solid var(--copyright-color, currentColor); */
}

.hotlist {
  display: flex;
  row-gap: 8px;
  flex-direction: column;
}
.hotlist__item {
  font-weight: 600;
  font-size: 1.563rem;
  font-family: var(--font1);
  color: var(--color-primary1);
  text-transform: uppercase;

  display: flex;
  column-gap: 12px;
  align-items: start;
}
.hotlist__item::before {
  display: none !important;
}
.dark-theme .hotlist__item {
  color: var(--color-primary2);
}
.hotlist__item .icon {
  --icon-size: 30px;
  --icon-fill: var(--color-primary3);
}
.dark-theme .hotlist__item .icon {
  --icon-fill: var(--color-primary35);
}

.float {
  z-index: 9;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;

  display: flex;
  align-items: end;
  justify-content: space-between;
  pointer-events: none;
  padding: 0 24px 40px;
  
  opacity: 0;
  transition: padding-bottom .3s, opacity .3s 1s;
}
.scroll-end .float {
  padding-bottom: 100px;
}
.page-loaded .float {
  opacity: 1;
}
.float :is(.left, .right) {
  display: flex;
  row-gap: 16px;
  align-items: end;
  flex-direction: column;
}
.float :is(.left, .right) > * {
  pointer-events: all;
}

/* FLOAT CHUNKS */
.float-accept-cookies {
  width: 100%;
  max-width: 350px;

  padding: 18px;
  border-radius: 8px;
  background-color: var(--color-primary3);
  box-shadow: 4px 4px 6px 0px var(--color-primary13);

  font-weight: 500;
  font-size: 0.875rem;
  font-family: var(--font1);
  color: var(--color-primary2);
}
.float-accept-cookies .link {
  --link-color: var(--color-primary4);
}
.float-accept-cookies .button {
  --button-width: 100%;

  margin-top: 16px;
}
.float-accept-cookies .button__text {
  text-transform: none;
}

.float-button-phone {
  --button-size: 57px;
}
.float-button-phone .button {
  --icon-size: 20px;
  --icon-fill: var(--color-primary3);

  overflow: initial;
  box-shadow: 4px 4px 6px 0px var(--color-primary14);
}
.float-button-phone .button::before, .float-button-phone .button::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 2px solid var(--button-background);
  width: 105%;
  height: 105%;
  opacity: .9;
  box-sizing: border-box;
  cursor: pointer;
  pointer-events: none;
  animation: floatButton_animate 2s infinite cubic-bezier(.1, .2, .3, 1);
  -webkit-animation: floatButton_animate 2s infinite cubic-bezier(.1, .2, .3, 1);
  -moz-animation: floatButton_animate 2s infinite cubic-bezier(.1, .2, .3, 1);
  -o-animation: floatButton_animate 2s infinite cubic-bezier(.1, .2, .3, 1);
}
.float-button-phone .button::after {
  -webkit-animation-delay: -1.5s;
  animation-delay: -1.5s;
}
.float-button-phone .button--hover::before, .float-button-phone .button--hover::after {
  content: none;
}
@keyframes floatButton_animate {
  100% {
    width: 200%;
    height: 200%;
    border-color: transparent;
    opacity: 0;
  }
}

.float-button-up {
  --button-size: 33px;

  padding-right: 15px;
}
body:not(.scroll) .float-button-up {
  display: none;
}
.float-button-up .button {
  --icon-size: 16px;
  --icon-fill: var(--color-primary3);

  box-shadow: 4px 4px 6px 0px var(--color-primary14);
}
/* FLOAT CHUNKS */

.contacts {
  display: flex;
  row-gap: 12px;
  flex-direction: column;
}
.contacts__item--phones {
  --link-color: var(--color-primary4);
  --link-hover-color: var(--color-primary5);
}
.contacts__item .phones__list {
  row-gap: 0;
  font-size: 1.5rem;
}
.contacts__item--address {
  font-weight: 600;
  font-size: 0.875rem;
}
.contacts__item--socials {
  --link-color: var(--color-primary4);
  --link-hover-color: var(--color-primary5);
  --socials-icon-size: 22px;

  margin-top: 7px;
}

.map-balloon {
  display: flex;
  row-gap: 12px;
  flex-direction: column;
}
.map-balloon__head {
  display: flex;
  column-gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}
.map .map-balloon .logo {
  width: 40px;
  padding: 0;
  margin: 0;
}
.map-balloon__head span {
  font-size: 0.875rem;
  font-weight: 700;
  font-family: var(--font2);
  color: var(--color-primary3);
  text-transform: uppercase;
}
.map-balloon__route {
  font-size: 1rem;
  font-weight: 600;
  font-family: var(--font1);
  color: var(--color-primary1);
  max-width: 250px;
}
.map-balloon__contacts {
  display: flex;
  row-gap: 4px;
  flex-direction: column;
}
.map-balloon__contact {
  font-size: 1rem;
  font-weight: 600;
  font-family: var(--font1);
  color: var(--color-primary3);
}
.map-balloon__contact span {
  color: var(--color-primary1);
}
.map-balloon__contact a {

}

/* ANIMATED COUNTER */
@property --counter-n {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}
.animated-counter--start {
  animation: animate-counter var(--counter-duration, 2s) forwards var(--counter-timing, linear);
  counter-reset: num var(--counter-n);
}
.animated-counter--start::before {
  content: counter(num);
  color: currentColor;
}
@keyframes animate-counter {
  from {
    --counter-n: var(--counter-from);
  }
  to {
    --counter-n: var(--counter-end);
  }
}
/* ANIMATED COUNTER */

/* PAGE NAVIGATION */
.pagenav {
  display: flex;
  row-gap: 8px;
  flex-direction: column;
  align-items: center;
}
.pagenav__more {
  --button-width: 310px;
  --button-height: 60px;
}

/* TABS */
.tabs {
  display: flex;
  row-gap: 60px;
  flex-direction: column;
}
.tabs__headline {
  display: flex;
  column-gap: 12px;
  align-items: center;
  justify-content: center;
  width: calc(100% - 320px);
  margin: 0 auto;
}
.tabs__button {
  border-radius: 8px;
  border: 1px solid var(--color-primary3);
  font-weight: 400;
  font-family: var(--font3);
  font-size: 1rem;
  color: var(--color-primary1);
  cursor: pointer;
  transition: .3s;

  height: 40px;
  padding: 0 24px;
  display: flex;
  align-items: center;
}
.dark-theme .tabs__button {
  color: var(--color-primary2);
  border-color: var(--color-primary2);
  background-color: var(--color-primary22);
}
.tabs__button:hover {
  color: var(--color-primary2);
  background-color: var(--color-primary35);
}
.tabs__button--active {
  color: var(--color-primary2) !important;
  border-color: var(--color-primary3) !important;
  background-color: var(--color-primary3) !important;
  pointer-events: none;
}
/* TABS */

.rating-stars {
  display: flex;
  column-gap: 5px;
  align-items: center;
}
.rating-stars .icon {
  --icon-size: 16px;
  --icon-fill: var(--color-primary35);
}
.rating-stars .icon.active {
  --icon-fill: var(--color-primary3);
}

.more-text {
  display: flex;
  row-gap: 8px;
  flex-direction: column;
}
.more-text-container {
  display: block;
  -webkit-line-clamp: var(--more-text-clamp, 10);
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.more-text--active .more-text-container {
  display: -webkit-box;
}
.more-text--view .more-text-container {
  display: block;
}
.more-text-button {
  display: flex;
  column-gap: 10px;
  align-items: center;

  cursor: pointer;
  margin-left: auto;
  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font1);
  color: var(--color-primary35);
}
.more-text-button:hover {
  color: var(--color-primary3);
}
.more-text--view .more-text-button span {
  display: none;
}
.more-text--view .more-text-button::before {
  content: 'Скрыть текст';
  font-size: 0.875rem;
}
.more-text-button .icon {
  --icon-size: 10px;
  --icon-fill: var(--color-primary3);
}
.more-text--view .more-text-button .icon {
  transform: rotate(180deg);
}

/* ADVANTAGES GRID ITEM */
.advantages-grid-item {
  height: 100%;
  padding: 24px;
  border-radius: 8px;
  display: flex;
  row-gap: 18px;
  flex-direction: column;

  transition: .3s;
  cursor: default;
  color: var(--color-primary2);
  background: var(--color-primary32);
  box-shadow: 8px 12px 13px 0px var(--color-primary11);
}
.advantages-grid-item:hover {
  box-shadow: 8px 12px 13px 0px var(--color-primary13);
}
.advantages-grid-item__head {
  display: flex;
  column-gap: 24px;
  align-items: start;
}
.advantages-grid-item__icon {
  width: 68px;
  height: 68px;
  overflow: hidden;
  border-radius: 50%;
  background-color: var(--color-primary33);

  display: flex;
  align-items: center;
  justify-content: center;
}
.advantages-grid-item__icon :is(img, .icon) {
  --icon-size: 42px;
  width: 42px;
}
.advantages-grid-item__title {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: var(--font2);
  text-transform: uppercase;
  margin-bottom: 14px;
  max-width: 220px;
  line-height: 1.1;
}
.advantages-grid-item__text {
  font-size: 1.25rem;
  font-weight: 600;
  font-family: var(--font1);
  text-transform: uppercase;
  margin-top: auto;
  max-width: 300px;
}
.advantages-grid-item__button .button {
  --button-width: 300px;
  --button-height: 34px;
  --button-color: var(--color-primary1);

  opacity: 0;
  transform: translateY(100%);
}
.advantages-grid-item:hover .advantages-grid-item__button .button {
  opacity: 1;
  transform: translateY(0);
}
.advantages-grid-item__button .button__icon {
  transition: .3s;
}
.advantages-grid-item__button .button:hover .button__icon {
  transform: translateX(5px);
}
.advantages-grid-item__button .icon {
  --icon-size: 11px;
}

/* REVIEWS CAROUSEL ITEM */
.reviews-carousel-item {
  height: 100%;
  padding-top: 38px;
}
.reviews-carousel-item__photo {
  z-index: 1;
  position: absolute;
  left: 40px;
  top: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 75px;
  height: 75px;
  overflow: hidden;
  border-radius: 50%;
  border: 3px solid var(--color-primary3);
  background-color: var(--color-primary21);
}
.reviews-carousel-item__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.reviews-carousel-item__photo .icon {
  --icon-size: 40px;
  --icon-fill: var(--color-primary3);
}
.reviews-carousel-item__container {
  height: 100%;
  display: flex;
  row-gap: 14px;
  flex-direction: column;
  border-radius: 8px;
  padding: 48px 20px 24px;
  background-color: var(--color-primary34);
}
.reviews-carousel-item__head {
  display: flex;
  column-gap: 20px;
  align-items: center;
}
.reviews-carousel-item__head .icon {
  --icon-width: 16px;
  --icon-height: 11px;
  --icon-fill: var(--color-primary3);
}
.reviews-carousel-item__fio {
  font-size: 1.125rem;
  font-family: var(--font2);
  font-weight: 700;
  color: var(--color-primary2);
}
.reviews-carousel-item__review {
  margin-bottom: 18px;
}
.reviews-carousel-item__message {
  --more-text-clamp: 5;

  font-size: 1rem;
  font-family: var(--font1);
  font-weight: 600;
  color: var(--color-primary2);
}
.reviews-carousel-item__end {
  display: flex;
  column-gap: 20px;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}
.reviews-carousel-item__date {
  font-size: 0.875rem;
  font-family: var(--font1);
  font-weight: 600;
  color: var(--color-primary2);
}

/* HOT OFFERS CARD */
.hot-offers-card {
  width: 100%;
  height: 100%;
  display: flex;
  column-gap: 0;
  align-items: stretch;

  z-index: 0;
  position: relative;
  cursor: default;
  transform: rotate(0deg);
  transition: transform .3s;
}
.hot-offers-card:hover {
  transform: rotate(-2deg);
}
.hot-offers-card__body {
  display: flex;
  row-gap: 12px;
  flex-direction: column;
  z-index: 0;
  position: relative;
  padding: 22px 160px 22px 26px;
}
.hot-offers-card__title {
  line-height: 1.1;
  font-weight: 700;
  font-size: 1.875rem;
  font-family: var(--font2);
  color: var(--color-primary3);
}
.hot-offers-card:hover .hot-offers-card__title  {
  color: var(--color-primary2);
}
.hot-offers-card__container {
  display: flex;
  column-gap: 16px;
  align-items: start;
}
.hot-offers-card__description {
  width: 100%;

  line-height: 1.1;
  font-weight: 600;
  font-size: 1rem;
  font-family: var(--font1);
  color: var(--color-primary3);
}
.hot-offers-card:hover .hot-offers-card__description  {
  color: var(--color-primary2);
}
.hot-offers-card__buy {
  width: 136px;
  min-width: 136px;

  display: flex;
  row-gap: 6px;
  flex-direction: column;
}
.hot-offers-card__price {
  width: 100%;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-primary3);
  
  font-weight: 600;
  font-size: 1.875rem;
  font-family: var(--font1);
  color: var(--color-primary3);
}
.hot-offers-card:hover .hot-offers-card__price  {
  color: var(--color-primary2);
  border-color: var(--color-primary2);
}
.hot-offers-card__button {
  --button-width: 100%;
  --button-height: 36px;
}
.hot-offers-card__bilet img {
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity .3s;
  pointer-events: none;
  filter: drop-shadow(4px 9px 6px var(--color-primary11));
}
.hot-offers-card:hover .hot-offers-card__bilet img:first-child {
  opacity: 0;
}
.hot-offers-card:not(:hover) .hot-offers-card__bilet img:last-child {
  opacity: 0;
}

/* FORM */
.form > form {
  display: flex;
  row-gap: 24px;
  flex-direction: column;
}
.form__fields {
  display: flex;
  row-gap: 24px;
  flex-direction: column;
}
.form__end {
  display: flex;
  row-gap: 16px;
  flex-direction: column;
}
.form .button {
  --button-width: var(--form-button-width, 100%);
  --button-height: var(--form-button-height, 60px);
  --button-text-size: var(--form-button-text-size, 1rem);
}
.form__agree {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* FORM CHECKBOX */
.checkbox {
  display: flex;
  column-gap: 16px;
  align-items: start;
  min-height: 18px;
  cursor: pointer;
}
.checkbox__control {
  width: var(--checkbox-control-size, 18px);
  height: var(--checkbox-control-size, 18px);
  border: 1px solid var(--checkbox-control-color, var(--color-primary3));
  z-index: 0;
  position: relative;
  top: var(--checkbox-control-top, 3px);
  pointer-events: none;
}
.dark-theme .checkbox__control {
  border-color: var(--checkbox-control-color-accent, var(--color-primary2));
}
.checkbox__control::before {
  content: '';
  z-index: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--checkbox-control-active-size, 10px);
  height: var(--checkbox-control-active-size, 10px);
  transform: translate(-50%, -50%);
  background-color: var(--checkbox-control-color, var(--color-primary3));
  opacity: 0;
  transition: .3s;
}
.dark-theme .checkbox__control::before {
  background-color: var(--checkbox-control-color-accent, var(--color-primary2));
}
.checkbox__input:checked ~ .checkbox__control::before {
  opacity: 1;
}
.checkbox__label {
  font-weight: 600;
  font-size: var(--checkbox-label-size, 1rem);
  font-family: var(--font1);
  color: var(--checkbox-label-color, var(--color-primary1));
  text-transform: var(--checkbox-label-transform, none);
}
.dark-theme .checkbox__label {
  color: var(--checkbox-label-color-accent, var(--color-primary2));
}
.checkbox__label a {
  --link-color: var(--checkbox-link-color, var(--color-primary3));
}
.dark-theme .checkbox__label a {
  --link-color: var(--checkbox-link-color-accent, var(--color-primary4));
}

/* FORM TEXT INPUT */
:is(.field--text, .field--tel, .field--email) {
  z-index: 0;
  position: relative;
  display: block;
}
.text-input {
  border-radius: 8px;
  padding-left: 30px;
  font-weight: 600;
  font-size: var(--field-input-text-size, 1.25rem);
  color: var(--field-input-text-color, var(--color-primary3));
  border: 1px solid var(--field-input-text-border, var(--color-primary3));
  width: var(--field-input-text-width, 100%);
  height: var(--field-input-text-height, 60px);
  background-color: var(--field-input-text-background, var(--color-primary37));
}
.dark-theme .text-input {
  color: var(--field-input-text-color-accent, var(--color-primary2));
  background-color: var(--field-input-text-background-accent, var(--color-primary38));
}
.text-input::placeholder {
  color: currentColor;
}
.text-input::-webkit-input-placeholder {
  color: currentColor;
}
.text-input::-moz-placeholder {
  color: currentColor;
}
.text-input:-ms-input-placeholder {
  color: currentColor;
}
.text-label {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 18px;
  pointer-events: none;
  transition: .3s;
  width: min-content;
  transform: translateY(-50%);
  padding: 0 12px;

  font-weight: 600;
  white-space: nowrap;
  font-size: var(--field-input-text-size, 1.25rem);
  color: var(--field-input-text-color, var(--color-primary3));
}
.dark-theme .text-label {
  color: var(--field-input-text-color-accent, var(--color-primary2));
}
.text-input:not([placeholder=" "]) ~ .text-label {
  z-index: -1;
  transition: top .3s, z-index .3s .1s;
}
.text-label::before {
  content: '';
  z-index: -1;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 3px;
  margin-top: 1px;
  background-color: var(--field-input-text-background, var(--color-primary37));
}
.dark-theme .text-label::before {
  background-color: var(--field-input-text-background-accent, var(--color-primary38));
}
:is(.text-input:active, .text-input:focus) ~ .text-label {
  top: 0;
  z-index: 1;
}
.text-input:not([placeholder=" "]):not(:active):not(:focus) ~ .text-label {
  transition: top .3s .1s, z-index .3s;
}
.text-input:not(:placeholder-shown) ~ .text-label {
  top: 0;
  z-index: 1;
}
.text-input:not([placeholder=" "]):not(:placeholder-shown) ~ .text-label {
  transition: top .3s .1s, z-index .3s;
}

/* Направление превью */
.napravlenie-card {
  width: 100%;
  height: 100%;
  min-height: 400px;
  overflow: hidden;
  border-radius: 8px;
  transition: .3s;
  cursor: pointer;
  position: relative;
  padding: 0 16px 30px;
  background-color: var(--color-primary2);

  display: flex;
  row-gap: 8px;
  flex-direction: column;
}
.napravlenie-card:hover {
  box-shadow: 4px 4px 8px 0px var(--color-primary16);
}
.napravlenie-card__image {
  width: 100%;
  height: auto;
  overflow: hidden;
  z-index: 0;
  position: relative;
  margin: 0 0 0 -16px;
  width: calc(100% + 32px);
  aspect-ratio: 1.03;
}
.napravlenie-card__tags {
  display: flex;
  column-gap: 3px;
  align-items: center;

  z-index: 1;
  position: absolute;
  right: 8px;
  top: 8px;
}
.napravlenie-card__tag {
  width: min-content;
  min-width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 26px;
  padding: 0 8px;
  background-color: var(--color-primary3);
}
.napravlenie-card__tag--age {
  font-weight: 400;
  font-size: 0.625rem;
  font-family: var(--font3);
  white-space: nowrap;
  background-color: var(--color-primary23);
}
.napravlenie-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 1.03;
}
.napravlenie-card__name {
  height: 45px;
  margin-top: 8px;

  font-weight: 700;
  font-size: 1rem;
  font-family: var(--font2);
  text-transform: uppercase;
  color: var(--color-primary1);
}
.napravlenie-card__name a::before {
  content: '';
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.napravlenie-card__name .link__text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.napravlenie-card__text {
  font-weight: 600;
  font-size: 1rem;
  font-family: var(--font1);
  color: var(--color-primary1);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.napravlenie-card__staff {
  height: 45px;
  font-weight: 600;
  font-size: 1rem;
  font-family: var(--font1);
  color: var(--color-primary1);

  display: flex;
  column-gap: 8px;
  margin-top: auto;
}
.napravlenie-card__staff span:last-child {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Сотрудник в списке */
.employee-item {
  display: flex;
  align-items: end;
  justify-content: center;

  z-index: 0;
  position: relative;
  height: 132px;
  border-radius: 2px;
  padding: 0 50px 0 120px;
  background-color: var(--color-primary3);
  transition: .3s;
  cursor: pointer;
}
.employee-item:hover {
  background-color: var(--color-primary5);
  box-shadow: 4px 4px 8px 0px #00000040;
}
.employee-item:not(:nth-child(odd)) {
  padding: 0 120px 0 50px;
}
.employee-item__image {
  width: 280px;
  min-width: 280px;
  height: min-content;
}
.employee-item:nth-child(odd) .employee-item__image {
  padding-left: 20px;
}
.employee-item:not(:nth-child(odd)) .employee-item__image {
  order: -1;
  padding-right: 20px;
}
.employee-item__image img {
  width: 100%;
  height: auto;
  display: block;
}
.employee-item__position {
  height: 100%;
  display: flex;
  align-items: center;

  z-index: 0;
  position: relative;
  font-weight: 700;
  font-size: 0.75rem;
  font-family: var(--font2);
  color: var(--color-primary2);
  text-transform: uppercase;
}
.employee-item:nth-child(odd) .employee-item__position {
  order: -1;
  text-align: right;
  /* margin-left: auto; */
  padding-right: 20px;
}
.employee-item:not(:nth-child(odd)) .employee-item__position {
  /* margin-right: auto; */
  padding-left: 20px;
}
.employee-item__position::before {
  content: '';
  z-index: 0;
  position: absolute;
  top: 50%;
  width: 1px;
  height: 40px;
  transform: translateY(-50%);
  background-color: var(--color-primary2);
}
.employee-item:nth-child(odd) .employee-item__position::before {
  right: 0;
}
.employee-item:not(:nth-child(odd)) .employee-item__position::before {
  left: 0;
}
.employee-item__name {
  width: min-content;
  min-width: 400px;
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;

  font-weight: 700;
  font-size: 2.5rem;
  font-family: var(--font2);
  color: var(--color-primary2);
  text-transform: uppercase;
}
.employee-item:nth-child(odd) .employee-item__name {
  padding-left: 20px;
}
.employee-item:not(:nth-child(odd)) .employee-item__name {
  padding-right: 20px;
  justify-content: end;
}
.employee-item__name a::before {
  content: '';
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

/* Ближайшие мероприятия */
.afisha-list-item {
  --afisha-list-item-columns-gap: 40px;
  --afisha-list-item-preview-width: 350px;

  display: flex;
  column-gap: var(--afisha-list-item-columns-gap);
  align-items: stretch;
}
.afisha-list-item__preview {
  width: var(--afisha-list-item-preview-width);
  min-width: var(--afisha-list-item-preview-width);
  overflow: hidden;
  border-radius: 8px;
  z-index: 0;
  position: relative;
  background-color: var(--color-primary35);
}
.dark-theme .afisha-list-item__preview {
  background-color: var(--color-primary2);
}
.afisha-list-item__preview :is(picture, img) {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 0.83;
}
.afisha-list-item__preview-tags {
  position: absolute;
  right: 8px;
  bottom: 10px;
  display: flex;
  column-gap: 4px;
  align-items: center;
}
.afisha-list-item__preview-tag {
  height: 32px;
  min-width: 32px;
  white-space: nowrap;
  border-radius: 32px;
  padding: 0 12px;
  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font1);
  color: var(--color-primary2);
  
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary3);
}
.afisha-list-item__preview-tag.percent {
  font-weight: 700;
  font-family: var(--font3);
}
.afisha-list-item__preview-tag.price {
  padding: 4px;
  padding-right: 12px;
  column-gap: 6px;
  color: var(--color-primary1);
  background-color: var(--color-primary23);
}
.afisha-list-item__preview-tag.price .icon {
  --icon-fill: var(--color-primary3);

  border-radius: 50%;
  background-color: var(--color-primary2);
}
.afisha-list-item__detail {
  display: flex;
  row-gap: 24px;
  flex-direction: column;
  width: calc(100% - var(--afisha-list-item-preview-width) - var(--afisha-list-item-columns-gap));
}
.afisha-list-item__name {
  display: flex;
  column-gap: 24px;
  align-items: start;
}
.afisha-list-item__name-link {
  font-weight: 700;
  font-size: 2.25rem;
  font-family: var(--font2);
  text-transform: uppercase;
}
.afisha-list-item__name-tags {
  width: 100%;
  max-width: 300px;
  margin-top: 10px;
  margin-left: auto;

  display: flex;
  column-gap: 5px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: end;
}
.afisha-list-item__name-tag {
  height: 32px;
  min-width: 32px;
  white-space: nowrap;
  border-radius: 32px;
  padding: 0 12px;
  font-size: 0.875rem;
  font-weight: normal;
  font-family: var(--font1);
  
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary3);
}
.afisha-list-item__name-tag--ages {
  padding: 0 4px;
  color: var(--color-primary1);
  background-color: var(--color-primary23);
}
.afisha-list-item__description {
  font-weight: 600;
  font-size: 1.25rem;
  font-family: var(--font1);
}
.afisha-list-item__options {
  display: flex;
  column-gap: 20px;
  align-items: center;
  margin-top: auto;
}
.afisha-list-item__option {
  font-weight: 600;
  font-size: 1.5rem;
  font-family: var(--font1);
}
.afisha-list-item__more {
  margin-top: 18px;
}
.afisha-list-item__more-button {
  --button-width: 250px;
  --button-height: 56px;
  --button-text-size: 1rem;
  --button-text-transform: none;
}

/* Ближайшие мероприятия СЛАЙД */
.nearest-events-slide {
  z-index: 0;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  color: var(--color-primary2);
}
.nearest-events-slide__image {
  overflow: hidden;
}
.nearest-events-slide__image :is(picture, img) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 2.43;
}
.nearest-events-slide__contents {
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 24px;

  display: flex;
  row-gap: 24px;
  flex-direction: column;
}
.nearest-events-slide__name {
  margin-top: auto;
  font-size: 3.125rem;
  font-weight: 700;
  font-family: var(--font2);
  text-transform: uppercase;
}
.nearest-events-slide__name * {
  font-size: 3.125rem;
  font-weight: 700;
  font-family: var(--font2);
  text-transform: uppercase;
}
.nearest-events-slide__button {
  --button-width: min-content;
  --button-height: 56px;
  --button-padding: 0 40px;
  --button-text-size: 1rem;
}
.nearest-events-slide__tags {
  display: flex;
  column-gap: 5px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: start;
}
.nearest-events-slide__tag {
  height: 32px;
  min-width: 32px;
  white-space: nowrap;
  border-radius: 32px;
  padding: 0 12px;
  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font1);
  
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary3);
}
.nearest-events-slide__tag--ages {
  padding: 0 4px;
  color: var(--color-primary1);
  background-color: var(--color-primary23);
}
.nearest-events-slide__options {
  display: flex;
  column-gap: 20px;
  align-items: center;
  margin-top: 48px;
}
.nearest-events-slide__option {
  --icon-size: 21px;
  --icon-fill: var(--color-primary2);

  display: flex;
  column-gap: 12px;
  align-items: center;

  font-weight: 600;
  font-size: 1.25rem;
}

/* Ближайшие мероприятия КАРУСЕЛЬ */
.nearest-events-item {
  display: flex;
  flex-direction: column;

  height: 100%;
  cursor: pointer;
  transition: .3s;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  background-color: var(--color-primary24);
}
.nearest-events-item:hover {
  box-shadow: 4px 4px 8px 0px var(--color-primary16);
}
.nearest-events-item__top {
  width: 100%;
}
.nearest-events-item__top img {
  width: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 0.68;
}
.nearest-events-item__description {
  height: 100%;
  display: flex;
  row-gap: 8px;
  flex-direction: column;
  padding: 18px 20px 40px;
}
.nearest-events-item__name a {
  font-weight: 700;
  font-size: 0.875rem;
  font-family: var(--font2);
  text-transform: uppercase;
}
.nearest-events-item__name a::before {
  content: '';
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.nearest-events-item__teachers {
  margin-top: auto;
}
.nearest-events-item__date {
  margin-top: auto;
}
.nearest-events-item__teachers ~ .nearest-events-item__date {
  margin-top: 0;
}

/* Сотрудник КАРУСЕЛЬ */
.staff-carousel-item {
  z-index: 0;
  position: relative;
  border-radius: 8px;
  cursor: pointer;
  transition: .3s;
  overflow: hidden;
  display: flex;
  column-gap: 24px;
  align-items: stretch;
  border: 2px solid var(--color-primary24);
  background-color: var(--color-primary24);
}
.staff-carousel-item:hover {
  border-color: var(--color-primary3);
}
.dark-theme .staff-carousel-item:hover {
  border-color: var(--color-primary35);
}
.staff-carousel-item__photo {
  width: 136px;
  min-width: 136px;
  height: 136px;
  background-color: var(--color-primary36);
}
.staff-carousel-item__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.staff-carousel-item__detail {
  width: 100%;
  padding: 18px 24px 0px 12px;
}
.staff-carousel-item__name {
  margin-bottom: 12px;
}
.staff-carousel-item__name a {
  font-weight: 700;
  font-size: 1.125rem;
  font-family: var(--font2);
}
.staff-carousel-item__name a::before {
  content: '';
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.staff-carousel-item__napravleniya {
  z-index: 1;
  position: relative;

  display: flex;
  row-gap: 4px;
  column-gap: 4px;
  flex-wrap: wrap;
  /* grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); */
}
.staff-carousel-item__napravlenie, .staff-carousel-item__position {
  --link-color: var(--color-primary1);
  --link-hover-color: var(--color-primary2);

  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font1);
  border-radius: 2px;
  width: min-content;
  min-width: 120px;
  transition: .3s;
  padding: 4px 12px;
  white-space: nowrap;
  text-align: center;
  background-color: var(--color-primary311);
}
.staff-carousel-item__napravlenie:hover {
  background-color: var(--color-primary3);
  box-shadow: 1px 1px 2px 0px var(--color-primary11);
}

/* Абонементы */
.products-group {
  z-index: 0;
  position: relative;

  display: flex;
  column-gap: 40px;
  align-items: start;
  justify-content: space-between;
}
.products-group__image {
  width: 530px;
  min-width: 530px;
  z-index: 0;
  position: sticky;
  left: -110px;
  top: 80px;
  margin-top: -20px;
}
.products-group__image img {
  display: block;
}
.products-group__cards {
  width: 100%;
  display: flex;
  row-gap: 40px;
  flex-direction: column;
}

.products-group-card {
  padding: 40px;
  border-radius: 16px;
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  background-color: var(--color-primary3);
}
.products-group-card__name {
  font-weight: 700;
  font-size: 2.813rem;
  font-family: var(--font2);
  text-transform: uppercase;
  color: var(--color-primary2);
}
.products-group-card__subname {
  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font1);
  text-transform: uppercase;
  color: var(--color-primary4);
  margin-top: 16px;
}
.products-group-card__list {
  display: flex;
  row-gap: 16px;
  flex-direction: column;
}
.products-group-card__list:not(:first-child) {
  margin-top: 30px;
}
.products-group-card__item {
  display: flex;
  column-gap: 24px;
  align-items: center;
  justify-content: space-between;
  border-radius: 8px;
  min-height: 95px;
  padding: 18px 30px 16px;
  background-color: var(--color-primary26);
}
.products-group-card__item-name {
  font-weight: 700;
  font-size: 1.563rem;
  font-family: var(--font2);
  text-transform: uppercase;
  color: var(--color-primary1);
}
.products-group-card__text {
  font-weight: 600;
  font-size: 1rem;
  font-family: var(--font1);
  text-transform: uppercase;
  color: var(--color-primary2);
  line-height: 1.6;
  margin-top: 30px;
}
.products-group-card__item-prices {
  --price-text-weight: 700;
  --price-text-size: 1.25rem;
  --price-text-family: var(--font2);
  --price-text-color: var(--color-primary1);
}
.products-group-card__item-prices .price__old {
  display: block;
  margin-left: 0;
  text-align: right;

  font-weight: 700;
  font-size: 0.875rem;
  font-family: var(--font3);
  color: var(--color-primary62);
}
.products-group-card__buttons {
  margin-top: 30px;
  display: flex;
  column-gap: 16px;
  align-items: center;
}
.products-group-card__button {
  --button-height: 56px;
  --button-padding: 24px;
  --button-min-width: 234px;
}

/* Система лояльности */
.loyalty-system-item {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 8px;
  padding: 24px 16px 16px;


  font-weight: 600;
  font-size: 1rem;
  font-family: var(--font1);
  color: var(--color-primary2);

  display: flex;
  row-gap: 16px;
  flex-direction: column;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background: var(--color-primary3) url(/wp-content/themes/des/assets/images/loyalty-item.png);
}
.loyalty-system-item__name {
  padding: 0 8px;
  font-weight: 700;
  font-size: 1.125rem;
  font-family: var(--font2);
}
.loyalty-system-item__text {
  padding: 0 8px;
}
.loyalty-system-item__value {
  margin-top: auto;
  font-weight: 700;
  font-size: 2.5rem;
  text-align: center;
  font-family: var(--font2);
  color: var(--color-primary4);
}
.loyalty-system-item__caption {
  font-size: 0.875rem;
  text-align: center;
}