@layer base, component, mod;

@layer base {
  /**
 * Swiper 12.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 21, 2025
 */

  :root {
    --swiper-theme-color: #007aff;
    /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
  }
  :host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
  }
  .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    /* Fix of Webkit flickering */
    z-index: 1;
    display: block;
  }
  .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
  }
  .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(
      --swiper-wrapper-transition-timing-function,
      initial
    );
    box-sizing: content-box;
  }
  .swiper-android .swiper-slide,
  .swiper-ios .swiper-slide,
  .swiper-wrapper {
    transform: translate3d(0px, 0, 0);
  }
  .swiper-horizontal {
    touch-action: pan-y;
  }
  .swiper-vertical {
    touch-action: pan-x;
  }
  .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
  }
  .swiper-slide-invisible-blank {
    visibility: hidden;
  }
  /* Auto Height */
  .swiper-autoheight,
  .swiper-autoheight .swiper-slide {
    height: auto;
  }
  .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
  }
  .swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  /* 3D Effects */
  .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
  }
  .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
  }
  .swiper-3d {
    perspective: 1200px;
  }
  .swiper-3d .swiper-slide,
  .swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
  }

  /* CSS Mode */
  .swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
  }
  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }
  .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
  }
  .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal
    > .swiper-wrapper
    > .swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical
    > .swiper-wrapper
    > .swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
  }

  /* Slide styles start */
  /* 3D Shadows */
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom,
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(
      to left,
      rgba(0, 0, 0, 0.5),
      rgba(0, 0, 0, 0)
    );
  }
  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.5),
      rgba(0, 0, 0, 0)
    );
  }
  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.5),
      rgba(0, 0, 0, 0)
    );
  }
  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.5),
      rgba(0, 0, 0, 0)
    );
  }
  .swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
  }
  .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
  .swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
  }
  .swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
  }
  @keyframes swiper-preloader-spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  /* Slide styles end */
}

/* BREAKPOINTS
------------------------- */

/* COLORS
------------------------ */

/* EFFECTS
------------------------ */

:root {
  /* SECTION SPACING  */
  --spacing: 100px;
  /* FONTS  */
  --font-primary:
    "HelveticaNeueCyr", sans-serif, -apple-system, blinkmacsystemfont, roboto,
    ubuntu, "Droid Sans", "Helvetica Neue", arial, sans-serif,
    "Apple Color Emoji";
  --font-secondary:
    "PlayfairDisplay", sans-serif, -apple-system, blinkmacsystemfont, roboto,
    ubuntu, "Droid Sans", "Helvetica Neue", arial, sans-serif,
    "Apple Color Emoji";
}

:root {
  /* COLORS
  ------------------------- */
  --color-primary: #1e2628;
  --color-primary--rgb: 30, 38, 40;
  --color-alt: #ec7945;
  --color-alt--rgb: 236, 121, 69;
  --color-alt-hover: #e26127;
  --color-alt-hover--rgb: 226, 97, 39;
  --color-gry: #454c4f;
  --color-gry--rgb: 69, 76, 79;
  --color-blck: #121313;
  --color-blck--rgb: 18, 19, 19;
  --color-gry-dark: #999690;
  --color-gry-dark--rgb: 153, 150, 144;
  --color-gry-whte: #ba9;
  --color-gry-whte--rgb: 187, 170, 153;
  --color-gld: #ac9f86;
  --color-gld--rgb: 172, 159, 134;
  --color-whte: #fff;
  --color-whte--rgb: 255, 255, 255;
  --color-whte-two: #f6f3ed;
  --color-whte-two--rgb: 246, 243, 237;
  --color-bg: #f6f3ed;
  --color-bg--rgb: 246, 243, 237;
  --color-bg-secondary: #1e2628;
  --color-bg-secondary--rgb: 30, 38, 40;
  --color-success: #25d366;
  --color-success--rgb: 37, 211, 102;
  --color-error: #f00;
  --color-error--rgb: 255, 0, 0;
  --font-size-default: 14px;
  /** Z-INDEX SYSTEM
  ------------------------- */
  --index-1: 100;
  --index-2: 200;
  --index-3: 1200;
  --index-4: 1300;
}

@layer base {
  * {
    margin: 0;
    padding: 0;
    border: 0;
  }
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  *::before,
  *::after {
    display: inline-block;
  }
  html,
  body {
    min-width: 360px;
    height: 100%;
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    scrollbar-gutter: stable;
  }
  body {
    color: var(--color-primary);
    font-size: var(--font-size-default);
    font-family: var(--font-primary);
    line-height: 1;
    background: var(--color-bg);
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  ::-webkit-scrollbar {
    width: 6px;
    height: 5px;
  }
  ::-webkit-scrollbar-track {
    background: var(--color-scroll-bg);
  }
  ::-webkit-scrollbar-thumb {
    background: var(--color-alt);
    border-radius: 10px;
  }
  ::selection {
    color: var(--color-whte);
    background: var(--color-alt);
  }
  input,
  button,
  textarea {
    font-size: inherit;
    font-family: var(--font-primary);
    line-height: inherit;
  }
  button {
    color: inherit;
    font-family: var(--font-primary);
    background-color: transparent;
    outline: 0;
    cursor: pointer;
  }
  div[class*="__text"] p:only-of-type,
  div[class*="__text"] p:last-of-type,
  div[class*="__details"] p:only-of-type,
  div[class*="__details"] p:last-of-type,
  div[class*="__note"] p:only-of-type,
  div[class*="__note"] p:last-of-type {
    margin: 0;
  }
  [class*="image"] img {
    width: 100%;
    object-fit: cover;
    object-position: center;
  }
  a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
  }
  ul li {
    list-style: none;
  }
  img {
    vertical-align: top;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: inherit;
    font-size: inherit;
  }
  address,
  cite {
    font-style: normal;
  }
  fieldset,
  dl,
  dd {
    margin: 0;
    padding: 0;
  }
  fieldset {
    border: none;
  }
}

.lock body {
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: none;
}

