@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

strong, b {
  font-weight: 700;
}

:root {
  --wrapper-max-width: 1560px;
  --layout-section-margin: 56px;
  --layout-bottom-margin: 72px;
  --section-padding-main: 16px;
  --section-gap-main: 20px;
  --margin-xxs: 4px;
  --margin-xs: 8px;
  --margin-s: 12px;
  --margin-m: 16px;
  --margin-l: 20px;
  --margin-xl: 28px;
  --margin-xxl: 40px;
  --margin-3l: 48px;
  --padding-xs: 6px;
  --padding-s: 10px;
  --padding-m: 13px;
  --padding-l: 20px;
  --padding-xl: 28px;
  --padding-xxl: 36px;
}

@media (min-width: 750px) {
  :root {
    --layout-section-margin: 96px;
    --layout-bottom-margin: 120px;
    --section-padding-main: 24px;
  }
}
@media (min-width: 1280px) {
  :root {
    --section-padding-main: 40px;
    --section-gap-main: 24px;
    --margin-l: 24px;
    --margin-xl: 32px;
    --margin-xxl: 48px;
    --margin-3l: 56px;
    --padding-xs: 8px;
    --padding-s: 12px;
    --padding-m: 16px;
    --padding-l: 24px;
    --padding-xl: 32px;
    --padding-xxl: 40px;
  }
}
:root {
  --font-accent: "Tenor Sans", sans-serif;
  --font-body: "Manrope", sans-serif;
  --font-size-hero: 44px;
  --font-size-h1: 34px;
  --font-size-h2: 30px;
  --font-size-h3: 20px;
  --font-size-h4: 17px;
  --font-size-body-xl: 16px;
  --font-size-body-l: 14px;
  --font-size-body-m: 12px;
  --font-size-numbers: 48px;
  --font-size-caption: 11px;
  --font-size-btn-large: 15px;
  --font-size-btn-base: 12px;
  --font-size-tag: 8px;
}

@media (min-width: 750px) {
  :root {
    --font-size-hero: 64px;
    --font-size-h1: 52px;
    --font-size-h2: 40px;
    --font-size-h3: 20px;
    --font-size-h4: 20px;
    --font-size-body-xl: 18px;
    --font-size-body-l: 16px;
    --font-size-body-m: 14px;
    --font-size-numbers: 60px;
    --font-size-caption: 12px;
    --font-size-btn-large: 16px;
    --font-size-btn-base: 13px;
    --font-size-tag: 9px;
  }
}
@media (min-width: 1280px) {
  :root {
    --font-size-hero: 96px;
    --font-size-h1: 64px;
    --font-size-h2: 44px;
    --font-size-h3: 24px;
    --font-size-h4: 20px;
    --font-size-numbers: 72px;
  }
}
:root,
[data-theme=summer] {
  --color-white: #ffffff;
  --color-accent: #c49951;
  --color-accent-hover: #a87e38;
  --color-black-10: #f7f5f1;
  --color-black-20: #edebe6;
  --color-black-30: #dedfe0;
  --color-dark: #1f1f1f;
  --color-dark-100: #080807;
  --color-text-secondary: #909090;
  --color-text-third: #525252;
  --color-add-blue: #90c0e7;
  --color-add-pink: #e1aea3;
  --color-add-green: #94c982;
  --color-add-teal: #67abaa;
}

[data-theme=winter] {
  --color-black-10: #ebf0fa;
  --color-black-20: #e1e7f2;
  --color-dark: #193243;
  --color-text-secondary: #737b8a;
  --color-text-third: #46546e;
  --color-add-blue: #a1cff4;
  --color-add-green: #b4e1a3;
}

@font-face {
  font-family: "Manrope";
  src: url("./fonts/Manrope-Bold.woff2") format("woff2"), url("./fonts/Manrope-Bold.woff") format("woff"), url("./fonts/Manrope-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("./fonts/Manrope-Medium.woff2") format("woff2"), url("./fonts/Manrope-Medium.woff") format("woff"), url("./fonts/Manrope-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("./fonts/Manrope-Regular.woff2") format("woff2"), url("./fonts/Manrope-Regular.woff") format("woff"), url("./fonts/Manrope-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Tenor Sans";
  src: url("./fonts/TenorSans.woff2") format("woff2"), url("./fonts/TenorSans.woff") format("woff"), url("./fonts/TenorSans.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.icon {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
  fill: currentColor;
  color: var(--color-accent);
}

.icon_size_20 {
  width: 20px;
  height: 20px;
}

.icon_size_24 {
  width: 24px;
  height: 24px;
}

.icon_size_16 {
  width: 16px;
  height: 16px;
}

.icon_size_32 {
  width: 32px;
  height: 32px;
}

.icon_size_40 {
  width: 40px;
  height: 40px;
}

.icon_color_accent {
  color: var(--color-accent);
}

.icon_color_white {
  color: var(--color-white);
}

.icon_color_black {
  color: var(--color-dark);
}

.icon_color_inherit {
  color: inherit;
}

.actionbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xs);
  box-sizing: border-box;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 48px;
  padding: var(--padding-m) var(--padding-l);
  font-family: var(--font-body);
  font-size: var(--font-size-btn-base);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.91px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  appearance: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.actionbtn:disabled, .actionbtn[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.actionbtn__icon {
  flex-shrink: 0;
}

.actionbtn_variant_solid {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-white);
}
.actionbtn_variant_solid:hover {
  background-color: var(--color-accent-hover);
  border-color: var(--color-accent-hover);
}

.actionbtn_variant_add {
  background-color: rgba(31, 31, 31, 0.5);
  border-color: var(--color-accent);
  color: var(--color-white);
}
.actionbtn_variant_add:hover {
  background-color: var(--color-accent-hover);
  border-color: var(--color-accent-hover);
}

.actionbtn_variant_outlined {
  background-color: transparent;
  border-color: var(--color-accent);
  color: var(--color-text-third);
}
.actionbtn_variant_outlined:hover {
  background-color: var(--color-accent-hover);
  border-color: var(--color-accent-hover);
  color: var(--color-white);
}

.actionbtn_size_large {
  padding: var(--padding-l) var(--padding-xl);
  font-size: var(--font-size-btn-large);
  letter-spacing: 1.12px;
}

.section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xl);
  text-align: center;
}
.section-header__body {
  display: flex;
  flex-direction: column;
  align-items: inherit;
  gap: var(--margin-l);
  width: 100%;
}
.section-header__eyebrow {
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-dark);
  opacity: 0.5;
}
.section-header__title {
  margin: 0;
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.section-header__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.section-header__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--margin-xs);
  width: 100%;
}
.section-header_align_left {
  align-items: flex-start;
  text-align: left;
}
.section-header_align_left .section-header__footer {
  justify-content: flex-start;
}

.tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}
.tabs__container {
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-snap-align: start;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--margin-m);
  flex-wrap: nowrap;
}
.tabs__container::-webkit-scrollbar {
  display: none;
}
@media (min-width: 575px) {
  .tabs__container {
    justify-content: center;
  }
}
.tabs__tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 11px var(--padding-l);
  background: transparent;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  appearance: none;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-accent);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.tabs__tab:hover {
  color: var(--color-accent-hover);
}
.tabs__tab_active {
  color: var(--color-dark);
  border-bottom-color: var(--color-accent);
}
.tabs__tab_active:hover {
  color: var(--color-dark);
}
.tabs__tab-icon {
  flex-shrink: 0;
}
.tabs__tab_bp_mobile {
  display: inline-flex;
}
.tabs__tab_bp_desktop {
  display: none;
}
@media (min-width: 750px) {
  .tabs__tab_bp_mobile {
    display: none;
  }
  .tabs__tab_bp_desktop {
    display: inline-flex;
  }
}

.socialbtn {
  color: var(--color-black);
  text-decoration: none;
  transition: color 0.2s ease;
  background-color: var(--color-accent);
  border-radius: 50%;
  box-sizing: border-box;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  display: inline-flex;
  vertical-align: middle;
  aspect-ratio: 1/1;
  /* &:active {
    background-color: var(--color-accent-active);
  } */
}
.socialbtn__icon {
  font-size: 24px;
  line-height: 24px;
  width: 24px;
  height: 24px;
}
.socialbtn:hover {
  background-color: var(--color-accent-hover);
}
@media (min-width: 750px) {
  .socialbtn--size-24 {
    padding: 8px;
  }
  .socialbtn--size-32 {
    padding: 12px;
  }
  .socialbtn--size-40 {
    padding: 10px;
  }
  .socialbtn--size-48 {
    padding: 12px;
  }
}

.footer {
  --footer-wrapper-width: 1560px;
  background-color: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-body);
  padding: var(--padding-xxl) var(--section-padding-main) var(--padding-l);
}
@media (min-width: 1280px) {
  .footer {
    padding: 80px 40px 40px;
  }
}
.footer__wrapper {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 1280px) {
  .footer__wrapper {
    gap: 40px;
  }
}
.footer__top {
  display: flex;
  flex-direction: column;
  gap: 56px;
}
@media (min-width: 750px) {
  .footer__top {
    gap: 48px;
  }
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "brand brand" "nav contact";
  }
}
@media (min-width: 1280px) {
  .footer__top {
    display: grid;
    grid-template-columns: 437px 420px 300px;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }
}
@media (min-width: 1560px) {
  .footer__top {
    grid-template-columns: 437px 33vw 30vw;
  }
}
.footer__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 32px;
  width: 100%;
}
@media (min-width: 750px) {
  .footer__brand {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    text-align: left;
    gap: 40px;
  }
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__brand {
    grid-area: brand;
  }
}
@media (min-width: 1280px) {
  .footer__brand {
    flex-direction: column;
    align-items: flex-start;
    width: auto;
    flex: 0 0 437px;
    max-width: 437px;
  }
}
.footer__brand-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
}
@media (min-width: 750px) {
  .footer__brand-info {
    align-items: flex-start;
    gap: 40px;
    width: auto;
    flex: 1 1 auto;
  }
}
@media (min-width: 1280px) {
  .footer__brand-info {
    width: 100%;
    flex: initial;
  }
}
.footer__logo img {
  width: 160px;
  aspect-ratio: 10/3;
}
@media (min-width: 750px) {
  .footer__logo img {
    width: 240px;
  }
}
.footer__description {
  color: var(--color-black-30);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
}
.footer__socials {
  display: flex;
  align-items: center;
  gap: var(--section-gap-main);
  width: 100%;
}
@media (min-width: 750px) {
  .footer__socials {
    gap: 32px;
    width: auto;
    flex-shrink: 0;
  }
}
.footer__social-list {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.footer__social-item {
  width: 40px;
  height: 40px;
  padding: 8px;
}
@media (min-width: 750px) {
  .footer__social-item {
    width: 48px;
    height: 48px;
    padding: 12px;
  }
}
.footer__badge {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  aspect-ratio: 3/1;
  border-radius: 8px;
  max-width: 150px;
  overflow: hidden;
}
@media (min-width: 750px) {
  .footer__badge {
    flex: 0 0 150px;
    width: 150px;
  }
}
.footer__badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.footer__info {
  display: flex;
  flex-direction: column;
  gap: 56px;
  width: 100%;
}
@media (min-width: 750px) {
  .footer__info {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    padding-top: 24px;
  }
}
@media (min-width: 1280px) {
  .footer__info {
    flex: 1 1 auto;
    gap: 24px;
  }
}
.footer__nav {
  display: flex;
  gap: var(--section-gap-main);
  width: 100%;
}
@media (min-width: 750px) {
  .footer__nav {
    flex: 0 1 420px;
  }
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__nav {
    grid-area: nav;
  }
}
@media (min-width: 1280px) {
  .footer__nav {
    flex: 1 1 auto;
    max-width: 420px;
  }
}
@media (min-width: 1560px) {
  .footer__nav {
    max-width: 33vw;
  }
}
.footer__nav-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1 1 0;
  min-width: 0;
}
.footer__nav-title, .footer__contacts-title {
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-third);
}
.footer__nav-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.footer__nav-link {
  display: inline-block;
  padding: 8px 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
  text-decoration: none;
}
.footer__nav-link:hover {
  color: var(--color-white);
}
.footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}
@media (min-width: 750px) {
  .footer__contacts {
    flex: 0 0 300px;
    width: 300px;
  }
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__contacts {
    grid-area: contact;
    width: 100%;
  }
}
@media (min-width: 1560px) {
  .footer__contacts {
    max-width: 30vw;
    width: auto;
  }
}
.footer__address {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-white);
}
.footer__phone {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.footer__phone-link {
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-white);
  text-decoration: none;
}
.footer__phone-link:hover {
  color: var(--color-accent);
}
.footer__phone-time {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
}
.footer__email {
  display: block;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-white);
  text-decoration: none;
}
.footer__email:hover {
  color: var(--color-accent);
}
.footer__divider {
  width: 100%;
  height: 1px;
  flex-shrink: 0;
  background-color: rgba(255, 255, 255, 0.12);
}
.footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
}
@media (min-width: 750px) {
  .footer__bottom {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 32px;
    row-gap: 12px;
  }
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__bottom {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "copyright policy" "reestr policy";
    align-items: start;
  }
}
@media (min-width: 1280px) {
  .footer__bottom {
    display: grid;
    grid-template-columns: 437px 420px 300px;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
  }
}
.footer__copyright {
  white-space: nowrap;
  order: 1;
}
@media (min-width: 750px) {
  .footer__copyright {
    order: 0;
  }
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__copyright {
    grid-area: copyright;
  }
}
.footer__reestr {
  order: 0;
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__reestr {
    grid-area: reestr;
  }
}
.footer__policy-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 16px;
  order: -1;
}
@media (min-width: 750px) {
  .footer__policy-list {
    order: 0;
    margin-inline-start: auto;
  }
}
@media (min-width: 750px) and (max-width: 1279px) {
  .footer__policy-list {
    grid-area: policy;
    margin-inline-start: 0;
  }
}
@media (min-width: 1280px) {
  .footer__policy-list {
    margin-inline-start: 0;
  }
}
.footer__policy {
  color: var(--color-black-10);
  text-decoration: none;
}
.footer__policy:hover {
  color: var(--color-white);
}

.header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  font-family: var(--font-body);
  transition: transform 0.3s ease;
  pointer-events: none;
}
.header.header_open, .header.header_stuck {
  pointer-events: auto;
}
.header:not(.header_theme_hero) {
  pointer-events: auto;
}
.header_hidden {
  transform: translateY(-100%);
}
.header_open .header__bar {
  background-color: transparent;
}
.header__bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  padding: var(--margin-m) var(--section-padding-main);
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
  background-color: var(--color-white);
}
.header__bar.header-top {
  background-color: transparent;
}
@media (min-width: 1280px) {
  .header__bar {
    padding: var(--margin-l) var(--section-padding-main);
  }
}
.header__logo {
  position: relative;
  display: block;
  flex-shrink: 0;
  line-height: 0;
}
.header__logo-img {
  display: block;
  height: 32px;
  width: auto;
}
@media (min-width: 750px) {
  .header__logo-img {
    height: 40px;
  }
}
@media (min-width: 1280px) {
  .header__logo-img {
    height: 48px;
  }
}
.header__nav {
  display: none;
}
@media (min-width: 1280px) {
  .header__nav {
    display: flex;
  }
}
.header__nav .menu {
  display: flex;
  align-items: center;
  gap: var(--margin-l);
}
.header__nav .menu__item {
  padding: 8px 0;
  position: relative;
}
.header__nav .menu__item:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-36px);
  height: 36px;
  transition: transform 0.4s ease;
  width: 1px;
  background-color: var(--color-accent);
}
.header__nav .menu__item:hover {
  color: var(--color-accent);
}
.header__nav .menu__item:hover:before {
  transform: translateX(-50%) translateY(0);
}
.header__nav .menu__item.active {
  cursor: default;
}
.header__nav .menu__item.active .menu__link {
  cursor: default;
  color: var(--color-dark);
}
.header__nav .menu__item.active:before {
  background-color: var(--color-dark);
  transform: translateX(-50%) translateY(0);
}
.header__nav .menu__link {
  display: inline-block;
  padding-bottom: var(--margin-xxs);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  color: var(--color-dark);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.header__nav .menu__link:hover, .header__nav .menu__link_active {
  color: var(--color-accent);
}
.header__season-box {
  display: none;
}
@media (max-width: 749px) {
  .header__season-box {
    display: block;
    margin-top: 2px;
  }
}
.header__season {
  position: relative;
  display: none;
  flex-shrink: 0;
}
@media (max-width: 749px) {
  .header__season {
    display: none !important;
  }
}
.header__season.static {
  display: inline-flex !important;
}
.header__season.static button {
  padding: 9px 16px;
}
.header__season-toggle {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
  box-sizing: border-box;
  margin: 0;
  padding: var(--padding-s) var(--padding-m);
  background-color: rgba(31, 31, 31, 0.5);
  border: 1px solid var(--color-accent);
  border-radius: 32px;
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  cursor: pointer;
  appearance: none;
  transition: border-color 0.2s ease;
}
.header__season-toggle:hover {
  border-color: var(--color-accent-hover);
}
.header__season-label {
  flex: 1 1 auto;
  text-align: left;
}
.header__season-chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.header__season-options {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: var(--padding-xs);
  min-width: 110px;
  list-style: none;
  background-color: var(--color-dark-100);
  border: 1px solid var(--color-accent);
  border-radius: 16px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.header__season-option {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
  box-sizing: border-box;
  margin: 0;
  padding: var(--padding-xs) var(--padding-s);
  background: none;
  border: 0;
  border-radius: 12px;
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  text-align: left;
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease;
}
.header__season-option:hover {
  background-color: rgba(255, 255, 255, 0.08);
}
.header__season_open .header__season-chevron {
  transform: rotate(180deg);
}
.header__season_open .header__season-options {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.header__bar-actions {
  display: flex;
  align-items: center;
  gap: 60px;
  flex-shrink: 0;
}
.header__book {
  display: none;
}
@media (min-width: 1280px) {
  .header__book {
    display: inline-flex;
  }
}
.header__burger {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  appearance: none;
}
@media (min-width: 1280px) {
  .header__burger {
    display: none;
    width: 60px;
    height: 60px;
    gap: 12px;
  }
}
.header__burger-line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-accent);
  border-radius: 1px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.header__burger-line:nth-child(2) {
  width: 16px;
}
@media (min-width: 1280px) {
  .header__burger-line:nth-child(2) {
    width: 22px;
  }
}
.header_open .header__burger-line:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}
@media (min-width: 1280px) {
  .header_open .header__burger-line:nth-child(1) {
    transform: translateY(14px) rotate(45deg);
  }
}
.header_open .header__burger-line:nth-child(2) {
  opacity: 0;
}
.header_open .header__burger-line:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}
@media (min-width: 1280px) {
  .header_open .header__burger-line:nth-child(3) {
    transform: translateY(-14px) rotate(-45deg);
  }
}
.header_theme_hero:not(.header_stuck) {
  position: absolute;
}
@media (min-width: 1280px) {
  .header_theme_hero:not(.header_stuck) {
    padding-top: 40px;
  }
}
.header_theme_hero:not(.header_stuck) .header__nav,
.header_theme_hero:not(.header_stuck) .header__book {
  display: none !important;
}
.header_theme_hero:not(.header_stuck) .header__season {
  display: flex;
}
@media (min-width: 1280px) {
  .header_theme_hero:not(.header_stuck) .header__burger {
    display: flex;
  }
}
@media (min-width: 1280px) {
  .header_theme_hero:not(.header_stuck) .header__bar {
    background-color: transparent;
    box-shadow: none;
    color: var(--color-white);
    pointer-events: none;
  }
  .header_theme_hero:not(.header_stuck) .header__logo {
    display: none;
  }
  .header_theme_hero:not(.header_stuck) .header__bar-actions {
    margin-left: auto;
    pointer-events: auto;
  }
}
@media (max-width: 1279.98px) {
  .header_theme_hero:not(.header_stuck):not(.header_open) .header__bar {
    background-color: transparent;
    box-shadow: none;
    color: var(--color-white);
    pointer-events: none;
  }
  .header_theme_hero:not(.header_stuck):not(.header_open) .header__logo {
    display: none;
  }
  .header_theme_hero:not(.header_stuck):not(.header_open) .header__bar-actions {
    margin-left: auto;
    pointer-events: auto;
  }
  .header_theme_hero:not(.header_stuck).header_open .header__bar {
    background-color: var(--color-dark-100);
  }
}
.header_theme_hero.header_stuck .header__season {
  display: none;
}
.header__panel {
  position: fixed;
  inset: 0;
  overflow-y: auto;
  background-color: var(--color-dark-100);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.header__panel_opening, .header__panel_closing {
  pointer-events: auto;
}
.header__panel_opening {
  opacity: 1;
}
.header__panel_closing {
  opacity: 0;
}
.header__panel-logo {
  display: none;
}
@media (min-width: 750px) {
  .header__panel-logo {
    display: block;
    position: fixed;
    z-index: 3;
    top: 28px;
    left: 50%;
    transform: translateX(-50%);
    line-height: 0;
  }
}
@media (min-width: 1280px) {
  .header__panel-logo {
    top: var(--margin-l);
  }
}
.header__panel-logo img {
  display: block;
  height: 94px;
  width: auto;
}
@media (min-width: 750px) {
  .header__panel-logo img {
    height: 118px;
  }
}
@media (min-width: 1280px) {
  .header__panel-logo img {
    height: 142px;
  }
}
.header__panel-inner {
  display: flex;
  min-height: 100%;
}
@media (min-width: 1280px) {
  .header__panel-inner {
    align-items: stretch;
  }
}
.header__panel-photo {
  display: none;
  flex: 0 0 34%;
  max-width: 501px;
  height: auto;
  object-fit: cover;
  opacity: 0;
  transform: translateX(-100%);
}
@media (min-width: 1280px) {
  .header__panel-photo {
    display: block;
  }
}
.header__panel-body {
  opacity: 0;
  transform: translateX(100%);
}
.header__panel_opening .header__panel-photo {
  animation: header-panel-slide-in-left 0.8s both;
}
.header__panel_opening .header__panel-body {
  animation: header-panel-slide-in-right 0.8s both;
}
.header__panel_closing .header__panel-photo {
  animation: header-panel-slide-out-left 0.45s both;
}
.header__panel_closing .header__panel-body {
  animation: header-panel-slide-out-right 0.45s both;
}
@media (prefers-reduced-motion: reduce) {
  .header__panel, .header__panel-photo, .header__panel-body {
    animation: none !important;
    transition: opacity 0.2s ease;
    transform: none !important;
  }
  .header__panel_opening .header__panel-photo, .header__panel_opening .header__panel-body {
    opacity: 1;
  }
}
.header__panel-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--layout-section-margin);
  padding: var(--layout-section-margin) var(--section-padding-main);
  padding-top: 72px;
  justify-content: space-between;
}
@media (min-width: 750px) {
  .header__panel-body {
    padding-top: var(--layout-section-margin);
    gap: 64px;
  }
}
@media (min-width: 750px) {
  .header__panel-body {
    align-items: center;
    gap: 64px;
    padding: 229px 20px 20px 20px;
    max-width: 810px;
    margin: 0 auto;
  }
}
@media (min-width: 1280px) {
  .header__panel-body {
    padding: 229px 40px var(--layout-section-margin) 90px;
    max-width: calc(50vw + 150px);
    margin: 0 0 0 auto;
  }
}
.header__panel-nav {
  display: flex;
  gap: 40px;
  width: 100%;
}
@media (min-width: 750px) {
  .header__panel-nav {
    flex-direction: row;
    gap: 53px;
  }
}
@media (min-width: 1280px) {
  .header__panel-nav {
    justify-content: space-between;
    gap: 10px;
  }
}
.header__panel-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1 1 0;
  min-width: 0;
}
@media (min-width: 1280px) {
  .header__panel-group {
    gap: var(--padding-xxl);
  }
}
.header__panel-title {
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-third);
}
.header__panel-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.header__panel-nav .menu__link {
  display: inline-block;
  padding: var(--padding-xs) 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.2s ease;
}
.header__panel-nav .menu__link:hover {
  color: var(--color-white);
}
.header__panel-contacts {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  width: 100%;
  flex-wrap: wrap;
  border-top: 1px solid var(--color-dark);
  display: flex;
  flex-direction: column;
  border: 0;
  gap: 16px;
  /* @media (max-width: 1280px) {
    gap: var(--padding-xxl) 53px;
  }
  @media (max-width: 749px) {
    gap: var(--padding-xxl) 53px;
  } */
}
@media (min-width: 750px) {
  .header__panel-contacts {
    display: grid;
    gap: var(--padding-xxl) 10px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas: "title title" "address email";
  }
}
.header__panel-contacts .header__panel-address {
  grid-area: address;
  min-width: 0;
}
.header__panel-contacts .header__panel-email {
  grid-area: email;
}
.header__panel-contacts .header__panel-title {
  grid-area: title;
  display: none;
}
@media (min-width: 750px) {
  .header__panel-contacts .header__panel-title {
    display: block;
  }
}
.header__panel-contacts .header__panel-title {
  width: 100%;
}
.header__panel-address, .header__panel-email {
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  line-height: 1.6;
  color: var(--color-white);
}
.header__panel-address span {
  display: block;
  max-width: 200px;
}
.header__panel-email {
  text-decoration: none;
}
.header__panel-email:hover {
  color: var(--color-accent);
}
.header__panel-actions {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 750px) {
  .header__panel-actions {
    display: grid;
    gap: 0 10px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    justify-items: flex-start;
  }
}
.header__panel-body-footer {
  display: flex;
  flex-direction: column;
  gap: var(--layout-section-margin);
  width: 100%;
}
@media (min-width: 750px) {
  .header__panel-body-footer {
    gap: 40px;
  }
}
.header__panel-body-head {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}
@media (min-width: 750px) {
  .header__panel-body-head {
    gap: var(--layout-section-margin);
  }
}
.header__panel-book {
  width: 100%;
  justify-content: center;
}
.header__panel-book--mobile {
  display: flex;
  color: var(--color-white);
}
@media (min-width: 750px) {
  .header__panel-book {
    width: auto;
  }
  .header__panel-book--mobile {
    display: none;
  }
}
.header__panel-social {
  display: flex;
  align-items: center;
  gap: var(--margin-l);
  margin-top: 40px;
}
@media (min-width: 750px) {
  .header__panel-social {
    margin-top: 0;
  }
}
.header__panel-legal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-text-secondary);
}
@media (min-width: 1280px) {
  .header__panel-legal {
    display: none;
  }
}
.header__panel-policy {
  color: inherit;
  text-decoration: none;
}
.header__panel-policy:hover {
  color: var(--color-white);
}

