/* LAKEEVA_DESIGN_SYSTEM_V1_START */

:root {
  --lakeeva-font-text:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Helvetica Neue",
    Arial,
    sans-serif;

  --lakeeva-font-display:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Display",
    "SF Pro Text",
    "Helvetica Neue",
    Arial,
    sans-serif;

  --font-ui:
    var(--lakeeva-font-text);
}

html,
body,
button,
input,
select,
textarea,
option {
  font-family:
    var(--lakeeva-font-text) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero__content h1,
.details-body h2,
.quote-lock-screen__card h2,
.property-quote-sheet__card h3 {
  font-family:
    var(--lakeeva-font-display) !important;
}

button,
input,
select,
textarea {
  font: inherit;
}

.details-body {
  color: #09261e;
}

.details-body h2 {
  margin: 7px 0 0;

  color: #09261e;

  font-size:
    clamp(27px, 7.2vw, 36px);
  font-weight: 720;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.details-description {
  color: #4d5f58;

  font-size: 14px;
  line-height: 1.68;
}

.section-eyebrow {
  color: #6d8279;

  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.085em;
  text-transform: uppercase;
}


/* Действия под заголовком объекта */

.property-detail-actions {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 10px;

  margin: 17px 0 19px;
}

.property-detail-action {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 8px;

  min-width: 0;
  min-height: 52px;

  padding: 8px 10px;

  border-radius: 16px;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;

  cursor: pointer;

  transition:
    transform 160ms ease,
    border-color 160ms ease,
    background 160ms ease,
    box-shadow 160ms ease;

  -webkit-tap-highlight-color:
    transparent;
}

.property-detail-action:active {
  transform: scale(0.978);
}

.property-detail-action--quote {
  border:
    1px solid
    rgba(7, 53, 42, 0.12);

  background:
    linear-gradient(
      145deg,
      #073a2d,
      #0d4c3c
    );

  color: #ffffff;

  box-shadow:
    0 10px 24px
    rgba(3, 48, 36, 0.18);
}

.property-detail-action--share {
  border:
    1px solid
    rgba(9, 38, 30, 0.12);

  background: #f4f1e9;
  color: #09261e;

  box-shadow:
    0 8px 20px
    rgba(9, 38, 30, 0.055);
}

.property-detail-action__icon {
  display: grid;

  width: 29px;
  height: 29px;

  flex: 0 0 29px;

  place-items: center;

  border-radius: 10px;
}

.property-detail-action--quote
.property-detail-action__icon {
  background:
    rgba(255, 255, 255, 0.12);
}

.property-detail-action--share
.property-detail-action__icon {
  background:
    rgba(7, 53, 42, 0.075);
}

.property-detail-action__icon svg {
  width: 17px;
  height: 17px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.property-detail-action:only-child {
  grid-column: 1 / -1;
}

/* LAKEEVA_DESIGN_SYSTEM_V1_ACTIONS_END */


/* LAKEEVA_PROPERTY_QUOTE_SHEET_V1_START */

body.property-quote-sheet-open {
  overflow: hidden !important;
}

.property-quote-sheet[hidden] {
  display: none !important;
}

.property-quote-sheet {
  position: fixed;
  z-index: 260;

  inset: 0;

  display: grid;

  align-items: end;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 220ms ease,
    visibility 220ms ease;
}

.property-quote-sheet.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.property-quote-sheet__backdrop {
  position: absolute;

  inset: 0;

  background:
    rgba(2, 27, 20, 0.7);

  -webkit-backdrop-filter:
    blur(12px)
    saturate(125%);
  backdrop-filter:
    blur(12px)
    saturate(125%);
}

.property-quote-sheet__card {
  position: relative;
  z-index: 1;

  width: min(100%, 560px);
  max-height: min(86dvh, 720px);

  margin: 0 auto;
  padding:
    13px
    18px
    calc(
      22px +
      env(safe-area-inset-bottom)
    );

  overflow-y: auto;

  border:
    1px solid
    rgba(255, 255, 255, 0.72);
  border-radius: 30px 30px 0 0;

  background:
    linear-gradient(
      180deg,
      #fffefa 0%,
      #f7f3eb 100%
    );

  box-shadow:
    0 -18px 55px
    rgba(0, 24, 17, 0.28);

  transform: translateY(28px);

  transition:
    transform 360ms
    cubic-bezier(0.22, 1, 0.36, 1);

  overscroll-behavior: contain;
}

.property-quote-sheet.is-open
.property-quote-sheet__card {
  transform: translateY(0);
}

.property-quote-sheet__handle {
  width: 38px;
  height: 4px;

  margin: 0 auto 17px;

  border-radius: 999px;

  background:
    rgba(9, 38, 30, 0.16);
}

.property-quote-sheet__close {
  position: absolute;

  top: 17px;
  right: 17px;

  display: grid;

  width: 36px;
  height: 36px;

  padding: 0;

  place-items: center;

  border: 0;
  border-radius: 50%;

  background:
    rgba(7, 53, 42, 0.075);
  color: #09261e;

  font-size: 25px;
  font-weight: 350;
  line-height: 1;
}

.property-quote-sheet__eyebrow {
  display: block;

  margin-right: 48px;

  color: #75847d;

  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.property-quote-sheet__card h3 {
  margin:
    5px
    48px
    0
    0;

  color: #09261e;

  font-size: 28px;
  font-weight: 730;
  line-height: 1.06;
  letter-spacing: -0.045em;
}

.property-quote-sheet__description {
  max-width: 430px;

  margin: 11px 0 19px;

  color: #617069;

  font-size: 13px;
  line-height: 1.5;
}

.property-quote-sheet
.property-date-check__dates {
  display: grid;

  grid-template-columns:
    auto
    minmax(0, 1fr)
    auto;

  align-items: center;

  gap: 11px;

  width: 100%;
  min-height: 62px;

  padding: 8px 12px;

  border:
    1px solid
    rgba(7, 53, 42, 0.1);
  border-radius: 16px;

  background: #ffffff;
  color: #09261e;

  box-shadow:
    0 7px 20px
    rgba(9, 38, 30, 0.055);

  text-align: left;
}

.property-quote-sheet
.property-date-check__calendar-icon {
  display: grid;

  width: 38px;
  height: 38px;

  place-items: center;

  border-radius: 12px;

  background: #e9efeb;
  color: #073a2d;
}

.property-quote-sheet
.property-date-check__calendar-icon svg {
  width: 19px;
  height: 19px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.property-quote-sheet
.property-date-check__dates strong {
  display: block;

  overflow: hidden;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-quote-sheet
.property-date-check__dates small {
  display: block;

  margin-top: 3px;

  color: #8a918d;

  font-size: 10.5px;
  line-height: 1.2;
}

.property-quote-sheet
.property-date-check__arrow {
  color: #587168;

  font-size: 25px;
  line-height: 1;
}

.property-quote-sheet
.property-date-check__guests {
  display: grid;

  gap: 7px;

  margin-top: 15px;
}

.property-quote-sheet
.property-date-check__guests > span {
  margin-left: 2px;

  color: #5d6d66;

  font-size: 11px;
  font-weight: 650;
}

.property-quote-sheet
.property-date-check__guests select {
  width: 100%;
  min-height: 52px;

  padding: 0 13px;

  border:
    1px solid
    rgba(7, 53, 42, 0.1);
  border-radius: 15px;

  background: #ffffff;
  color: #09261e;

  font-size: 16px !important;
  font-weight: 600;
}

.property-quote-sheet__submit {
  width: 100%;
  min-height: 52px;

  margin-top: 16px;

  border: 0;
  border-radius: 15px;

  background:
    linear-gradient(
      145deg,
      #073a2d,
      #0d4c3c
    );

  color: #ffffff;

  box-shadow:
    0 11px 25px
    rgba(3, 48, 36, 0.2);

  font-size: 13px;
  font-weight: 700;
}

.property-quote-sheet
.quote-result {
  margin-top: 14px;

  border-radius: 17px;
}

#date-range-modal {
  z-index: 340 !important;
}

/* LAKEEVA_PROPERTY_QUOTE_SHEET_V1_END */


/* LAKEEVA_QUOTE_LOCK_PREMIUM_V1_START */

.quote-lock-screen {
  z-index: 400 !important;

  display: grid !important;

  align-items: end;
  justify-items: center;

  padding:
    18px
    12px
    calc(
      12px +
      env(safe-area-inset-bottom)
    );

  background:
    rgba(2, 27, 20, 0.78);

  -webkit-backdrop-filter:
    blur(18px)
    saturate(125%);
  backdrop-filter:
    blur(18px)
    saturate(125%);
}

.quote-lock-screen[hidden] {
  display: none !important;
}

.quote-lock-screen__card {
  width: min(100%, 520px);
  max-height:
    calc(100dvh - 30px);

  padding:
    28px
    20px
    22px;

  overflow-y: auto;

  border:
    1px solid
    rgba(255, 255, 255, 0.74);
  border-radius: 29px;

  background:
    linear-gradient(
      180deg,
      #fffefa 0%,
      #f6f1e8 100%
    );

  color: #09261e;

  box-shadow:
    0 22px 70px
    rgba(0, 20, 14, 0.38);

  text-align: center;

  animation:
    lakeevaQuoteCardIn
    420ms
    cubic-bezier(0.22, 1, 0.36, 1)
    both;
}

.quote-lock-screen__card h2 {
  margin: 13px 0 8px;

  color: #09261e;

  font-size:
    clamp(25px, 7vw, 33px);
  font-weight: 730;
  line-height: 1.08;
  letter-spacing: -0.043em;
}

.quote-lock-screen__card p {
  max-width: 390px;

  margin: 0 auto;

  color: #607069;

  font-size: 13px;
  line-height: 1.52;
}

.quote-lock-spinner {
  width: 50px;
  height: 50px;

  margin: 0 auto 5px;

  border:
    4px solid
    rgba(7, 53, 42, 0.11);
  border-top-color: #0c4a3a;
  border-radius: 50%;

  animation:
    lakeevaQuoteSpinner
    850ms linear infinite;
}

.quote-lock-timer {
  width: fit-content;

  margin: 19px auto 14px;
  padding: 9px 15px;

  border:
    1px solid
    rgba(7, 53, 42, 0.09);
  border-radius: 13px;

  background: #ffffff;
  color: #09261e;

  font-size: 21px;
  font-weight: 720;
  letter-spacing: 0.035em;

  box-shadow:
    0 7px 18px
    rgba(9, 38, 30, 0.055);
}

.quote-lock-details {
  display: flex;

  justify-content: center;

  gap: 7px;

  flex-wrap: wrap;

  margin: 0 0 18px;
}

.quote-lock-details span {
  padding: 7px 10px;

  border-radius: 10px;

  background: #e9efeb;
  color: #31584c;

  font-size: 11px;
  font-weight: 650;
}

.quote-result-icon {
  display: grid;

  width: 58px;
  height: 58px;

  margin: 0 auto 9px;

  place-items: center;

  border-radius: 19px;

  font-size: 28px;
  font-weight: 720;
}

.quote-result-icon.is-success {
  background: #dcece3;
  color: #0b5a40;
}

.quote-result-icon.is-unavailable {
  background: #efe6dc;
  color: #84634d;
}

.quote-lock-screen__eyebrow {
  display: block;

  color: #71827a;

  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.quote-lock-price {
  margin: 16px 0 7px;

  color: #09261e;

  font-size:
    clamp(32px, 9vw, 46px);
  font-weight: 780;
  line-height: 1;
  letter-spacing: -0.05em;
}

.quote-lock-screen
.customer-primary-button,
.quote-lock-screen
.customer-secondary-button {
  width: 100%;
  min-height: 50px;

  margin-top: 13px;

  border-radius: 15px;

  font-size: 13px;
  font-weight: 700;
}

.quote-lock-screen
.customer-primary-button {
  border: 0;

  background:
    linear-gradient(
      145deg,
      #073a2d,
      #0d4c3c
    );

  color: #ffffff;

  box-shadow:
    0 10px 24px
    rgba(3, 48, 36, 0.2);
}

.quote-lock-screen
.customer-secondary-button {
  border:
    1px solid
    rgba(9, 38, 30, 0.12);

  background: #ffffff;
  color: #31584c;
}

@keyframes lakeevaQuoteCardIn {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes lakeevaQuoteSpinner {
  to {
    transform: rotate(360deg);
  }
}

/* LAKEEVA_QUOTE_LOCK_PREMIUM_V1_END */


/* LAKEEVA_QUOTE_LAYER_ORDER_V2_START */

/*
 * Нижнее меню использует z-index 1090.
 * Все элементы расчёта должны находиться выше него.
 */

.property-quote-sheet {
  z-index: 13000 !important;
}

#date-range-modal {
  z-index: 14000 !important;
}

.quote-lock-screen {
  position: fixed !important;
  z-index: 20000 !important;
  inset: 0 !important;
  pointer-events: auto !important;
}

body.customer-screen-locked
.client-tabbar {
  pointer-events: none !important;
}

/* LAKEEVA_QUOTE_LAYER_ORDER_V2_END */


/* LAKEEVA_PROPERTY_DETAIL_POLISH_V2_START */


/* Кнопка закрытия карточки */

#details-modal .modal__close {
  top:
    calc(
      20px +
      env(safe-area-inset-top)
    ) !important;

  width: 42px;
  height: 42px;

  margin:
    calc(
      20px +
      env(safe-area-inset-top)
    )
    14px
    -62px
    0 !important;

  border:
    1px solid
    rgba(255, 255, 255, 0.72);

  background:
    rgba(255, 255, 255, 0.88);

  color: #09261e;

  font-size: 0 !important;

  box-shadow:
    0 8px 24px
    rgba(0, 24, 17, 0.18);

  -webkit-backdrop-filter:
    blur(16px)
    saturate(150%);
  backdrop-filter:
    blur(16px)
    saturate(150%);
}

#details-modal .modal__close::before {
  display: block !important;

  width: 10px;
  height: 10px;

  border-right:
    2px solid currentColor;
  border-bottom:
    2px solid currentColor;

  content: "";

  transform:
    translateY(-2px)
    rotate(45deg);
}

#details-modal .modal__close::after {
  display: none !important;
}


/* Стрелки галереи как в выдаче аренды */

#details-modal .gallery-arrow {
  width: 42px !important;
  height: 48px !important;

  border: 0 !important;
  border-radius: 0 !important;

  background:
    transparent !important;

  color: #111713 !important;

  box-shadow:
    none !important;

  -webkit-backdrop-filter:
    none !important;
  backdrop-filter:
    none !important;

  font-size: 35px !important;
  font-weight: 300 !important;
  line-height: 1 !important;

  text-shadow:
    0 1px 5px
    rgba(255, 255, 255, 0.7);
}

#details-modal
.gallery-arrow--previous {
  left: 7px !important;
}

#details-modal
.gallery-arrow--next {
  right: 7px !important;
}


/* Характеристики объекта */

#details-modal
.property-card__facts
.fact {
  color: #27493e;

  font-size: 13px;
  font-weight: 700 !important;
  letter-spacing: -0.012em;
}


/* Форма расчёта */

.property-quote-sheet__card h3 {
  margin-top: 3px;
}

.property-quote-sheet
.property-date-check__guests {
  margin-bottom: 0;
}

.property-quote-sheet__submit {
  margin-top: 25px !important;
}


/* LAKEEVA_PROPERTY_DETAIL_POLISH_V2_END */


/* LAKEEVA_PROPERTY_CLOSE_FIX_V3_START */

#details-modal .modal__sheet {
  position: absolute;
}

#details-modal .modal__close {
  position: absolute !important;

  top:
    calc(
      18px +
      env(safe-area-inset-top)
    ) !important;
  right: 14px !important;

  float: none !important;

  width: 42px;
  height: 42px;

  margin: 0 !important;
  padding: 0 !important;

  border:
    1px solid
    rgba(255, 255, 255, 0.72);

  border-radius: 50%;

  background:
    rgba(255, 255, 255, 0.9);

  color: #09261e;

  font-size: 0 !important;

  box-shadow:
    0 8px 24px
    rgba(0, 24, 17, 0.18);

  -webkit-backdrop-filter:
    blur(16px)
    saturate(150%);
  backdrop-filter:
    blur(16px)
    saturate(150%);
}

#details-modal .modal__close::before,
#details-modal .modal__close::after {
  position: absolute;

  top: 50%;
  left: 50%;

  display: block !important;

  width: 16px;
  height: 1.8px;

  border: 0 !important;
  border-radius: 999px;

  background: currentColor;

  content: "";
}

#details-modal .modal__close::before {
  transform:
    translate(-50%, -50%)
    rotate(45deg);
}

#details-modal .modal__close::after {
  transform:
    translate(-50%, -50%)
    rotate(-45deg);
}

/* LAKEEVA_PROPERTY_CLOSE_FIX_V3_END */

/* LAKEEVA_QUOTE_CLOSE_ICON_GEOMETRY_V1 */

.property-quote-sheet__close {
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.property-quote-sheet__close::before,
.property-quote-sheet__close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1.8px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  pointer-events: none;
  transform-origin: center;
}

.property-quote-sheet__close::before {
  transform:
    translate(-50%, -50%)
    rotate(45deg);
}

.property-quote-sheet__close::after {
  transform:
    translate(-50%, -50%)
    rotate(-45deg);
}

/* LAKEEVA_QUOTE_CLOSE_ICON_GEOMETRY_V1_END */