@font-face {
  font-weight: 400;
  font-family: "HelveticaNeueCyr";
  font-style: normal;
  src:
    url("/fonts/HelveticaNeueCyr-400.woff2") format("woff2"),
    url("/fonts/HelveticaNeueCyr-400.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-weight: 500;
  font-family: "HelveticaNeueCyr";
  font-style: normal;
  src:
    url("/fonts/HelveticaNeueCyr-500.woff2") format("woff2"),
    url("/fonts/HelveticaNeueCyr-500.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-weight: 500;
  font-family: "PlayfairDisplay";
  font-style: normal;
  src:
    url("/fonts/PlayfairDisplay-500.woff2") format("woff2"),
    url("/fonts/PlayfairDisplay-500.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-weight: 600;
  font-family: "PlayfairDisplay";
  font-style: normal;
  src:
    url("/fonts/PlayfairDisplay-600.woff2") format("woff2"),
    url("/fonts/PlayfairDisplay-600.woff") format("woff");
  font-display: swap;
}

/* stylelint-disable*/

/* IMPORTS
---------------------------- */

body::after {
  position: fixed;
  top: 0;
  left: 0;
  z-index: calc(var(--index-3) - 1);
  width: 100%;
  height: 100%;
  background: rgba(var(--color-whte--rgb), 0.01);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  opacity: 0;
  transition: opacity 0.8s ease 0s;
  content: "";
  pointer-events: none;
}

[data-popup].popup-open {
  pointer-events: none;
}

.popup-show body::after {
  opacity: 1;
}

@layer component {
  .popup {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 30px 10px;
    visibility: hidden;
    transition: visibility 0.8s ease 0s;
    pointer-events: none;
  }
  /* stylelint-disable-next-line selector-class-pattern */
  .popup_show {
    z-index: calc(var(--index-3) + 1);
    overflow: auto;
    visibility: visible;
    pointer-events: auto;
  }
  /* stylelint-disable-next-line selector-class-pattern */
  .popup_show .popup__content {
    transform: scale(1);
    visibility: visible;
  }
  .popup__wrapper {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
  }
  .popup__content {
    width: 100%;
    max-width: 900px;
    padding: 20px;
    background-color: #eee;
    border-radius: 20px;
    transform: scale(0);
    visibility: hidden;
    transition: transform 0.3s ease 0s;
  }
  .lock .popup__content {
    visibility: visible;
  }
}

.popup--gallery {
  padding: 0px;
}

.popup--gallery .popup__content {
  padding: 0;
  max-width: 100%;
  background: transparent;
}

.popup--gallery .popup__wrapper {
  align-items: flex-start;
  justify-content: flex-start;
}

.popup--gallery .plan__container {
  max-width: 100%;
  padding: 0px;
}

.popup--gallery .plan__slide-img {
  height: 100dvh;
  width: 100%;
  aspect-ratio: none;
}

.popup--gallery .plan__main {
  border-radius: 0px;
}

.popup--gallery .plan__body .plan__container {
  max-width: 1640px;
  padding: 0px var(--pad);
}

.popup--video .popup__content {
  position: relative;
  padding: 0;
  background: transparent;
  border-radius: 24px;
  overflow: hidden;
}

.popup--video .popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  z-index: 2;
}

.popup--video .popup-video {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.popup--video .popup-video video,
.popup--video .popup-video iframe,
.popup--video .popup-video object,
.popup--video .popup-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.form__callback {
  display: flex;
}

.form__callback-input {
  position: relative;
  width: 100%;
}

.form__callback-input .input {
  height: 48px;
  padding: 16px 24px;
  font-size: 18px;
  line-height: 100%; /* 18px */
  border-radius: 16px 0px 0px 16px;
}

.form__callback-input .input::placeholder {
  font-size: 18px;
  line-height: 100%; /* 18px */
}

.form__callback-btn {
  white-space: nowrap;
  border-radius: 0px 16px 16px 0px;
  min-width: 126px;
}

.form__search {
  max-width: 1004px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.form__search-inner {
  padding: 12px 12px 12px 16px;
  border-radius: 16px;
  background: var(--color-whte);
  justify-content: space-between;
  display: flex;
  align-items: center;
  gap: 30px;
}

.form__search-info {
  display: flex;
  gap: 16px;
  width: 100%;
}

.form__search-select {
  padding-right: 16px;
  border-right: 1px solid #d0c6bc;
}

.form__search-input {
  width: 100%;
}

.form__search-input .input {
  height: 32px;
  padding: 0px;
  width: 100%;
  border-radius: 0px;
  border: none !important;
}

.form__search-submit {
  display: flex;
  gap: 5px;
}

.form__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px 30px;
}

.form__bottom .form__btn {
  min-width: 210px;
}

.form__items {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}

.form__error {
  color: var(--color-error);
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
}

.form__title {
  color: var(--color-whte);
}

.form__mail {
  display: flex;
  gap: 8px;
}

.form__input {
  width: 100%;
  position: relative;
}

.form__submit {
  min-height: 48px;
  min-width: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.form__submit::before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  margin: 0;
  /* <-- Apparently some margin are still there even though it's hidden */
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}

input[type="number"] {
  -webkit-appearance: textfield;
  appearance: textfield;
  /* Firefox */
}

.input {
  display: block;
  width: 100%;
  padding: 20px 24px;
  border: 1px solid var(--color-whte);
  background: var(--color-whte);
  border-radius: 16px;
  height: 48px;
  font-size: 16px;
  line-height: 100%; /* 16px */
  transition: all 0.3s ease-in 0s;
  cursor: pointer;
}

.input._form-focus {
  border: 1px solid var(--color-alt);
}

.input._form-error {
  border: 1px solid var(--color-error);
}

.input::placeholder {
  font-size: 16px;
  line-height: 100%; /* 16px */
  color: var(--color-gry-dark);
}

.input[placeholder]:not([data-placeholder-nohiden])::placeholder {
  transition: opacity 0.3s;
}

.input[placeholder]:not([data-placeholder-nohiden]):focus::placeholder {
  opacity: 0;
}

textarea.input {
  padding: 0;
  resize: none;
}

/* stylelint-disable selector-class-pattern */

@layer component {
  .select {
    position: relative;
    min-width: 0;
  }
  .select__body {
    position: relative;
  }
  .select__title {
    width: 100%;
    color: inherit;
    text-align: left;
    background: var(--color-gry-whte);
    border-radius: 10px;
    cursor: pointer;
  }
  .select__value {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    height: 32px;
    padding: 4px 10px;
  }
  .select__value > * {
    flex: 1 1 auto;
  }
  .select__value::after {
    display: flex;
    flex: 0 0 24px;
    align-items: center;
    align-self: stretch;
    justify-content: center;
    transition: all 0.3s ease 0s;
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
  }
  ._select-open .select__value::after {
    transform: rotate(-180deg);
  }
  .select__value._select-pseudo-label::before {
    content: attr(data-pseudo-label);
  }
  .select__content {
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 16px;
    line-height: 100%; /* 16px */
    color: var(--color-whte);
  }
  .select__text {
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .select__input {
    width: 100%;
    height: 100%;
    background-color: transparent;
  }
  .select__options {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 100%;
    padding: 12px 20px;
    color: #000;
    background-color: var(--color-whte);
    border-radius: 8px;
    min-width: 193px;
  }
  .select__scroll {
    max-height: 200px;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }
  .select__option {
    width: 100%;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font-size: 16px;
    line-height: 100%; /* 16px */
    color: #485256;
    transition: all 0.3s ease-in 0s;
    padding: 12px 0px;
  }
  .select__option:not(:last-child) {
    border-bottom: 1px solid #e4dccc;
  }
  .select__option._select-selected {
    background-color: var(--color-alt);
  }
  .select__row {
    display: inline-flex;
    align-items: center;
  }
  .select--show-top .select__options {
    top: auto;
    bottom: calc(100% - 1px);
    padding: 5px 0 10px;
    border: 1px solid var(--color-bg);
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
  }
  ._select-tag {
    cursor: pointer;
  }
}

.checkbox {
  position: relative;
}

.checkbox._form-error .form__error {
  display: none;
}

.checkbox._form-error .checkbox__label::before {
  border: 1px solid var(--color-error);
}

.checkbox__input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.checkbox__input:checked + .checkbox__label::before {
  background: var(--color-alt);
  border: 1px solid var(--color-alt);
}

.checkbox__input:checked + .checkbox__label::after {
  opacity: 1;
}

.checkbox__label {
  position: relative;
  display: inline-flex;
  gap: 10px;
  cursor: pointer;
  padding-left: 28px;
}

.checkbox__label::before {
  flex: 0 0 16px;
  align-self: flex-start;
  width: 16px;
  height: 16px;
  border: 1px solid rgba(var(--color-whte--rgb), 0.5);
  border-radius: 4px;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  transition: all 0.3s ease-in 0s;
}

.checkbox__label::after {
  content: "";
  mask: url("/img/icons/45.svg") center center/contain no-repeat;
  -webkit-mask: url("/img/icons/45.svg") center center/contain no-repeat;
  width: 13px;
  height: 13px;
  background: var(--color-whte);
  position: absolute;
  top: 1px;
  left: 1px;
  transition: all 0.3s ease-in 0s;
  opacity: 0;
}

.checkbox__text {
  align-self: center;
  color: rgba(var(--color-whte--rgb), 0.5);
  display: inline;
}

.checkbox__text a {
  display: inline;
  color: var(--color-alt);
  transition: all 0.3s ease-in 0s;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.pagination__arrow {
  --size: 60px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease-in 0s;
}

.pagination__arrow::before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: #939ca1;
  --size: 24px;
  width: var(--size);
  height: var(--size);
  transition: all 0.3s ease-in 0s;
}

.pagination__arrow._disabled {
  opacity: 0;
  pointer-events: none;
}

.pagination__list {
  display: flex;
  gap: 2px;
}

.pagination__item {
  --size: 60px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  font-size: 16px;
  line-height: 100%; /* 16px */
  color: #939ca1;
  transition: all 0.3s ease-in 0s;
}

.pagination__item.active {
  color: #121313;
  background: #ede8df;
}

/* stylelint-disable selector-class-pattern */

@layer component {
  .spollers__item {
    padding: 16px 0px;
    border-top: 1px solid rgba(var(--color-blck--rgb), 0.1);
  }
  .spollers__item:first-child {
    padding-top: 0;
    border-top: none;
  }
  .spollers__item:last-child {
    border-bottom: 1px solid rgba(var(--color-blck--rgb), 0.1);
  }
  .spollers__title {
    position: relative;
    width: 100%;
    text-align: left;
    list-style: none;
    outline: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    font-family: var(--font-secondary);
    font-weight: 500;
    line-height: 120%;
  }
  .spollers__title span {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    position: relative;
    border-radius: 50%;
    background: var(--color-whte);
  }
  .spollers__title span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 2px;
    background: var(--color-primary);
    transition: all 0.3s ease-in 0s;
  }
  .spollers__title span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 16px;
    background: var(--color-primary);
    transition: all 0.3s ease-in 0s;
  }
  .spollers__title::marker,
  .spollers__title::-webkit-details-marker {
    display: none;
  }
  ._spoiler-init .spollers__title {
    cursor: pointer;
  }
  ._spoiler-init .spollers__title::before,
  ._spoiler-init .spollers__title::after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 2px;
    background-color: currentColor;
    transition: transform 0.5s ease-in 0s;
    content: "";
  }
  ._spoiler-init .spollers__title::before {
    transform: translate(-75%, -50%) rotate(40deg);
  }
  ._spoiler-init .spollers__title::after {
    transform: translate(0, -50%) rotate(-40deg);
  }
  .spollers__title._spoller-active span::after {
    content: "";
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .spollers__description {
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .spollers__img.spollers__img--mobile {
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 1/1;
    margin-top: 16px;
  }
  .spollers__img.spollers__img--mobile img,
  .spollers__img.spollers__img--mobile picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
}

/* stylelint-enable*/

/* UTILS
---------------------------- */

/* stylelint-disable-next-line scss/percent-placeholder-pattern */

.header {
  position: fixed;
  top: 5px;
  left: 0;
  width: 100%;
  z-index: calc(var(--index-3) + 1);
}

.header._scroll .header__inner,
.header._like_scroll .header__inner
{
  background: var(--color-whte);
}

.header._scroll .menu__logo img,
.header._like_scroll .menu__logo img,
.header._scroll .menu__logo picture,
.header._like_scroll .menu__logo picture
{
  filter: brightness(1) invert(0);
}

.header._scroll .menu__btn span,
.header._like_scroll .menu__btn span,
.header._scroll .menu__btn::before,
.header._like_scroll .menu__btn::before,
.header._scroll .menu__btn::after,
.header._like_scroll .menu__btn::after
{
  background-color: var(--color-primary);
}

.header._scroll .menu__item,
.header._like_scroll .menu__item {
  color: var(--color-primary);
}

.header._scroll .menu__item::after,
.header._like_scroll .menu__item::after
{
  content: "";
  background: var(--color-primary);
}

.header._scroll .menu__item._active,
.header._like_scroll .menu__item._active
{
  color: var(--color-alt);
}

.header._scroll .menu__item._active::after,
.header._like_scroll .menu__item._active::after {
  content: "";
  background: var(--color-alt);
}

.header._scroll .menu__phone,
.header._like_scroll .menu__phone {
  color: var(--color-primary);
}

.header._scroll .menu__favorites::before,
.header._like_scroll .menu__favorites::before {
  content: "";
  background: var(--color-primary);
}

.header.header--two .header__inner {
  background: var(--color-whte);
}

.header.header--two .menu__logo img,
.header.header--two .menu__logo picture {
  filter: brightness(1) invert(0);
}

.header.header--two .menu__btn span,
.header.header--two .menu__btn::before,
.header.header--two .menu__btn::after {
  background-color: var(--color-primary);
}

.header.header--two .menu__item {
  color: var(--color-primary);
}

.header.header--two .menu__item::after {
  content: "";
  background: var(--color-primary);
}

.header.header--two .menu__item._active {
  color: var(--color-alt);
}

.header.header--two .menu__item._active::after {
  content: "";
  background: var(--color-alt);
}

.header.header--two .menu__phone {
  color: var(--color-primary);
}

.header.header--two .menu__favorites::before {
  content: "";
  background: var(--color-primary);
}

.header._active .header__inner {
  background: var(--color-whte);
}

.header._active .menu__logo img,
.header._active .menu__logo picture {
  filter: brightness(1) invert(0);
}

.header._active .menu__item {
  color: var(--color-primary);
}

.header._active .menu__item::after {
  content: "";
  background: var(--color-primary);
}

.header._active .menu__item._active {
  color: var(--color-alt);
}

.header._active .menu__item._active::after {
  content: "";
  background: var(--color-alt);
}

.header._active .menu__phone {
  color: var(--color-primary);
}

.header._active .menu__favorites::before {
  content: "";
  background: var(--color-primary);
}

.header__inner {
  border-radius: 20px;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  background: rgba(var(--color-whte--rgb), 0.1);
  padding: 18px 24px 0px;
  transition: all 0.3s ease-in 0s;
  overflow: hidden;
}

.menu__constructor {
  display: flex;
  align-items: center;
  gap: 63px;
}

.menu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 18px;
}

.menu__logo {
  width: 98.4px;
  height: 40.2px;
  flex: 0 0 98.4px;
}

.menu__logo img,
.menu__logo picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  filter: brightness(0) invert(1);
  transition: all 0.3s ease-in 0s;
}

.menu__items {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
}

.menu__item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 550;
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}