html.has-locked-scroll {
  overflow: hidden;
}

@keyframes header-panel-slide-in-left {
  0% {
    animation-timing-function: ease-out;
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateX(0);
  }
  /* 65% {
    animation-timing-function: linear;
    transform: translateX(28px);
  }
  100% {
    animation-timing-function: ease-out;
    transform: translateX(0);
    opacity: 1;
  } */
}
@keyframes header-panel-slide-in-right {
  0% {
    animation-timing-function: ease-out;
    opacity: 0;
    transform: translateX(100%);
  }
  45% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateX(0);
  }
  65% {
    animation-timing-function: linear;
    transform: translateX(-28px);
  }
  100% {
    animation-timing-function: ease-out;
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes header-panel-slide-out-left {
  0% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    animation-timing-function: ease-out;
    opacity: 0;
    transform: translateX(-100%);
  }
}
@keyframes header-panel-slide-out-right {
  0% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    animation-timing-function: ease-out;
    opacity: 0;
    transform: translateX(100%);
  }
}
.header__panel-logo {
  display: none;
}

@media (min-width: 750px) {
  .header_open .header__panel-logo {
    display: block;
  }
}
.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  overflow: hidden;
  color: var(--color-white);
  text-align: center;
}
@media (min-width: 750px) and (max-width: 1279.98px) {
  .hero {
    min-height: 620px;
  }
}
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__bg_winter {
  display: none;
}
[data-theme=winter] .hero__bg_summer {
  display: none;
}
[data-theme=winter] .hero__bg_winter {
  display: block;
}
.hero__bg-img, .hero__bg-video, .hero__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
.hero__bg-img, .hero__bg-video {
  object-fit: cover;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.55);
}
.hero__logo {
  position: absolute;
  z-index: 4;
  top: var(--margin-xl);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  line-height: 0;
}
@media (min-width: 1280px) {
  .hero__logo {
    top: var(--margin-l);
  }
}
.hero__logo img {
  display: block;
  height: 94px;
  width: auto;
}
@media (min-width: 750px) {
  .hero__logo img {
    height: 118px;
  }
}
@media (min-width: 1280px) {
  .hero__logo img {
    height: 142px;
  }
}
.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  max-width: 1358px;
  padding: 0 var(--section-padding-main);
}
.hero__title {
  font-family: var(--font-accent);
  font-size: var(--font-size-hero);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.05em;
}
.hero__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  line-height: 1.7;
  opacity: 0.7;
  max-width: 28em;
}
.hero__scroll {
  position: absolute;
  z-index: 2;
  bottom: var(--margin-xxl);
  left: 50%;
  transform: translateX(-50%);
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
@media (min-width: 750px) {
  .hero__scroll {
    display: flex;
  }
}
.hero__scroll-line {
  display: block;
  width: 45px;
  height: 45px;
  animation: hero-scroll-bounce 1.6s ease-in-out infinite;
}
.hero__actions {
  position: absolute;
  z-index: 2;
  bottom: var(--margin-xxl);
  left: var(--section-padding-main);
  right: var(--section-padding-main);
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
}
@media (min-width: 750px) {
  .hero__actions {
    display: none;
  }
}
.hero__action {
  width: 100%;
}

@media (min-width: 750px) {
  .hero_actions_always .hero__actions {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: auto;
    bottom: calc(var(--margin-xxl) + 45px + var(--margin-l));
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}

@media (min-width: 750px) {
  .hero_actions_always .hero__action {
    width: auto;
  }
}

.header_open ~ main .hero__logo {
  display: none;
}

@keyframes hero-scroll-bounce {
  0% {
    transform: rotate(90deg) translateX(2px);
  }
  50% {
    transform: rotate(90deg) translateX(6px);
  }
  100% {
    transform: rotate(90deg) translateX(2px);
  }
}
.arrival-format-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 420px);
  padding: 8px;
  border-radius: 999px;
  background: rgba(31, 31, 31, 0.88);
}
.arrival-format-selector__option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xs);
  min-width: 0;
  padding: 14px 18px;
  border-radius: 999px;
  color: var(--color-accent);
  font-family: var(--font-body);
  font-size: var(--font-size-btn-base);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.2s ease, background-color 0.2s ease;
}
@media (min-width: 750px) {
  .arrival-format-selector__option {
    padding: 18px 28px;
  }
}
.arrival-format-selector__option:not(.arrival-format-selector__option_active):not(.arrival-format-selector__option_disabled):hover {
  color: var(--color-white);
}
.arrival-format-selector__option_active {
  color: var(--color-dark);
  background-color: var(--color-accent);
}
.arrival-format-selector__option_disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.arrival-format-selector__icon {
  flex: 0 0 auto;
}

.arrival-booking__title {
  margin: 0 0 var(--margin-l);
  color: var(--color-dark);
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-style: normal;
  font-weight: 500;
  line-height: 158%;
  letter-spacing: 0;
  text-align: center;
}

.booking {
  padding: 0 var(--section-padding-main);
}
.booking__intro {
  max-width: 40em;
  margin: 0 auto var(--margin-l);
  color: var(--color-dark);
  font-family: var(--font-body);
  font-size: var(--font-size-caption, 12px);
  font-style: normal;
  font-weight: 700;
  opacity: 0.5;
  line-height: 150%;
  /* 18px */
  letter-spacing: 0.72px;
  text-transform: uppercase;
  color: var(--color-text-third);
  text-align: center;
}
.booking__form {
  position: relative;
}
.booking__bar {
  position: relative;
  display: flex;
  gap: 12px;
  flex-direction: column;
  background-color: var(--color-white);
  border-radius: 24px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  padding: var(--margin-m);
}
@media (min-width: 1024px) {
  .booking__bar {
    flex-direction: row;
    align-items: center;
    border-radius: 999px;
    gap: 24px;
    padding: 12px 12px 12px 32px;
    width: fit-content;
    margin: 0 auto;
  }
}
.booking__field {
  position: relative;
}
@media (min-width: 1024px) {
  .booking__field {
    border-top: 0;
  }
}
.booking__bar > .booking__field:first-child {
  border-top: 0;
}
@media (min-width: 1024px) {
  .booking__field_date {
    min-width: 176px;
  }
}
@media (min-width: 1024px) {
  .booking__field_guests {
    min-width: 220px;
  }
}
@media (min-width: 1024px) {
  .booking__field_program {
    min-width: 176px;
  }
}
.booking__trigger {
  display: flex;
  align-items: center;
  gap: var(--margin-m);
  width: 100%;
  margin: 0;
  height: 100%;
  padding: var(--padding-m);
  background: none;
  border: 0;
  cursor: pointer;
  appearance: none;
  text-align: left;
}
.booking__trigger:has(.booking__value:empty, .select__value:empty) {
  padding-top: 24px;
}
@media (min-width: 1024px) {
  .booking__trigger {
    padding: var(--padding-m) var(--padding-l);
    padding: var(--padding-s) 0;
    border-radius: 999px;
    transition: background-color 0.2s ease;
  }
  .booking__trigger:has(.booking__value:empty, .select__value:empty) {
    padding-top: 12px;
  }
  .booking__trigger:hover {
    background-color: transparent;
  }
}
.booking__field-icon {
  flex-shrink: 0;
}
.booking__field-chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.booking__field_guests.booking__field_open .booking__field-chevron {
  transform: rotate(180deg);
}
.booking__field-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 0 157px;
  min-width: 157px;
}
.booking__divider {
  background-color: var(--color-black-20);
  border: 0;
  width: 100%;
  height: 1px;
  margin: 0;
}
@media (min-width: 1024px) {
  .booking__divider {
    height: 40px;
    width: 1px;
  }
}
.booking__label {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-text-secondary);
}
.booking__label:has(+ .booking__value:empty) {
  font-size: var(--font-size-body-l);
}
.booking__value {
  display: block;
  min-height: 1.4em;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 500;
  color: var(--color-dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.booking__value:empty {
  display: none;
}
.booking__select {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 500;
  color: var(--color-dark);
}
.booking__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xs);
  margin: 0;
  padding: var(--padding-m) var(--padding-l);
  background-color: var(--color-accent);
  border: 0;
  border-radius: 999px;
  color: var(--color-white);
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease;
}
.booking__submit:hover {
  background-color: var(--color-accent-hover);
}
@media (min-width: 1024px) {
  .booking__submit {
    margin: var(--padding-m);
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    margin: 0;
    padding: 0;
  }
}
.booking__submit-text {
  font-family: var(--font-body);
  font-size: var(--font-size-btn-large);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
@media (min-width: 1024px) {
  .booking__submit-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}
@media (max-width: 749.98px) {
  .booking__submit-icon {
    display: none;
  }
}
.booking__overlay {
  position: fixed;
  inset: 0;
  z-index: 1100;
  overflow-y: auto;
  background-color: rgba(8, 8, 7, 0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .booking__overlay {
    position: absolute;
    inset: auto;
    top: calc(100% + var(--margin-s));
    left: 0;
    z-index: 10;
    overflow: visible;
    background: none;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  }
}
.booking__overlay_guests {
  overflow: hidden;
}
@media (min-width: 1024px) {
  .booking__overlay_guests {
    left: auto;
    right: 0;
    overflow: visible;
  }
}
.booking__overlay_guests .booking__sheet {
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
  flex-shrink: 1;
  gap: 0;
}
@media (min-width: 1024px) {
  .booking__overlay_guests .booking__sheet {
    min-width: 390px;
    max-height: min(720px, 100dvh - 8rem);
  }
}
.booking__overlay_guests .booking__sheet-head {
  flex-shrink: 0;
  margin-bottom: var(--margin-l);
}
@media (min-width: 1024px) {
  .booking__overlay_guests .booking__sheet-head {
    display: none;
    margin-bottom: 0;
  }
}
.booking__overlay_open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (min-width: 1024px) {
  .booking__overlay_open {
    transform: translateY(0);
  }
}
.booking__overlay_calendar {
  overflow: hidden;
}
@media (min-width: 1024px) {
  .booking__overlay_calendar {
    overflow: visible;
  }
}
.booking__sheet {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: var(--margin-l);
  box-sizing: border-box;
  margin-top: auto;
  padding: 16px;
  background-color: var(--color-white);
}
@media (min-width: 1024px) {
  .booking__sheet {
    margin-top: 0;
    min-height: 0;
    min-width: 360px;
    border: 1px solid var(--color-black-20);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  }
}
.booking__overlay_calendar .booking__sheet {
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
  flex-shrink: 1;
}
@media (min-width: 1024px) {
  .booking__overlay_calendar .booking__sheet {
    max-height: min(720px, 100dvh - 8rem);
  }
}
.booking__sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  gap: var(--margin-m);
}
@media (min-width: 1024px) {
  .booking__overlay_calendar .booking__sheet-head {
    display: none;
  }
}
.booking__sheet-title {
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  color: var(--color-dark);
}
.booking__sheet-close {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease;
}
.booking__sheet-close:hover {
  background-color: var(--color-black-10);
}
@media (min-width: 1024px) {
  .booking__sheet-close {
    display: none;
  }
}
.booking__period-submit-wrapper {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  background-color: var(--color-white);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  box-shadow: 0 -8px 16px var(--color-white);
}
.booking__period-submit {
  white-space: normal;
}
.booking__sheet-done {
  flex: 1 1 0;
  min-width: 0;
}
.booking__rooms {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.booking__room {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
}
.booking__room + .booking__room {
  margin-top: var(--margin-xl);
  padding-top: var(--margin-m);
  border-top: 1px solid color-mix(in srgb, var(--color-accent) 70%, transparent);
}
.booking__room-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
}
.booking__room-title {
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark-100);
}
.booking__room-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 48px;
  color: var(--color-accent);
  cursor: pointer;
  appearance: none;
  transition: border-color 0.2s ease;
  border: 1px solid transparent;
}
.booking__room-remove:hover {
  border-color: var(--color-accent);
}
.booking__room-remove[hidden] {
  display: none;
}
.booking__guests-actions {
  display: flex;
  align-items: stretch;
  gap: var(--margin-m);
  width: 100%;
  flex-shrink: 0;
  margin-top: var(--margin-l);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background-color: var(--color-white);
  box-shadow: 0 -8px 16px var(--color-white);
}
@media (min-width: 749px) {
  .booking__guests-actions .actionbtn {
    padding-left: 9px;
    padding-right: 9px;
  }
}
.booking__guests-add {
  flex: 1 1 0;
  min-width: 0;
  white-space: normal;
}
.booking__months {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxl);
}
@media (min-width: 1024px) {
  .booking__months {
    flex-direction: row;
    gap: 24px;
  }
}
.booking__overlay_calendar .booking__months {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.booking__month {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1 1 0;
  min-width: 0;
}
@media (min-width: 1024px) {
  .booking__month {
    width: 336px;
  }
}
.booking__month-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 10px;
  padding-top: 10px;
}
.booking__month-title {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 500;
  color: var(--color-dark);
  text-transform: capitalize;
}
.booking__calendar-arrow {
  position: absolute;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  color: var(--color-dark-100);
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  transform: translateY(-50%);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.booking__calendar-arrow:hover {
  color: var(--color-accent);
}
.booking__calendar-arrow:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.booking__calendar-arrow:disabled:hover {
  background-color: transparent;
  border-color: var(--color-black-30);
}
.booking__calendar-arrow_prev {
  left: 0;
}
.booking__calendar-arrow_next {
  right: 0;
}
.booking__calendar-arrow_hidden {
  display: none;
}
.booking__weekdays, .booking__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.booking__weekday {
  padding: var(--padding-xs) 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-dark-100);
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.booking__weekday:nth-child(7), .booking__weekday:nth-child(6) {
  color: var(--color-text-secondary);
}
.booking__day {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
}
.booking__day:nth-child(7n) {
  border-radius: 0 16px 16px 0;
}
.booking__day:nth-child(7n+1), .booking__day:first-child {
  border-radius: 16px 0 0 16px;
}
.booking__day.booking__day_in-range:nth-child(7n), .booking__day.booking__day_in-range:nth-child(7n+1), .booking__day.booking__day_in-range:first-child {
  overflow: hidden;
}
.booking__day.booking__day_range-end:nth-child(7n+1) {
  border-radius: 16px;
  overflow: hidden;
}
.booking__day:not(.booking__day_other-month) ~ .booking__day_other-month {
  display: none;
}
.booking__day_in-range::before {
  content: "";
  position: absolute;
  inset: 0 0;
  z-index: 0;
  background-color: var(--color-black-20);
}
.booking__day_range-start {
  overflow: hidden;
  border-radius: 16px 0 0 16px;
  background-color: var(--color-black-20);
}
.booking__day_range-start:has(+ .booking__day:not(.booking__day_in-range)) {
  background-color: transparent;
}
.booking__day_range-start::before {
  border-radius: 30%;
  background-color: var(--color-accent);
}
.booking__day_range-end {
  overflow: hidden;
  border-radius: 0 16px 16px 0;
  background-color: var(--color-black-20);
}
.booking__day_range-end::before {
  border-radius: 30%;
  background-color: var(--color-accent);
}
.booking__day_range-start.booking__day_range-end::before {
  border-radius: 999px;
}
.booking__day-btn {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 30%;
  color: var(--color-dark);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.booking__day-btn:hover:not(:disabled) {
  background-color: var(--color-black-20);
}
.booking__day-btn:disabled {
  color: var(--color-black-30);
  cursor: default;
  pointer-events: none;
}
.booking__day_other-month .booking__day-btn {
  color: var(--color-black-30);
}
.booking__day_today .booking__day-btn {
  border: 1px solid var(--color-text-secondary);
}
.booking__day_range-start .booking__day-btn, .booking__day_range-end .booking__day-btn {
  background-color: var(--color-accent);
  color: var(--color-white);
}
.booking__day_range-start .booking__day-btn:hover:not(:disabled), .booking__day_range-end .booking__day-btn:hover:not(:disabled) {
  background-color: var(--color-accent-hover);
}
.booking__day_range-start.booking__day_today .booking__day-btn {
  border: 1px solid var(--color-accent);
}
.booking__counters {
  display: flex;
  align-items: flex-start;
  gap: var(--margin-l);
  width: 100%;
}
.booking__counter {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--margin-xs);
  min-width: 0;
}
.booking__counter-label {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-text-third);
}
.booking__counter-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.booking__counter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  background-color: var(--color-accent);
  border: 0;
  border-radius: 999px;
  color: var(--color-white);
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.booking__counter-btn:hover:not(:disabled) {
  background-color: var(--color-accent-hover);
}
.booking__counter-btn:disabled {
  background-color: var(--color-black-20);
  color: var(--color-accent);
  cursor: not-allowed;
}
.booking__counter-value {
  min-width: 1.5em;
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  color: var(--color-dark-100);
}
.booking__counter-value_zero {
  color: var(--color-text-secondary);
}
.booking__children {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  width: 100%;
}
.booking__children:empty {
  display: none;
}
.booking__child {
  display: flex;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
}
.booking__child-name {
  flex: 1 0 0;
  min-width: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  color: var(--color-dark-100);
}
.booking__child-select-wrap {
  position: relative;
  display: flex;
  flex: 1 0 0;
  min-width: 0;
  align-items: center;
  padding: var(--padding-s) var(--margin-s);
  border-bottom: 1px solid var(--color-black-30);
}
.booking__child-select {
  border: 0;
  background: none;
  padding: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  color: var(--color-dark);
  cursor: pointer;
}
.booking__child-select:focus {
  outline: none;
}
.booking__error {
  max-width: 40em;
  margin: 0 auto var(--margin-m);
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: #c94040;
  text-align: center;
}
.booking .actionbtn__text {
  font-size: 12px !important;
}
.booking.booking_loading .booking__trigger,
.booking.booking_loading .booking__counter-btn {
  cursor: not-allowed;
}
.booking.booking_loading .booking__submit {
  position: relative;
  pointer-events: none;
}
.booking.booking_loading .booking__submit .booking__submit-text,
.booking.booking_loading .booking__submit .booking__submit-icon {
  opacity: 0;
}
.booking.booking_loading .booking__submit::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin-left: -16px;
  margin-top: -16px;
  animation: ajax-spin 0.8s linear infinite;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI3BhaW50MF9hbmd1bGFyXzQ2NjhfMTI1OTNfY2xpcF9wYXRoKSIgZGF0YS1maWdtYS1za2lwLXBhcnNlPSJ0cnVlIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMC4wMTQgMCAwIDAuMDE0IDE2IDE2KSI+PGZvcmVpZ25PYmplY3QgeD0iLTExMDcuMTQiIHk9Ii0xMTA3LjE0IiB3aWR0aD0iMjIxNC4yOSIgaGVpZ2h0PSIyMjE0LjI5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iYmFja2dyb3VuZDpjb25pYy1ncmFkaWVudChmcm9tIDkwZGVnLHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMGRlZyxyZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDIxNi4zNDZkZWcscmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAyNzBkZWcscmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAzNjBkZWcpO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7b3BhY2l0eToxIj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PC9nPjwvZz48cGF0aCBvcGFjaXR5PSIwLjYiIGQ9Ik0yLjUgMTZDMi41IDguNTQ0MTYgOC41NDQxNiAyLjUgMTYgMi41QzIzLjQ1NTggMi41IDI5LjUgOC41NDQxNiAyOS41IDE2QzI5LjUgMjMuNDU1OCAyMy40NTU4IDI5LjUgMTYgMjkuNUM4LjU0NDE2IDI5LjUgMi41IDIzLjQ1NTggMi41IDE2Wk0xLjUgMTZDMS41IDI0LjAwODEgNy45OTE4NyAzMC41IDE2IDMwLjVDMjQuMDA4MSAzMC41IDMwLjUgMjQuMDA4MSAzMC41IDE2QzMwLjUgNy45OTE4NyAyNC4wMDgxIDEuNSAxNiAxLjVDNy45OTE4NyAxLjUgMS41IDcuOTkxODcgMS41IDE2WiIgZGF0YS1maWdtYS1ncmFkaWVudC1maWxsPSJ7JiMzNDt0eXBlJiMzNDs6JiMzNDtHUkFESUVOVF9BTkdVTEFSJiMzNDssJiMzNDtzdG9wcyYjMzQ7Olt7JiMzNDtjb2xvciYjMzQ7OnsmIzM0O3ImIzM0OzoxLjAsJiMzNDtnJiMzNDs6MS4wLCYjMzQ7YiYjMzQ7OjEuMCwmIzM0O2EmIzM0OzoxLjB9LCYjMzQ7cG9zaXRpb24mIzM0OzowLjB9LHsmIzM0O2NvbG9yJiMzNDs6eyYjMzQ7ciYjMzQ7OjEuMCwmIzM0O2cmIzM0OzoxLjAsJiMzNDtiJiMzNDs6MS4wLCYjMzQ7YSYjMzQ7OjAuMH0sJiMzNDtwb3NpdGlvbiYjMzQ7OjAuNjAwOTYxNTY1OTcxMzc0NTF9LHsmIzM0O2NvbG9yJiMzNDs6eyYjMzQ7ciYjMzQ7OjEuMCwmIzM0O2cmIzM0OzoxLjAsJiMzNDtiJiMzNDs6MS4wLCYjMzQ7YSYjMzQ7OjAuMH0sJiMzNDtwb3NpdGlvbiYjMzQ7OjAuNzUwfV0sJiMzNDt0cmFuc2Zvcm0mIzM0Ozp7JiMzNDttMDAmIzM0OzotMjguMCwmIzM0O20wMSYjMzQ7OjguNTY0ODgwMDMzNTAwMDMzMGUtMTMsJiMzNDttMDImIzM0OzozMC4wLCYjMzQ7bTEwJiMzNDs6OC40NjQ5NTk0MTkxODI2ODI3ZS0xMywmIzM0O20xMSYjMzQ7OjI4LjAsJiMzNDttMTImIzM0OzoyLjAwMDAwMDQ3NjgzNzE1ODJ9LCYjMzQ7b3BhY2l0eSYjMzQ7OjEuMCwmIzM0O2JsZW5kTW9kZSYjMzQ7OiYjMzQ7Tk9STUFMJiMzNDssJiMzNDtzdG9wc1ZhciYjMzQ7Olt7JiMzNDtjb2xvciYjMzQ7OnsmIzM0O3ImIzM0OzoxLjAsJiMzNDtnJiMzNDs6MS4wLCYjMzQ7YiYjMzQ7OjEuMCwmIzM0O2EmIzM0OzoxLjB9LCYjMzQ7cG9zaXRpb24mIzM0OzowLjB9LHsmIzM0O2NvbG9yJiMzNDs6eyYjMzQ7ciYjMzQ7OjEuMCwmIzM0O2cmIzM0OzoxLjAsJiMzNDtiJiMzNDs6MS4wLCYjMzQ7YSYjMzQ7OjAuMH0sJiMzNDtwb3NpdGlvbiYjMzQ7OjAuNjAwOTYxNTY1OTcxMzc0NTF9LHsmIzM0O2NvbG9yJiMzNDs6eyYjMzQ7ciYjMzQ7OjEuMCwmIzM0O2cmIzM0OzoxLjAsJiMzNDtiJiMzNDs6MS4wLCYjMzQ7YSYjMzQ7OjAuMH0sJiMzNDtwb3NpdGlvbiYjMzQ7OjAuNzUwfV0sJiMzNDt2aXNpYmxlJiMzNDs6dHJ1ZX0iLz4KPHBhdGggZD0iTTIgMTZDMiA4LjI2ODAxIDguMjY4MDEgMiAxNiAyIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiLz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0icGFpbnQwX2FuZ3VsYXJfNDY2OF8xMjU5M19jbGlwX3BhdGgiPjxwYXRoIG9wYWNpdHk9IjAuNiIgZD0iTTIuNSAxNkMyLjUgOC41NDQxNiA4LjU0NDE2IDIuNSAxNiAyLjVDMjMuNDU1OCAyLjUgMjkuNSA4LjU0NDE2IDI5LjUgMTZDMjkuNSAyMy40NTU4IDIzLjQ1NTggMjkuNSAxNiAyOS41QzguNTQ0MTYgMjkuNSAyLjUgMjMuNDU1OCAyLjUgMTZaTTEuNSAxNkMxLjUgMjQuMDA4MSA3Ljk5MTg3IDMwLjUgMTYgMzAuNUMyNC4wMDgxIDMwLjUgMzAuNSAyNC4wMDgxIDMwLjUgMTZDMzAuNSA3Ljk5MTg3IDI0LjAwODEgMS41IDE2IDEuNUM3Ljk5MTg3IDEuNSAxLjUgNy45OTE4NyAxLjUgMTZaIi8+PC9jbGlwUGF0aD48L2RlZnM+Cjwvc3ZnPgo=");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.booking[data-price-calendar-url] .booking__weekday {
  color: var(--color-text-secondary);
  font-weight: 500;
  line-height: 1.26;
}
.booking[data-price-calendar-url] .booking__weekday:nth-child(6), .booking[data-price-calendar-url] .booking__weekday:nth-child(7) {
  color: #cecece;
}
.booking[data-price-calendar-url] .booking__day-btn {
  flex-direction: column;
  gap: 2px;
  padding: 8px 4px 4px;
  border-radius: 8px;
  box-shadow: none;
  font-weight: 500;
  line-height: 1.26;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.booking[data-price-calendar-url] .booking__day-price {
  min-height: 1.3em;
  color: var(--color-text-third);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
}
.booking[data-price-calendar-url] .booking__day_unavailable .booking__day-btn {
  color: var(--color-text-secondary);
}
.booking[data-price-calendar-url] .booking__day_unavailable .booking__day-price {
  color: var(--color-text-secondary);
  font-size: 10px;
  font-weight: 400;
}
.booking[data-price-calendar-url] .booking__day_low-price:not(.booking__day_in-range) .booking__day-btn {
  background-color: #f3f8ec;
  border: 1px solid transparent;
  border-radius: 8px;
}
.booking[data-price-calendar-url] .booking__day_low-price:not(.booking__day_in-range) .booking__day-btn:hover:not(:disabled) {
  background-color: #f3f8ec;
  border-color: transparent;
  box-shadow: inset 0 0 0 1px var(--color-accent);
}
.booking[data-price-calendar-url] .booking__day_low-price:not(.booking__day_in-range) .booking__day-price {
  color: var(--color-add-green);
  font-weight: 600;
}
.booking[data-price-calendar-url] .booking__day_price-enter .booking__day-price {
  animation: booking-price-fade-in 0.2s ease-out both;
}
.booking[data-price-calendar-url] .booking__day_price-enter.booking__day_low-price:not(.booking__day_in-range) .booking__day-btn {
  animation: booking-low-price-fade-in 0.2s ease-out both;
}
.booking[data-price-calendar-url] .booking__day_today .booking__day-btn {
  border-color: transparent;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--color-accent);
}
.booking[data-price-calendar-url] .booking__day_range-start .booking__day-price,
.booking[data-price-calendar-url] .booking__day_range-end .booking__day-price {
  color: var(--color-white);
}
.booking[data-price-calendar-url] .booking__calendar-note {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  padding-top: var(--margin-s);
  border-top: 1px solid var(--color-black-20);
  color: var(--color-text-secondary);
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}
.booking[data-price-calendar-url] .booking__calendar-note strong {
  font-weight: 700;
}
@media (min-width: 1024px) {
  .booking[data-price-calendar-url] .booking__overlay_calendar .booking__sheet {
    width: 728px;
    border: 0;
    box-shadow: none;
  }
  .booking[data-price-calendar-url] .booking__period-submit-wrapper {
    display: none;
  }
  .booking[data-price-calendar-url] .booking__months {
    gap: 24px;
  }
  .booking[data-price-calendar-url] .booking__month {
    width: 336px;
  }
  .booking[data-price-calendar-url] .booking__month-head {
    height: 48px;
    padding: 10px 12px;
  }
  .booking[data-price-calendar-url] .booking__weekday,
  .booking[data-price-calendar-url] .booking__day {
    height: 50px;
    aspect-ratio: auto;
  }
  .booking[data-price-calendar-url] .booking__calendar-note {
    height: 29px;
  }
}