.menu__item::after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  margin-top: -2px;
  transition: all 0.3s ease-in 0s;
}

.menu__item.menu__item--mobile._active::after {
  content: "";
  transform: rotate(0deg);
}

.menu__item._active::after {
  content: "";
  transform: rotate(180deg);
}

.menu__info {
  display: flex;
  align-items: center;
  gap: 30px;
}

.menu__phone {
  font-weight: 550;
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
  white-space: nowrap;
}

.menu__favorites {
  position: relative;
}

.menu__favorites::before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}

.menu__favorites span {
  --size: 8px;
  width: var(--size);
  height: var(--size);
  background: var(--color-alt);
  display: flex;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: -5px;
  transition: all 0.3s ease-in 0s;
}

.menu__link {
  display: flex;
  align-items: center;
  gap: 10px;
}

.menu__link::before {
  content: "";
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
}

.block-menu {
  overflow: auto;
  max-height: calc(100dvh - 148px);
}

.block-menu::-webkit-scrollbar {
  display: none;
}

.block-menu__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding-bottom: 12px;
  padding-top: 10px;
}

.block-menu__back {
  font-weight: 550;
  display: flex;
  align-items: center;
  gap: 4px;
}

.block-menu__back::before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-primary);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  margin-top: -2px;
}

.block-menu__content {
  display: flex;
  flex-direction: column;
  gap: 23px;
}

.block-menu__row {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}

.block-menu__row.block-menu__row--two {
  grid-template-columns: 1fr;
}

.block-menu__row.block-menu__row--two .block-menu__column .block-menu__items {
  grid-template-columns: repeat(2, 1fr);
}

.block-menu__row.block-menu__row--three {
  grid-template-columns: repeat(1, 1fr);
}

.block-menu__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.block-menu__column.block-menu__column--big .block-menu__items {
  grid-template-columns: repeat(2, 1fr) !important;
}

.block-menu__category {
  font-family: var(--font-secondary);
}

.block-menu__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 20px;
}

.block-menu__item {
  display: flex;
  align-items: center;
  gap: 16px;
  transition: all 0.3s ease-in 0s;
}

.block-menu__img {
  border-radius: 16px;
  overflow: hidden;
  --size: 48px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}

.block-menu__img img,
.block-menu__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in 0s;
}

.block-menu__name {
  transition: all 0.3s ease-in 0s;
}

.block-menu__info {
  padding-top: 23px;
  border-top: 1px solid rgba(var(--color-primary--rgb), 0.2);
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.block-menu__title {
  font-family: var(--font-secondary);
}

.block-menu__blocks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 5px;
}

.block-menu__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.block-menu__list a {
  transition: all 0.3s ease-in 0s;
}

.block-menu__all {
  color: var(--color-alt);
  display: flex;
  align-items: center;
  gap: 0px;
  margin-top: -5px;
}

.block-menu__all::after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-alt);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  margin-top: -2px;
  transition: all 0.3s ease-in 0s;
}

.offer-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.offer-block.offer-block--two {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.offer-block__column {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: var(--bg);
  padding: 20px;
  min-height: 193px;
  display: flex;
  flex-direction: column;
}

.offer-block__info {
  display: flex;
  flex-direction: column;
  gap: 30px;
  color: var(--color-whte);
  position: relative;
  z-index: 3;
  height: 100%;
}

.offer-block__title {
  font-family: var(--font-secondary);
}

.offer-block__text {
  margin-top: auto;
}

.offer-block__decor {
  position: absolute;
  width: 325px;
  height: 299px;
  top: 9px;
  right: 11px;
  z-index: 2;
}

.offer-block__decor img,
.offer-block__decor picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.offer-block__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.offer-block__img img,
.offer-block__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in 0s;
}

.offer-block__socials {
  display: flex;
  gap: 8px;
}

.offer-block__social {
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--bg);
  border-radius: 8px;
  width: 100%;
}