@keyframes booking-price-fade-in {
  from {
    opacity: 0;
    transform: translateY(2px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes booking-low-price-fade-in {
  from {
    background-color: transparent;
  }
  to {
    background-color: #f3f8ec;
  }
}
@media (prefers-reduced-motion: reduce) {
  .booking[data-price-calendar-url] .booking__day_price-enter .booking__day-price,
  .booking[data-price-calendar-url] .booking__day_price-enter.booking__day_low-price:not(.booking__day_in-range) .booking__day-btn {
    animation: none;
  }
}
.booking__footer {
  max-width: 628px;
  display: flex;
  flex-direction: column;
  gap: var(--section-gap-main);
  width: 100%;
  align-items: center;
  margin: 40px auto 0;
}
.booking__footer-divider {
  width: 256px;
  height: 1px;
  background-color: var(--color-accent);
  padding: 0;
  border: 0;
  margin: 0 auto;
}
.booking__footer-title {
  text-align: center;
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 134%;
}

.booking__field_program .select__options {
  min-width: 280px;
}
.booking__field_program .select__option {
  font-size: var(--font-size-body-l);
}

.checkin {
  display: flex;
  flex-direction: column;
  padding: 0 var(--section-padding-main);
}
.checkin__row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--padding-xxl);
}
@media (min-width: 850px) {
  .checkin__row {
    flex-direction: row;
    align-items: center;
    gap: var(--margin-l);
    max-width: var(--wrapper-max-width);
    margin: 0 auto;
  }
}
.checkin__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
  text-align: center;
}
@media (min-width: 850px) {
  .checkin__heading {
    flex: 1 1 0;
    gap: var(--margin-l);
  }
}
.checkin__title {
  margin: 0;
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.checkin__title_variant_wide {
  display: none;
}
.checkin__title_variant_narrow {
  display: block;
}
@media (min-width: 850px) {
  .checkin__title_variant_wide {
    display: block;
  }
  .checkin__title_variant_narrow {
    display: none;
  }
}
.checkin__subtitle {
  margin: 0;
  max-width: 40em;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.checkin__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  gap: var(--margin-l);
  width: 100%;
}
@media (min-width: 850px) {
  .checkin__cards {
    flex: 1 1 0;
  }
}
.checkin__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.checkin__photo {
  display: block;
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
}
.checkin__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  padding-top: var(--margin-l);
}
.checkin__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-xs);
}
.checkin__card-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.checkin__icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.checkin__card:hover .checkin__icon {
  transform: translate(2px, -2px);
}
.checkin__card-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}

.rooms {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0;
  /* &__card_active &__body {
    @media (min-width: 750px) {
      padding-top: var(--padding-xl);
    }
  } */
}
.rooms .tabs__container {
  width: auto;
  margin: 0 calc(var(--section-padding-main) * -1);
}
.rooms__head {
  width: 100%;
  padding: 0 var(--section-padding-main);
  gap: var(--margin-l);
}
@media (min-width: 1280px) {
  .rooms__head {
    gap: var(--margin-xl);
  }
}
.rooms__head .section-header__text {
  max-width: 40em;
}
.rooms__viewport {
  width: 100%;
  padding: 0 var(--section-padding-main);
  overflow: hidden;
  cursor: grab;
}
.rooms__viewport:active {
  cursor: grabbing;
}
.rooms__list {
  display: flex;
  align-items: flex-start;
  gap: var(--section-gap-main);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  touch-action: pan-y pinch-zoom;
}
.rooms__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  width: 323px;
}
@media (min-width: 750px) {
  .rooms__card {
    width: 678px;
  }
}
@media (min-width: 1280px) {
  .rooms__card {
    width: 898px;
  }
}
.rooms__card_hidden {
  display: none;
}
.rooms__photo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
@media (min-width: 750px) {
  .rooms__photo {
    aspect-ratio: auto;
    height: 382px;
  }
}
@media (min-width: 1280px) {
  .rooms__photo {
    height: 506px;
  }
}
.rooms__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rooms__dots {
  position: absolute;
  left: 50%;
  bottom: var(--margin-m);
  z-index: 1;
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
  transform: translateX(-50%);
}
@media (min-width: 750px) {
  .rooms__dots {
    gap: var(--margin-s);
  }
}
.rooms__dot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  appearance: none;
  cursor: pointer;
}
.rooms__dot::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-white);
}
.rooms__dot_active::before {
  width: 4px;
  height: 4px;
  background-color: var(--color-accent);
}
.rooms__dot_active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
}
.rooms__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
  padding: var(--padding-xl) 5px 0;
  text-align: center;
}
.rooms__card-description {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xs);
}
.rooms__card-title {
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.rooms__card-type {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  color: var(--color-text-secondary);
}
.rooms__card-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.rooms__specs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rooms__specs-item {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
  white-space: nowrap;
}
.rooms__specs-item::before {
  content: "•";
  margin-right: 6px;
  color: currentColor;
}
.rooms__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
  width: 100%;
}
@media (min-width: 750px) {
  .rooms__actions {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: var(--margin-xs);
    width: auto;
  }
}
.rooms__action_book {
  min-width: 192px;
}
@media (min-width: 750px) {
  .rooms__action_book {
    width: auto;
  }
}

.tab-photo {
  display: flex;
  align-items: center;
  gap: var(--margin-m);
  flex-wrap: nowrap;
}
.tab-photo__container {
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-snap-align: start;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--margin-m);
  flex-wrap: nowrap;
}
.tab-photo__container::-webkit-scrollbar {
  display: none;
}
@media (max-width: 768px) {
  .tab-photo__container {
    width: calc(100% + var(--section-padding-main) * 2);
    margin-left: calc(var(--section-padding-main) * -1);
    margin-right: calc(var(--section-padding-main) * -1);
  }
}
@media (min-width: 575px) {
  .tab-photo__container {
    justify-content: center;
  }
}
.tab-photo__tab {
  display: inline-flex;
  align-items: center;
  gap: var(--margin-m);
  margin: 0;
  padding: var(--margin-xs) var(--padding-l) var(--margin-xs) var(--margin-xs);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 32px;
  appearance: none;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.tab-photo__tab:hover {
  border-color: var(--color-black-30);
}
.tab-photo__tab_active {
  border-color: var(--color-accent);
}
.tab-photo__tab_active:hover {
  border-color: var(--color-accent);
}
.tab-photo__pic {
  display: block;
  flex-shrink: 0;
  width: 64px;
  height: 40px;
  border-radius: 20px;
  overflow: hidden;
}
.tab-photo__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tab-photo__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
  white-space: nowrap;
}
.tab-photo__tab_active .tab-photo__text {
  color: var(--color-dark);
}

.room-detail-prices {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}

.room-detail-prices__head {
  width: 100%;
}

.room-detail-prices__body {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.room-detail__heading {
  padding: var(--layout-section-margin) var(--section-padding-main) 0;
}

.price-tariff {
  display: flex;
  flex-direction: column;
  width: 100%;
  /* &__item_selected {
    border-color: var(--color-accent);
  }

  &__item_locked {
    opacity: 0.5;
  } */
}
.price-tariff__item {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  padding: var(--padding-xl) 0;
  border-top: 1px solid var(--color-black-30);
}
.price-tariff__item:last-child {
  border-bottom: 1px solid var(--color-black-30);
}
.price-tariff__item:first-child {
  /* border-top: 0;
  padding-top: 0; */
}
.price-tariff__info {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
}
.price-tariff__head {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxs);
}
.price-tariff__name {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-dark);
}
.price-tariff__note {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.price-tariff__included {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--margin-m);
}
.price-tariff__tag {
  padding: var(--padding-xs) var(--padding-s);
  background-color: var(--color-white);
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: var(--font-size-tag);
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-add-blue);
  border: 1px solid var(--color-add-blue);
  white-space: nowrap;
}
.price-tariff__included-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  color: var(--color-dark);
}
.price-tariff__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--margin-l);
}
@media (min-width: 750px) {
  .price-tariff__row {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.price-tariff__cost {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxs);
}
.price-tariff__amount {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--margin-xs);
  margin: 0;
}
.price-tariff__amount-value {
  font-family: var(--font-accent);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.16;
  color: var(--color-dark);
}
.price-tariff__amount-unit {
  font-family: var(--font-accent);
  font-size: 32px;
  font-weight: 400;
  color: var(--color-dark);
}
.price-tariff__discount {
  background-color: var(--color-add-green);
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 700;
  color: var(--color-white);
  white-space: nowrap;
  display: flex;
  padding: 5px 6px;
  justify-content: center;
  align-items: center;
  min-height: 32px;
}
.price-tariff__old {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 160%;
  color: var(--color-text-secondary);
  text-decoration: line-through;
  white-space: nowrap;
}
.price-tariff__nights {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  color: var(--color-text-secondary);
}
.price-tariff__nights-sep {
  margin: 0 4px;
}
.price-tariff__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--margin-m);
  width: 100%;
}
@media (min-width: 750px) {
  .price-tariff__aside {
    flex-direction: row;
    align-items: center;
    width: auto;
  }
}
.price-tariff__aside .price-tariff__action {
  width: 172px;
}
.price-tariff__guests {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 48px;
}
.price-tariff__guests-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: var(--padding-xs);
  background-color: var(--color-black-10);
  border-radius: 6px;
  transition: background-color 0.2s ease, border-radius 0.2s ease, padding 0.2s ease, box-shadow 0.2s ease;
}
.price-tariff__guests:hover .price-tariff__guests-icons, .price-tariff__guests:focus .price-tariff__guests-icons, .price-tariff__guests:focus-within .price-tariff__guests-icons {
  padding: var(--padding-s) var(--padding-xs);
  background-color: var(--color-white);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}
.price-tariff__guests-icon {
  flex-shrink: 0;
}
.price-tariff__guests-icon_adult {
  width: 16px;
  height: 24px;
}
.price-tariff__guests-icon_child {
  width: 12px;
  height: 24px;
}
.price-tariff__guests-icon_plus {
  width: 13px;
  height: 24px;
}
.price-tariff__guests-count {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 500;
  line-height: 24px;
  color: var(--color-accent);
  white-space: nowrap;
}
.price-tariff__guests-tooltip {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxs);
  margin-top: var(--margin-xxs);
  padding: var(--padding-m);
  background-color: var(--color-white);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.price-tariff__guests:hover .price-tariff__guests-tooltip, .price-tariff__guests:focus .price-tariff__guests-tooltip, .price-tariff__guests:focus-within .price-tariff__guests-tooltip {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.price-tariff__guests-tooltip-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-dark);
}
.price-tariff__guests-tooltip-places {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}
.price-tariff__action {
  width: 100%;
}
@media (min-width: 750px) {
  .price-tariff__action {
    width: auto;
  }
}

.price-tariff__action_selected {
  background-color: transparent;
  border-color: var(--color-black-30);
  color: var(--color-text-third);
}
.price-tariff__action_selected:hover {
  background-color: var(--color-black-10);
  border-color: var(--color-black-30);
  color: var(--color-dark);
}

.price-tariff__item_skeleton {
  pointer-events: none;
}

.price-tariff__skeleton-block {
  display: block;
  width: 100%;
  height: 100%;
}

.price-tariff__skeleton-block_name {
  max-width: 220px;
  height: 24px;
}

.price-tariff__skeleton-block_note {
  max-width: 280px;
  height: 16px;
}

.price-tariff__skeleton-block_tag {
  width: 96px;
  height: 28px;
  border-radius: 28px;
}

.price-tariff__skeleton-block_amount {
  width: 140px;
  height: 40px;
}

.price-tariff__skeleton-block_nights {
  max-width: 180px;
  height: 16px;
}

.price-tariff__skeleton-block_button {
  width: 100%;
  height: 48px;
}
@media (min-width: 750px) {
  .price-tariff__skeleton-block_button {
    width: 220px;
  }
}

.price-tariff__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xl);
  padding: var(--padding-xl) 0;
}
.price-tariff__empty-icon {
  width: 64px;
  height: 64px;
  color: var(--color-accent);
}
.price-tariff__empty-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
}
.price-tariff__empty-text {
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 158%;
  margin: 0;
}
.price-tariff__empty-message {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 160%;
  margin: 0;
}

.selection-bar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  background-color: var(--color-white);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08);
  padding: var(--margin-m) var(--section-padding-main);
  padding-bottom: calc(var(--margin-m) + env(safe-area-inset-bottom, 0px));
}
.selection-bar[hidden] {
  display: none;
}

.selection-bar__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-l);
  width: 100%;
  max-width: 900px;
}
@media (max-width: 380px) {
  .selection-bar__container {
    flex-wrap: wrap;
  }
  .selection-bar__container .selection-bar__submit,
  .selection-bar__container .selection-bar__info {
    width: 100%;
  }
}

.selection-bar__info {
  min-width: 0;
}

.selection-bar__label {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .selection-bar__label {
    font-size: var(--font-size-body-m);
  }
}

.selection-bar__hint {
  position: relative;
  display: inline-flex;
}

.selection-bar__hint-icon {
  flex-shrink: 0;
  color: var(--color-add-blue);
}
.selection-bar__hint-icon:hover {
  color: var(--color-accent);
}

.selection-bar__hint-tooltip {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  width: min(340px, 90vw);
  margin-bottom: var(--margin-xxs);
  padding: var(--margin-m);
  background-color: var(--color-white);
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(78, 55, 17, 0.15);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
@media (max-width: 560px) {
  .selection-bar__hint-tooltip {
    left: -150px;
  }
}

.selection-bar__hint:hover .selection-bar__hint-tooltip,
.selection-bar__hint:focus .selection-bar__hint-tooltip,
.selection-bar__hint:focus-within .selection-bar__hint-tooltip {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.selection-bar__hint-entry {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxs);
  width: 100%;
}

.selection-bar__hint-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-dark);
  white-space: normal;
}

.selection-bar__hint-subtitle {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
  white-space: normal;
}

.selection-bar__hint-divider {
  flex-shrink: 0;
  height: 1px;
  background-color: var(--color-black-20);
}

.selection-bar__price {
  margin: 4px 0 0;
  font-family: var(--font-accent);
  font-size: 32px;
  font-weight: 400;
  color: var(--color-dark);
}
@media (max-width: 768px) {
  .selection-bar__price {
    font-size: 30px;
  }
}

.selection-bar__submit {
  flex-shrink: 0;
}

.selection-modal {
  position: fixed;
  inset: 0;
  z-index: 1150;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.selection-modal[hidden] {
  display: none;
}
@media (min-width: 750px) {
  .selection-modal {
    align-items: center;
  }
}

.selection-modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(8, 8, 7, 0.5);
}
@media (min-width: 1024px) {
  .selection-modal__backdrop {
    background-color: transparent;
  }
}

.selection-modal__sheet {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 420px;
  max-height: 80vh;
  background-color: var(--color-white);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
@media (min-width: 1024px) {
  .selection-modal__sheet {
    position: fixed;
    width: 309px;
    max-width: 309px;
    max-height: none;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  }
}

.selection-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  padding: var(--margin-l);
}
@media (min-width: 1024px) {
  .selection-modal__head {
    display: none;
  }
}

.selection-modal__title {
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  color: var(--color-dark);
}

.selection-modal__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: none;
  border: none;
  border-radius: 50%;
  color: var(--color-dark);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.selection-modal__close:hover {
  color: var(--color-accent);
}

.selection-modal__list {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 0 var(--margin-l) var(--margin-l);
}
@media (min-width: 1024px) {
  .selection-modal__list {
    padding: var(--margin-s) var(--margin-m);
  }
}

.selection-modal__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
  padding: var(--margin-m) 0;
  background: none;
  border: none;
  border-top: 1px solid var(--color-black-30);
  text-align: left;
  cursor: pointer;
  appearance: none;
}
.selection-modal__row:first-child {
  border-top: none;
}
.selection-modal__row:disabled, .selection-modal__row[aria-disabled=true] {
  cursor: not-allowed;
}
.selection-modal__row:disabled .selection-modal__row-title, .selection-modal__row[aria-disabled=true] .selection-modal__row-title {
  color: var(--color-text-secondary);
}
.selection-modal__row:disabled .selection-modal__row-caption, .selection-modal__row[aria-disabled=true] .selection-modal__row-caption {
  display: none;
}
.selection-modal__row:disabled .selection-modal__row-radio, .selection-modal__row[aria-disabled=true] .selection-modal__row-radio {
  border-color: rgba(144, 144, 144, 0.5019607843);
}

.selection-modal__row-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.selection-modal__row-title {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  color: var(--color-text-secondary);
}

.selection-modal__row_selected .selection-modal__row-title {
  font-weight: 400;
  color: var(--color-dark);
}

.selection-modal__row-caption {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-text-secondary);
}

@media (max-width: 768px) {
  .selection-bar__submit {
    padding: var(--padding-m) var(--padding-l);
    font-size: 12px;
    line-height: 1.2;
  }
}

.selection-modal__row-radio {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid var(--color-black-30);
}

.selection-modal__row_selected .selection-modal__row-radio {
  border-color: var(--color-accent);
}

.room-catalog {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}

.room-catalog__list {
  width: 100%;
}

.room-catalog__alert {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding-left: var(--section-padding-main);
  padding-right: var(--section-padding-main);
}

.room-card-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.room-card-list_layout_row .room-card {
  padding: var(--padding-xl) 0;
  border-top: 1px solid var(--color-black-30);
}
.room-card-list_layout_row .room-card:last-child {
  border-bottom: 1px solid var(--color-black-30);
}
.room-card-list_layout_grid {
  gap: var(--margin-xxl);
}
@media (min-width: 1280px) {
  .room-card-list_layout_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

.room-card {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
}
.room-card__container {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
}
.room-card[hidden] {
  display: none;
}
.room-card__prices {
  border-top: none;
}
@media (min-width: 1024px) {
  .room-card_layout_row .room-card__container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--margin-xxl);
  }
}
.room-card__photo {
  position: relative;
  flex-shrink: 0;
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .room-card_layout_row .room-card__photo {
    width: 416px;
    aspect-ratio: 4/3;
  }
}
.room-card__list {
  display: flex;
  width: 100%;
  height: 100%;
}
.room-card__slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: none;
}
.room-card__slide_active {
  display: block;
}
.room-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.room-card__dots {
  position: absolute;
  left: 50%;
  bottom: var(--margin-m);
  z-index: 1;
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
  transform: translateX(-50%);
}
.room-card__dot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  appearance: none;
  cursor: pointer;
}
.room-card__dot::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-white);
}
.room-card__dot_active::before {
  width: 4px;
  height: 4px;
  background-color: var(--color-accent);
}
.room-card__dot_active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
}
.room-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
  min-width: 0;
}
@media (min-width: 1024px) {
  .room-card_layout_row .room-card__body {
    flex: 0 1 563px;
    padding-top: var(--padding-l);
  }
}
.room-card__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.room-card__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}
.room-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--margin-l);
  margin: 0;
  padding: 0;
  list-style: none;
}
.room-card__meta-item {
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
}
.room-card__meta-icon {
  flex-shrink: 0;
}
.room-card__meta-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.room-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--margin-s);
}
.room-card__actions-button {
  margin-top: 20px;
}
.room-card__action {
  flex: 1 1 auto;
}
@media (min-width: 500px) {
  .room-card__action {
    flex: 0 0 auto;
  }
}
.room-card__toggle[aria-expanded=true] {
  background-color: var(--color-accent);
  color: var(--color-white);
}
.room-card__prices {
  display: none;
  width: 100%;
  padding-top: var(--margin-l);
  border-top: 1px solid var(--color-black-30);
}
.room-card__prices_open {
  display: block;
}