.offer-block__social::before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 19px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}

.icon-menu {
  position: relative;
  z-index: 5;
  display: block;
  width: 24px;
  height: 24px;
}

.icon-menu span,
.icon-menu::before,
.icon-menu::after {
  content: "";
  position: absolute;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}

.icon-menu::before {
  top: 4px;
}

.icon-menu::after {
  bottom: 4px;
}

.icon-menu span {
  top: calc(50% - 1px);
}

.menu-open .icon-menu span {
  width: 0;
}

.menu-open .icon-menu::before {
  top: calc(50% - 1px);
  transform: rotate(-45deg);
}

.menu-open .icon-menu::after {
  bottom: calc(50% - 1px);
  transform: rotate(45deg);
}

.mobile-header {
  position: relative;
}

.mobile-header__inner {
  display: flex;
  flex-direction: column;
}

.mobile-header__list {
  display: flex;
  flex-direction: column;
}

.mobile-header__item:not(:last-child) .mobile-header__link {
  border-bottom: 1px solid rgba(var(--color-blck--rgb), 0.2);
}

.mobile-header__link {
  padding: 16px 0px 15px;
  width: 100%;
  font-weight: 550;
}

body:has(header._active)::after {
  content: "";
  opacity: 1;
}

body:has(header._active) .icon-menu span,
body:has(header._active) .icon-menu::before,
body:has(header._active) .icon-menu::after {
  content: "";
  background-color: var(--color-primary);
}

.footer {
  padding: 40px 0px 16px;
  background: var(--color-bg-secondary);
}

.footer__container {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 30px;
}

.footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.top-footer {
  padding-bottom: 31px;
  border-bottom: 1px solid rgba(var(--color-whte--rgb), 0.2);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.top-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.top-footer__logo {
  width: 141.95px;
  height: 57.832px;
}

.top-footer__logo img,
.top-footer__logo picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.top-footer__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.top-footer__item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.top-footer__category {
  color: #939ca1;
  font-family: var(--font-secondary);
}

.top-footer__value {
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}

.content-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.content-footer__row {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}

.content-footer__row.content-footer__row--big {
  grid-template-columns: repeat(1, 1fr);
}

.content-footer__row.content-footer__row--big .content-footer__column {
  max-width: 100%;
}

.content-footer__row:not(:last-child) {
  padding-bottom: 31px;
  border-bottom: 1px solid rgba(var(--color-whte--rgb), 0.2);
}

.content-footer__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.content-footer__title {
  color: #939ca1;
  font-family: var(--font-secondary);
}

.content-footer__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px 24px;
}

.content-footer__item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.content-footer__img {
  border-radius: 16px;
  overflow: hidden;
  --size: 48px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}

.content-footer__img img,
.content-footer__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.3s ease-in 0s;
}

.content-footer__text {
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}

.content-footer__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 9px;
}

.content-footer__block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.content-footer__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.content-footer__link {
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}

.content-footer__link.content-footer__link--all {
  display: flex;
  align-items: center;
  color: var(--color-alt);
}

.content-footer__link.content-footer__link--all::after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-alt);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}

.info-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.info-footer__row {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.info-footer__column {
  position: relative;
  height: 100%;
}

.info-footer__info {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  min-height: 192px;
  padding: 20px;
  height: 100%;
}

.info-footer__title {
  color: var(--color-whte);
  font-family: var(--font-secondary);
  font-weight: 500;
}

.info-footer__link {
  color: var(--color-whte);
  display: flex;
  align-items: center;
  gap: 8px;
}

.info-footer__link::after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}

.info-footer__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}

.info-footer__img img,
.info-footer__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in 0s;
}

.info-footer__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 30px;
  background: rgba(var(--color-whte--rgb), 0.15);
  padding: 24px;
}

.bottom-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 46px;
}

.bottom-footer__links {
  display: flex;
  gap: 8px;
}

.bottom-footer__link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: var(--bg);
  padding: 10px;
  min-height: 40px;
}

.bottom-footer__link::before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 19px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}

.bottom-footer__info {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  color: #939ca1;
}

.bottom-footer__page {
  transition: all 0.3s ease-in 0s;
}

.bottom-footer__company {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bottom-footer__studio {
  line-height: 140%;
}

.bottom-footer__logo {
  width: 49px;
  height: 20px;
  transform: translate(0px, -2px);
}

.bottom-footer__logo img,
.bottom-footer__logo picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* stylelint-disable*/

@layer component {
  .btn-2 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    max-width: max-content;
    padding: 13px;
    border-radius: 16px;
    background: var(--color-alt);
    color: var(--color-whte) !important;
    transition: all 0.3s ease-in 0s;
  }
}