.search-room-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.search-room {
  width: 100%;
  padding: var(--margin-xxl) 0;
  border-top: 1px solid var(--color-black-30);
  /* &:last-child {
    border-bottom: 1px solid var(--color-black-30);
  } */
}
.search-room__container {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .search-room__container {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--margin-xxl);
  }
}
.search-room__media {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
}
@media (min-width: 1024px) {
  .search-room__media {
    flex: 1 1 0;
    min-width: 0;
  }
}
.search-room__photo {
  display: block;
  width: 100%;
  max-width: 464px;
  aspect-ratio: 4/3;
  overflow: hidden;
  cursor: pointer;
}
.search-room__photo_slider {
  cursor: grab;
}
.search-room__photo_slider:active {
  cursor: grabbing;
}
.search-room__list {
  display: flex;
  width: 100%;
  height: 100%;
  touch-action: pan-y pinch-zoom;
}
.search-room__slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-width: 0;
}
.search-room__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.search-room__steps {
  display: flex;
  align-items: center;
  gap: var(--margin-s);
}
.search-room__step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  appearance: none;
  cursor: pointer;
}
.search-room__step::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-black-30);
}
.search-room__step_active::before {
  width: 4px;
  height: 4px;
  background-color: var(--color-accent);
}
.search-room__step_active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
}
.search-room__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xl);
  width: 100%;
  min-width: 0;
}
@media (min-width: 1024px) {
  .search-room__body {
    flex: 1 1 0;
  }
}
.search-room__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
  order: 1;
}
.search-room__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--margin-l);
  margin: -8px 0 0 0;
  padding: 0;
  list-style: none;
  order: 3;
}
@media (min-width: 750px) {
  .search-room__meta {
    margin: 0;
    order: auto;
  }
}
.search-room__meta-item {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
}
.search-room__meta-icon {
  flex-shrink: 0;
}
.search-room__meta-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  color: var(--color-dark);
  white-space: nowrap;
}
.search-room__text {
  margin: -12px 0 0 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
  order: 2;
}
@media (min-width: 750px) {
  .search-room__text {
    margin: 0;
    order: auto;
  }
}
.search-room .actionbtn, .search-room .room-card__actions-button {
  order: 4;
}
@media (min-width: 750px) {
  .search-room .actionbtn, .search-room .room-card__actions-button {
    order: auto;
  }
}
.search-room .room-card__actions {
  margin-top: 0;
}
.search-room__more {
  display: inline-flex;
  align-items: center;
  gap: var(--margin-xs);
  width: fit-content;
  color: var(--color-dark);
  text-decoration: none;
}
.search-room__more:hover {
  color: var(--color-accent);
}
.search-room__more-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
}
.search-room__more-icon {
  flex-shrink: 0;
}
.search-room__prices {
  width: 100%;
  order: 5;
}

.search-room_skeleton {
  pointer-events: none;
}

.search-room_skeleton .search-room__photo {
  position: relative;
}

.search-room__skeleton-block {
  display: block;
  width: 100%;
  height: 100%;
}

.search-room__skeleton-block_title {
  max-width: 260px;
  height: 32px;
}

.search-room__skeleton-block_meta {
  max-width: 320px;
  height: 20px;
}

.search-room__skeleton-block_text {
  height: 16px;
}

.search-room__skeleton-block_text-short {
  max-width: 60%;
}

.search-room__skeleton-block_price {
  height: 96px;
}

.search-room-list__banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
  max-width: 1220px;
  margin: 0 auto var(--margin-l);
  padding: var(--padding-m) var(--padding-l);
  background-color: rgba(201, 64, 64, 0.08);
  border: 1px solid rgba(201, 64, 64, 0.35);
  border-radius: 12px;
}
.search-room-list__banner[hidden] {
  display: none;
}

.search-room-list__banner-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-dark);
}

.search-room-list__banner-retry {
  flex-shrink: 0;
  padding: var(--padding-xs) var(--padding-l);
  background-color: var(--color-white);
  border: 1px solid #c94040;
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 500;
  color: #c94040;
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.search-room-list__banner-retry:hover {
  background-color: #c94040;
  color: var(--color-white);
}

.search-room-list__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
  padding: var(--margin-xxl) 0;
  text-align: center;
}

.search-room-list__empty-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  color: var(--color-dark);
}

.search-room-list__empty-text {
  margin: 0;
  max-width: 480px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  color: var(--color-text-secondary);
}

.search-room_skeleton {
  pointer-events: none;
}

.search-room_skeleton .search-room__photo {
  position: relative;
}

.search-room__skeleton-block {
  display: block;
  width: 100%;
  height: 100%;
}

.search-room__skeleton-block_title {
  max-width: 260px;
  height: 32px;
}

.search-room__skeleton-block_meta {
  max-width: 320px;
  height: 20px;
}

.search-room__skeleton-block_text {
  height: 16px;
}

.search-room__skeleton-block_text-short {
  max-width: 60%;
}

.search-room__skeleton-block_price {
  height: 96px;
}

.search-room-list__banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
  max-width: 1220px;
  margin: 0 auto var(--margin-l);
  padding: var(--padding-m) var(--padding-l);
  background-color: rgba(201, 64, 64, 0.08);
  border: 1px solid rgba(201, 64, 64, 0.35);
  border-radius: 12px;
}
.search-room-list__banner[hidden] {
  display: none;
}

.search-room-list__banner-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-dark);
}

.search-room-list__banner-retry {
  flex-shrink: 0;
  padding: var(--padding-xs) var(--padding-l);
  background-color: var(--color-white);
  border: 1px solid #c94040;
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 500;
  color: #c94040;
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.search-room-list__banner-retry:hover {
  background-color: #c94040;
  color: var(--color-white);
}

.search-room-list__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
  padding: var(--margin-xxl) 0;
  text-align: center;
}

.search-room-list__empty-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  color: var(--color-dark);
}

.search-room-list__empty-text {
  margin: 0;
  max-width: 480px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  color: var(--color-text-secondary);
}

.search-room_skeleton {
  pointer-events: none;
}

.search-room_skeleton .search-room__photo {
  position: relative;
}

.search-room__skeleton-block {
  display: block;
  width: 100%;
  height: 100%;
}

.search-room__skeleton-block_title {
  max-width: 260px;
  height: 32px;
}

.search-room__skeleton-block_meta {
  max-width: 320px;
  height: 20px;
}

.search-room__skeleton-block_text {
  height: 16px;
}

.search-room__skeleton-block_text-short {
  max-width: 60%;
}

.search-room__skeleton-block_price {
  height: 96px;
}

.search-room-list__banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
  max-width: 1220px;
  margin: 0 auto var(--margin-l);
  padding: var(--padding-m) var(--padding-l);
  background-color: rgba(201, 64, 64, 0.08);
  border: 1px solid rgba(201, 64, 64, 0.35);
  border-radius: 12px;
}
.search-room-list__banner[hidden] {
  display: none;
}

.search-room-list__banner-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-dark);
}

.search-room-list__banner-retry {
  flex-shrink: 0;
  padding: var(--padding-xs) var(--padding-l);
  background-color: var(--color-white);
  border: 1px solid #c94040;
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 500;
  color: #c94040;
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.search-room-list__banner-retry:hover {
  background-color: #c94040;
  color: var(--color-white);
}

.search-room-list__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
  padding: var(--margin-xxl) 0;
  text-align: center;
}

.search-room-list__empty-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  color: var(--color-dark);
}

.search-room-list__empty-text {
  margin: 0;
  max-width: 480px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  color: var(--color-text-secondary);
}

.room-variants {
  max-width: calc(var(--wrapper-max-width) + 2 * var(--section-padding-main));
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.room-variants__head {
  width: 100%;
}
.room-variants__list {
  width: 100%;
}

.room-amenities {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xl);
  padding: 0 var(--section-padding-main);
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}
.room-amenities__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xl) var(--margin-3l);
  margin: 0;
  padding: 0;
  list-style: none;
}
.room-amenities__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--margin-xs);
}
.room-amenities__icon {
  flex-shrink: 0;
}
.room-amenities__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  color: var(--color-dark);
  white-space: nowrap;
}
.room-amenities__lead {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}

.advantages {
  display: flex;
  flex-direction: column;
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
}
@media (min-width: 850px) {
  .advantages {
    flex-direction: row;
    align-items: center;
    padding: 0 var(--section-padding-main);
    gap: 28px;
  }
}
@media (min-width: 1280px) {
  .advantages {
    gap: 139px;
  }
}
.advantages__media {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 390px;
  overflow: hidden;
  color: var(--color-white);
  text-align: center;
}
@media (min-width: 850px) {
  .advantages__media {
    flex: 1 1 0;
    align-self: stretch;
    min-height: 480px;
  }
}
@media (min-width: 1280px) {
  .advantages__media {
    flex: 1.1 1 0;
    min-height: 678px;
  }
}
.advantages__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.advantages__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
}
.advantages__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
  padding: 0 var(--section-padding-main) var(--margin-3l);
}
@media (min-width: 850px) {
  .advantages__content {
    gap: 24px;
  }
}
@media (min-width: 1280px) {
  .advantages__content {
    gap: 40px;
  }
}
.advantages__heading .section-header__body {
  gap: var(--margin-m);
}
.advantages__heading .section-header__eyebrow {
  color: var(--color-black-30);
}
.advantages__heading .section-header__title,
.advantages__heading .section-header__text {
  color: var(--color-white);
}
.advantages__stats {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: var(--margin-3l) var(--section-padding-main);
}
@media (min-width: 850px) {
  .advantages__stats {
    flex: 1 1 0;
    gap: 28px;
    padding: 0;
  }
}
@media (min-width: 1280px) {
  .advantages__stats {
    flex: 1 1 0;
    gap: 40px;
  }
}
.advantages__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
}
@media (min-width: 850px) {
  .advantages__row {
    gap: 40px;
  }
}
@media (min-width: 1280px) {
  .advantages__row {
    gap: 64px;
  }
}
.advantages__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
  flex: 1 1 0;
}
@media (min-width: 850px) {
  .advantages__item {
    flex: 0 1 156px;
  }
}
.advantages__number {
  font-family: var(--font-accent);
  font-size: var(--font-size-numbers);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.advantages__label {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  color: var(--color-text-third);
}
.advantages__divider {
  flex-shrink: 0;
  background-color: var(--color-accent);
  opacity: 0.7;
}
.advantages__divider_vertical {
  align-self: stretch;
  width: 1px;
}
.advantages__divider_horizontal {
  width: 206px;
  height: 1px;
}
@media (min-width: 850px) {
  .advantages__divider_horizontal {
    width: 213px;
  }
}
@media (min-width: 1280px) {
  .advantages__divider_horizontal {
    width: 256px;
  }
}

.activity-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  color: inherit;
  text-decoration: none;
}
.activity-card__image-box {
  position: relative;
}
.activity-card__photo {
  display: block;
  width: 100%;
  aspect-ratio: 322/242;
  object-fit: cover;
}
.activity-card__badge {
  position: absolute;
  bottom: 20px;
  left: 16px;
}
.activity-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  padding: var(--margin-l) 0;
}
.activity-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
}
.activity-card__head {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxs);
}
.activity-card__title {
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.activity-card__subtitle {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.activity-card__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}

.activities {
  display: flex;
  flex-direction: column;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
  width: 100%;
  margin: 0 auto;
  max-width: var(--wrapper-max-width);
}
.activities__head .section-header__body {
  gap: 8px;
}
@media (min-width: 750px) {
  .activities__head .section-header__body {
    gap: var(--margin-l);
  }
}
.activities__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
}
@media (min-width: 750px) and (max-width: 1279.98px) {
  .activities__row {
    gap: 28px;
  }
}
@media (min-width: 1280px) {
  .activities__row {
    gap: 32px;
  }
}
.activities__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}
@media (min-width: 750px) and (max-width: 1279.98px) {
  .activities__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (min-width: 1280px) {
  .activities__list {
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
  }
}
.activities__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 1280px) {
  .activities__card {
    flex: 1 1 0;
    min-width: 0;
  }
}
.activities__card_extra {
  display: none;
}
@media (min-width: 750px) and (max-width: 1279.98px) {
  .activities__card_extra {
    display: flex;
  }
}
.activities__all {
  align-self: center;
}

.activities-grid {
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
  padding: 0 var(--section-padding-main);
}
.activities-grid__card[hidden] {
  display: none;
}
.activities-grid__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 750px) {
  .activities-grid__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (min-width: 1280px) {
  .activities-grid__list {
    gap: var(--margin-xxl);
  }
}

.offers {
  display: flex;
  flex-direction: column;
  gap: 36px;
  padding: 0 var(--section-padding-main);
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
}
@media (min-width: 1280px) {
  .offers {
    gap: 48px;
  }
}
.offers__row {
  display: flex;
  flex-direction: column;
  gap: 36px;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 1280px) {
  .offers__row {
    gap: 40px;
  }
}
.offers__head .section-header__body {
  gap: 8px;
}
@media (min-width: 750px) {
  .offers__head .section-header__body {
    gap: var(--margin-l);
  }
}
.offers__head .section-header__text {
  max-width: 40em;
}
.offers__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 750px) {
  .offers__list {
    gap: 20px;
  }
}
@media (min-width: 1280px) {
  .offers__list {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }
}
.offers__card {
  display: flex;
  flex-direction: column;
}
@media (min-width: 750px) {
  .offers__card {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}
@media (min-width: 1280px) {
  .offers__card {
    flex: 1 1 0;
    gap: 24px;
  }
}
.offers__media {
  display: block;
  flex-shrink: 0;
}
@media (min-width: 750px) {
  .offers__media {
    width: 446px;
    height: 446px;
  }
}
@media (min-width: 1280px) {
  .offers__media {
    width: 321px;
    height: 428px;
  }
}
.offers__img {
  display: block;
  width: 100%;
  height: 358px;
  object-fit: cover;
}
@media (min-width: 750px) {
  .offers__img {
    height: 100%;
  }
}
.offers__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 24px 16px 24px 0;
}
@media (min-width: 750px) {
  .offers__body {
    flex: 1 1 auto;
    align-self: stretch;
    gap: 24px;
    padding: 0 13px 20px 0;
  }
}
@media (min-width: 1280px) {
  .offers__body {
    justify-content: space-between;
    gap: 0;
    padding: 24px 16px 24px 0;
  }
}
.offers__content {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
@media (min-width: 750px) {
  .offers__content {
    gap: 28px;
  }
}
@media (min-width: 1280px) {
  .offers__content {
    gap: 32px;
  }
}
.offers__badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.offers__badge_color_teal {
  border-color: var(--color-add-teal);
  color: var(--color-add-teal);
}
.offers__badge_color_pink {
  border-color: var(--color-add-pink);
  color: var(--color-add-pink);
}
.offers__badge_color_green {
  border-color: var(--color-add-green);
  color: var(--color-add-green);
}
.offers__info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 750px) {
  .offers__info {
    gap: 24px;
  }
}
.offers__card-title {
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.offers__card-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.offers__link {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.57;
  color: var(--color-dark);
  text-decoration: none;
  transition: color 0.2s ease;
}
@media (min-width: 750px) {
  .offers__link {
    font-size: var(--font-size-body-l);
    line-height: 1.6;
  }
}
.offers__link:hover {
  color: var(--color-accent);
}
.offers__link-icon {
  width: 20px;
  height: 20px;
}
@media (min-width: 750px) {
  .offers__link-icon {
    width: 24px;
    height: 24px;
  }
}
.offers__all {
  display: none;
  align-self: center;
}
@media (min-width: 750px) {
  .offers__all {
    display: inline-flex;
  }
}

.certificates {
  width: 100%;
  padding: 0 var(--section-padding-main);
  margin: 0 auto;
}
.certificates__container {
  padding: 0 var(--section-padding-main) var(--margin-3l);
  overflow: hidden;
  color: var(--color-white);
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-height: 390px;
}
@media (min-width: 750px) {
  .certificates__container {
    display: block;
    min-height: 0;
    padding: 80px 40px;
  }
}
@media (min-width: 1280px) {
  .certificates__container {
    aspect-ratio: 1358/345;
    padding: 96px 116px;
    height: 100%;
    display: flex;
    width: 100%;
    justify-content: center;
  }
}
.certificates__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.certificates__bg-img, .certificates__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
.certificates__bg-img {
  object-fit: cover;
  object-position: center;
}
.certificates__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.certificates__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
}
@media (min-width: 750px) {
  .certificates__inner {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }
}
@media (min-width: 1280px) {
  .certificates__inner {
    justify-content: space-between;
    gap: 0;
    width: 100%;
  }
}
.certificates__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
  text-align: center;
  width: 100%;
}
@media (min-width: 750px) {
  .certificates__content {
    align-items: flex-start;
    flex: 1 1 auto;
    gap: 13px;
    text-align: left;
  }
}
@media (min-width: 1280px) {
  .certificates__content {
    flex: 0 1 auto;
    gap: var(--margin-m);
    max-width: 741px;
  }
}
.certificates__eyebrow {
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-black-30);
  opacity: 0.5;
}
.certificates__title {
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-white);
}
.certificates__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-white);
}
.certificates__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xxl);
  width: 100%;
}
@media (min-width: 750px) {
  .certificates__aside {
    flex: 0 0 250px;
    width: 250px;
    align-items: stretch;
    gap: var(--margin-m);
  }
}
.certificates__btn {
  width: auto;
}
@media (min-width: 750px) {
  .certificates__btn {
    width: 100%;
    padding: var(--padding-l) var(--padding-xl);
    font-size: var(--font-size-btn-large);
    letter-spacing: 1.12px;
  }
}
.certificates__note {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  color: var(--color-black-30);
}

.reviews {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xl);
  padding: 0 var(--section-padding-main);
}
@media (min-width: 750px) {
  .reviews {
    align-items: stretch;
    gap: var(--padding-xxl);
  }
}
.reviews__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xs);
  text-align: center;
  order: 1;
}
@media (min-width: 750px) {
  .reviews__head {
    order: auto;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--margin-l);
    text-align: left;
  }
}
@media (min-width: 750px) {
  .reviews__heading {
    align-items: flex-start;
    text-align: left;
  }
}
.reviews__heading .section-header__body {
  gap: var(--margin-xs);
}
@media (min-width: 750px) {
  .reviews__heading .section-header__body {
    gap: var(--margin-m);
  }
}
.reviews__nav {
  display: none;
}
@media (min-width: 750px) {
  .reviews__nav {
    display: flex;
    align-items: center;
    gap: var(--margin-xxs);
    flex-shrink: 0;
  }
}
.reviews__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--padding-m) var(--padding-xl);
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 48px;
  cursor: pointer;
  transition: border-color 0.2s ease, opacity 0.2s ease;
}
.reviews__nav-btn_disabled, .reviews__nav-btn:disabled {
  border-color: transparent;
  cursor: default;
}
.reviews__nav-btn_disabled .reviews__nav-icon, .reviews__nav-btn:disabled .reviews__nav-icon {
  color: var(--color-text-secondary);
}
.reviews__viewport {
  width: 100%;
  overflow: hidden;
  cursor: grab;
  order: 3;
}
@media (min-width: 750px) {
  .reviews__viewport {
    order: auto;
  }
}
.reviews__viewport:active {
  cursor: grabbing;
}
.reviews__list {
  display: flex;
  align-items: flex-start;
  gap: var(--margin-l);
  width: 100%;
  touch-action: pan-y pinch-zoom;
}
.reviews__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--margin-l);
  flex: 0 0 100%;
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 750px) and (max-width: 1279.98px) {
  .reviews__card {
    flex: 0 0 calc((100% - var(--margin-l)) / 2);
    max-width: calc((100% - var(--margin-l)) / 2);
  }
}
@media (min-width: 1280px) {
  .reviews__card {
    flex: 0 0 calc((100% - 2 * var(--margin-l)) / 3);
    max-width: calc((100% - 2 * var(--margin-l)) / 3);
  }
}
.reviews__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--margin-s);
  width: 100%;
}
.reviews__user {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  min-width: 0;
}
.reviews__name {
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.reviews__meta {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
}
.reviews__rating {
  display: flex;
}
.reviews__star {
  display: block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--color-black-30);
}
.reviews__star_filled {
  color: var(--color-accent);
}
.reviews__date {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
  white-space: nowrap;
}
.reviews__source {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--margin-xs);
  padding: var(--padding-xs) var(--margin-m) var(--padding-xs) var(--padding-xs);
  background-color: var(--color-white);
  border-radius: 32px;
}
.reviews__source-icon {
  display: block;
  flex-shrink: 0;
  width: 23px;
  height: 23.84px;
}
.reviews__source-label {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.46;
  color: var(--color-dark);
  white-space: nowrap;
}
.reviews__photos {
  display: flex;
  align-items: center;
  gap: 6px;
}
.reviews__photo-link {
  display: block;
  flex-shrink: 0;
  border: 0;
  text-decoration: none;
  cursor: zoom-in;
}
.reviews__photo-link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}
.reviews__photo {
  display: block;
  flex-shrink: 0;
  width: 85px;
  height: 64px;
  object-fit: cover;
}
.reviews__text {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.reviews__more {
  padding: var(--padding-s) 0;
  background: transparent;
  border: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-accent);
  cursor: pointer;
  transition: color 0.2s ease;
}
.reviews__more:hover {
  color: var(--color-accent-hover);
}
.reviews__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xs);
  order: 2;
}
@media (min-width: 750px) {
  .reviews__dots {
    order: auto;
    display: none;
  }
}
.reviews__dot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.reviews__dot::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-accent);
}
.reviews__dot_active::before {
  width: 4px;
  height: 4px;
  background-color: var(--color-text-third);
}
.reviews__dot_active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
}

.aboutus {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xxl);
  padding: 0 var(--section-padding-main);
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
}
.aboutus__heading {
  max-width: 760px;
}
.aboutus__heading .section-header__body {
  gap: var(--margin-m);
}
.aboutus__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
}
@media (min-width: 980px) {
  .aboutus__row {
    flex-direction: row;
    align-items: stretch;
    gap: var(--margin-l);
  }
}
.aboutus__media {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 667/484;
  overflow: hidden;
}
@media (min-width: 980px) {
  .aboutus__media {
    flex: 1 1 0;
    width: auto;
  }
}
.aboutus__media_square {
  aspect-ratio: 1;
}
.aboutus__photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.aboutus__col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--padding-xxl);
  width: 100%;
  padding: 64px 0;
  text-align: center;
}
@media (min-width: 980px) {
  .aboutus__col {
    gap: 64px;
    flex: 1 1 0;
  }
  .aboutus__col p.single {
    max-width: 67%;
    text-align: center;
    padding: 0 8px;
    width: 100%;
    margin: 0 auto;
    flex: 0 1 0;
  }
}
@media (min-width: 980px) {
  .aboutus__col_wide {
    flex: 2 1 0;
    text-align: left;
  }
}
.aboutus__texts {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xl);
}
@media (min-width: 980px) {
  .aboutus__texts {
    flex-direction: row;
    gap: var(--margin-3l);
  }
}
.aboutus p {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
@media (min-width: 980px) {
  .aboutus p {
    flex: 1 1 0;
  }
}
.aboutus__stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  max-width: 437px;
  margin: 0 auto;
  width: 100%;
}
@media (min-width: 980px) {
  .aboutus__stats.alt {
    max-width: 75%;
    width: 100%;
    justify-content: center;
    margin: 0 auto;
  }
  .aboutus__stats .aboutus__item {
    flex: 0 0 206px;
  }
}
.aboutus__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--margin-s);
  flex: 1 1 206px;
  text-align: center;
}
.aboutus__number {
  font-family: var(--font-accent);
  font-size: var(--font-size-numbers);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.aboutus__label {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}
.aboutus__divider {
  flex-shrink: 0;
  align-self: stretch;
  width: 1px;
  background-color: var(--color-accent);
  opacity: 0.7;
}
@media (max-width: 979px) {
  .aboutus .aboutus__media {
    order: 1;
  }
  .aboutus .aboutus__col {
    order: 2;
  }
}

.gallery {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0;
  overflow: hidden;
}
.gallery__heading {
  padding: 0 var(--section-padding-main);
}
.gallery__heading .section-header__body {
  gap: var(--margin-m);
}
.gallery__slider {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxl);
  width: 100%;
}
.gallery__viewport {
  width: 100%;
  height: 60vw;
  overflow: hidden;
  cursor: grab;
}
@media (min-width: 750px) {
  .gallery__viewport {
    height: 45vw;
  }
}
@media (min-width: 1280px) {
  .gallery__viewport {
    height: 34vw;
  }
}
.gallery__viewport:active {
  cursor: grabbing;
}
.gallery__list {
  display: flex;
  align-items: center;
  gap: var(--margin-l);
  height: 100%;
  touch-action: pan-y pinch-zoom;
}
.gallery__slide {
  flex: 0 0 auto;
  min-width: 0;
  height: 100%;
}
.gallery__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  user-select: none;
  -webkit-user-drag: none;
}
.gallery__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
.gallery__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xs);
  padding: 0 var(--section-padding-main);
}
.gallery__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: var(--padding-m) var(--padding-xl);
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 48px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.gallery__arrow:disabled {
  border-color: transparent;
  cursor: default;
}
.gallery__arrow:disabled .icon {
  color: var(--color-text-secondary) !important;
}
@media (max-width: 749px) {
  .gallery__arrow {
    padding: 12px 24px;
  }
  .gallery__arrow .icon {
    width: 24px;
    height: 24px;
  }
}
.gallery__dots {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
}
.gallery__dot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.gallery__dot::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-accent);
}
.gallery__dot_active::before {
  width: 4px;
  height: 4px;
  background-color: var(--color-text-third);
}
.gallery__dot_active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
}

.included {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
}
.included__heading .section-header__body {
  gap: var(--margin-m);
}
.included__heading .section-header__text {
  max-width: 40em;
}
.included__times {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: var(--margin-l) var(--margin-xl);
  width: 100%;
}
@media (min-width: 750px) {
  .included__times {
    flex-wrap: nowrap;
    gap: 40px;
  }
}
@media (min-width: 1280px) {
  .included__times {
    gap: 71px;
  }
}
.included__time {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: var(--margin-xs);
  width: 152px;
}
@media (min-width: 1280px) {
  .included__time {
    width: 184px;
  }
}
.included__time-label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.included__time-value {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.included__photos {
  display: flex;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
}
@media (min-width: 1280px) {
  .included__photos {
    gap: 24px;
  }
}
.included__photo {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 1920/1080;
  overflow: hidden;
}
.included__photo_secondary {
  display: none;
}
@media (min-width: 750px) {
  .included__photo_secondary {
    display: block;
  }
}
.included__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.venues {
  background-color: var(--color-black-20);
  padding: var(--layout-section-margin) 0;
}
.venues__wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--padding-xxl);
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
}
.venues__heading {
  padding: 0 var(--section-padding-main);
}
.venues__heading .section-header__body {
  gap: var(--margin-m);
  align-items: center;
}
@media (min-width: 750px) {
  .venues__heading .section-header__body {
    align-items: inherit;
  }
}
.venues__heading .section-header__text {
  max-width: 40em;
  text-align: center;
}
@media (min-width: 750px) {
  .venues__heading .section-header__text {
    text-align: left;
  }
}
.venues__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--margin-3l);
}
@media (min-width: 1280px) {
  .venues__list {
    grid-template-columns: 1.78fr 1fr;
    column-gap: 142px;
    row-gap: var(--margin-3l);
    padding: 0 var(--section-padding-main);
  }
}
.venues__card {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1280px) {
  .venues__card_size_wide {
    padding-top: 96px;
  }
}
.venues__media {
  display: block;
  width: 100%;
  overflow: hidden;
}
.venues__card_size_wide .venues__media {
  aspect-ratio: 781/439;
}
.venues__card_size_square .venues__media {
  aspect-ratio: 1/1;
}
.venues__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.venues__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxl);
  padding: var(--margin-l) var(--section-padding-main) 0;
}
@media (min-width: 1280px) {
  .venues__body {
    padding: var(--margin-xl) 0 0;
  }
}
.venues__info {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
}
.venues__tag {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-dark);
  opacity: 0.5;
}
.venues__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.venues__row {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
}
@media (min-width: 1280px) {
  .venues__row {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--margin-l);
  }
}
.venues__text {
  margin: 0;
  flex: 1 1 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.venues__times {
  display: flex;
  flex-wrap: wrap;
  gap: var(--margin-xs) var(--margin-m);
}
@media (min-width: 1280px) {
  .venues__times {
    flex-shrink: 0;
    flex-wrap: nowrap;
  }
}
.venues__time {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xs);
  flex: 1 0 190px;
}
.venues__time-label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}
.venues__time-value {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.venues__actions {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  width: 100%;
}
@media (min-width: 750px) {
  .venues__actions {
    flex-direction: row;
    width: auto;
    gap: var(--margin-xs);
  }
}
.venues__action {
  width: 100%;
}
@media (min-width: 750px) {
  .venues__action {
    width: auto;
  }
}

.icon-big {
  display: block;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
}

.principlecard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
  width: 100%;
  padding: var(--padding-xl);
  text-align: center;
}
.principlecard__icon {
  margin: 0 auto;
}
.principlecard__title {
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.principlecard__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.principles {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.principles__heading {
  max-width: 580px;
}
.principles__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--margin-l);
  width: 100%;
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
}
@media (min-width: 750px) {
  .principles__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1280px) {
  .principles__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.maptag {
  display: inline-flex;
  align-items: center;
  gap: var(--margin-xs);
  padding: var(--padding-s) var(--padding-m);
  border-radius: 40px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.maptag:hover {
  background-color: var(--color-black-20);
}
.maptag__icon {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}
.maptag__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.375;
  color: var(--color-dark);
  white-space: nowrap;
}

.map {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
@media (min-width: 750px) {
  .map {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 1280px) {
  .map {
    aspect-ratio: 1440/426;
  }
}
.map__frame, .map__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.map__canvas_empty {
  display: grid;
  place-items: center;
  padding: 24px;
  text-align: center;
  background: #f2f2f2;
  color: #555;
  font-size: 14px;
  line-height: 1.4;
}

.location {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0;
}
.location__heading {
  max-width: 561px;
  padding: 0 var(--section-padding-main);
}
.location__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xxl);
  width: 100%;
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  padding: 0 var(--section-padding-main);
}
@media (min-width: 750px) {
  .location__info {
    align-items: flex-start;
  }
}
@media (min-width: 1280px) {
  .location__info {
    flex-direction: row;
    justify-content: space-between;
    gap: var(--margin-3l);
  }
}
.location__address, .location__route {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
}
@media (min-width: 750px) {
  .location__address, .location__route {
    align-items: flex-start;
  }
}
.location__route {
  gap: var(--margin-m);
}
.location__address-label, .location__route-label {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.location__address-text {
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
  text-align: center;
}
@media (min-width: 750px) {
  .location__address-text {
    text-align: left;
  }
}
.location__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
  gap: var(--margin-m);
}
@media (min-width: 750px) {
  .location__tags {
    flex-direction: row;
  }
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  padding: var(--padding-xs) var(--padding-s) var(--padding-xs) var(--padding-xs);
  border: 1px solid transparent;
  border-radius: 28px;
}
.tag__icon {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}
.tag__text {
  font-family: var(--font-body);
  font-size: var(--font-size-tag);
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-white);
  white-space: nowrap;
}
.tag_color_green {
  background-color: var(--color-add-green);
  border-color: var(--color-add-green);
}
.tag_color_blue {
  background-color: var(--color-add-blue);
  border-color: var(--color-add-blue);
}
.tag_color_pink {
  background-color: var(--color-add-pink);
  border-color: var(--color-add-pink);
}
.tag_color_teal {
  background-color: var(--color-add-teal);
  border-color: var(--color-add-teal);
}
.tag_variant_outline {
  background-color: transparent;
  border-color: var(--color-accent);
  padding: var(--padding-xs) var(--padding-s);
}
.tag_variant_outline .tag__text {
  color: var(--color-accent);
}

.pageheader {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  padding: 0 var(--section-padding-main);
  text-align: center;
  /*   &:first-child {
      padding-top: var(--layout-section-margin);
    } */
}
.pageheader.max760 {
  max-width: 760px;
}
.pageheader__action {
  gap: 4px;
  padding: 4px var(--padding-l) 4px var(--padding-s);
  height: 32px;
  letter-spacing: 0.07em;
}
@media (min-width: 1280px) {
  .pageheader__action {
    gap: 8px;
    height: auto;
    padding: 8px var(--padding-l) 8px var(--padding-s);
  }
}
.pageheader__action .actionbtn__icon {
  width: 24px;
  height: 24px;
}
@media (min-width: 1280px) {
  .pageheader__action .actionbtn__icon {
    width: 32px;
    height: 32px;
  }
}
.pageheader__title {
  margin: 0;
  font-family: var(--font-accent);
  font-size: var(--font-size-h1);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.pageheader__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.pageheader__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--margin-xs);
  width: 100%;
}
.pageheader_tabs .pageheader__footer {
  margin-top: 8px;
}

.activity-formats {
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
@media (min-width: 750px) {
  .activity-formats {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--margin-l);
  }
}
.activity-formats__text {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
}
@media (min-width: 750px) {
  .activity-formats__text {
    flex: 1 1 0;
    min-width: 0;
  }
}
.activity-formats__title {
  margin: 0;
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.activity-formats__lead {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.activity-formats__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  gap: var(--margin-l);
  width: 100%;
}
@media (min-width: 750px) {
  .activity-formats__cards {
    flex: 1 1 0;
  }
}
.activity-formats__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.activity-formats__photo {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.activity-formats__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  padding-top: var(--margin-l);
}
.activity-formats__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-xs);
}
.activity-formats__card-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.activity-formats__icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.activity-formats__card:hover .activity-formats__icon {
  transform: translate(2px, -2px);
}
.activity-formats__card-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}

.schedule {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.schedule__head .section-header__text {
  max-width: 40em;
}
.schedule__list {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  width: 100%;
}
@media (min-width: 1280px) {
  .schedule__list {
    max-width: 894px;
    margin: 0 auto;
  }
}
.schedule__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: var(--padding-l);
  border-bottom: 1px solid var(--color-black-30);
}
.schedule__row:first-child {
  border-top: 1px solid var(--color-black-30);
}
.schedule__info {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  gap: var(--margin-m);
  min-width: 0;
}
.schedule__duration {
  flex-shrink: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
@media (min-width: 1280px) {
  .schedule__duration {
    width: 160px;
  }
}
.schedule__name {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-text-third);
}
.schedule__price {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  flex-shrink: 0;
  margin: 0;
  white-space: nowrap;
}
.schedule__price-value {
  font-family: var(--font-accent);
  font-size: 24px;
  line-height: 1.36;
  color: var(--color-dark);
}
.schedule__price-currency {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.other-activities {
  display: flex;
  flex-direction: column;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
}
.other-activities__head .section-header__body {
  gap: 8px;
}
@media (min-width: 750px) {
  .other-activities__head .section-header__body {
    gap: var(--margin-l);
  }
}
.other-activities__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 750px) {
  .other-activities__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (min-width: 1280px) {
  .other-activities__list {
    gap: var(--margin-xxl);
  }
}

.offer-card {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  width: 100%;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 750px) {
  .offer-card {
    grid-template-columns: 240px 1fr;
    gap: 40px;
  }
}
@media (min-width: 1280px) {
  .offer-card {
    grid-template-columns: 323px 1fr;
    gap: 141px;
  }
}
.offer-card__media {
  display: block;
  width: 100%;
  height: 358px;
}
@media (min-width: 750px) {
  .offer-card__media {
    height: auto;
  }
}
.offer-card__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offer-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxl);
  padding: var(--margin-l) 0 0;
}
@media (min-width: 750px) {
  .offer-card__body {
    justify-content: center;
    gap: var(--margin-3l);
    padding: 0;
  }
}
.offer-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xl);
}
.offer-card__badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  padding: var(--padding-xs) var(--padding-s);
  border: 1px solid transparent;
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: var(--font-size-tag);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.offer-card__badge_color_pink {
  border-color: var(--color-add-pink);
  color: var(--color-add-pink);
}
.offer-card__badge_color_teal {
  border-color: var(--color-add-teal);
  color: var(--color-add-teal);
}
.offer-card__badge_color_blue {
  border-color: var(--color-add-blue);
  color: var(--color-add-blue);
}
.offer-card__badge_color_green {
  border-color: var(--color-add-green);
  color: var(--color-add-green);
}
.offer-card__head {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
}
.offer-card__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.offer-card__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.offer-card__footer {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xl);
}
.offer-card__meta {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 64px;
}
.offer-card__meta-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.offer-card__meta-label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-third);
}
.offer-card__meta-value {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.offer-card__bottom {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
}
@media (min-width: 750px) {
  .offer-card__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--margin-m);
  }
}
.offer-card__price {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  margin: 0;
  white-space: nowrap;
}
.offer-card__price-label, .offer-card__price-unit {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
}
.offer-card__price-label {
  color: var(--color-dark);
}
.offer-card__price-unit {
  color: var(--color-text-secondary);
}
.offer-card__price-value {
  font-family: var(--font-accent);
  font-size: 32px;
  line-height: 1.18;
  color: var(--color-dark);
}
.offer-card__price-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.offer-card__action {
  width: 100%;
  color: var(--color-dark);
}
@media (min-width: 750px) {
  .offer-card__action {
    width: auto;
    padding: var(--padding-m) var(--padding-l);
    font-size: var(--font-size-btn-base);
    letter-spacing: 0.91px;
    color: var(--color-text-third);
  }
}

.offers-list {
  padding: 0 var(--section-padding-main);
}
.offers-list__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--margin-l);
  max-width: 1200px;
  margin: 0 auto;
}
@media (min-width: 750px) {
  .offers-list__list {
    gap: 0;
  }
}
@media (min-width: 750px) {
  .offers-list__item {
    padding: var(--margin-xxl) 0;
    border-bottom: 1px solid var(--color-black-30);
  }
  .offers-list__item:first-child {
    border-top: 1px solid var(--color-black-30);
  }
}

.loyalty {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--layout-section-margin);
  padding: var(--layout-section-margin) var(--section-padding-main) var(--layout-bottom-margin);
  background-color: var(--color-dark-100);
  overflow: hidden;
}
.loyalty__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  width: 100%;
}
@media (min-width: 1280px) {
  .loyalty__inner {
    max-width: 1133px;
    margin: 0 auto;
  }
}
.loyalty__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
  width: 100%;
  text-align: center;
}
@media (min-width: 1280px) {
  .loyalty__head {
    max-width: 630px;
    margin: 0 auto;
  }
}
.loyalty__watermark {
  position: absolute;
  z-index: 0;
  display: block;
  pointer-events: none;
  right: 0;
  top: calc(50% + 47.5px);
  transform: translateY(-50%);
  width: 224px;
  height: 278px;
}
@media (min-width: 1280px) {
  .loyalty__watermark {
    right: auto;
    left: calc(50% + 530.5px);
    top: calc(50% + 65.5px);
    transform: translate(-50%, -50%);
    width: 300px;
    height: 375px;
  }
}
.loyalty__watermark img {
  display: block;
  width: 100%;
  height: 100%;
}
.loyalty__eyebrow {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
  opacity: 0.5;
}
.loyalty__title {
  margin: 0;
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-white);
}
.loyalty__eyebrow, .loyalty__title {
  position: relative;
  z-index: 1;
}
.loyalty__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media (min-width: 1280px) {
  .loyalty__text {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
  }
}
.loyalty__text-item {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
  max-width: 730px;
}
@media (min-width: 1280px) {
  .loyalty__text-item {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
  }
  .loyalty__text-item br {
    display: none;
  }
}
.loyalty__text-accent {
  color: var(--color-add-pink);
}
.loyalty__tiers {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 16px;
}
@media (min-width: 1280px) {
  .loyalty__tiers {
    flex-direction: row;
    align-items: center;
    max-width: 808px;
    margin: 0 auto;
  }
}
.loyalty__tier {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--margin-m);
  padding: var(--margin-m);
}
@media (min-width: 1280px) {
  .loyalty__tier {
    flex: 1 1 0;
  }
}
.loyalty__tier-info {
  display: flex;
  flex-direction: column;
}
.loyalty__tier-name {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-white);
}
.loyalty__tier-visits {
  margin: 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
}
.loyalty__tier-value {
  margin: 0;
  flex-shrink: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-accent);
  white-space: nowrap;
}
.loyalty__divider {
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black-30);
  opacity: 0.2;
}
@media (min-width: 1280px) {
  .loyalty__divider {
    align-self: stretch;
    width: 1px;
    height: 80px;
  }
}

.alert {
  display: inline-flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--margin-s);
  padding: var(--margin-m);
  background-color: var(--color-white);
  border: 1px solid var(--color-add-blue);
  border-radius: 0;
  color: var(--color-add-blue);
}
.alert_variant_error {
  border-color: var(--color-add-pink);
  color: var(--color-add-pink);
}
.alert_variant_success {
  border-color: var(--color-add-green);
  color: var(--color-add-green);
}
.alert__info-entry {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: var(--margin-s);
}
.alert__icon {
  flex-shrink: 0;
  margin-top: 2px;
}
.alert__text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.alert__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--margin-s);
  width: 100%;
  padding-left: calc(20px + var(--margin-s));
}
.alert__link {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 500;
  color: var(--color-dark);
  text-decoration: none;
  white-space: nowrap;
}
.alert__link:hover {
  color: var(--color-accent-hover);
}

.faq {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.faq__head {
  max-width: 760px;
}
.faq__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 760px;
}
.faq__item {
  border-bottom: 1px solid var(--color-black-30);
}
.faq__item:first-child {
  border-top: 1px solid var(--color-black-30);
}
.faq__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
  margin: 0;
  padding: var(--padding-l);
  background: transparent;
  border: 0;
  font: inherit;
  text-align: left;
  color: inherit;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.faq__toggle:hover {
  background-color: var(--color-black-20);
}
.faq__toggle:hover .faq__icon {
  color: var(--color-accent);
}
.faq__question {
  flex: 1 1 0;
  min-width: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-text-third);
}
.faq__icon_type_close {
  display: none;
}
.faq__item_open .faq__icon_type_plus {
  display: none;
}
.faq__item_open .faq__icon_type_close {
  display: block;
}
.faq__panel {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  padding: 0 var(--padding-l);
  transition: grid-template-rows 0.25s ease;
}
.faq__item_open .faq__panel {
  grid-template-rows: 1fr;
}
.faq__answer-inner {
  min-height: 0;
}
.faq__answer {
  margin: 0;
  padding: var(--margin-l) 0 var(--padding-l);
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}

.offer-media {
  padding: 0 var(--section-padding-main);
}
.offer-media__slider {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  margin: 0 auto;
}
.offer-media__viewport {
  width: 100%;
  overflow: hidden;
  cursor: grab;
}
.offer-media__viewport:active {
  cursor: grabbing;
}
.offer-media__list {
  display: flex;
  gap: var(--margin-l);
  touch-action: pan-y pinch-zoom;
}
.offer-media__item {
  flex: 0 0 100%;
  min-width: 0;
}
@media (min-width: 750px) {
  .offer-media__item {
    flex: 0 0 calc((100% - var(--margin-l)) / 2);
  }
}
.offer-media__photo {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}
.offer-media__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xs);
}
.offer-media__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: var(--padding-m) var(--padding-xl);
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 48px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.offer-media__arrow:disabled {
  border-color: transparent;
  cursor: default;
}
.offer-media__arrow:disabled .icon {
  color: var(--color-text-secondary) !important;
}
@media (max-width: 749px) {
  .offer-media__arrow {
    padding: 12px 24px;
  }
  .offer-media__arrow .icon {
    width: 24px;
    height: 24px;
  }
}
.offer-media__dots {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
}
.offer-media__dot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.offer-media__dot::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-accent);
}
.offer-media__dot_active::before {
  width: 4px;
  height: 4px;
  background-color: var(--color-text-third);
}
.offer-media__dot_active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
}

.offer-text {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  max-width: 760px;
  margin: 0 auto;
  padding: 0 var(--section-padding-main);
}
.offer-text__paragraph {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}

.offer-detail__alert {
  display: flex;
  justify-content: center;
  padding: 0 var(--section-padding-main);
}
.offer-detail__alert .alert {
  max-width: 760px;
}

.offer-details__actions {
  display: flex;
  justify-content: center;
  padding: 0 var(--section-padding-main);
}

.early-booking {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  padding: var(--layout-section-margin) var(--section-padding-main);
  background-color: var(--color-dark-100);
  overflow: hidden;
}
@media (min-width: 1280px) {
  .early-booking {
    gap: 80px;
  }
}
.early-booking::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -15%;
  left: 15%;
  width: 560px;
  height: 560px;
  background: radial-gradient(circle, rgba(196, 153, 81, 0.16), transparent 70%);
  pointer-events: none;
}
@media (min-width: 1280px) {
  .early-booking::before {
    bottom: -21%;
    top: inherit;
    left: 62%;
    width: 688px;
    height: 688px;
  }
}
.early-booking__heading {
  position: relative;
  z-index: 1;
  width: 100%;
}
.early-booking__heading .section-header__eyebrow {
  color: var(--color-accent);
  opacity: 1;
}
.early-booking__heading .section-header__title {
  color: var(--color-white);
}
.early-booking__heading .section-header__text {
  max-width: 40em;
  margin: 0 auto;
  color: var(--color-white);
  opacity: 1;
}
.early-booking__title-accent {
  color: var(--color-accent);
}
.early-booking__row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-xxl);
  width: 100%;
}
@media (min-width: 1280px) {
  .early-booking__row {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--margin-l);
    max-width: 1130px;
    margin: 0 auto;
  }
}
.early-booking__divider {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  left: 50%;
  top: 25px;
  bottom: 110px;
  width: 1px;
  background: linear-gradient(to bottom, rgba(196, 153, 81, 0), var(--color-accent));
  transform: translateX(-50%);
}
@media (min-width: 1280px) {
  .early-booking__divider {
    left: 0;
    right: 60px;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
    transform: none;
    top: 63px;
    background: linear-gradient(to right, rgba(196, 153, 81, 0), var(--color-accent));
  }
}
.early-booking__item {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: var(--margin-l);
  row-gap: var(--margin-xxs);
  align-items: center;
  width: 100%;
}
@media (min-width: 1280px) {
  .early-booking__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--margin-l);
    width: auto;
    text-align: center;
  }
}
@media (max-width: 1279.98px) {
  .early-booking__item_dot_start .early-booking__dot {
    grid-column: 2;
    grid-row: 1/3;
  }
  .early-booking__item_dot_start .early-booking__label,
  .early-booking__item_dot_start .early-booking__value {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
    text-align: left;
  }
  .early-booking__item_dot_start .early-booking__caption {
    grid-column: 3;
    grid-row: 2;
    justify-self: start;
    text-align: left;
  }
  .early-booking__item_dot_end .early-booking__dot {
    grid-column: 2;
    grid-row: 1/3;
  }
  .early-booking__item_dot_end .early-booking__label,
  .early-booking__item_dot_end .early-booking__value {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    text-align: right;
  }
  .early-booking__item_dot_end .early-booking__caption {
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
    text-align: right;
  }
  .early-booking__item_variant_highlight {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .early-booking__item_variant_highlight .early-booking__dot {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
  }
  .early-booking__item_variant_highlight .early-booking__value {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    text-align: center;
    background-color: var(--color-dark-100);
  }
  .early-booking__item_variant_highlight .early-booking__caption {
    grid-column: 1;
    grid-row: 3;
    justify-self: center;
    text-align: center;
    background-color: var(--color-dark-100);
  }
  .early-booking__item_variant_highlight .early-booking__badge {
    background-color: var(--color-dark-100);
    grid-column: 1;
    grid-row: 4;
    margin-top: var(--margin-xs);
  }
}
@media (min-width: 1280px) {
  .early-booking__label, .early-booking__caption {
    min-height: 32px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .early-booking__label {
    order: 1;
  }
  .early-booking__caption {
    order: 1;
  }
  .early-booking__value {
    order: 3;
  }
  .early-booking__dot {
    order: 2;
  }
  .early-booking__item_variant_lead .early-booking__caption {
    order: 3;
  }
  .early-booking__badge {
    order: 4;
    margin-top: var(--margin-xs);
  }
}
.early-booking__dot {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
  position: relative;
  z-index: 2;
  background: var(--color-dark-100);
}
.early-booking__dot_active {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}
.early-booking__label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-white);
  white-space: nowrap;
}
.early-booking__value {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 2px;
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-white);
  white-space: nowrap;
}
.early-booking__value-unit {
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
}
.early-booking__value_accent {
  color: var(--color-accent);
}
.early-booking__caption {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-white);
  white-space: nowrap;
}
.early-booking__badge {
  justify-self: center;
}