@layer mod {
  .btn--two {
    background: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  .btn--whte {
    background: var(--color-whte);
    color: var(--color-primary);
  }
  .btn--border {
    background: transparent;
    border: 1px solid var(--color-whte);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  .btn--three {
    background: var(--color-success);
  }
}

@layer base {
  .header__container {
    --pad: 16px;
    box-sizing: border-box;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 var(--pad) !important;
  }
}

/* stylelint-enable*/

@media only screen and (min-width: 620px) {
  .form__items {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-menu__row.block-menu__row--two .block-menu__column .block-menu__items {
    grid-template-columns: repeat(3, 1fr);
  }
  .block-menu__column.block-menu__column--big .block-menu__items {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .block-menu__items {
    grid-template-columns: repeat(3, 1fr);
  }
  .block-menu__blocks {
    grid-template-columns: repeat(3, 1fr);
  }
  .top-footer__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only screen and (min-width: 767.98px) {
  @layer component {
    .spollers__img.spollers__img--mobile {
      aspect-ratio: 2/1;
    }
  }
  .content-footer__row {
    grid-template-columns: repeat(2, 1fr);
  }
  .content-footer__blocks {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .bottom-footer__info {
    gap: 30px;
  }
  .bottom-footer__company {
    padding-right: 22px;
    gap: 18px;
  }
  @layer base {
    .header__container {
      --pad: 30px;
    }
  }
}

@media only screen and (min-width: 991.98px) {
  @layer base {
    .header__container {
      max-width: 85.42vw;
      --pad: 60px;
    }
  }
  @layer component {
    .popup__content {
      max-width: 46.88vw;
      border-radius: 1.04vw;
    }
  }
  .popup--gallery .plan__body .plan__container {
    max-width: 85.42vw;
  }
  .popup--video .popup__close {
    top: 24px;
    right: 24px;
  }
  .form__callback-input .input {
    height: 2.6vw;
    border-radius: 0.83vw 0px 0px 0.83vw;
    font-size: 0.94vw;
    padding: 0.83vw 1.25vw;
  }
  .form__callback-input .input::placeholder {
    font-size: 0.94vw;
  }
  .form__callback-btn {
    min-width: 10.83vw;
    border-radius: 0px 0.83vw 0.83vw 0px;
  }
  .form__search {
    max-width: 52.29vw;
    gap: 0.52vw;
  }
  .form__search-inner {
    padding: 0.83vw 0.83vw 0.83vw 1.25vw;
    border-radius: 0.83vw;
  }
  .form__search-select {
    padding-right: 0.83vw;
    border-right: 0.05vw solid #d0c6bc;
  }
  .form__search-input .input {
    height: 1.67vw;
  }
  .form__search-submit {
    padding: 0.89vw;
    min-width: 9.84vw;
    gap: 0.26vw;
  }
  .form__bottom {
    gap: 1.04vw 1.56vw;
  }
  .form__bottom .form__btn {
    min-width: 10.94vw;
  }
  .form__items {
    gap: 0.83vw;
  }
  .form__error {
    top: calc(100% + 0.21vw);
    font-size: 0.73vw;
  }
  .form__mail {
    gap: 0.42vw;
  }
  .form__submit {
    min-height: 2.92vw;
    min-width: 4.17vw;
  }
  .form__submit::before {
    --size: 1.25vw;
  }
  .input {
    height: 2.92vw;
    padding: 1.04vw 1.25vw;
    border-radius: 0.83vw;
  }
  .input {
    font-size: 0.83vw;
  }
  .input::placeholder {
    font-size: 0.83vw;
  }
  @layer component {
    .select__value {
      gap: 0.52vw;
      height: 1.67vw;
      padding: 0.21vw 0.52vw;
    }
  }
  @layer component {
    .select__value::after {
      flex: 0 0 1.25vw;
    }
  }
  @layer component {
    .select__content {
      font-size: 0.83vw;
    }
  }
  @layer component {
    .select__options {
      min-width: 10.05vw;
      border-radius: 0.42vw;
      top: calc(100% + 0.42vw);
      padding: 0.63vw 1.04vw;
    }
  }
  @layer component {
    .select__scroll {
      max-height: 10.42vw;
    }
  }
  @layer component {
    .select__option {
      padding: 0.63vw 0px;
      font-size: 0.83vw;
    }
  }
  @layer component {
    .select__option:not(:last-child) {
      border-bottom: 0.05vw solid #e4dccc;
    }
  }
  .checkbox__label {
    padding-left: 1.46vw;
  }
  .checkbox__label::before {
    width: 0.83vw;
    height: 0.83vw;
    flex: 0 0 0.83vw;
    border-radius: 0.21vw;
  }
  .checkbox__label::after {
    top: 0.05vw;
    left: 0.05vw;
    width: 0.68vw;
    height: 0.68vw;
  }
  .pagination {
    gap: 0.1vw;
  }
  .pagination__arrow {
    --size: 3.13vw;
  }
  .pagination__arrow::before {
    --size: 1.25vw;
  }
  .pagination__list {
    gap: 0.1vw;
  }
  .pagination__item {
    --size: 3.13vw;
    border-radius: 0.42vw;
    font-size: 0.83vw;
  }
  @layer component {
    .spollers__item {
      padding: 1.25vw 0px;
    }
  }
  @layer component {
    .spollers__title {
      gap: 1.56vw;
    }
  }
  @layer component {
    .spollers__title span {
      --size: 2.81vw;
    }
  }
  @layer component {
    .spollers__title span::before {
      width: 1.25vw;
    }
  }
  @layer component {
    .spollers__title span::after {
      height: 1.25vw;
    }
  }
  @layer component {
    .spollers__description {
      padding-top: 1.25vw;
      gap: 0.83vw;
    }
  }
  @layer component {
    .spollers__img.spollers__img--mobile {
      display: none;
    }
  }
  .header {
    top: 1.25vw;
  }
  .header__inner {
    padding: 0.94vw 1.25vw 0px;
    border-radius: 1.04vw;
  }
  .menu__constructor {
    gap: 3.28vw;
  }
  .menu__top {
    padding-bottom: 0.94vw;
  }
  .menu__logo {
    width: 6.96vw;
    height: 2.84vw;
    flex: 0 0 6.96vw;
  }
  .menu__items {
    min-width: 28.49vw;
    gap: 2.08vw;
  }
  .menu__item::after {
    --size: 1.25vw;
    gap: 0.31vw;
  }
  .menu__info {
    gap: 1.56vw;
  }
  .menu__favorites::before {
    --size: 1.25vw;
  }
  .menu__favorites span {
    --size: 0.42vw;
    right: -0.26vw;
  }
  .menu__link {
    padding: 0.52vw 1.25vw;
    border-radius: 2.6vw;
    gap: 0.52vw;
  }
  .menu__link::before {
    --size: 1.25vw;
  }
  .menu__blocks {
    position: relative;
  }
  .block-menu {
    max-height: calc(100dvh - 7.71vw);
  }
  .block-menu__inner {
    grid-template-columns: 1fr 22.86vw;
    padding-top: 1.67vw;
    border-top: 0.05vw solid rgba(var(--color-primary--rgb), 0.2);
    padding-bottom: 1.25vw;
    gap: 1.25vw;
  }
  .block-menu__inner.block-menu__inner--two {
    grid-template-columns: 29.27vw 1fr;
  }
  .block-menu__inner.block-menu__inner--two .block-menu__offer {
    margin-top: auto;
  }
  .block-menu__back {
    display: none;
  }
  .block-menu__content {
    gap: 1.67vw;
  }
  .block-menu__row {
    gap: 1.25vw;
  }
  .block-menu__row {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-menu__row.block-menu__row--two {
    grid-template-columns: 17.71vw 1fr;
  }
  .block-menu__row.block-menu__row--two .block-menu__column .block-menu__items {
    grid-template-columns: repeat(1, 1fr);
  }
  .block-menu__column {
    gap: 1.67vw;
  }
  .block-menu__items {
    gap: 1.25vw;
  }
  .block-menu__items {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-menu__item {
    gap: 0.83vw;
  }
  .block-menu__img {
    --size: 3.33vw;
    border-radius: 0.83vw;
  }
  .block-menu__info {
    padding-top: 1.61vw;
    gap: 1.67vw;
  }
  .block-menu__blocks {
    gap: 24px;
  }
  .block-menu__blocks {
    grid-template-columns: repeat(4, 1fr);
  }
  .block-menu__list {
    gap: 1.25vw;
  }
  .block-menu__all {
    margin-top: -0.26vw;
  }
  .block-menu__all::after {
    --size: 1.25vw;
    margin-top: -0.1vw;
  }
  .offer-block {
    gap: 0.83vw;
  }
  .offer-block__column {
    min-height: 12.86vw;
    padding: 1.56vw;
    border-radius: 1.04vw;
  }
  .offer-block__decor {
    width: 16.93vw;
    height: 15.57vw;
    top: 0.47vw;
    right: 0.57vw;
  }
  .offer-block__socials {
    gap: 0.42vw;
  }
  .offer-block__social {
    padding: 0.52vw;
    border-radius: 0.42vw;
  }
  .offer-block__social::before {
    --size: 0.99vw;
  }
  .icon-menu {
    display: none;
  }
  .footer {
    padding: 2.08vw 0px 2.08vw;
  }
  .footer__inner {
    grid-template-columns: 1fr 25.05vw;
  }
  .top-footer {
    border-bottom: 0.05vw solid rgba(var(--color-whte--rgb), 0.2);
  }
  .top-footer__inner {
    grid-template-columns: 18.65vw 1fr;
    gap: 1.56vw;
  }
  .top-footer__logo {
    width: 10.87vw;
    height: 4.43vw;
  }
  .top-footer__items {
    gap: 1.56vw;
  }
  .top-footer__item {
    gap: 0.52vw;
  }
  .content-footer__inner {
    gap: 1.67vw;
  }
  .content-footer__row {
    gap: 1.56vw;
  }
  .content-footer__row:not(:last-child) {
    padding-bottom: 1.61vw;
    border-bottom: 0.05vw solid rgba(var(--color-whte--rgb), 0.2);
  }
  .content-footer__column {
    gap: 1.67vw;
  }
  .content-footer__items {
    gap: 1.25vw 1.25vw;
  }
  .content-footer__item {
    gap: 0.83vw;
  }
  .content-footer__img {
    --size: 3.33vw;
    border-radius: 0.83vw;
  }
  .content-footer__blocks {
    gap: 1.25vw;
  }
  .content-footer__block {
    gap: 0.63vw;
  }
  .content-footer__list {
    gap: 1.25vw;
  }
  .content-footer__link.content-footer__link--all::after {
    --size: 1.25vw;
  }
  .info-footer__inner {
    gap: 1.56vw;
  }
  .info-footer__row {
    gap: 1.56vw;
  }
  .info-footer__info {
    min-height: 14.11vw;
    padding: 1.56vw;
  }
  .info-footer__title br {
    display: none;
  }
  .info-footer__link {
    gap: 0.42vw;
  }
  .info-footer__link::after {
    --size: 1.25vw;
  }
  .info-footer__img {
    border-radius: 1.04vw;
  }
  .info-footer__form {
    padding: 1.67vw;
    gap: 1.25vw;
  }
  .bottom-footer__links {
    gap: 0.42vw;
  }
  .bottom-footer__link {
    min-height: 2.08vw;
    padding: 0.52vw;
    border-radius: 0.42vw;
  }
  .bottom-footer__link::before {
    --size: 0.99vw;
  }
  .bottom-footer__company {
    padding-right: 1.15vw;
    gap: 0.94vw;
  }
  @layer component {
    .btn-2 {
      padding: 0.83vw;
      border-radius: 0.83vw;
    }
  }
}

@media only screen and (max-width: 991.98px) and (min-width: 991.98px) {
  .form__search-select .select__value {
    width: 2.29vw;
  }
}

@media only screen and (min-width: 1365.98px) {
  .footer {
    padding: 7.29vw 0px 2.08vw;
  }
  .footer__container {
    gap: 3.13vw;
  }
  .top-footer {
    padding-bottom: 3.13vw;
  }
  .content-footer__column {
    max-width: 20.42vw;
  }
}

@media (max-width: 991.98px) {
  :root {
    --spacing: 80px;
  }
}

@media (max-width: 767.98px) {
  :root {
    --spacing: 60px;
  }
}

@media only screen and (max-width: 991.98px) {
  .popup--gallery .plan__slider {
    width: 100%;
  }
  .form__callback-input .input {
    font-size: 16px;
    line-height: 100%; /* 16px */
  }
  .form__callback-input .input::placeholder {
    font-size: 16px;
    line-height: 100%; /* 16px */
  }
  .form__search-select .select__content {
    display: none;
  }
  .form__search-select .select__value {
    width: 44px;
  }
  .form__title {
    font-size: 18px;
    line-height: 130%;
  }
  .pagination__arrow {
    --size: 48px;
  }
  .pagination__item {
    --size: 48px;
  }
  .header._scroll, .header._like_scroll .menu__phone {
    background: var(--color-primary);
  }
  .header.header--two .menu__phone {
    background: var(--color-primary);
  }
  .header._active .menu__phone {
    background: var(--color-primary);
  }
  .header__container {
    padding: 0px 5px;
  }
  .menu__items {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0px;
  }
  .menu__item.menu__item--mobile {
    display: none;
  }
  .menu__item {
    padding: 16px 0px 15px;
    color: var(--color-primary);
    border-bottom: 1px solid rgba(var(--color-blck--rgb), 0.2);
    width: 100%;
    justify-content: space-between;
    font-size: 18px;
  }
  .menu__item::after {
    content: "";
    background: var(--color-primary);
    transform: rotate(-90deg);
  }
  .menu__phone span {
    display: none;
  }
  .menu__phone {
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    transition: all 0.3s ease-in 0s;
  }
  .menu__link {
    margin-top: 16px;
    font-size: 18px;
    padding: 10px;
  }
  .block-menu {
    position: absolute;
    top: 0;
    background: var(--color-whte);
    width: 100%;
    z-index: 7;
    height: 100%;
  }
  .block-menu__row.block-menu__row--three .block-menu__items {
    grid-template-columns: repeat(4, 1fr);
  }
  .block-menu__item {
    font-size: 14px;
  }
  .block-menu__name {
    font-size: 14px;
  }
  .block-menu__all {
    font-size: 14px;
  }
  .offer-block__text {
    font-size: 14px;
    line-height: 140%; /* 19.6px */
  }
  .offer-block__decor {
    width: 228px;
    height: 210px;
    top: -11px;
    right: -8px;
  }
  .mobile-header {
    max-height: calc(100dvh - 148px);
    overflow: auto;
    padding-bottom: 11px;
  }
  .mobile-header::-webkit-scrollbar {
    display: none;
  }
  .mobile-header:has(.block-menu._active) {
    overflow: hidden;
  }
  .top-footer__category {
    font-size: 18px;
    line-height: 120%;
  }
  .content-footer__title {
    font-size: 18px;
  }
  .content-footer__text {
    font-size: 14px;
    line-height: 140%;
  }
  .content-footer__link {
    font-size: 14px;
    line-height: 140%;
  }
  .info-footer__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .info-footer__link {
    font-size: 16px;
  }
}

@media only screen and (max-width: 620px) {
  .form__search-submit {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    padding: 13px;
    font-size: 16px;
  }
  .form__bottom {
    flex-direction: column;
    gap: 8px 30px;
  }
  .form__bottom .form__btn {
    max-width: 100%;
    width: 100%;
  }
  .top-footer__item.top-footer__item--big {
    grid-column-start: span 2;
  }
  .top-footer__value br {
    display: none;
  }
}

@media (any-hover: hover) {
  .input:hover {
    border: 1px solid var(--color-alt);
  }
  @layer component {
    .select__option:hover {
      color: var(--color-alt);
    }
  }
  .checkbox__text a:hover {
    color: var(--color-whte);
  }
  .pagination__arrow:hover::before {
    content: "";
    background: #121313;
  }
  .pagination__item:hover {
    color: #121313;
  }
  .header._scroll .menu__item:hover,
  .header._like_scroll .menu__item:hover {
    color: var(--color-alt);
  }
  .header._scroll .menu__item:hover::after,
  .header._like_scroll .menu__item:hover::after {
    content: "";
    background: var(--color-alt);
  }
  .header._scroll .menu__phone:hover,
  .header._like_scroll .menu__phone:hover {
    color: var(--color-alt);
  }
  .header._scroll .menu__favorites:hover::before,
  .header._like_scroll .menu__favorites:hover::before {
    content: "";
    background: var(--color-alt);
  }
  .header._scroll .menu__favorites:hover span,
  .header._like_scroll .menu__favorites:hover span {
    background: var(--color-alt-hover);
  }
  .header.header--two .menu__item:hover {
    color: var(--color-alt);
  }
  .header.header--two .menu__item:hover::after {
    content: "";
    background: var(--color-alt);
  }
  .header.header--two .menu__phone:hover {
    color: var(--color-alt);
  }
  .header.header--two .menu__favorites:hover::before {
    content: "";
    background: var(--color-alt);
  }
  .header.header--two .menu__favorites:hover span {
    background: var(--color-alt-hover);
  }
  .menu__item:hover {
    color: var(--color-alt);
  }
  .menu__item:hover::after {
    content: "";
    background: var(--color-alt);
  }
  .menu__phone:hover {
    color: var(--color-alt);
  }
  .menu__favorites:hover::before {
    content: "";
    background: var(--color-alt);
  }
  .menu__favorites:hover span {
    background: var(--color-whte);
  }
  .block-menu__item:hover .block-menu__img img,
  .block-menu__item:hover .block-menu__img picture {
    transform: scale(1.1);
  }
  .block-menu__item:hover .block-menu__name {
    color: var(--color-alt);
  }
  .block-menu__list a:hover {
    color: var(--color-alt);
  }
  .block-menu__all:hover {
    color: var(--color-alt);
  }
  .block-menu__all:hover::after {
    content: "";
    transform: translate(5px, 0px);
  }
  .offer-block__column:hover .offer-block__img img,
  .offer-block__column:hover .offer-block__img picture {
    transform: scale(1.1);
  }
  .offer-block__social:hover::before {
    content: "";
    transform: scale(1.1);
  }
  .top-footer__item a:hover {
    color: var(--color-alt);
  }
  .content-footer__item:hover .content-footer__img img,
  .content-footer__item:hover .content-footer__img picture {
    transform: scale(1.1);
  }
  .content-footer__item:hover .content-footer__text {
    color: var(--color-alt);
  }
  .content-footer__link.content-footer__link--all:hover::after {
    content: "";
    transform: translate(5px, 0px);
  }
  .content-footer__link:hover {
    color: var(--color-alt);
  }
  .info-footer__column:hover .info-footer__img img,
  .info-footer__column:hover .info-footer__img picture {
    transform: scale(1.1);
  }
  .info-footer__column:hover .info-footer__link::after {
    content: "";
    transform: translate(5px, 0px);
  }
  .bottom-footer__link:hover::before {
    content: "";
    transform: scale(1.1);
  }
  .bottom-footer__page:hover {
    color: var(--color-alt);
  }
  @layer component {
    .btn-2:hover {
      background: var(--color-alt-hover);
    }
  }
  @layer mod {
    .btn--two:hover {
      background: rgba(255, 255, 255, 0.4);
    }
  }
  @layer mod {
    .btn--whte:hover {
      background: var(--color-alt);
      color: var(--color-whte);
    }
  }
  @layer mod {
    .btn--border:hover {
      background: rgba(var(--color-whte--rgb), 0.5);
      color: var(--color-primary);
    }
  }
  @layer mod {
    .btn--three:hover {
      background: var(--color-alt);
    }
  }
}

@media only screen and (max-width: 991.98px) and (any-hover: hover) {
  .menu__phone:hover {
    background: var(--color-alt);
  }
}

@media only screen and (max-width: 1365.98px) {
  .menu__link {
    max-width: 100%;
    width: 100%;
  }
  .block-menu__back {
    font-size: 18px;
  }
  .mobile-header__link {
    font-size: 18px;
  }
}

@media (any-hover: none) {
  .icon-menu {
    cursor: default;
  }
}

@media only screen and (max-width: 991.98px) and (max-width: 991.98px) {
  .mobile-header {
    margin: 0px -14px;
  }
}

@media only screen and (max-width: 767.98px) {
  .top-footer__value {
    font-size: 16px;
    line-height: 140%;
  }
  .bottom-footer__page {
    width: 100%;
    text-align: center;
  }
}

@media only screen and (max-width: 991.98px) and (max-width: 767.98px) {
  .info-footer__inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