.richtext {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  max-width: 760px;
  margin: 0 auto;
  padding: 0 var(--section-padding-main);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.richtext_align_left {
  text-align: left;
}
.richtext_align_center {
  text-align: center;
}
.richtext_align_right {
  text-align: right;
}
.richtext p,
.richtext h2,
.richtext h3,
.richtext h4,
.richtext ul,
.richtext ol,
.richtext blockquote,
.richtext table,
.richtext img {
  margin: 0;
}
.richtext h1,
.richtext h2,
.richtext h3,
.richtext h4 {
  font-family: var(--font-accent);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.richtext h1 {
  font-size: var(--font-size-h1);
  text-align: center;
  margin-bottom: 16px;
}
.richtext h2 {
  font-size: var(--font-size-h2);
}
.richtext h3 {
  font-size: var(--font-size-h3);
}
.richtext h4 {
  font-size: var(--font-size-h4);
}
.richtext strong {
  font-weight: 700;
}
.richtext i {
  font-style: italic;
}
.richtext a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.richtext a:hover {
  color: var(--color-accent-hover);
}
.richtext ul,
.richtext ol {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
  padding-left: 1.25em;
}
.richtext ul {
  list-style: disc;
}
.richtext ol {
  list-style: decimal;
}
.richtext li {
  padding-left: 0.25em;
}
.richtext li > ul,
.richtext li > ol {
  margin-top: var(--margin-s);
}
.richtext blockquote {
  padding: var(--margin-m) var(--margin-l);
  border-left: 3px solid var(--color-accent);
  background-color: var(--color-black-10);
  border-radius: 0 16px 16px 0;
  font-style: italic;
  color: var(--color-text-third);
}
.richtext blockquote p + p {
  margin-top: var(--margin-s);
}
.richtext img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 16px;
}
.richtext table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  font-size: var(--font-size-body-m);
}
.richtext table th,
.richtext table td {
  padding: var(--margin-s) var(--margin-m);
  border: 1px solid var(--color-black-30);
  text-align: left;
  vertical-align: top;
}
.richtext table th {
  background-color: var(--color-black-10);
  font-weight: 700;
  white-space: nowrap;
}

.rules-content {
  max-width: 760px;
  margin: 0 auto var(--layout-section-margin);
  padding: 0 var(--section-padding-main);
}

.rules-richtext {
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.rules-richtext h1 {
  text-align: left;
}

.rules-navigation {
  margin-top: 40px;
}

.rules-navigation__list {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
  margin: 0;
  padding: 0;
  list-style: none;
}

.rules-navigation__link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--margin-xs);
  color: var(--color-dark);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  line-height: 1.35;
  text-decoration: none;
}
.rules-navigation__link:hover {
  color: var(--color-accent-hover);
}

.rules-navigation__icon {
  flex: 0 0 auto;
}

.contacts-info {
  display: flex;
  flex-direction: column;
  padding: 0 var(--section-padding-main);
}
@media (min-width: 1280px) {
  .contacts-info {
    padding: 0 155px;
  }
}
.contacts-info__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  width: 100%;
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
}
@media (min-width: 750px) {
  .contacts-info__row {
    flex-direction: row;
    align-items: flex-start;
  }
}
@media (min-width: 1280px) {
  .contacts-info__row {
    flex-direction: row;
    gap: var(--section-gap-main);
  }
}
.contacts-info__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
}
@media (min-width: 750px) {
  .contacts-info__col {
    align-items: flex-start;
  }
}
@media (min-width: 1280px) {
  .contacts-info__col {
    flex: 1 1 0;
  }
}
.contacts-info__col_secondary {
  gap: var(--margin-xxl);
  align-items: center;
}
@media (min-width: 750px) {
  .contacts-info__col_secondary {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (min-width: 1280px) {
  .contacts-info__col_secondary {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--layout-section-margin);
  }
}
.contacts-info__details {
  display: flex;
  flex-direction: column;
  gap: var(--margin-3l);
}
.contacts-info__group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
}
@media (min-width: 750px) {
  .contacts-info__group {
    align-items: flex-start;
  }
}
.contacts-info__group_route {
  gap: var(--margin-m);
}
.contacts-info__label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.contacts-info__value {
  display: block;
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
  text-align: center;
}
@media (min-width: 750px) {
  .contacts-info__value {
    text-align: left;
  }
}
.contacts-info a.contacts-info__value {
  text-decoration: none;
  transition: color 0.2s ease;
}
.contacts-info a.contacts-info__value:hover {
  color: var(--color-accent);
}
.contacts-info__value_phone {
  font-size: 32px;
  white-space: nowrap;
  line-height: 1.34;
}
.contacts-info__tags {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
}
@media (min-width: 750px) {
  .contacts-info__tags {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
.contacts-info__socials {
  display: flex;
  align-items: center;
  gap: var(--margin-s);
}

.arrival {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 88px;
  padding: 0 var(--section-padding-main) var(--layout-section-margin);
}
@media (min-width: 750px) {
  .arrival {
    gap: 96px;
  }
}
.arrival__heading {
  width: 100%;
}
.arrival__heading .section-header__title {
  font-size: 44px;
  line-height: 1.16;
}
@media (min-width: 750px) {
  .arrival__heading .section-header__title {
    font-size: 52px;
  }
}
@media (min-width: 1280px) {
  .arrival__heading .section-header__title {
    font-size: 64px;
  }
}
.arrival__table {
  width: 100%;
  max-width: 1460px;
  border-bottom: 1px solid var(--color-black-30);
}
.arrival__header {
  display: none;
}
@media (min-width: 750px) {
  .arrival__header {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: end;
    min-height: 50px;
    padding: 0 40px 22px;
    border-bottom: 1px solid var(--color-black-30);
  }
}
.arrival__header-cell {
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  line-height: 1.45;
  color: var(--color-text-third);
}
.arrival__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "tariff tariff" "checkin checkout";
  column-gap: 36px;
  row-gap: 28px;
  padding: 0 32px 36px;
  border-bottom: 1px solid var(--color-black-30);
}
.arrival__row + .arrival__row {
  padding-top: 48px;
}
.arrival__row:last-child {
  border-bottom: 0;
}
@media (min-width: 750px) {
  .arrival__row {
    grid-template-columns: minmax(0, 2fr) minmax(0, 0.95fr) minmax(0, 1.05fr);
    grid-template-areas: "tariff checkin checkout";
    align-items: center;
    column-gap: 0;
    min-height: 136px;
    padding: 28px 40px;
  }
  .arrival__row + .arrival__row {
    padding-top: 28px;
  }
}
.arrival__cell {
  min-width: 0;
}
.arrival__cell_tariff {
  grid-area: tariff;
}
.arrival__cell_checkin {
  grid-area: checkin;
}
.arrival__cell_checkout {
  grid-area: checkout;
}
.arrival__label {
  margin: 0;
  margin-bottom: 8px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--color-text-third);
}
@media (min-width: 750px) {
  .arrival__label {
    display: none;
  }
}
.arrival__value {
  margin: 0;
  font-family: var(--font-body);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.46;
  color: var(--color-text-third);
}
@media (min-width: 750px) {
  .arrival__value {
    font-size: 28px;
    line-height: 1.35;
  }
}

.transfer {
  display: flex;
  flex-direction: column;
  padding: var(--layout-section-margin) var(--section-padding-main);
  background-color: var(--color-white);
}
@media (min-width: 1280px) {
  .transfer {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
.transfer__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--padding-xxl);
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
}
@media (min-width: 1280px) {
  .transfer__row {
    flex-direction: row;
    gap: var(--section-gap-main);
  }
}
@media (min-width: 1280px) {
  .transfer__heading {
    flex: 0 0 436px;
    max-width: 436px;
  }
}
.transfer__cards {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-xxl);
  width: 100%;
}
@media (min-width: 1280px) {
  .transfer__cards {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
  }
}
.transfer__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--margin-l);
  width: 100%;
  padding: var(--margin-m) 0;
}
@media (min-width: 750px) {
  .transfer__card {
    padding: var(--margin-m) var(--padding-l);
  }
}
@media (min-width: 1280px) {
  .transfer__card {
    flex: 1 1 0;
    justify-content: center;
  }
}
.transfer__card-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--margin-xs);
  width: 100%;
}
.transfer__card-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.transfer__price {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  margin: 0;
  white-space: nowrap;
}
.transfer__price-label, .transfer__price-unit {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
}
.transfer__price-label {
  color: var(--color-dark);
}
.transfer__price-unit {
  color: var(--color-text-secondary);
}
.transfer__price-value {
  font-family: var(--font-accent);
  font-size: 32px;
  line-height: 1.18;
  color: var(--color-dark);
}
.transfer__card-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.transfer__divider {
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black-30);
}
@media (min-width: 1280px) {
  .transfer__divider {
    width: 1px;
    height: 80px;
  }
}

.extras {
  padding: var(--layout-section-margin) var(--section-padding-main);
  background-color: var(--color-black-10);
}
.extras__heading {
  max-width: 561px;
}
.extras__wrapper {
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
}
.extras__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
  max-width: 900px;
}
@media (min-width: 750px) {
  .extras__grid {
    flex-direction: row;
    justify-content: center;
  }
}
.extras__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-s);
  padding: var(--margin-m) var(--padding-l);
  text-align: center;
}
@media (min-width: 750px) {
  .extras__card {
    flex: 1 1 0;
  }
}
.extras__divider {
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black-30);
}
@media (min-width: 750px) {
  .extras__divider {
    align-self: stretch;
    width: 1px;
    height: auto;
  }
}
.extras__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
}
.extras__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.contact-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: var(--layout-section-margin) var(--section-padding-main);
  background-color: var(--color-white);
}
@media (min-width: 1280px) {
  .contact-form {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
.contact-form[hidden] {
  display: none;
}
.contact-form__heading {
  max-width: 436px;
}
.contact-form__messages {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
  width: 100%;
  max-width: 668px;
}
.contact-form__messages[hidden] {
  display: none;
}
.contact-form__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--section-gap-main);
  width: 100%;
  max-width: 668px;
}
.contact-form__form[hidden] {
  display: none;
}
.contact-form__fields {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
}
.contact-form__fields[hidden], .contact-form__check[hidden], .contact-form__submit[hidden] {
  display: none;
}
.contact-form__field {
  position: relative;
  padding: var(--padding-l);
  border-bottom: 1px solid var(--color-black-30);
}
.contact-form__field_error {
  border-bottom-color: var(--color-add-pink);
}
.contact-form__error {
  display: block;
  margin: var(--margin-xs) 0 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-add-pink);
}
.contact-form__error[hidden] {
  display: none;
}
.contact-form__input, .contact-form__textarea {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: none;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
}
.contact-form__input::placeholder, .contact-form__textarea::placeholder {
  color: var(--color-text-secondary);
}
.contact-form__input:focus, .contact-form__textarea:focus {
  outline: none;
}
.contact-form__textarea {
  min-height: 24px;
  max-height: 160px;
  resize: vertical;
}
.contact-form__field_textarea {
  padding-right: 44px;
}
.contact-form__textarea-icon {
  position: absolute;
  right: var(--padding-l);
  bottom: var(--padding-l);
  pointer-events: none;
}
.contact-form__field_select {
  padding-top: var(--padding-xs);
}
.contact-form__select-label {
  display: block;
  margin-bottom: -4px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
}
.contact-form__select-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.contact-form__select {
  border: 0;
  background: none;
  padding: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
  cursor: pointer;
}
.contact-form__select:focus {
  outline: none;
}
.contact-form__check {
  display: flex;
  align-items: flex-start;
  gap: var(--margin-s);
  width: 100%;
  cursor: pointer;
}
.contact-form__checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.contact-form__check-box {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}
.contact-form__check-icon {
  display: block;
  width: 24px;
  height: 24px;
}
.contact-form__check-icon_checked {
  display: none;
}
.contact-form__checkbox:checked ~ .contact-form__check-box .contact-form__check-icon_unchecked {
  display: none;
}
.contact-form__checkbox:checked ~ .contact-form__check-box .contact-form__check-icon_checked {
  display: block;
}
.contact-form__checkbox:focus-visible ~ .contact-form__check-box {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 4px;
}
.contact-form__check-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.contact-form__check-link {
  color: var(--color-accent);
  text-decoration: none;
}
.contact-form__check-link:hover {
  text-decoration: underline;
}
.contact-form__submit {
  width: 100%;
}
.contact-form__submit:disabled {
  opacity: 0.6;
  cursor: wait;
}
@media (min-width: 750px) {
  .contact-form__submit {
    width: auto;
  }
}

.all-inclusive-info {
  padding: var(--layout-section-margin) var(--section-padding-main);
  background-color: var(--color-white);
}
.all-inclusive-info__container {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  max-width: 1220px;
  margin: 0 auto;
}
@media (min-width: 750px) {
  .all-inclusive-info__container {
    flex-direction: row;
    align-items: center;
    gap: var(--margin-l);
  }
}
.all-inclusive-info__text {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
}
@media (min-width: 750px) {
  .all-inclusive-info__text {
    flex: 1 1 0;
    min-width: 0;
  }
}
.all-inclusive-info__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.all-inclusive-info__lead {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}
.all-inclusive-info__actions {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
}
@media (min-width: 750px) {
  .all-inclusive-info__actions {
    flex-direction: row;
    flex-shrink: 0;
  }
}
.all-inclusive-info__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-xs);
  padding: var(--padding-l) var(--padding-xl);
  border: 1px solid var(--color-accent);
  border-radius: 48px;
  color: var(--color-dark);
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.all-inclusive-info__action:hover {
  background-color: var(--color-black-20);
}
.all-inclusive-info__action_muted {
  background-color: rgba(31, 31, 31, 0.06);
}
.all-inclusive-info__icon {
  flex-shrink: 0;
}
.all-inclusive-info__action-text {
  font-family: var(--font-body);
  font-size: var(--font-size-btn-large);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.package-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--margin-xl);
  padding: var(--margin-xl);
  background-color: var(--color-white);
}
.package-card_highlighted {
  background-color: rgba(148, 201, 130, 0.15);
}
.package-card__tag {
  position: absolute;
  top: -14px;
  left: var(--margin-xl);
  padding: var(--padding-xs) var(--padding-s);
  background-color: var(--color-white);
  border: 1px solid var(--color-add-green);
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: var(--font-size-tag);
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-add-green);
  white-space: nowrap;
}
.package-card__head {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
}
.package-card__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
}
.package-card__price {
  display: flex;
  align-items: flex-end;
  gap: 6px;
}
.package-card__price-label, .package-card__price-unit {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
}
.package-card__price-label {
  color: var(--color-dark);
}
.package-card__price-unit {
  color: var(--color-text-secondary);
}
.package-card__price-value {
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.package-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--margin-l);
}
.package-card__meta-item {
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
}
.package-card__meta-icon {
  flex-shrink: 0;
}
.package-card__meta-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.package-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
}
.package-card__body-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
}
.package-card__features {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
  margin: 0;
  padding: 0;
  list-style: none;
}
.package-card__feature {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
}
.package-card__feature-icon {
  flex-shrink: 0;
}
.package-card__feature-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.package-card__action {
  align-self: flex-start;
  margin-top: auto;
}

.packages {
  display: flex;
  flex-direction: column;
  gap: var(--padding-xxl);
  overflow: hidden;
}
.packages__heading {
  padding: 0 var(--section-padding-main);
}
.packages__viewport {
  width: 100%;
  padding-top: 20px;
  margin-top: -20px;
  overflow: hidden;
  cursor: grab;
}
.packages__viewport:active {
  cursor: grabbing;
}
.packages__list {
  display: flex;
  align-items: stretch;
  gap: var(--margin-l);
  width: 100%;
  padding-inline: 24px;
  touch-action: pan-y pinch-zoom;
}
@media (min-width: 750px) {
  .packages__list {
    padding-inline: var(--section-padding-main);
    justify-content: center;
    justify-content: safe center;
  }
}
.packages__item {
  flex: 0 0 auto;
  width: 300px;
}
@media (min-width: 1280px) {
  .packages__item {
    width: 360px;
  }
}

.custom-package {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxl);
  padding: 0 var(--section-padding-main);
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 750px) {
  .custom-package {
    flex-direction: row;
    align-items: center;
    gap: var(--layout-section-margin);
  }
}
.custom-package__info {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xl);
}
@media (min-width: 750px) {
  .custom-package__info {
    flex: 1 1 0;
    min-width: 0;
  }
}
.custom-package__head {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
}
.custom-package__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.custom-package__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--margin-l);
}
.custom-package__meta-item {
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
}
.custom-package__meta-icon {
  flex-shrink: 0;
}
.custom-package__meta-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.custom-package__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.custom-package__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
}
@media (min-width: 750px) {
  .custom-package__actions {
    flex-shrink: 0;
    width: 250px;
  }
}
.custom-package__action {
  width: 100%;
}
.custom-package__phone {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
  text-decoration: none;
}

.seasons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.seasons__heading {
  max-width: 561px;
}
.seasons__list {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxl);
  width: 100%;
}
@media (min-width: 750px) {
  .seasons__list {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--margin-l);
  }
}
.seasons__item {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
}
@media (min-width: 750px) {
  .seasons__item {
    flex: 1 1 0;
    min-width: 0;
  }
}
.seasons__photo {
  display: block;
  width: 100%;
  height: 246px;
  object-fit: cover;
}
.seasons__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.seasons__features {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
  margin: 0;
  padding: 0;
  list-style: none;
}
.seasons__feature {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
}
.seasons__feature-icon {
  flex-shrink: 0;
}
.seasons__feature-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}

.cta-banner {
  position: relative;
  padding: 120px var(--section-padding-main) var(--padding-xxl);
  overflow: hidden;
}
@media (min-width: 750px) {
  .cta-banner {
    padding: var(--padding-xxl) var(--section-padding-main);
  }
}
@media (min-width: 1280px) {
  .cta-banner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 80px 116px;
  }
}
.cta-banner__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
}
@media (min-width: 1280px) {
  .cta-banner__wrapper {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.cta-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cta-banner__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.cta-banner__heading {
  position: relative;
  z-index: 2;
  align-items: center;
  text-align: center;
}
@media (min-width: 1280px) {
  .cta-banner__heading {
    align-items: flex-start;
    text-align: left;
  }
}
.cta-banner__heading .section-header__title,
.cta-banner__heading .section-header__text {
  color: var(--color-white);
}
.cta-banner__heading .section-header__text {
  opacity: 1;
}
.cta-banner__actions {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-m);
  width: 100%;
}
@media (min-width: 1280px) {
  .cta-banner__actions {
    flex-direction: row;
    align-items: center;
    width: auto;
    flex-shrink: 0;
  }
}
.cta-banner__action {
  width: 100%;
}
@media (min-width: 1280px) {
  .cta-banner__action {
    width: auto;
  }
}

.day-intro {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.day-intro__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 44px;
  width: 100%;
}
@media (min-width: 750px) {
  .day-intro__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--margin-l);
  }
}
@media (min-width: 1280px) {
  .day-intro__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    padding: 0 116px;
  }
}

.timeline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.timeline__heading .section-header__text {
  max-width: 40em;
}
.timeline__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-m);
  width: 100%;
}
@media (min-width: 1280px) {
  .timeline__row {
    flex-direction: row;
    width: 100%;
    max-width: 1130px;
  }
}
.timeline__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xs);
  flex-shrink: 0;
  text-align: center;
}
@media (min-width: 1280px) {
  .timeline__item {
    width: 160px;
  }
}
.timeline__time {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}
.timeline__label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.timeline__divider {
  flex-shrink: 0;
  width: 1px;
  height: 70px;
  background-color: var(--color-black-30);
}
@media (min-width: 1280px) {
  .timeline__divider {
    width: auto;
    height: 1px;
    flex: 1 1 0;
  }
}

.program {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.program__heading {
  max-width: 561px;
}
.program__groups {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  width: 100%;
}
.program__group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
  width: 100%;
}
.program__day {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
  text-align: center;
}
.program__rows {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  width: 100%;
}
@media (min-width: 1280px) {
  .program__rows {
    max-width: 894px;
  }
}
.program__row {
  display: flex;
  align-items: flex-start;
  gap: var(--margin-xl);
  padding: var(--padding-l);
  border-bottom: 1px solid var(--color-black-30);
}
@media (min-width: 1280px) {
  .program__row {
    align-items: center;
    gap: 24px;
  }
}
.program__row:first-child {
  border-top: 1px solid var(--color-black-30);
}
.program__time {
  flex-shrink: 0;
  width: 82px;
  padding-top: 3px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
@media (min-width: 1280px) {
  .program__time {
    width: 160px;
    padding-top: 0;
  }
}
.program__text {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-text-third);
}

.price {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: var(--layout-section-margin) var(--section-padding-main);
  background-color: var(--color-white);
}
.price__heading .section-header__title {
  max-width: 28em;
}
.price__actions {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 898px;
}
.price__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--padding-xxl);
  width: 100%;
  max-width: 898px;
}
@media (min-width: 1280px) {
  .price__row {
    flex-direction: row;
  }
}
.price__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--margin-xl);
  width: 100%;
}
@media (min-width: 1280px) {
  .price__col {
    flex: 1 1 0;
    min-width: 0;
  }
}
.price__col_features {
  gap: var(--section-gap-main);
}
.price__name {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.price__amount {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  margin: 0;
}
.price__amount-value {
  font-family: var(--font-accent);
  font-size: var(--font-size-h1);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.price__amount-unit {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.price__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--margin-l);
}
.price__meta-item {
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
}
.price__meta-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.price__features-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.price__features {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none;
}
@media (min-width: 1280px) {
  .price__features {
    width: 320px;
  }
}
.price__feature {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
}
.price__feature-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.price__action {
  width: 100%;
  max-width: 898px;
}
@media (min-width: 1280px) {
  .price__action {
    width: auto;
    align-self: flex-start;
  }
}

.other-formats {
  padding: var(--layout-section-margin) var(--section-padding-main);
  background-color: var(--color-white);
}
@media (min-width: 1280px) {
  .other-formats {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
.other-formats__wrapper {
  max-width: var(--wrapper-max-width);
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--padding-xxl);
}
@media (min-width: 1280px) {
  .other-formats__wrapper {
    flex-direction: row;
    justify-content: space-between;
  }
}
.other-formats__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-xl);
  width: 100%;
}
@media (min-width: 1280px) {
  .other-formats__list {
    flex-direction: row;
    align-items: stretch;
    gap: var(--margin-l);
    max-width: 890px;
  }
}
.other-formats__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--margin-s);
  padding: var(--padding-l) var(--margin-l);
  color: inherit;
  text-decoration: none;
}
@media (min-width: 1280px) {
  .other-formats__card {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
  }
}
.other-formats__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-xs);
  width: 100%;
}
.other-formats__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.other-formats__icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.other-formats__card:hover .other-formats__icon {
  transform: translate(2px, -2px);
}
.other-formats__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--margin-m);
}
.other-formats__meta-item {
  display: flex;
  align-items: center;
  gap: var(--margin-xxs);
}
.other-formats__meta-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.other-formats__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.other-formats__divider {
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black-30);
}
@media (min-width: 1280px) {
  .other-formats__divider {
    width: 1px;
    height: auto;
    align-self: stretch;
  }
}

.not-found {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xl);
  padding: 0 var(--section-padding-main);
  text-align: center;
}
.not-found__hanger {
  max-width: var(--wrapper-max-width);
  width: 100%;
}
.not-found:first-child {
  padding-top: var(--layout-section-margin);
}
.not-found__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-l);
}
.not-found__title {
  margin: 0;
  font-family: var(--font-accent);
  font-size: var(--font-size-h1);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.not-found__text {
  margin: 0;
  max-width: 600px;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
@media (min-width: 750px) {
  .not-found__text {
    font-size: var(--font-size-body-xl);
    line-height: 1.7;
  }
}
.not-found__hanger {
  display: grid;
  grid-template-areas: "image" "phone" "email";
  row-gap: var(--margin-xl);
  justify-items: center;
  width: 100%;
}
@media (min-width: 750px) {
  .not-found__hanger {
    grid-template-areas: "phone image email";
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: var(--margin-xxl);
    row-gap: 0;
  }
}
.not-found__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xxs);
}
.not-found__contact_phone {
  grid-area: phone;
}
@media (min-width: 750px) {
  .not-found__contact_phone {
    justify-self: end;
  }
}
.not-found__contact_email {
  grid-area: email;
}
@media (min-width: 750px) {
  .not-found__contact_email {
    justify-self: start;
  }
}
.not-found__contact-label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.not-found__contact-value {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
  text-decoration: none;
}
.not-found__image {
  grid-area: image;
  display: block;
  width: 214px;
  height: auto;
}
@media (min-width: 750px) {
  .not-found__image {
    width: 428px;
  }
}

.certificates-order {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  padding: 0 var(--section-padding-main);
}
.certificates-order__head {
  max-width: 560px;
}

.form-field {
  position: relative;
  padding: 24px var(--padding-l) var(--padding-m);
  border-bottom: 1px solid var(--color-black-30);
  cursor: text;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.form-field:hover {
  border-color: var(--color-accent);
}
.form-field:has(.form-field__input:focus), .form-field:has(.form-field__textarea:focus) {
  border-color: var(--color-accent);
  background-color: var(--color-black-10);
}
.form-field:has(.form-field__input:not(:placeholder-shown)), .form-field:has(.form-field__textarea:not(:placeholder-shown)) {
  border-color: var(--color-accent);
}
.form-field:has(.form-field__input:disabled) {
  cursor: not-allowed;
  background-color: var(--color-black-10);
  border-color: var(--color-black-30);
}
.form-field:has(.form-field__input[aria-invalid=true]), .form-field:has(.form-field__textarea[aria-invalid=true]) {
  border-color: var(--color-error, #b42318);
  background: var(--color-error-bg, #fef3f2);
}

.form-field_size_compact {
  padding: 22px var(--padding-l) var(--padding-xs);
}

.form-field__input,
.form-field__textarea {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
}
.form-field__input::placeholder,
.form-field__textarea::placeholder {
  opacity: 0;
}
.form-field__input:focus,
.form-field__textarea:focus {
  outline: none;
}
.form-field__input:disabled,
.form-field__textarea:disabled {
  color: var(--color-text-secondary);
  cursor: not-allowed;
  -webkit-text-fill-color: var(--color-text-secondary);
  opacity: 1;
}

.form-field__textarea {
  min-height: 24px;
  max-height: 160px;
  padding-right: 32px;
  resize: vertical;
}

.form-field__textarea-icon {
  position: absolute;
  right: var(--padding-l);
  bottom: var(--padding-m);
  pointer-events: none;
}

.form-field__label {
  position: absolute;
  left: var(--padding-l);
  right: var(--padding-l);
  top: 50%;
  overflow: hidden;
  transform: translateY(-50%);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  color: var(--color-text-secondary);
  opacity: 0.5;
  pointer-events: none;
  transition: top 0.2s ease, transform 0.2s ease, font-size 0.2s ease;
}

.form-field__input:focus ~ .form-field__label,
.form-field__input:not(:placeholder-shown) ~ .form-field__label,
.form-field__textarea:focus ~ .form-field__label,
.form-field__textarea:not(:placeholder-shown) ~ .form-field__label {
  top: 12px;
  transform: translateY(0);
  font-size: 12px;
}

.form-field_size_compact .form-field__input:focus ~ .form-field__label,
.form-field_size_compact .form-field__input:not(:placeholder-shown) ~ .form-field__label {
  top: 6px;
}

.form-field__hint {
  margin: var(--margin-xs) 0 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.select {
  display: block;
  position: relative;
  flex: 1 1 0;
  min-width: 0;
}

.select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
  margin: 0;
  border: 0;
  background: none;
  cursor: pointer;
  appearance: none;
  text-align: left;
}
.select__trigger:disabled {
  cursor: default;
  opacity: 0.5;
}

.select__field-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 0;
  min-width: 0;
}

.select__label {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  color: var(--color-text-secondary);
}
.select__label:has(+ .select__value:empty) {
  font-size: var(--font-size-body-l);
}

.select__value {
  display: block;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  min-height: 1.4em;
  text-overflow: ellipsis;
}
.select__value:empty {
  display: none;
}

.select__chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.select_open .select__chevron {
  transform: rotate(180deg);
}

.select__options {
  position: absolute;
  top: calc(100% + var(--margin-xs));
  left: 0;
  right: 0;
  z-index: 20;
  display: none;
  margin: 0;
  padding: 0;
  overflow: hidden auto;
  max-height: 260px;
  list-style: none;
  background-color: var(--color-white);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

.select_open .select__options {
  display: block;
}

.select_dropup .select__options {
  top: auto;
  bottom: calc(100% + var(--margin-xs));
}

.select__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  width: 100%;
  margin: 0;
  padding: var(--padding-l);
  background: none;
  border: 0;
  cursor: pointer;
  appearance: none;
  text-align: left;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
  transition: background-color 0.2s ease;
}
.select__option:hover {
  background-color: var(--color-black-20);
}
.select__option:disabled {
  cursor: default;
  opacity: 0.5;
}
.select__option:disabled:hover {
  background-color: transparent;
}

.select__option-text {
  flex: 1 1 0;
  min-width: 0;
}

.select__option-icon {
  flex-shrink: 0;
  visibility: hidden;
}

.select__option[aria-selected=true] .select__option-icon {
  visibility: visible;
}

select:has(+ .select) {
  position: absolute;
  overflow: hidden;
  opacity: 0;
}

.checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--margin-s);
  cursor: pointer;
}

.checkbox__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.checkbox__box {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.checkbox__icon {
  display: block;
  width: 24px;
  height: 24px;
}

.checkbox__icon_checked {
  display: none;
}

.checkbox__input:checked ~ .checkbox__box .checkbox__icon_unchecked {
  display: none;
}

.checkbox__input:checked ~ .checkbox__box .checkbox__icon_checked {
  display: block;
}

.checkbox__input:focus-visible ~ .checkbox__box {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

.checkbox__text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
}
.checkbox__text a {
  color: var(--color-accent);
  text-decoration: none;
}
.checkbox__text a:hover {
  text-decoration: underline;
}

.order-form {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
}

.order-form__form {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
}

.order-form__error {
  margin: 0;
  padding: var(--padding-s) var(--padding-m);
  color: var(--color-error, #b42318);
  background: var(--color-error-bg, #fef3f2);
  border-radius: var(--radius-s, 8px);
  font: var(--font-body-s);
}

.order-form__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-l);
  padding: var(--padding-l);
  background-color: var(--color-white);
}
@media (min-width: 750px) {
  .order-form__card {
    padding: var(--padding-xl);
  }
}

.order-form__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}

.order-form__subtitle {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
}

.order-form__row {
  display: flex;
  flex-direction: column;
  gap: var(--margin-m);
  width: 100%;
}
@media (min-width: 750px) {
  .order-form__row {
    flex-direction: row;
  }
}

.order-form__field {
  flex: 1 1 0;
  min-width: 0;
}

.order-form__row_with-hint {
  align-items: center;
}
@media (min-width: 750px) {
  .order-form__row_with-hint {
    flex-direction: row;
  }
}
.order-form__row_with-hint .order-form__field {
  flex: 1 1 0;
}

.order-form__hint {
  flex-shrink: 0;
  margin: 0;
  width: 100%;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
}
@media (min-width: 750px) {
  .order-form__hint {
    width: 312px;
  }
}

.order-form__check {
  width: 100%;
}

.order-form__rooms {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xxl);
  width: 100%;
}

.order-form__room {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xl);
  width: 100%;
}

.order-form__guest {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  width: 100%;
}

.order-form__guest-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--margin-xs);
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-xl);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-dark);
}

.order-form__guest-type {
  padding: 2px var(--padding-s);
  border-radius: 28px;
  background-color: var(--color-black-10);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.order-form__guest-type_child {
  color: var(--color-accent);
}

.order-form__link {
  color: var(--color-accent);
  text-decoration: none;
}
.order-form__link:hover {
  text-decoration: underline;
}

.order-form__divider {
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background-color: var(--color-black-30);
}

.order-form__payment {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  width: 100%;
}

.order-form__price {
  margin: 0;
  font-family: var(--font-accent);
  font-size: 44px;
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
@media (min-width: 750px) {
  .order-form__price {
    font-size: 56px;
  }
}

.order-form__payment-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-m);
  width: 100%;
}
@media (min-width: 750px) {
  .order-form__payment-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.order-form__payment-info {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  color: var(--color-dark);
}

.order-form__prepayment {
  margin: 0;
}

.order-form__payment-hint {
  margin: 0;
  font-size: var(--font-size-body-m);
  color: var(--color-dark);
}

.order-form__submit {
  width: 100%;
}
@media (min-width: 750px) {
  .order-form__submit {
    width: auto;
  }
}

.order-form__card_unavailable {
  align-items: center;
  justify-content: center;
  gap: var(--margin-l);
  padding-top: var(--padding-xl);
  padding-bottom: var(--padding-xxl);
  text-align: center;
}

.order-form__unavailable-icon {
  display: block;
}

.order-form__unavailable-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}

.contact-form.dining-reservation {
  background-color: var(--color-black-10);
}

.dining-reservation .contact-form__form {
  align-items: stretch;
}

.dining-reservation__card_spacious {
  gap: var(--margin-xl);
}

.dining-reservation__date-picker .booking__bar,
.dining-reservation__time-picker .booking__bar {
  display: block;
  width: 100%;
  margin: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}
.dining-reservation__date-picker .booking__field_date,
.dining-reservation__date-picker .booking__field_time,
.dining-reservation__time-picker .booking__field_date,
.dining-reservation__time-picker .booking__field_time {
  min-width: 0;
}
.dining-reservation__date-picker .booking__trigger,
.dining-reservation__time-picker .booking__trigger {
  padding: 0;
  border-radius: 0;
}
.dining-reservation__date-picker .booking__trigger:hover,
.dining-reservation__time-picker .booking__trigger:hover {
  background-color: transparent;
}

.contact-form__messages:empty {
  display: none;
}

.contact-form__fields section:nth-child(1) {
  margin-top: 0 !important;
}

@media (min-width: 1024px) {
  .booking__overlay_time .booking__sheet-head {
    display: none;
  }
}

@media (min-width: 1024px) {
  .time-picker__sheet {
    width: 670px;
  }
}

.time-picker__slots {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--margin-xs);
  width: 100%;
}
@media (min-width: 1024px) {
  .time-picker__slots {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

.time-picker__slot {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  margin: 0;
  padding: 10px;
  background: none;
  border: 1px solid transparent;
  border-radius: 16px;
  color: var(--color-dark-100);
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  cursor: pointer;
  appearance: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.time-picker__slot:hover:not(:disabled):not(.time-picker__slot_selected) {
  background-color: var(--color-black-20);
}
.time-picker__slot:disabled {
  color: var(--color-text-secondary);
  cursor: default;
  pointer-events: none;
}

.time-picker__slot_current {
  border-color: var(--color-black-30);
}

.time-picker__slot_selected {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-white);
}
.time-picker__slot_selected:hover:not(:disabled) {
  background-color: var(--color-accent-hover);
  border-color: var(--color-accent-hover);
}

.order-page {
  max-width: 1360px;
  margin: 0 auto;
}

.order-summary {
  display: flex;
  flex-direction: column;
  gap: var(--margin-s);
  box-sizing: border-box;
  width: 100%;
  padding: var(--padding-l);
  background-color: var(--color-dark);
  border-radius: 4px;
  color: var(--color-white);
  margin-bottom: var(--margin-xxl);
}
@media (min-width: 1024px) {
  .order-summary {
    margin-bottom: 0;
    position: sticky;
    top: 80px;
    flex-shrink: 0;
    width: 437px;
  }
}

.order-summary__row {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
  padding: 9px 12px 9px 0;
  border-radius: 4px;
}

.order-summary__row_between {
  justify-content: space-between;
  align-items: flex-start;
}

.order-summary__group {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
  flex: 1 1 auto;
  min-width: 0;
}

.order-summary__icon {
  flex-shrink: 0;
  opacity: 0.5;
}

.order-summary__text {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  color: var(--color-white);
  line-height: 1.6;
}
.order-summary__text span {
  line-height: inherit;
}

.order-summary__divider {
  margin: 0;
  border: 0;
  height: 1px;
  background-color: var(--color-text-third);
}

.order-summary__total {
  margin: 0;
  text-align: right;
  font-family: var(--font-body);
}

.order-summary__total-value {
  font-size: var(--font-size-h3);
  font-weight: 700;
  color: var(--color-white);
}

.order-summary__total-currency {
  margin-left: 4px;
  font-size: var(--font-size-h3);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.order-summary__price {
  flex-shrink: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  color: var(--color-white);
  line-height: 1.6;
  white-space: nowrap;
}

.order-summary__room-title {
  white-space: normal;
  overflow-wrap: anywhere;
}

.order-summary__text-secondary {
  color: var(--color-text-secondary);
}

.order-page {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--margin-xl);
  padding: 0 var(--section-padding-main);
}
@media (min-width: 1024px) {
  .order-page {
    flex-direction: row;
    gap: 140px;
  }
}

.order-confirmation {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  max-width: 898px;
  margin: 0 auto;
  padding: 0 var(--section-padding-main);
}

.order-confirmation__heading {
  padding: 0 var(--section-padding-main);
}

.order-confirmation__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-xl);
  width: 100%;
  padding: var(--padding-xl);
  background-color: var(--color-white);
}

.order-confirmation__section {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--margin-m);
  width: 100%;
}

.order-confirmation__section_stay {
  gap: var(--margin-xxl);
}

.order-confirmation__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}

.order-confirmation__title_center {
  text-align: center;
}

.order-confirmation__subtitle {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}

.order-confirmation__info {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  width: 100%;
}

.order-confirmation__info-row {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}

.order-confirmation__divider {
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background-color: var(--color-black-30);
}

.order-confirmation__stay {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
}
@media (min-width: 750px) {
  .order-confirmation__stay {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 0 80px;
  }
}

.order-confirmation__time {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
@media (min-width: 750px) {
  .order-confirmation__time {
    align-items: flex-start;
    text-align: left;
  }
}

.order-confirmation__time-label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-third);
}

.order-confirmation__time-value {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
  white-space: nowrap;
}

.order-confirmation__nights {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
@media (min-width: 750px) {
  .order-confirmation__nights {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
  }
}

.order-confirmation__nights-line {
  display: block;
  width: 1px;
  height: 40px;
  background-color: var(--color-black-30);
}
@media (min-width: 750px) {
  .order-confirmation__nights-line {
    width: 100%;
    height: 1px;
    background-color: var(--color-accent);
    opacity: 0.7;
  }
}

@media (min-width: 750px) {
  .order-confirmation__nights-line:last-child {
    display: none;
  }
}

.order-confirmation__nights-text {
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
  text-align: center;
  white-space: nowrap;
}
@media (min-width: 750px) {
  .order-confirmation__nights-text {
    color: var(--color-text-third);
  }
}

.order-confirmation__row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
}

.order-confirmation__row-label {
  flex: 1 1 0;
  min-width: 0;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-text-third);
}

.order-confirmation__row-value {
  flex-shrink: 0;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-dark);
  text-align: right;
  white-space: nowrap;
}

.order-confirmation__row-value_regular {
  font-size: var(--font-size-body-l);
  font-weight: 400;
}

.order-confirmation__guests {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding-left: 16px;
}
@media (min-width: 750px) {
  .order-confirmation__guests {
    padding-left: 24px;
  }
}

.order-confirmation__guest {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-third);
}

.order-confirmation__home {
  align-self: center;
  margin-bottom: var(--margin-xl);
}

.order-confirmation__heading {
  margin-bottom: var(--margin-xl);
  text-align: center;
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  color: var(--color-dark);
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: var(--margin-m);
  border: none;
  background: transparent;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.modal::backdrop {
  background-color: rgba(8, 8, 7, 0.5);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.modal_open {
  opacity: 1;
  visibility: visible;
}
.modal_open::backdrop {
  opacity: 1;
}
.modal__panel {
  display: flex;
  flex-direction: column;
  width: min(560px, 100%);
  max-height: 100%;
  background-color: var(--color-white);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.modal_open .modal__panel {
  opacity: 1;
  transform: none;
}
.modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--margin-m);
  flex-shrink: 0;
  padding: var(--margin-l) var(--margin-l) 0;
}
.modal__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  color: var(--color-dark);
}
.modal__title:empty {
  display: none;
}
.modal__close {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  margin-left: auto;
  padding: 0;
  background: none;
  border: none;
  border-radius: 50%;
  color: var(--color-dark);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.modal__close:hover {
  color: var(--color-accent);
}
.modal__body {
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--margin-l);
  overflow-y: auto;
}
.modal__loader {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: var(--margin-l);
}
.modal__loader[hidden] {
  display: none;
}
.modal__spinner {
  width: 28px;
  height: 28px;
  border: 3px solid var(--color-black-20);
  border-top-color: var(--color-accent);
  border-radius: 50%;
  animation: modal-spin 0.8s linear infinite;
}
.modal__error {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  color: var(--color-text-secondary);
}
.modal__error a {
  color: var(--color-accent);
}
.modal__body section {
  padding: 0;
}
.modal__body section:last-child {
  margin: 0 !important;
}
@media (prefers-reduced-motion: reduce) {
  .modal::backdrop, .modal__panel {
    transition: none;
  }
  .modal__spinner {
    animation-duration: 1.6s;
  }
}
.modal .contact-form {
  align-items: flex-start;
}
.modal .contact-form__form {
  max-width: inherit;
}

@keyframes modal-spin {
  to {
    transform: rotate(360deg);
  }
}
.gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--margin-l);
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: var(--margin-xxl) var(--margin-m);
  border: none;
  background-color: rgba(0, 0, 0, 0.7);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.gallery-modal::backdrop {
  background: transparent;
}
.gallery-modal_open {
  opacity: 1;
  visibility: visible;
}
.gallery-modal__close {
  position: absolute;
  top: var(--margin-m);
  right: var(--margin-m);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: var(--color-white);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.gallery-modal__close:hover {
  background-color: rgba(255, 255, 255, 0.12);
}
.gallery-modal__close:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.gallery-modal__stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--margin-m);
  width: 100%;
  max-width: 1130px;
  min-width: 0;
  min-height: 0;
}
.gallery-modal__arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  background-color: rgba(8, 8, 7, 0.35);
  border: 0;
  border-radius: 50%;
  color: var(--color-white);
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity 0.2s ease, background-color 0.2s ease;
}
.gallery-modal__arrow:hover {
  background-color: rgba(8, 8, 7, 0.55);
}
.gallery-modal__arrow:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.gallery-modal__arrow[hidden] {
  display: none;
}
.gallery-modal__arrow_prev {
  left: var(--margin-xs);
}
.gallery-modal__arrow_next {
  right: var(--margin-xs);
}
.gallery-modal__figure {
  display: flex;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}
.gallery-modal__image {
  display: block;
  max-width: 100%;
  max-height: 60vh;
  object-fit: contain;
}
.gallery-modal__thumbs {
  display: flex;
  align-items: center;
  gap: var(--margin-xs);
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.gallery-modal__thumbs::-webkit-scrollbar {
  display: none;
}
.gallery-modal__thumbs:empty {
  display: none;
}
.gallery-modal__thumb {
  flex-shrink: 0;
  width: 64px;
  height: 42px;
  padding: 0;
  background: transparent;
  border: 2px solid transparent;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}
.gallery-modal__thumb:hover {
  opacity: 0.85;
}
.gallery-modal__thumb:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.gallery-modal__thumb_active {
  opacity: 1;
  border-color: var(--color-accent);
}
.gallery-modal__thumb-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1280px) {
  .gallery-modal {
    padding: var(--margin-3l) var(--margin-xxl);
  }
  .gallery-modal__stage {
    gap: var(--margin-l);
  }
  .gallery-modal__arrow {
    position: static;
    width: auto;
    height: auto;
    padding: var(--padding-m) var(--padding-xl);
    background-color: transparent;
    border-radius: 48px;
    transform: none;
  }
  .gallery-modal__arrow:hover {
    background-color: transparent;
    opacity: 0.7;
  }
  .gallery-modal__figure {
    max-width: 1130px;
  }
  .gallery-modal__image {
    max-height: min(70vh, 636px);
  }
  .gallery-modal__thumbs {
    gap: var(--margin-s);
  }
  .gallery-modal__thumb {
    width: 121px;
    height: 68px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-modal {
    transition: none;
  }
}

.review-modal {
  position: fixed;
  inset: 0;
  z-index: 1250;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.review-modal::backdrop {
  background-color: rgba(8, 8, 7, 0.7);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.review-modal_open {
  opacity: 1;
  visibility: visible;
}
.review-modal_open::backdrop {
  opacity: 1;
}
.review-modal .reviews__top {
  flex-direction: column;
  gap: var(--margin-l);
}
.review-modal__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 90vh;
  padding: 56px var(--margin-m) var(--margin-l);
  background-color: var(--color-black-10);
  border-radius: 24px 24px 0 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.review-modal_open .review-modal__panel {
  opacity: 1;
  transform: none;
}
.review-modal__close {
  position: absolute;
  top: var(--margin-s);
  right: var(--margin-s);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: var(--color-dark);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.review-modal__close:hover {
  background-color: var(--color-black-30);
}
.review-modal__close:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.review-modal__body {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  min-height: 0;
  overflow-y: auto;
}
.review-modal .reviews__text {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.review-modal .reviews__photo-link,
.review-modal .reviews__photo {
  width: 115px;
  height: 87px;
}
@media (min-width: 750px) {
  .review-modal {
    align-items: center;
    padding: var(--margin-m);
  }
  .review-modal__panel {
    width: min(667px, 100%);
    max-height: 85vh;
    padding: var(--margin-l);
    border-radius: 24px;
  }
  .review-modal__close {
    top: var(--margin-m);
    right: var(--margin-m);
  }
  .review-modal .reviews__photo-link,
  .review-modal .reviews__photo {
    width: 85px;
    height: 64px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .review-modal::backdrop, .review-modal__panel {
    transition: none;
  }
}

.personal-terms {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--padding-xxl);
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  padding: var(--padding-xl);
  background-color: var(--color-white);
  border-radius: 24px;
}
.personal-terms__head {
  display: flex;
  flex-direction: column;
  gap: var(--margin-xs);
  width: 100%;
}
.personal-terms__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.personal-terms__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.personal-terms__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--section-gap-main);
  width: 100%;
}
.personal-terms__fields {
  display: flex;
  flex-direction: column;
  gap: var(--margin-l);
  width: 100%;
}
.personal-terms__submit {
  width: 100%;
}

dialog .modal__panel:has(.price-modal) {
  width: min(610px, 100%);
  border-radius: 0;
}
dialog .modal__body:has(.price-modal) {
  padding: 32px;
}
dialog .price-modal {
  display: flex;
  margin-bottom: 0 !important;
}

.price-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 42px;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  background-color: var(--color-white);
  display: none;
}
.price-modal__head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.price-modal__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  font-weight: 500;
  line-height: 1.34;
  color: var(--color-dark);
}
.price-modal__meta {
  margin: 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-third);
}
.price-modal__included {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}
.price-modal__included-icon {
  flex-shrink: 0;
}
.price-modal__included-text {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body-m);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.price-modal__included-label {
  color: var(--color-dark);
}
.price-modal__tiers {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-top: 1px solid var(--color-black-20);
}
.price-modal__tier {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--margin-m);
  padding: 28px 16px;
}
.price-modal__tier + .price-modal__tier {
  border-top: 1px solid var(--color-black-20);
}
.price-modal__tier_highlight {
  background-color: rgba(148, 201, 130, 0.15);
  padding-top: 32px;
}
.price-modal__badge {
  position: absolute;
  top: -14px;
  left: 28px;
  padding: 4px 12px;
  background-color: var(--color-white);
  border: 1px solid var(--color-add-green);
  border-radius: 28px;
  font-family: var(--font-body);
  font-size: var(--font-size-tag);
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-add-green);
  white-space: nowrap;
}
.price-modal__tier-info {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-width: 0;
}
.price-modal__tier-name {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 1.58;
  color: var(--color-dark);
}
.price-modal__tier-note {
  margin: 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
}
.price-modal__tier-price {
  display: flex;
  align-items: flex-end;
  flex-shrink: 0;
  gap: 6px;
  text-align: center;
  white-space: nowrap;
}
.price-modal__tier-value {
  font-family: var(--font-accent);
  font-size: var(--font-size-h2);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}
.price-modal__tier-unit {
  font-family: var(--font-body);
  font-size: var(--font-size-body-l);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
.price-modal__footnote {
  margin: 0;
  max-width: 360px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-secondary);
  text-align: center;
}
.price-modal__action {
  width: 100%;
}
@media (max-width: 640px) {
  .price-modal {
    gap: 32px;
  }
  .price-modal__tier {
    gap: 12px;
    padding: 24px 16px;
  }
  .price-modal__tier_highlight {
    padding-top: 32px;
  }
  .price-modal__tier-name {
    font-size: 20px;
    line-height: 1.45;
  }
  .price-modal__tier-value {
    font-size: 30px;
  }
  .price-modal__tier-unit {
    font-size: 14px;
  }
}

@media (max-width: 640px) {
  dialog .modal__panel:has(.price-modal) {
    width: 100%;
  }
  dialog .modal__body:has(.price-modal) {
    padding: 24px 16px 16px;
  }
}
.is-ajax-loading {
  position: relative;
  min-height: 64px;
  opacity: 0.4;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.is-ajax-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  margin: -14px 0 0 -14px;
  border: 3px solid var(--color-black-20);
  border-top-color: var(--color-accent);
  border-radius: 50%;
  animation: ajax-spin 0.8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .is-ajax-loading::after {
    animation-duration: 1.6s;
  }
}

@keyframes ajax-spin {
  to {
    transform: rotate(360deg);
  }
}
.page {
  padding-top: 64px;
}
@media (min-width: 750px) {
  .page {
    padding-top: 72px;
  }
}
@media (min-width: 1280px) {
  .page {
    padding-top: 96px;
  }
}

.skeleton {
  position: relative;
  overflow: hidden;
  background-color: var(--color-black-20);
  border-radius: 8px;
}
.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: translateX(-100%);
  animation: skeleton-shimmer 1.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .skeleton::after {
    animation-duration: 3.2s;
  }
}

@keyframes skeleton-shimmer {
  100% {
    transform: translateX(100%);
  }
}
.cookie-consent {
  position: fixed;
  right: var(--margin-xl);
  bottom: var(--margin-xl);
  left: var(--margin-xl);
  z-index: 1300;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 420px;
  margin: 0 auto;
  padding: 24px;
  background-color: var(--color-white);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}
.cookie-consent[hidden] {
  display: none;
}
@media (min-width: 750px) {
  .cookie-consent {
    left: auto;
    margin: 0;
  }
}
.cookie-consent__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-dark);
  text-align: left;
}
.cookie-consent__action {
  width: 100%;
}
@media (min-width: 750px) {
  .cookie-consent__action {
    width: auto;
  }
}

.wow {
  visibility: hidden;
}

.wow-animate {
  visibility: visible;
  animation-duration: 0.7s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

@media (prefers-reduced-motion: reduce) {
  .wow,
  .wow-animate {
    visibility: visible !important;
    animation: none !important;
  }
}
@keyframes wowFlyLeft {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes wowFlyRight {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes wowFlyDown {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes wowFlyUp {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.checkin__heading.wow {
  animation-name: wowFlyLeft;
}

.checkin__cards.wow {
  animation-name: wowFlyRight;
}

.advantages__media.wow {
  animation-name: wowFlyLeft;
}

.advantages__stats.wow {
  animation-name: wowFlyRight;
}

.rooms__head.wow {
  animation-name: wowFlyRight;
}

.rooms__list > .rooms__card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.rooms__list > .rooms__card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.rooms__list > .rooms__card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.rooms__list > .rooms__card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.rooms__list > .rooms__card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.rooms__list > .rooms__card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.rooms__list > .rooms__card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.rooms__list > .rooms__card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.rooms__list > .rooms__card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.rooms__list > .rooms__card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.rooms__list > .rooms__card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.rooms__list > .rooms__card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.rooms__list > .rooms__card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.rooms__list > .rooms__card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.rooms__list > .rooms__card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.rooms__list > .rooms__card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.rooms__list > .rooms__card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.rooms__list > .rooms__card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.rooms__list > .rooms__card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.rooms__list > .rooms__card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.rooms__list > .rooms__card:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.rooms__list > .rooms__card:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.activities__head.wow {
  animation-name: wowFlyLeft;
}

.activities__all.wow {
  animation-name: wowFlyUp;
}

.activities__list > .activity-card.wow:nth-of-type(1),
.activities-grid__list > .activity-card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.activities__list > .activity-card.wow:nth-of-type(2),
.activities-grid__list > .activity-card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.activities__list > .activity-card.wow:nth-of-type(3),
.activities-grid__list > .activity-card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.activities__list > .activity-card.wow:nth-of-type(4),
.activities-grid__list > .activity-card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.activities__list > .activity-card.wow:nth-of-type(5),
.activities-grid__list > .activity-card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.activities__list > .activity-card.wow:nth-of-type(6),
.activities-grid__list > .activity-card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.activities__list > .activity-card.wow:nth-of-type(7),
.activities-grid__list > .activity-card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.activities__list > .activity-card.wow:nth-of-type(8),
.activities-grid__list > .activity-card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.activities__list > .activity-card.wow:nth-of-type(9),
.activities-grid__list > .activity-card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.activities__list > .activity-card.wow:nth-of-type(10),
.activities-grid__list > .activity-card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.activities__list > .activity-card.wow:nth-of-type(11),
.activities-grid__list > .activity-card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.activities__list > .activity-card.wow:nth-of-type(12),
.activities-grid__list > .activity-card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.activities__list > .activity-card.wow:nth-of-type(13),
.activities-grid__list > .activity-card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.activities__list > .activity-card.wow:nth-of-type(14),
.activities-grid__list > .activity-card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.activities__list > .activity-card.wow:nth-of-type(15),
.activities-grid__list > .activity-card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.activities__list > .activity-card.wow:nth-of-type(16),
.activities-grid__list > .activity-card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.activities__list > .activity-card.wow:nth-of-type(17),
.activities-grid__list > .activity-card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.activities__list > .activity-card.wow:nth-of-type(18),
.activities-grid__list > .activity-card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.activities__list > .activity-card.wow:nth-of-type(19),
.activities-grid__list > .activity-card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.activities__list > .activity-card.wow:nth-of-type(20),
.activities-grid__list > .activity-card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.activities__list > .activity-card:nth-of-type(odd).wow,
.activities-grid__list > .activity-card:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.activities__list > .activity-card:nth-of-type(even).wow,
.activities-grid__list > .activity-card:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.offers__head.wow {
  animation-name: wowFlyRight;
}

.offers__all.wow {
  animation-name: wowFlyUp;
}

.offers__list > .offers__card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.offers__list > .offers__card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.offers__list > .offers__card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.offers__list > .offers__card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.offers__list > .offers__card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.offers__list > .offers__card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.offers__list > .offers__card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.offers__list > .offers__card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.offers__list > .offers__card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.offers__list > .offers__card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.offers__list > .offers__card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.offers__list > .offers__card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.offers__list > .offers__card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.offers__list > .offers__card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.offers__list > .offers__card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.offers__list > .offers__card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.offers__list > .offers__card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.offers__list > .offers__card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.offers__list > .offers__card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.offers__list > .offers__card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.offers__list > .offers__card:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.offers__list > .offers__card:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.reviews__head.wow {
  animation-name: wowFlyDown;
}

.reviews__list > .reviews__card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.reviews__list > .reviews__card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.reviews__list > .reviews__card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.reviews__list > .reviews__card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.reviews__list > .reviews__card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.reviews__list > .reviews__card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.reviews__list > .reviews__card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.reviews__list > .reviews__card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.reviews__list > .reviews__card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.reviews__list > .reviews__card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.reviews__list > .reviews__card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.reviews__list > .reviews__card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.reviews__list > .reviews__card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.reviews__list > .reviews__card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.reviews__list > .reviews__card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.reviews__list > .reviews__card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.reviews__list > .reviews__card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.reviews__list > .reviews__card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.reviews__list > .reviews__card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.reviews__list > .reviews__card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.reviews__list > .reviews__card:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.reviews__list > .reviews__card:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.aboutus__heading.wow {
  animation-name: wowFlyDown;
}

.aboutus__media.wow:not(.aboutus__media_square) {
  animation-name: wowFlyLeft;
}

.aboutus__col.wow:not(.aboutus__col_wide) {
  animation-name: wowFlyRight;
}

.aboutus__col_wide.wow {
  animation-name: wowFlyLeft;
}

.aboutus__media_square.wow {
  animation-name: wowFlyRight;
}

.aboutus__action.wow {
  animation-name: wowFlyUp;
}

.location__heading.wow {
  animation-name: wowFlyDown;
}

.location__address.wow {
  animation-name: wowFlyLeft;
}

.location__route.wow {
  animation-name: wowFlyRight;
}

.location .map.wow {
  animation-name: wowFlyDown;
}

.seasons__heading.wow {
  animation-name: wowFlyDown;
}

.seasons__list > .seasons__item.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.seasons__list > .seasons__item.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.seasons__list > .seasons__item.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.seasons__list > .seasons__item.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.seasons__list > .seasons__item.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.seasons__list > .seasons__item.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.seasons__list > .seasons__item.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.seasons__list > .seasons__item.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.seasons__list > .seasons__item.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.seasons__list > .seasons__item.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.seasons__list > .seasons__item.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.seasons__list > .seasons__item.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.seasons__list > .seasons__item.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.seasons__list > .seasons__item.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.seasons__list > .seasons__item.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.seasons__list > .seasons__item.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.seasons__list > .seasons__item.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.seasons__list > .seasons__item.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.seasons__list > .seasons__item.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.seasons__list > .seasons__item.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.seasons__list > .seasons__item:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.seasons__list > .seasons__item:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.packages__heading.wow {
  animation-name: wowFlyDown;
}

.packages__list > .packages__item.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.packages__list > .packages__item.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.packages__list > .packages__item.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.packages__list > .packages__item.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.packages__list > .packages__item.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.packages__list > .packages__item.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.packages__list > .packages__item.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.packages__list > .packages__item.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.packages__list > .packages__item.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.packages__list > .packages__item.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.packages__list > .packages__item.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.packages__list > .packages__item.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.packages__list > .packages__item.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.packages__list > .packages__item.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.packages__list > .packages__item.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.packages__list > .packages__item.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.packages__list > .packages__item.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.packages__list > .packages__item.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.packages__list > .packages__item.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.packages__list > .packages__item.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.packages__list > .packages__item:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.packages__list > .packages__item:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.custom-package__info.wow {
  animation-name: wowFlyLeft;
}

.custom-package__actions.wow {
  animation-name: wowFlyRight;
}

.all-inclusive-info__text.wow {
  animation-name: wowFlyLeft;
}

.all-inclusive-info__actions.wow {
  animation-name: wowFlyRight;
}

.principles__heading.wow {
  animation-name: wowFlyDown;
}

.principles__grid > .principlecard.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.principles__grid > .principlecard.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.principles__grid > .principlecard.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.principles__grid > .principlecard.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.principles__grid > .principlecard.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.principles__grid > .principlecard.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.principles__grid > .principlecard.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.principles__grid > .principlecard.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.principles__grid > .principlecard.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.principles__grid > .principlecard.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.principles__grid > .principlecard.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.principles__grid > .principlecard.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.principles__grid > .principlecard.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.principles__grid > .principlecard.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.principles__grid > .principlecard.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.principles__grid > .principlecard.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.principles__grid > .principlecard.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.principles__grid > .principlecard.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.principles__grid > .principlecard.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.principles__grid > .principlecard.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.principles__grid > .principlecard:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.principles__grid > .principlecard:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.room-variants__head.wow {
  animation-name: wowFlyDown;
}

.room-variants__list > .room-card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.room-variants__list > .room-card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.room-variants__list > .room-card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.room-variants__list > .room-card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.room-variants__list > .room-card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.room-variants__list > .room-card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.room-variants__list > .room-card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.room-variants__list > .room-card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.room-variants__list > .room-card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.room-variants__list > .room-card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.room-variants__list > .room-card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.room-variants__list > .room-card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.room-variants__list > .room-card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.room-variants__list > .room-card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.room-variants__list > .room-card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.room-variants__list > .room-card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.room-variants__list > .room-card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.room-variants__list > .room-card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.room-variants__list > .room-card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.room-variants__list > .room-card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.room-variants__list > .room-card:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.room-variants__list > .room-card:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.search-room-list > .search-room.wow:nth-of-type(1) {
  animation-delay: 0.1s;
}
.search-room-list > .search-room.wow:nth-of-type(2) {
  animation-delay: 0.18s;
}
.search-room-list > .search-room.wow:nth-of-type(3) {
  animation-delay: 0.26s;
}
.search-room-list > .search-room.wow:nth-of-type(4) {
  animation-delay: 0.34s;
}
.search-room-list > .search-room.wow:nth-of-type(5) {
  animation-delay: 0.42s;
}
.search-room-list > .search-room.wow:nth-of-type(6) {
  animation-delay: 0.5s;
}
.search-room-list > .search-room.wow:nth-of-type(7) {
  animation-delay: 0.58s;
}
.search-room-list > .search-room.wow:nth-of-type(8) {
  animation-delay: 0.66s;
}
.search-room-list > .search-room.wow:nth-of-type(9) {
  animation-delay: 0.74s;
}
.search-room-list > .search-room.wow:nth-of-type(10) {
  animation-delay: 0.82s;
}
.search-room-list > .search-room.wow:nth-of-type(11) {
  animation-delay: 0.9s;
}
.search-room-list > .search-room.wow:nth-of-type(12) {
  animation-delay: 0.98s;
}
.search-room-list > .search-room.wow:nth-of-type(13) {
  animation-delay: 1.06s;
}
.search-room-list > .search-room.wow:nth-of-type(14) {
  animation-delay: 1.14s;
}
.search-room-list > .search-room.wow:nth-of-type(15) {
  animation-delay: 1.22s;
}
.search-room-list > .search-room.wow:nth-of-type(16) {
  animation-delay: 1.3s;
}
.search-room-list > .search-room.wow:nth-of-type(17) {
  animation-delay: 1.38s;
}
.search-room-list > .search-room.wow:nth-of-type(18) {
  animation-delay: 1.46s;
}
.search-room-list > .search-room.wow:nth-of-type(19) {
  animation-delay: 1.54s;
}
.search-room-list > .search-room.wow:nth-of-type(20) {
  animation-delay: 1.62s;
}
.search-room-list > .search-room:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.search-room-list > .search-room:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.price-modal .price-tariff__item.wow:nth-of-type(1),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.price-modal .price-tariff__item.wow:nth-of-type(2),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.price-modal .price-tariff__item.wow:nth-of-type(3),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.price-modal .price-tariff__item.wow:nth-of-type(4),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.price-modal .price-tariff__item.wow:nth-of-type(5),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.price-modal .price-tariff__item.wow:nth-of-type(6),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.price-modal .price-tariff__item.wow:nth-of-type(7),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.price-modal .price-tariff__item.wow:nth-of-type(8),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.price-modal .price-tariff__item.wow:nth-of-type(9),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.price-modal .price-tariff__item.wow:nth-of-type(10),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.price-modal .price-tariff__item.wow:nth-of-type(11),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.price-modal .price-tariff__item.wow:nth-of-type(12),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.price-modal .price-tariff__item.wow:nth-of-type(13),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.price-modal .price-tariff__item.wow:nth-of-type(14),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.price-modal .price-tariff__item.wow:nth-of-type(15),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.price-modal .price-tariff__item.wow:nth-of-type(16),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.price-modal .price-tariff__item.wow:nth-of-type(17),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.price-modal .price-tariff__item.wow:nth-of-type(18),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.price-modal .price-tariff__item.wow:nth-of-type(19),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.price-modal .price-tariff__item.wow:nth-of-type(20),
.room-detail-prices__body .price-tariff__item.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.price-modal .price-tariff__item:nth-of-type(odd).wow,
.room-detail-prices__body .price-tariff__item:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.price-modal .price-tariff__item:nth-of-type(even).wow,
.room-detail-prices__body .price-tariff__item:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.gallery__heading.wow {
  animation-name: wowFlyDown;
}

.gallery__list > .gallery__slide.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.gallery__list > .gallery__slide.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.gallery__list > .gallery__slide:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.gallery__list > .gallery__slide:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.day-intro__cards > .day-intro__card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.day-intro__cards > .day-intro__card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.day-intro__cards > .day-intro__card:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.day-intro__cards > .day-intro__card:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.program__heading.wow {
  animation-name: wowFlyDown;
}

.program__rows > .program__row.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.program__rows > .program__row.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.program__rows > .program__row.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.program__rows > .program__row.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.program__rows > .program__row.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.program__rows > .program__row.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.program__rows > .program__row.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.program__rows > .program__row.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.program__rows > .program__row.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.program__rows > .program__row.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.program__rows > .program__row.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.program__rows > .program__row.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.program__rows > .program__row.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.program__rows > .program__row.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.program__rows > .program__row.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.program__rows > .program__row.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.program__rows > .program__row.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.program__rows > .program__row.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.program__rows > .program__row.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.program__rows > .program__row.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.program__rows > .program__row:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.program__rows > .program__row:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.price__heading.wow {
  animation-name: wowFlyDown;
}

.price__col.wow:not(.price__col_features) {
  animation-name: wowFlyLeft;
}

.price__col_features.wow {
  animation-name: wowFlyRight;
}

.price__action.wow {
  animation-name: wowFlyUp;
}

.other-formats__heading.wow {
  animation-name: wowFlyLeft;
}

.other-formats__list > .other-formats__card.wow {
  animation-name: wowFlyDown;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.other-formats__list > .other-formats__card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}

.venues__heading.wow {
  animation-name: wowFlyLeft;
}

.venues__list > .venues__card.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.venues__list > .venues__card.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.venues__list > .venues__card.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.venues__list > .venues__card.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.venues__list > .venues__card.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.venues__list > .venues__card.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.venues__list > .venues__card.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.venues__list > .venues__card.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.venues__list > .venues__card.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.venues__list > .venues__card.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.venues__list > .venues__card.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.venues__list > .venues__card.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.venues__list > .venues__card.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.venues__list > .venues__card.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.venues__list > .venues__card.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.venues__list > .venues__card.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.venues__list > .venues__card.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.venues__list > .venues__card.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.venues__list > .venues__card.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.venues__list > .venues__card.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.venues__list > .venues__card.venues__card_size_wide.wow {
  animation-name: wowFlyLeft;
}
.venues__list > .venues__card:not(.venues__card_size_wide).wow {
  animation-name: wowFlyRight;
}

.faq__head.wow {
  animation-name: wowFlyDown;
}

.faq__list > .faq__item.wow:nth-of-type(1) {
  animation-delay: 0.25s;
}
.faq__list > .faq__item.wow:nth-of-type(2) {
  animation-delay: 0.45s;
}
.faq__list > .faq__item.wow:nth-of-type(3) {
  animation-delay: 0.65s;
}
.faq__list > .faq__item.wow:nth-of-type(4) {
  animation-delay: 0.85s;
}
.faq__list > .faq__item.wow:nth-of-type(5) {
  animation-delay: 1.05s;
}
.faq__list > .faq__item.wow:nth-of-type(6) {
  animation-delay: 1.25s;
}
.faq__list > .faq__item.wow:nth-of-type(7) {
  animation-delay: 1.45s;
}
.faq__list > .faq__item.wow:nth-of-type(8) {
  animation-delay: 1.65s;
}
.faq__list > .faq__item.wow:nth-of-type(9) {
  animation-delay: 1.85s;
}
.faq__list > .faq__item.wow:nth-of-type(10) {
  animation-delay: 2.05s;
}
.faq__list > .faq__item.wow:nth-of-type(11) {
  animation-delay: 2.25s;
}
.faq__list > .faq__item.wow:nth-of-type(12) {
  animation-delay: 2.45s;
}
.faq__list > .faq__item.wow:nth-of-type(13) {
  animation-delay: 2.65s;
}
.faq__list > .faq__item.wow:nth-of-type(14) {
  animation-delay: 2.85s;
}
.faq__list > .faq__item.wow:nth-of-type(15) {
  animation-delay: 3.05s;
}
.faq__list > .faq__item.wow:nth-of-type(16) {
  animation-delay: 3.25s;
}
.faq__list > .faq__item.wow:nth-of-type(17) {
  animation-delay: 3.45s;
}
.faq__list > .faq__item.wow:nth-of-type(18) {
  animation-delay: 3.65s;
}
.faq__list > .faq__item.wow:nth-of-type(19) {
  animation-delay: 3.85s;
}
.faq__list > .faq__item.wow:nth-of-type(20) {
  animation-delay: 4.05s;
}
.faq__list > .faq__item:nth-of-type(odd).wow {
  animation-name: wowFlyRight;
}
.faq__list > .faq__item:nth-of-type(even).wow {
  animation-name: wowFlyLeft;
}

.certificates-order__head.wow {
  animation-name: wowFlyDown;
}

.pageheader.wow {
  animation-name: wowFlyUp;
}

.personal-offer {
  max-width: 1186px;
  width: 100%;
  margin: 0 auto;
}
.personal-offer__container {
  width: 100%;
  padding: var(--padding-xl);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--margin-xl);
  background: var(--color-white);
  text-align: center;
}
.personal-offer__label {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-white);
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  padding: var(--padding-xs) var(--padding-s);
  border-radius: 48px;
  line-height: 136%;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.54px;
  text-transform: uppercase;
}
.personal-offer__title {
  font-size: var(--font-size-h4);
  font-weight: 500;
  line-height: 158%;
  font-family: var(--font-body);
  margin: 0;
  padding: 0;
}
.personal-offer__text {
  font-size: var(--font-size-base);
  font-weight: 400;
  line-height: 158%;
  font-family: var(--font-body);
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  background-color: var(--color-black-10);
}

section:last-child:not(.location):not(.contact-form, .cta-banner, .other-formats, .loyalty) {
  margin-bottom: var(--layout-section-margin);
}

.day-intro, .search-page__alert, .order-page__alert, .order-confirmation, section:first-child:not(.hero) {
  margin-top: var(--layout-section-margin);
}

dialog .modal__body section:first-child {
  margin: 0 !important;
}

.hero + .all-inclusive-info {
  margin-top: calc(-1 * var(--layout-section-margin));
}

.pageheader + .activities-grid {
  margin-top: -40px;
}

h1, h2, h3, h4 {
  font-family: var(--font-accent);
  font-style: normal;
  font-weight: 400;
  line-height: 116%;
}

h1 {
  font-size: var(--font-size-h1);
}

h2 {
  font-size: var(--font-size-h2);
}

h3 {
  font-size: var(--font-size-h3);
}

h4 {
  font-size: var(--font-size-h4);
}

main {
  display: flex;
  flex-direction: column;
  gap: var(--layout-section-margin);
}

.room-catalog__alert-section {
  margin-left: auto;
  margin-right: auto;
  max-width: 795px;
  padding: 0 var(--section-padding-main);
}

.search-page__alert, .order-page__alert, .sitewide-notice {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding: 0 var(--section-padding-main);
}

.search-page__list {
  padding: 0 var(--section-padding-main);
}
.search-page__list .price-tariff__item:last-child {
  border-bottom: none;
}

p a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color 0.3s ease;
}
p a:hover {
  color: var(--color-accent-hover);
}

.map + .arrival {
  margin-top: calc(-1 * var(--layout-section-margin));
  padding-top: var(--layout-section-margin);
  background-color: var(--color-white);
}
.map + .arrival + .extras {
  padding-top: 0;
  padding-bottom: 0;
}

textarea::-webkit-resizer {
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjM1NTUgOS4zNTM1Mkw5LjM1NTQ3IDE3LjM1MzVMOC42NDg0NCAxNi42NDY1TDE2LjY0ODQgOC42NDY0OEwxNy4zNTU1IDkuMzUzNTJaIiBmaWxsPSIjYzQ5OTUxIi8+CjxwYXRoIGQ9Ik0xNy4zNTU1IDE1LjM1MzVMMTUuMzU1NSAxNy4zNTM1TDE0LjY0ODQgMTYuNjQ2NUwxNi42NDg0IDE0LjY0NjVMMTcuMzU1NSAxNS4zNTM1WiIgZmlsbD0iI2M0OTk1MSIvPgo8L3N2Zz4K");
}

/*# sourceMappingURL=global.css.map */
