html {
  scroll-behavior: smooth;
}
#whybook {
  scroll-margin-top: 120px;
}
#unitNext{
  scroll-margin-top: 95px;
}

:root{
  --bg-main: #ECEBE7;
  --bg-soft: #FFFFFF;
  --text-main: #141414;
  --text-muted: #6E6E6E;

  --brand: #111111;
  --brand-hover: #000000;

  --hero-text: rgba(255,255,255,.92);
  --hero-text-muted: rgba(255,255,255,.78);
  --hero-stroke: rgba(255,255,255,.65);

  --container: 1200px;

  --radius: 12px;
}

*{ box-sizing: border-box; }
html, body { height: 100%; }
body{
  margin: 0;
  background: var(--bg-main);
  color: var(--text-main);
  font-family: "Barlow", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  overflow-x: hidden;   /* <-- ТОЛЬКО по X */
  overflow-y: auto;     /* <-- ОБЯЗАТЕЛЬНО */
}

.container{
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
}

/* ---------- HEADER ---------- */
.site-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  background: transparent;
  transform: translateY(0);
  transition: background .25s ease, transform .5s ease, box-shadow .25s ease;
}

.header__inner{
  height: 95px;
  display: flex;
  align-items: center;
  justify-content: space-between;

  /* симметрия: одинаково слева/справа */
  padding: 0 34px;
  box-sizing: border-box;
}

.logo{
  text-decoration: none;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;

  /* ПК: еще чуть ниже */
  transform: translateY(7px);
}

.logo__brand{
  font-family: "Gilda Display", serif;
  font-weight: 400;
  font-size: 28px;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 1;
  color: #AA8453;
}

/* 2-я строка строго по центру под 1-й и тоньше */
.logo__sub{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-weight: 300;          /* тоньше */
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  line-height: 1;
  color: #FFFFFFEB;

  align-self: center;        /* центрируем под первой строкой */
  text-align: center;
  margin-left: 0;            /* убираем старый сдвиг */
}

/* logo image (оставляем на будущее, не ломаем) */
.logo__img{
  display: block;
  height: 24px;
  width: auto;
}

/* nav desktop */
.nav--desktop{
  display: flex;
  gap: 8px;
  align-items: center;

  /* ПК: ниже (кнопки) */
  transform: translateY(10px);
}
.nav__link{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 15px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--hero-text-muted);
  padding: 8px 12px;
  transition: color .25s ease, background .25s ease;
}
.nav__link:not(.nav__link--cta):hover{ color: #AA8453; }
.nav__link.is-active{ color: var(--hero-text); }

.nav__link--cta{
  background: #B6966C;
  color: #222222;
  border: 0;
  border-radius: 0;          /* острые углы */
  padding: 0 12px;
  line-height: 42px;
  transition: .4s;
}
.nav__link--cta:hover{
  background: #222222;
  color: #AA8453;
}

/* header scrolled */
.site-header.is-scrolled{
  background: #1B1B1B;
  box-shadow: 0px 5px 15px rgba(15,36,84,.05);
  transform: translateY(0);
}

/* burger (mobile) — меньше, без кружка, цвет как 2-я строка лого */
.burger{
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;

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

  /* как у DUBAI APARTMENTS */
  color: #FFFFFFEB;
  opacity: .82;
  transition: color .25s ease, opacity .25s ease;
}

/* при скролле — золото */
.site-header.is-scrolled .burger{
  color: #AA8453;
  opacity: 1;
}

.burger__lines{
  width: 22px;
  height: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}

.burger__lines > span{
  display: block;
  width: 100%;
  height: 2px;          /* четко, без мыла */
  background: currentColor;
  border-radius: 0;

  transform: translateZ(0);
  backface-visibility: hidden;
}

/* средняя полоса как остальные (НЕ короче) */
.burger__lines > span:nth-child(2){
  width: 100%;
  margin: 0;
}

/* mobile menu */
.mobile-menu{
  max-height: 0;
  overflow: hidden;
  background: rgba(17,17,17,.92);
  border-top: 0;                 /* убрали линию, когда закрыто */
  transition: max-height .35s ease;
}
.site-header.is-open .mobile-menu{
  max-height: 340px;
  border-top: 1px solid rgba(255,255,255,.10); /* линия только когда открыто */
}
.mobile-menu__inner{
  padding: 14px 0 18px;
  display: grid;
  gap: 6px;
}
.mobile-menu__link{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 15px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255,255,255,.86);
  padding: 10px 6px;
}
.mobile-menu__link.is-active{ color: rgba(255,255,255,.98); }
.mobile-menu__phone{
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.10);
  letter-spacing: 2px;
}

/* ---------- HERO ---------- */
.hero{
  position: relative;
  height: 100vh;
  min-height: 640px;
  overflow: hidden;
  background: #000;
}

.hero__slides{
  position: absolute;
  inset: 0;
}

.hero__slide{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: 50% 50%;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .8s ease, transform 1.4s ease;

  /* сильнее матовость */
  filter: saturate(.78) contrast(.92) brightness(.82);
}
.hero__slide.is-active{
  opacity: 1;
  transform: scale(1);
}

.hero__overlay{
  position: absolute;
  inset: 0;

  /* сильнее маска/дымка */
  background:
    linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.38) 42%, rgba(0,0,0,.78) 100%),
    radial-gradient(900px 520px at 50% 35%, rgba(0,0,0,.38) 0%, rgba(0,0,0,0) 62%),
    linear-gradient(90deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,0) 55%);
  pointer-events: none;
}

/* center text */
.hero__content{
  position: relative;
  z-index: 2;
  height: 100%;
  display: grid;
  place-content: center;
  text-align: center;
  padding: 120px 16px 80px; /* учитываем шапку */
  color: var(--hero-text);
}

.hero__eyebrow{
  margin: 0 0 20px;
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: var(--hero-text-muted);
  animation: fadeInUp 1s both;
  animation-delay: .4s;
}

.hero__title{
  margin: 0;
  font-family: "Gilda Display", serif;
  font-weight: 400;              /* “тоньше” (без жирности) */
  font-size: 55px;
  letter-spacing: 15px;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--hero-text);
  animation: fadeInUp 1s both;
  animation-delay: .6s;
}

/* right dots */
.hero-dots{
  position: absolute;
  right: 58px;                 /* <-- ближе к центру (больше число = дальше от края) */
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: grid;
  gap: 10px;
}
.hero-dots__dot{
  width: 12px;
  height: 12px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;

  border: 1px solid rgba(255,255,255,.65);  /* <-- белый контур как было */
  background: transparent;

  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.hero-dots__dot.is-active{
  background: #AA8453;
  border-color: #AA8453;
  transform: scale(1.05);
}

/* left call (vertical) */
.hero-call{
  position: absolute;
  left: 42px;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 60px;           /* <-- ОПУСТИЛИ ВЕСЬ БЛОК */
  z-index: 3;
}
.hero-call__wrap{
  display: flex;
  flex-direction: column;
  align-items: center;     /* чтобы “начинались” ровнее визуально */
  gap: 10px;
  text-decoration: none;
  color: inherit;
}
.hero-call__text{
  transform: rotate(-90deg);
  transform-origin: left top;
  white-space: nowrap;
}
.hero-call__label{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  margin: 0;
}
.hero-call__number{
  display: inline-block;
  margin-top: 8px;            /* <-- НОМЕР НИЖЕ */
  font-family: "Gilda Display", serif;
  font-size: 24px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #AA8453;             /* <-- ЗОЛОТОЙ */
}

.hero-call__phone{
  /* РУЧКИ: двигай тут */
  --phone-x: -70px;     /* влево/вправо */
  --phone-y: -45px;     /* вверх/вниз */

  position: relative;
  width: 46px;
  height: 46px;

  transform: translate(var(--phone-x), var(--phone-y));
}
.hero-call__ring{
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.55);
  animation: pulse 2s infinite;
}
.hero-call__icon{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.92);
}
.hero-call__icon svg{
  width: 22px;             /* УВЕЛИЧИВАЕМ ТОЛЬКО ТРУБКУ */
  height: 22px;
}

/* animations */
@keyframes fadeInUp{
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse{
  0%   { transform: scale(1);   opacity: .85; }
  70%  { transform: scale(1.22); opacity: 0; }
  100% { transform: scale(1.22); opacity: 0; }
}

@media (prefers-reduced-motion: reduce){
  .hero__slide, .hero__eyebrow, .hero__title, .hero-call__ring{
    animation: none !important;
    transition: none !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 900px){
  .nav--desktop{ display:none; }
  .burger{ display:flex; }
  /* INDEX: move burger slightly more to the right */
  .page-index .header__inner{
    padding-right: 10px;
  }

  .hero{
    min-height: 720px;
  }

  /* поднять анимированный текст выше (mobile only) */
  .hero__content{
    padding: 96px 16px 170px;
  }

  .hero__title{
    font-size: 36px;
    letter-spacing: 9px;
    line-height: 1.25;
  }
  .hero__eyebrow{
    font-size: 13px;
    letter-spacing: 5px;
  }

  /* hide vertical call on mobile (will be in burger menu) */
  .hero-call{ display:none; }

  /* dots a bit inwards */
  .hero-dots{ right: 14px; }
  .logo{
    transform: translateY(4px);
    gap: 2px;

    position: relative;
    left: -40px; /* <-- ВОТ РУЧКА: двигает ТОЛЬКО лого */
  }
  .logo__brand{
    font-size: 24px;
    letter-spacing: 1.5px;
  }
  .logo__sub{
    font-size: 12px;
    letter-spacing: 5px;

    /* под первой строкой по центру */
    align-self: center;
    text-align: center;
    margin-left: 0;
    font-weight: 300;
  }
}
/* ===========================
   HOSTAWAY — CLEAN (v3)
   one block only, no duplicates
   =========================== */

/* контейнер виджета на hero */
.booking-bar{
  position: absolute;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  z-index: 6;
  width: min(1120px, calc(100% - 48px));
}

/* корень виджета */
#hostaway-booking-widget{
  width: 100%;
  position: relative;
  overflow: visible !important;
  isolation: isolate;
}

/* убрать дефолтные подложки Hostaway вокруг */
#hostaway-booking-widget .hsbw{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ---------------------------
   BAR (DESKTOP)
   --------------------------- */

:root{
  --search-gap-top-m: 1px;    /* зазор СВЕРХУ */
  --search-gap-left-m: 3px;   /* зазор СЛЕВА */
  /* цвет бара (под стиль сайта) */
--bar-bg: rgba(238,232,223,.88);
  --bar-blur: 14px;
  --bar-bd: rgba(20,20,20,.10);

  /* высоты */
--bar-h-pc: 56px;
--bar-h-m: 56px;

  /* разрыв между Guests и Search */
  --gap-btn-pc: 10px;
  --gap-btn-m: 10px;

  /* POPUP SIZES */
  --pop-loc-w-pc: 300px;
  --pop-gue-w-pc: 280px;
  --pop-cal-w-pc: 340px;

  --pop-loc-w-m: min(92vw, 520px);
  --pop-gue-w-m: min(92vw, 420px);
  --pop-cal-w-m: min(92vw, 340px);

  /* POPUP OFFSET (ручки положения) */
  --loc-x-pc: -1px;  --loc-y-pc: -100px;
  --gue-x-pc: 0px;  --gue-y-pc: -50px;
  --cal-x-pc: 0px;  --cal-y-pc: -348px;

  --loc-x-m: -1px;   --loc-y-m: -100px;
  --gue-x-m: 0px;   --gue-y-m: -168px;
  --cal-x-m: -1px;   --cal-y-m: -408px;

  /* отступ попапов от бара */
  --pop-gap-pc: 10px;
  --pop-gap-m: 8px;
}

/* панель */
#hostaway-booking-widget .hsbw-grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr .75fr auto; /* location | dates | guests | button */
  align-items: stretch;
  column-gap: 0;
  background: transparent !important;
  border: 0 !important;
  overflow: visible !important;
}

/* “левые” блоки — единый фон под стиль */
#hostaway-booking-widget .hsbw-grid_locations,
#hostaway-booking-widget .hsbw-dates,
#hostaway-booking-widget .hsbw-grid_guests{
  background: var(--bar-bg) !important;
  backdrop-filter: blur(var(--bar-blur));
  -webkit-backdrop-filter: blur(var(--bar-blur));
  border-top: 1px solid var(--bar-bd);
  border-bottom: 1px solid var(--bar-bd);
}

/* крайние бордеры */
#hostaway-booking-widget .hsbw-grid_locations{
  border-left: 1px solid var(--bar-bd);
}
#hostaway-booking-widget .hsbw-grid_guests{
  border-right: 1px solid var(--bar-bd);
}

/* разделители (кроме guests—button) */
#hostaway-booking-widget .hsbw-grid_locations{ border-right: 1px solid rgba(20,20,20,.08); }
#hostaway-booking-widget .hsbw-dates{ border-right: 1px solid rgba(20,20,20,.08); }

/* разрыв только между Guests и Search */
#hostaway-booking-widget .hsbw-grid_buttons{
  background: transparent !important;
  margin-left: var(--gap-btn-pc);
  display: flex !important;
  align-self: stretch !important;
}

/* поле */
#hostaway-booking-widget .hsbw-field{
  min-height: var(--bar-h-pc);
  height: var(--bar-h-pc);
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  padding: 10px 12px;
}

/* иконки */
#hostaway-booking-widget .hsbw-field-icon{
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  background: transparent !important;
  border: 0 !important;
  color: rgba(20,20,20,.80);
}
#hostaway-booking-widget .hsbw-field-icon svg{ width: 18px; height: 18px; }
#hostaway-booking-widget .hsbw-field-icon svg path{
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.6;
  stroke-linejoin: round;
  stroke-linecap: round;
}

/* лейблы */
#hostaway-booking-widget .hsbw-label{
  font-family: "Barlow Condensed", system-ui, sans-serif !important;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(20,20,20,.72);
  margin: 0 0 3px 0;
}

/* значения */
#hostaway-booking-widget .hsbw-value{
  font-family: "Barlow", system-ui, sans-serif !important;
  font-size: 15px;
  line-height: 1.15;
  color: rgba(20,20,20,.95);
}

/* фокус */
#hostaway-booking-widget .hsbw-field:focus-within{
  box-shadow: inset 0 0 0 1px rgba(170,132,83,.55);
}

/* search input location */
#hostaway-booking-widget .hsbw-location-search{
  width: 100%;
  margin-top: 8px;
  padding: 10px 10px;
  border: 0 !important;
  outline: none;
  background: rgba(0,0,0,.04) !important;
  font-family: "Barlow", system-ui, sans-serif !important;
  font-size: 15px;
}

/* SEARCH button */
#hostaway-booking-widget .hsbw-main-button{
  width: 100% !important;
  height: var(--bar-h-pc) !important;
  min-height: var(--bar-h-pc) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-family: "Gilda Display", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  text-decoration: none !important;

  background: #B6966C !important;
  color: #222222 !important;
  border: 1px solid rgba(20,20,20,.18) !important;
  transition: .35s;
}
#hostaway-booking-widget .hsbw-main-button:hover{
  background: #222222 !important;
  color: #AA8453 !important;
}

/* CHECKOUT: убираем вторую иконку, чтобы выглядело как одна “кнопка дат” */
#hostaway-booking-widget .hsbw-grid_checkout .hsbw-field-icon{ display:none !important; }
#hostaway-booking-widget .hsbw-grid_checkout .hsbw-field{
  grid-template-columns: 1fr !important;
  padding-left: 0 !important;
}
#hostaway-booking-widget .hsbw-grid_checkout .hsbw-field-content{ padding-left: 0 !important; }

/* ---------------------------
   POPUPS — ONE BACKGROUND ONLY
   --------------------------- */

/* оболочки попапов всегда прозрачные (убирает “второй фон/полосу”) */
#hostaway-booking-widget .hsbw-popup,
#hostaway-booking-widget .hsbw-container,
#hostaway-booking-widget .hsbw-calendar-container{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* настоящий “бокс” только на inner и calendar */
#hostaway-booking-widget .hsbw-popup_inner{
background: var(--bar-bg) !important;
  border: 1px solid rgba(20,20,20,.14) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.14) !important;
  border-radius: 0 !important;
  padding: 10px !important;
  margin: 0 !important;
}

/* calendar box */
#hostaway-booking-widget .hsbw-calendar{
background: var(--bar-bg) !important;
  border: 1px solid rgba(20,20,20,.14) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.14) !important;
  padding: 12px !important;
}

/* location items */
#hostaway-booking-widget .hsbw-location-item{
  padding: 12px 12px;
  font-family: "Barlow", system-ui, sans-serif !important;
  font-size: 15px;
  color: rgba(20,20,20,.92);
  cursor: pointer;
}
#hostaway-booking-widget .hsbw-location-item:hover{ background: rgba(17,17,17,.05); }
#hostaway-booking-widget .hsbw-location-item.active{ color: #AA8453; }

/* calendar table */
#hostaway-booking-widget .hsbw-calendar-container table{
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-family: "Barlow", system-ui, sans-serif !important;
  background: transparent !important;
}
#hostaway-booking-widget .hsbw-calendar-container th{
  font-weight: 500;
  color: rgba(20,20,20,.85);
  padding: 8px 0;
}
#hostaway-booking-widget .hsbw-calendar-container td{
  text-align: center;
  padding: 8px 0;
  color: rgba(20,20,20,.92);
}
#hostaway-booking-widget .hsbw-calendar-container td.disabled{ opacity: .35; }

#hostaway-booking-widget .hsbw-calendar-day{
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 0 !important;
  border: 1px solid rgba(20,20,20,.10);
  transition: .2s;
}
#hostaway-booking-widget .hsbw-calendar-container td:not(.disabled) .hsbw-calendar-day:hover{
  background: rgba(17,17,17,.06);
  border-color: rgba(20,20,20,.18);
}
#hostaway-booking-widget td[class*="selected"] .hsbw-calendar-day,
#hostaway-booking-widget td[class*="active"] .hsbw-calendar-day,
#hostaway-booking-widget td[class*="start"] .hsbw-calendar-day,
#hostaway-booking-widget td[class*="end"] .hsbw-calendar-day{
  background: #222222;
  color: #AA8453;
  border-color: rgba(0,0,0,.35);
}
#hostaway-booking-widget td[class*="range"] .hsbw-calendar-day,
#hostaway-booking-widget td[class*="in-range"] .hsbw-calendar-day{
  background: rgba(182,150,108,.22);
  border-color: rgba(182,150,108,.35);
}

/* guests +/- (нормальные, без “ужаса”) */
#hostaway-booking-widget .hsbw-count-btn{
  width: 34px !important;
  height: 34px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(20,20,20,.22) !important;
  background: rgba(0,0,0,.02) !important;
  position: relative !important;
  box-shadow: none !important;
}
#hostaway-booking-widget .hsbw-count-btn::before{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:12px; height:1px;
  background: rgba(20,20,20,.92);
  transform:translate(-50%,-50%);
}
#hostaway-booking-widget .hsbw-count-btn--plus::after{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:1px; height:12px;
  background: rgba(20,20,20,.92);
  transform:translate(-50%,-50%);
}
#hostaway-booking-widget .hsbw-count-btn:hover{
  background: rgba(0,0,0,.05) !important;
}

/* ---------------------------
   POPUP POSITIONING (PC)
   --------------------------- */

/* якорим попапы на ячейках */
#hostaway-booking-widget .hsbw-grid > *{ position: relative !important; overflow: visible !important; }

@media (min-width: 901px){
  /* location popup вверх */
  #hostaway-booking-widget .hsbw-grid_locations > .hsbw-popup,
  #hostaway-booking-widget .hsbw-grid_location  > .hsbw-popup{
    position: absolute !important;
    left: 0 !important;
    bottom: calc(100% + var(--pop-gap-pc)) !important;
    width: var(--pop-loc-w-pc) !important;
    max-width: calc(100vw - 24px) !important;
    z-index: 9999 !important;
    transform: translate(var(--loc-x-pc), var(--loc-y-pc)) !important;
  }

  /* guests popup вверх */
  #hostaway-booking-widget .hsbw-grid_guests > .hsbw-popup{
    position: absolute !important;
    left: 0 !important;
    bottom: calc(100% + var(--pop-gap-pc)) !important;
    width: var(--pop-gue-w-pc) !important;
    max-width: calc(100vw - 24px) !important;
    z-index: 9999 !important;
    transform: translate(var(--gue-x-pc), var(--gue-y-pc)) !important;
  }

  /* calendar вверх (контейнер у checkin/checkout) */
  #hostaway-booking-widget .hsbw-grid_checkin  > .hsbw-container,
  #hostaway-booking-widget .hsbw-grid_checkout > .hsbw-container{
    position: absolute !important;
    left: 0 !important;
    bottom: calc(100% + var(--pop-gap-pc)) !important;
    width: var(--pop-cal-w-pc) !important;
    max-width: calc(100vw - 24px) !important;
    z-index: 9999 !important;
    transform: translate(var(--cal-x-pc), var(--cal-y-pc)) !important;
  }
}

/* ---------------------------
   MOBILE (3 rows)
   loc
   dates (one row)
   guests + search (one row)
   --------------------------- */

@media (max-width: 900px){
  .booking-bar{
    bottom: 20px;
    width: min(520px, calc(100% - 28px));
  }

  #hostaway-booking-widget .hsbw-grid{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "loc loc"
      "dates dates"
      "gue btn";
  }

  #hostaway-booking-widget .hsbw-grid_locations{ grid-area: loc; }

  /* dates как один блок */
  #hostaway-booking-widget .hsbw-dates{
    grid-area: dates;
    display: flex !important;
    background: var(--bar-bg) !important;
    backdrop-filter: blur(var(--bar-blur));
    -webkit-backdrop-filter: blur(var(--bar-blur));
    border-left: 1px solid var(--bar-bd);
    border-right: 1px solid var(--bar-bd);
    border-top: 1px solid var(--bar-bd);
    border-bottom: 1px solid var(--bar-bd);
  }
  #hostaway-booking-widget .hsbw-grid_checkin,
  #hostaway-booking-widget .hsbw-grid_checkout{
    flex: 1 1 50% !important;
    background: transparent !important;
    border: 0 !important;
  }

  #hostaway-booking-widget .hsbw-grid_guests{ grid-area: gue; }
#hostaway-booking-widget .hsbw-grid_buttons{
  grid-area: btn;
  margin-left: 0 !important;
  display: flex !important;
}

  /* высоты */
  #hostaway-booking-widget .hsbw-field{
    min-height: var(--bar-h-m);
    height: var(--bar-h-m);
  }
  #hostaway-booking-widget .hsbw-main-button{
    height: var(--bar-h-m) !important;
    min-height: var(--bar-h-m) !important;
  }

  /* под стиль (не белая простыня) */
  #hostaway-booking-widget .hsbw-grid_locations,
  #hostaway-booking-widget .hsbw-grid_guests{
    background: var(--bar-bg) !important;
    backdrop-filter: blur(var(--bar-blur));
    -webkit-backdrop-filter: blur(var(--bar-blur));
  }

  /* POPUP POSITIONING (MOBILE) */
  #hostaway-booking-widget .hsbw-grid_locations > .hsbw-popup,
  #hostaway-booking-widget .hsbw-grid_location  > .hsbw-popup{
    position: absolute !important;
    left: 0 !important;
    bottom: calc(100% + var(--pop-gap-m)) !important;
    width: var(--pop-loc-w-m) !important;
    max-width: calc(100vw - 16px) !important;
    z-index: 9999 !important;
    transform: translate(var(--loc-x-m), var(--loc-y-m)) !important;
  }

  #hostaway-booking-widget .hsbw-grid_guests > .hsbw-popup{
    position: absolute !important;
    left: 0 !important;
    bottom: calc(100% + var(--pop-gap-m)) !important;
    width: var(--pop-gue-w-m) !important;
    max-width: calc(100vw - 16px) !important;
    z-index: 9999 !important;
    transform: translate(var(--gue-x-m), var(--gue-y-m)) !important;
  }

  #hostaway-booking-widget .hsbw-grid_checkin  > .hsbw-container,
  #hostaway-booking-widget .hsbw-grid_checkout > .hsbw-container{
    position: absolute !important;
    left: 0 !important;
    bottom: calc(100% + var(--pop-gap-m)) !important;
    width: var(--pop-cal-w-m) !important;
    max-width: calc(100vw - 16px) !important;
    z-index: 9999 !important;
    transform: translate(var(--cal-x-m), var(--cal-y-m)) !important;
  }
}
/* ===========================
   FINAL FIX v2 — NO SHRINK
   (не режем ширину Search)
   =========================== */

/* 1) ПК: высота колонки = высота бара, ширину НЕ трогаем */
#hostaway-booking-widget .hsbw-grid_buttons{
  height: var(--bar-h-pc) !important;
  min-height: var(--bar-h-pc) !important;
  padding: 0 !important;              /* КЛЮЧ: НЕ режем ширину */
  box-sizing: border-box;
  align-items: stretch !important;
}

/* сама кнопка заполняет колонку и по высоте 1:1 */
#hostaway-booking-widget .hsbw-main-button{
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: 0 22px !important;         /* отступы ТУТ, а не на колонке */
  box-sizing: border-box;
}

/* 2) МОБИЛА: делаем кнопку “почти” как Guests — добавляем внутренний отступ БЕЗ сужения */
@media (max-width: 900px){
  #hostaway-booking-widget .hsbw-grid_buttons{
    height: var(--bar-h-m) !important;
    min-height: var(--bar-h-m) !important;
    padding: 0 !important;            /* снова НЕ режем ширину */
    align-items: stretch !important;
  }

  #hostaway-booking-widget .hsbw-main-button{
    width: 100% !important;
    height: 100% !important;
    padding: 0 16px !important;       /* “почти” как Guests по ощущениям */
  }
}

/* 3) Guests: цифры + нормальные +/- (оставляю, чтобы не было “ужаса”) */
#hostaway-booking-widget .hsbw-count-value{
  font-family: "Barlow", system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500;
  color: rgba(20,20,20,.95);
}

#hostaway-booking-widget .hsbw-count-btn{
  background: transparent !important;
  border: 1px solid rgba(20,20,20,.25) !important;
}

#hostaway-booking-widget .hsbw-count-btn::before,
#hostaway-booking-widget .hsbw-count-btn--plus::after{
  background: rgba(20,20,20,.9);
}
@media (max-width: 900px){

  /* контейнер кнопки: прижимаем кнопку вниз и вправо */
  #hostaway-booking-widget .hsbw-grid_buttons{
    display: flex !important;
    align-items: flex-end !important;   /* вниз */
    justify-content: flex-end !important; /* вправо */

    padding-top: var(--search-gap-top-m) !important;
    padding-left: var(--search-gap-left-m) !important;

    box-sizing: border-box;
  }

  /* сама кнопка — меньше по высоте, но НЕ липнет */
  #hostaway-booking-widget .hsbw-main-button{
    height: calc(var(--bar-h-m) - var(--search-gap-top-m)) !important;
    min-height: calc(var(--bar-h-m) - var(--search-gap-top-m)) !important;
  }
}
@media (max-width: 900px){
  #hostaway-booking-widget .hsbw-grid_buttons{
    align-items: flex-start !important;
  }
}
@media (max-width: 900px){
  #hostaway-booking-widget .hsbw-main-button{
    margin-top: 2px; /* ← 1–4px, сколько нужно */
  }
}
/* ===========================
   FINAL SMALL FIXES (ADD-ON)
   paste at the VERY END
   =========================== */

/* 0) Четче текст */
#hostaway-booking-widget{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

/* 1) Не даём Location инпуту раздувать бар (ТОЛЬКО ПК, чтобы не ломать мобайл) */
@media (min-width: 901px){
  #hostaway-booking-widget .hsbw-grid{
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,.75fr) auto !important;
  }
  #hostaway-booking-widget .hsbw-grid > *{
    min-width: 0 !important;
  }
  #hostaway-booking-widget .hsbw-field-content{
    min-width: 0 !important;
    overflow: hidden !important;
  }
  #hostaway-booking-widget .hsbw-location-search{
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 2) FIX: Check-out не выше Check-in на ПК (до выбора дат)
   Твой текущий хак (display:none + padding-left:0) меняет сетку и “поднимает” текст.
   Делаем: иконку прячем, НО место оставляем → всё ровно по базовой линии.
*/
#hostaway-booking-widget .hsbw-grid_checkout .hsbw-field-icon{
  display: block !important;
  visibility: hidden !important;
}
#hostaway-booking-widget .hsbw-grid_checkout .hsbw-field{
  grid-template-columns: 40px 1fr !important;
  padding-left: 12px !important;
}
#hostaway-booking-widget .hsbw-grid_checkout .hsbw-field-content{
  padding-left: 0 !important;
}

/* 3) Calendar arrows + Clear dates под стиль */
#hostaway-booking-widget .hsbw-calendar-button,
#hostaway-booking-widget .hsbw-calendar-clear{
  background: transparent !important;
  border: 1px solid rgba(20,20,20,.18) !important;
  color: rgba(20,20,20,.86) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#hostaway-booking-widget .hsbw-calendar-button{
  width: 34px !important;
  height: 34px !important;
  display: inline-grid !important;
  place-items: center !important;
}
#hostaway-booking-widget .hsbw-calendar-button svg path{
  fill: currentColor !important;
}
#hostaway-booking-widget .hsbw-calendar-button:hover{
  background: rgba(0,0,0,.04) !important;
}

#hostaway-booking-widget .hsbw-calendar-clear{
  height: 34px !important;
  padding: 0 12px !important;
  font-family: "Barlow Condensed", system-ui, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
#hostaway-booking-widget .hsbw-calendar-clear:hover{
  background: rgba(0,0,0,.04) !important;
}

/* 4) Guests: убираем “страшные” +/-, делаем нормально + цифру крупнее/ниже */
#hostaway-booking-widget .hsbw-count-btn{
  /* скрыть родные символы внутри кнопок */
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;

  background: transparent !important;
  border: 1px solid rgba(20,20,20,.25) !important;
}

#hostaway-booking-widget .hsbw-count-btn::before{
  height: 2px !important; /* было 1px — делаем видимее */
}
#hostaway-booking-widget .hsbw-count-btn--plus::after{
  width: 2px !important;  /* было 1px — делаем видимее */
}

#hostaway-booking-widget .hsbw-count-value{
  font-family: "Barlow", system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transform: translateY(1px) !important;
}
@media (min-width: 901px){
  #hostaway-booking-widget .hsbw-main-button{
    border-bottom: 0 !important; /* ← убираем реальный бордер снизу */

    box-shadow:
      0 2px 0 0 #B6966C,                /* визуальное увеличение вниз */
      0 0 0 1px rgba(20,20,20,.18);     /* общий бордер */
  }

  #hostaway-booking-widget .hsbw-main-button:hover{
    box-shadow:
      0 2px 0 0 #222222,
      0 0 0 1px rgba(20,20,20,.18);
  }
}
/* === Guests popup: middle number is a plain div with inline padding === */

/* опустить "Guests" и весь блок с контролами чуть ниже */
#hostaway-booking-widget .hsbw-grid_guests .hsbw-popup_inner > div{
  align-items: center !important;
}
#hostaway-booking-widget .hsbw-grid_guests .hsbw-popup_inner > div > div:first-child{
  transform: translateY(6px) !important;
}

/* второй flex-блок (- 1 +) */
#hostaway-booking-widget .hsbw-grid_guests .hsbw-popup_inner > div > div[style*="display: flex"]{
  align-items: center !important;
}

/* САМЫЙ ВАЖНЫЙ: цифра "1" — div с padding: 0px 10px */
#hostaway-booking-widget .hsbw-grid_guests .hsbw-popup_inner > div > div[style*="display: flex"] > div[style*="padding: 0px 10px"]{
  font-family: "Barlow", system-ui, sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1 !important;

  padding: 0 10px !important;            /* перебиваем inline */
  transform: translateY(0px) !important;  /* опустить вниз */
  min-width: 22px !important;
  text-align: center !important;
}
/* ===========================
   HOSTAWAY — FIX +/- (HARD OVERRIDE)
   рисуем плюс/минус градиентами, одинаковая толщина линий
   =========================== */

#hostaway-booking-widget button.hsbw-count-btn{
  /* базовая кнопка */
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: 1px solid rgba(20,20,20,.25) !important;
  background-color: transparent !important;
  box-shadow: none !important;
  cursor: pointer;

  /* убираем любой текст/символ если вдруг он есть */
  font-size: 0 !important;
  line-height: 0 !important;
  color: rgba(20,20,20,.92) !important;

  /* чтобы линии были четкие */
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* УБИВАЕМ их псевдо-элементы на 100% */
#hostaway-booking-widget button.hsbw-count-btn::before,
#hostaway-booking-widget button.hsbw-count-btn::after{
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* MINUS: одна горизонтальная линия (толщина 2px) */
#hostaway-booking-widget button.hsbw-count-btn--minus{
  background-image: linear-gradient(currentColor, currentColor) !important;
  background-size: 14px 2px !important;
}

/* PLUS: горизонтальная + вертикальная одинаковой толщины (2px) */
#hostaway-booking-widget button.hsbw-count-btn--plus{
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor) !important;
  background-size:
    14px 2px,
    2px 14px !important;
  background-position:
    center,
    center !important;
}
/* ===========================
   POPULAR SEARCHES (NEW SECTION)
   =========================== */

:root{
  --popular-bg: #242424;      /* фон секции (светлее шапки) */
  --popular-card: #1B1B1B;    /* фон текст-плитки (как шапка) */
  --popular-bd: rgba(255,255,255,.10);
}

.popular{
  background: var(--popular-bg);
  padding: 96px 0 110px;
}

.popular__head{
  text-align: center;
  padding-bottom: 40px;
}

.popular__kicker{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 15px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #AA8453;
  margin-bottom: 14px;
}

.popular__title{
  margin: 0;
  font-family: "Gilda Display", serif;
  font-weight: 400;
  font-size: 56px;
  letter-spacing: 10px;
  text-transform: uppercase;
  color: rgba(255,255,255,.96);
  line-height: 1.18;
}

.popular__list{
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  gap: 0;
}

/* row layout */
.ps-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 420px;
}

.ps-row.is-reverse .ps-media{ order: 2; }
.ps-row.is-reverse .ps-card{ order: 1; }

.ps-media{
  position: relative;
  overflow: hidden;
  border: 0;
}
.ps-media__clip{
  position: absolute;
  inset: 0;
  overflow: hidden; /* важно: zoom не вылезает */
}

.ps-media__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform .9s ease;
  will-change: transform;
}

@media (hover:hover){
  .ps-row:hover .ps-media__img{
    transform: scale(1.06);
  }
}

.ps-card{
  display: grid;
  align-items: center;
  background: var(--popular-card);
  border: 0;
}

.ps-card__inner{
  padding: 64px 70px;
}

.ps-card__title{
  margin: 0 0 18px;
  font-family: "Gilda Display", serif;
  font-weight: 400;
  font-size: 44px;
  letter-spacing: 2px;
  color: rgba(255,255,255,.96);
}

.ps-card__desc{
  margin: 0;
  font-family: "Barlow", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.9;
  color: #FFFFFF80;
}

/* ===== animation (from sides) ===== */
.ps-row .ps-media,
.ps-row .ps-card{
  opacity: 0;
  transition: transform .9s ease, opacity .9s ease;
  will-change: transform, opacity;
}

.ps-row .ps-media{ transform: translateX(-52px); }
.ps-row .ps-card{ transform: translateX(52px); }

.ps-row.is-reverse .ps-media{ transform: translateX(52px); }
.ps-row.is-reverse .ps-card{ transform: translateX(-52px); }

.ps-row.is-inview .ps-media,
.ps-row.is-inview .ps-card{
  opacity: 1;
  transform: translateX(0);
}

.ps-row.is-inview .ps-media{ transition-delay: .05s; }
.ps-row.is-inview .ps-card{ transition-delay: .18s; }

@media (prefers-reduced-motion: reduce){
  .ps-row .ps-media,
  .ps-row .ps-card,
  .ps-media__img{
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ===== mobile: stack image then text ===== */
/* ===== mobile: full width + NO chess + animation like PC ===== */
@media (max-width: 900px){
  .popular{
    padding: 72px 0 86px;
  }

  .popular__title{
    font-size: 38px;
    letter-spacing: 7px;
  }

  /* list без контейнерных ограничений */
  .popular__list{
    width: 100%;
    margin: 0;
  }

  /* каждый ряд делаем full-bleed на всю ширину экрана */
  .ps-row{
    grid-template-columns: 1fr !important;
    min-height: auto;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  /* НИКАКИХ шахмат: всегда картинка сверху, текст снизу */
  .ps-row .ps-media{ order: 1 !important; }
  .ps-row .ps-card{ order: 2 !important; }

  /* блоки по ширине экрана (и фон карточки тоже) */
  .ps-media{
    width: 100%;
    height: 280px;
  }
  .ps-card{
    width: 100%;
  }

  .ps-card__inner{
    padding: 36px 24px 44px;
  }

  /* АНИМАЦИЯ КАК НА ПК... */
  .ps-row .ps-media{ transform: translateX(-52px); }
  .ps-row .ps-card{ transform: translateX(52px); }

  .ps-row.is-reverse .ps-media{ transform: translateX(52px); }
  .ps-row.is-reverse .ps-card{ transform: translateX(-52px); }
}
/* FIX: on mobile some reverse rows stay in "start transform" state */
@media (max-width: 900px){
  .ps-row.is-inview .ps-media,
  .ps-row.is-inview .ps-card{
    transform: translateX(0) !important;
    opacity: 1 !important;
  }
}
/* Mobile: text block height equals image block */
@media (max-width: 900px){
  .ps-card{
    min-height: 280px; /* ровно как .ps-media */
    display: flex;
    align-items: center;
  }
}
/* ===========================
   POPULAR SEARCHES — TIGHTER SPACING + SMALLER TILES (v2)
   REPLACE the previous "FIX + KICKER + TYPO + BUTTON" block with this
   =========================== */

/* smaller tiles on desktop */
.ps-row{
  min-height: 360px; /* было 420 */
}

/* content a bit closer to left + less padding */
.ps-card__inner{
  padding: 52px 56px; /* было 64/64 */
}

/* kicker word above title */
.ps-card__kicker{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 15px;
  letter-spacing: 3px;
  line-height: 18.75px;
  text-transform: uppercase;
  color: #AA8453;

  margin: 0 0 8px;   /* было 14px — делаем плотнее */
}

/* title typography smaller + tighter gap */
.ps-card__title{
  font-size: 30px;     /* было 32 */
  line-height: 40px;   /* было 48 */
  letter-spacing: 0.5px;

  margin: 0 0 10px;    /* было 16px — делаем плотнее */
}

/* description a bit smaller + tighter */
.ps-card__desc{
  font-size: 15px;   /* было 16 */
  line-height: 1.75; /* было 1.9 */
}

/* button (optional, keeps users on-site) */
.ps-card__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-top: 18px;     /* было 26 */
  padding: 0 20px;
  height: 42px;

  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;

  background: #B6966C;
  color: #222222;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  transition: .35s;
}
.ps-card__btn:hover{
  background: #222222;
  color: #AA8453;
  border-color: rgba(255,255,255,.14);
}

/* ===== MOBILE: smaller tiles + same transform rules (bug-proof) ===== */
@media (max-width: 900px){
  .ps-media{
    height: 240px; /* было 280 */
  }

  .ps-card{
    min-height: 240px; /* было 280 — равняем с фото */
  }

  .ps-card__inner{
    padding: 28px 22px 34px; /* было 34/24/42 */
  }

  .ps-card__kicker{
    margin-bottom: 7px;
  }

  .ps-card__title{
    font-size: 28px;
    line-height: 36px;
    margin-bottom: 10px;
  }

  .ps-card__desc{
    font-size: 14px;
    line-height: 1.7;
  }

  /* на мобиле reverse не должен менять transform (у нас колонка) */
  .ps-row.is-reverse .ps-media,
  .ps-row.is-reverse .ps-card{
    transform: inherit;
  }

  /* единый старт анимации */
  .ps-row .ps-media{ transform: translateX(-52px) !important; }
  .ps-row .ps-card { transform: translateX( 52px) !important; }

  /* вью — всегда 0 */
  .ps-row.is-inview .ps-media,
  .ps-row.is-inview .ps-card{
    transform: translateX(0) !important;
    opacity: 1 !important;
  }
  
}
/* =========================
   FEATURED PROPERTIES
========================= */
.featured{
  background: #1B1B1B;
  padding: 96px 0 110px;
}

.featured__head{
  text-align: center;
  padding-bottom: 42px;
}

.featured__kicker{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 15px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #AA8453;
  margin-bottom: 14px;
}

.featured__title{
  margin: 0;
  font-family: "Gilda Display", serif;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 400;
  color: rgba(255,255,255,.92);
  letter-spacing: .5px;
}

.featured__grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 26px;
}

.fp-card{
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  background: rgba(255,255,255,.03);
  outline: 1px solid rgba(255,255,255,.08);
}

.fp-card--sm{ grid-column: span 2; }
.fp-card--lg{ grid-column: span 3; }

.fp-card__media{
  position: absolute;
  inset: 0;
}

.fp-card__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  filter: brightness(.78);

  /* анти-фликер: не показываем пока карточка не гидратнута JS */
  opacity: 0;

  /* ✅ 1) zoom медленнее */
  transition: opacity .18s ease, transform 1.55s ease, filter .35s ease;
}

/* показываем картинку только после гидрации */
.fp-card.is-hydrated .fp-card__img{
  opacity: 1;
}
.fp-card__overlay{
  position: absolute;
  inset: 0;

  /* базовая маска */
  background:
    linear-gradient(
      0deg,
      rgba(0,0,0,.70) 0%,
      rgba(0,0,0,.35) 55%,
      rgba(0,0,0,.18) 100%
    );
  transition: opacity .35s ease, backdrop-filter .35s ease;
  opacity: .85;

  pointer-events: none; /* <<< ВОТ ЭТО ЧИНИТ hover на DETAILS */
}

/* усиление при ховере — “дымок” */
.fp-card:hover .fp-card__overlay{
  opacity: 1;
  backdrop-filter: blur(1.5px);
}

.fp-card__tag{
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 5;

  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);

  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;

  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.25);
  padding: 8px 6px;
  background: rgba(0,0,0,.25);
}

.fp-card__body{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 6;

  /* ✅ 3) опускаем ближе к низу, как в примере */
  padding: 20px 20px 10px;

  transform: translateY(0);
  transition: transform .35s ease;
}

.fp-card__price{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;              /* не жирный, чуть плотнее */
  letter-spacing: 4px;
  text-transform: uppercase;

  color: #FFFFFF;                /* чисто белый */

  margin-bottom: 10px;

  /* премиальная читаемость, как в рефе */
  text-shadow:
    0 1px 0 rgba(0,0,0,.65),
    0 3px 10px rgba(0,0,0,.55);
}

.fp-card__name{
  font-family: "Gilda Display", serif;
  font-size: 24px;        /* ✅ немного меньше */
  line-height: 1.1;
  font-weight: 400;
  color: rgba(255,255,255,.96);
  margin: 0;
}

.fp-card__line{
  height: 1px;
  width: 88px;
  background: rgba(255,255,255,.30);
  margin-top: 14px;

  /* ✅ 2) линия медленнее, чем zoom */
  transition: width 2.1s ease;
}

.fp-card__meta{
  list-style: none;
  display: flex;
  gap: 14px;
  padding: 0;
  margin: 10px 0 0; /* ✅ ближе к низу */
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease;
}

.fp-meta{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 1px;
  color: rgba(255,255,255,.82);
}

.fp-ico{
  width: 18px;
  height: 18px;
  display: inline-block;
  object-fit: contain;
  opacity: .85;
  filter: brightness(0) invert(1); /* делаем белой, как остальные */
}

/* hover behaviour */
.fp-card:hover .fp-card__img{
  transform: scale(1.09);
  filter: brightness(.70);
}

.fp-card:hover .fp-card__overlay{
  opacity: 1;
}

.fp-card:hover .fp-card__body{
  /* ✅ 3) движение вверх меньше — остаётся ближе к низу */
  transform: translateY(-14px);
}

.fp-card:hover .fp-card__line{
  width: 100%;
}

.fp-card:hover .fp-card__meta{
  opacity: 1;
  transform: translateY(0);
}
/* DETAILS button (appears on hover) */
.fp-card__cta{
  position: absolute;
  right: 20px;
  bottom: 6px;
  z-index: 20;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  gap: 6px;                 /* ближе к стрелке */

  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 3px;
  line-height: 1;
  text-transform: uppercase;

  color: rgba(255,255,255,.92);

  opacity: 0;
  transform: translateY(10px);
  transition: color .25s ease, opacity .25s ease, transform .25s ease;

  pointer-events: auto;     /* можно навести на DETAILS */
  padding: 6px 6px;         /* нормальная зона наведения */
}

.fp-card__cta-ico{
  width: 11px;              /* уже = ближе визуально */
  height: 10px;
  display: inline-block;
  margin-left: -2px;        /* еще ближе к слову */
}

.fp-card__cta-ico path{
  stroke: currentColor;     /* стрелка красится вместе с текстом */
  stroke-width: 1.2;        /* тоньше */
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* появляется на hover плитки */
.fp-card:hover .fp-card__cta{
  opacity: 1;
  transform: translateY(0);
}

/* красится ТОЛЬКО на hover по самой надписи/стрелке */
/* красится ТОЛЬКО при наведении на сам DETAILS/стрелку */
.fp-card:hover .fp-card__cta:hover,
.fp-card:hover .fp-card__cta:focus-visible{
  color: #AA8453 !important;
}

/* sizing like the reference */
/* ✅ 4) верхние 3 (sm) — более вертикальные, как реф */
.fp-card--sm{ aspect-ratio: 3 / 4; }
/* ✅ 4) нижние 2 (lg) — более “высокие широкие”, как реф */
.fp-card--lg{ aspect-ratio: 16 / 9; }

/* responsive */
@media (max-width: 980px){
  .featured__head{ padding-bottom: 34px; }
  .featured__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .fp-card--sm,
  .fp-card--lg{ grid-column: auto; aspect-ratio: 4 / 3; }
  .fp-card__name{ font-size: 26px; }
}

@media (max-width: 540px){
  .featured{ padding: 72px 0 86px; }
  .featured__grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .fp-card__name{ font-size: 28px; }
}
/* bathroom icon slightly smaller than others */
.fp-ico[src*="Bathroom"]{
  width: 14px;
  height: 14px;
  opacity: .85;
}
/* =========================
   WHY BOOK WITH US
========================= */
.whybook{
  background: #242424;
  padding: 86px 0 92px;
  min-height: 50vh; /* “пол экрана” */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.whybook__head{
  text-align: center;
  padding-bottom: 42px;
}

.whybook__kicker{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 15px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #AA8453;
  margin-bottom: 14px;
}

.whybook__title{
  margin: 0;
  font-family: "Gilda Display", serif;
  font-size: clamp(28px, 3.6vw, 46px);
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}

.whybook__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px;
  align-items: start;
}

.whybook__item{
  text-align: center;
  padding: 6px 6px 0;
}

.whybook__icon{
  width: 86px;
  height: 86px;
  margin: 0 auto 18px;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* PNG иконки уже нужного цвета — фильтры/цвета не нужны */
.whybook__icon img{
  max-width: 64px;   /* home.png 64x64 */
  max-height: 64px;
  width: auto;
  height: auto;
  display: block;
}

.whybook__name{
  font-family: "Gilda Display", serif;
  font-size: 22px;
  font-weight: 400;
  color: #AA8453;
  margin-bottom: 12px;
  letter-spacing: .3px;
}

.whybook__text{
  font-family: "Barlow", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
  max-width: 360px;
  margin: 0 auto;
}

@media (max-width: 980px){
  .whybook{
    padding: 78px 0 82px;
    min-height: auto;
  }
  .whybook__grid{
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .whybook__icon{
    width: 76px;
    height: 76px;
  }
  .whybook__icon img{
    max-width: 56px;
    max-height: 56px;
  }
  .whybook__text{
    max-width: 520px;
  }
}
/* =========================
   LISTINGS PAGE (hero split)
   ========================= */
.page-listings{
  background: #242424;
}

/* hero: только 50vh с фото, дальше сразу идут плитки */
.hero-split{
  position: relative;
  height: 50vh;
  min-height: 420px;
  background: #242424;
  overflow: hidden;
}

.hero-split__top{
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-split__bg{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(.82);
}

.hero-split__shade{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.55) 100%),
    radial-gradient(700px 420px at 210px 55%, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 70%),
    linear-gradient(90deg, rgba(170,132,83,.12) 0%, rgba(170,132,83,0) 55%);
}

/* текст на центре видимого hero */
.hero-split__content{
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  padding-top: 95px;            /* чтобы header не перекрывал */
}

.hero-split__content .container{
  transform: translateY(-28px); /* чуть выше, как просил */
}

.hero-split__kicker{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 8px;
  text-transform: uppercase;
  color: rgba(255,255,255,88);
  margin: 0 0 10px;
}

.hero-split__title{
  margin: 0;
  font-family: "Gilda Display", serif;
  font-weight: 400;
  font-size: clamp(38px, 4.4vw, 62px); /* чуть мельче */
  letter-spacing: 1.5px;
  color: rgba(255,255,255,92);
  line-height: 1.05;
}

.listings{
  background: #1B1B1B;
  padding: 60px 0 90px;
}

.listings__grid{
  margin-top: 0;
}

/* =========================
   LISTINGS FILTERS
   ========================= */
.ls-filters{
  margin: 14px 0 18px;
  position: relative;
}

.ls-filters__row{
  display: flex;
  gap: 0;
  align-items: stretch;
}

.ls-filters__field{
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 0;
  min-width: 0;
}

.ls-filters__label{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(170,132,83,.95);
}

.ls-filters__input,
.ls-filters__select{
  height: 46px;
  padding: 0 14px;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.92);
  outline: none;
}

.ls-filters__field:first-child .ls-filters__input,
.ls-filters__field:first-child .ls-filters__select{
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.ls-filters__field + .ls-filters__field .ls-filters__input,
.ls-filters__field + .ls-filters__field .ls-filters__select{
  border-left: 0;
}

.ls-filters__input:focus,
.ls-filters__select:focus{
  border-color: rgba(170,132,83,.60);
}

.ls-filters__field--guests,
.ls-filters__field--sort{
  flex: 0 0 180px;
}

.ls-filters__select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23AA8453' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}

.ls-filters__input--date{
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 3v3M16 3v3M4 8h16M6 6h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z' stroke='%23AA8453' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
}

.ls-filters__btn{
  height: 46px;
  padding: 0 18px;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.10);
  border-left: 0;

  /* прижимаем кнопку к низу ряда (чтобы не была "высоко") */
  align-self: flex-end;
  margin-top: 18px;

  /* как unit-more-btn */
  font-family: "Gilda Display", serif;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  background: #B6966C;
  color: #222222;
  border: 0;
  cursor: pointer;

  transition: .35s;
  white-space: nowrap;
}

.ls-filters__btn:hover{
  background: #222222;
  color: #AA8453;
}

.ls-filters__meta{
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ls-filters__count{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
}

.ls-filters__clear{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(170,132,83,.95);
  background: transparent;
  border: 0;
  padding: 6px 0;
  cursor: pointer;
}

.ls-filters__clear:hover{
  text-decoration: underline;
}

.fp-card.is-hidden{
  display: none !important;
}

/* loading bar */
.ls-filters__bar{
  height: 2px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
  margin-top: 8px;
  position: relative;
}

.ls-filters__bar::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 35%;
  background: rgba(170,132,83,.95);
  transform: translateX(-120%);
  opacity: 0;
}

.ls-filters.is-loading .ls-filters__bar::before{
  opacity: 1;
  animation: lsBar 1.0s linear infinite;
}

@keyframes lsBar{
  0%{ transform: translateX(-120%); }
  100%{ transform: translateX(320%); }
}

/* Flatpickr theme override (match LucentStays) */
.flatpickr-calendar{
  background: rgba(17,17,17,.98) !important;
  border: 1px solid rgba(170,132,83,.45) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.45) !important;
  border-radius: 0 !important;
}

.flatpickr-months .flatpickr-month,
.flatpickr-weekdays{
  background: transparent !important;
}

.flatpickr-current-month,
.flatpickr-monthDropdown-months,
.flatpickr-weekday{
  font-family: "Barlow Condensed", system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.86) !important;
}

.flatpickr-day{
  border-radius: 0 !important;
  color: rgba(255,255,255,.86) !important;
}

.flatpickr-day:hover{
  background: rgba(170,132,83,.18) !important;
  border-color: transparent !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange{
  background: rgba(170,132,83,.95) !important;
  border-color: rgba(170,132,83,.95) !important;
  color: #222 !important;
}

.flatpickr-day.inRange{
  background: rgba(170,132,83,.22) !important;
  border-color: transparent !important;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg{
  fill: rgba(170,132,83,.95) !important;
}

/* responsive */
@media (max-width: 980px){
  .ls-filters__row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .ls-filters__field + .ls-filters__field .ls-filters__input,
  .ls-filters__field + .ls-filters__field .ls-filters__select{
    border-left: 1px solid rgba(255,255,255,.10);
  }
  .ls-filters__btn{
    grid-column: 1 / -1;
    border-left: 1px solid rgba(255,255,255,.10);
  }
}
@media (max-width: 980px){
  .ls-filters__row{
    grid-template-columns: 1fr 1fr;
  }
  .ls-filters__btn{
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 980px){
  .hero-split{
    height: 52vh;
    min-height: 380px;
  }

  .hero-split__content{
    padding-top: 85px;
  }

  .hero-split__content .container{
    transform: translateY(-18px);
  }

  .hero-split__kicker{
    letter-spacing: 6px;
  }

  .hero-split__title{
    font-size: clamp(34px, 7vw, 52px);
    letter-spacing: 1.2px;
  }

  .listings{
    padding: 18px 0 80px;
  }
}
/* WHY BOOK WITH US — dark version for listings */
.whybook--dark {
  background: #1B1B1B;
}
/* Scroll progress button */
.progress-wrap{
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px #00000033;
  background: transparent;            /* ⬅️ убрали фон */
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease;
  z-index: 100;
}

.progress-wrap.active {
  opacity: 1;
  pointer-events: auto;
}
.progress-wrap.active{
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;   /* ⬅️ РУКА */
}
.progress-wrap:hover{
  transform: translateY(-3px);
}

.progress-wrap svg {
  transform: rotate(-90deg);
}

.progress-wrap circle {
  fill: none;
  stroke: #AA8453;
  stroke-width: 4;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset .2s linear;
}

.progress-arrow {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #AA8453;
  font-size: 18px;
  font-weight: 300;
}
/* WHY BOOK WITH US: dark background ONLY on listings page */
.page-listings .whybook{
  background:#242424;
}
/* listings hero parallax */
.page-listings .hero-split__bg{
  will-change: transform;
  transform: translate3d(0,0,0);
}
/* listings: layered hero so fixed bg can sit under content */
.page-listings .hero-split{
  position: relative;
}

.page-listings .hero-split__top{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.page-listings .hero-split__content{
  position: relative;
  z-index: 1;
}

.page-listings .listings,
.page-listings .whybook{
  position: relative;
  z-index: 2;
}

/* fixed hero bg (enabled by JS) */
.page-listings .hero-split__bg.ls-fixed{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  right: 0;
  z-index: 0;
}
/* =========================
   UNIT: hero dots bottom-right + scroll arrow center + next screen
   ========================= */

/* hide hero text on unit but keep nodes for app.js */
.page-unit .unit-hero-hidden{
  display: none;
}

/* dots: same "right side", but moved to bottom and horizontal */
.page-unit .hero-dots{
  top: auto;
  left: auto;
  right: 58px;          /* как было справа */
  bottom: 28px;         /* на уровне стрелки по вертикали */
  transform: none;      /* убираем translateY/translateX */
  display: flex;
  gap: 10px;
  z-index: 4;
}

/* scroll arrow centered at bottom */
.page-unit .unit-hero-scroll{
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 4;

  width: 54px;
  height: 54px;
  border-radius: 999px;

  display: grid;
  place-items: center;

  border: 1px solid rgba(255,255,255,.55); /* тонкий круг */
  color: rgba(255,255,255,.92);            /* стрелка белая */
  background: transparent;
  text-decoration: none;

  transition: border-color .25s ease, color .25s ease;
}

.page-unit .unit-hero-scroll:hover{
  border-color: #AA8453;
  color: #AA8453; /* и круг и стрелка gold */
}

/* thin down arrow (CSS) */
.page-unit .unit-hero-scroll__ico{
  width: 10px;
  height: 10px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
}

/* bounce like a ball: up smooth, down fast, smaller up, down past start, settle */
@keyframes unitBallBounce{
  0%   { transform: translateX(-50%) translateY(0); }
  18%  { transform: translateX(-50%) translateY(-12px); } /* вверх плавно */
  28%  { transform: translateX(-50%) translateY(0); }     /* вниз быстро */
  40%  { transform: translateX(-50%) translateY(-7px); }  /* вверх быстро, меньше */
  50%  { transform: translateX(-50%) translateY(2px); }   /* ниже старта */
  62%  { transform: translateX(-50%) translateY(-3px); }  /* маленький отскок */
  72%  { transform: translateX(-50%) translateY(1px); }   /* чуть ниже */
  100% { transform: translateX(-50%) translateY(0); }
}

.page-unit .unit-hero-scroll{
  animation: unitBallBounce 1.85s infinite;
  animation-timing-function: cubic-bezier(.2,.7,.3,1);
}

/* next screen placeholder */
.page-unit .unit-next{
  min-height: 100vh;
  background: #242424;
  padding: 96px 0;
}
/* =========================
   UNIT ONLY: faster "swipe" hero + less dark overlay
   ========================= */

/* 1) hero slide transition feels like swipe (faster) */
.page-unit .hero__slide{
  transform: translateX(44px);                    /* старт как "въезжает" */
  opacity: 0;
  transition: opacity .45s ease, transform .55s ease;
  filter: saturate(.92) contrast(.98) brightness(.95);  /* фотки виднее */
}

.page-unit .hero__slide.is-active{
  opacity: 1;
  transform: translateX(0);
}

/* 2) make overlay lighter ONLY on unit pages */
.page-unit .hero__overlay{
  background:
    linear-gradient(180deg, rgba(0,0,0,.48) 0%, rgba(0,0,0,.18) 42%, rgba(0,0,0,.52) 100%),
    radial-gradient(900px 520px at 50% 35%, rgba(0,0,0,.18) 0%, rgba(0,0,0,0) 62%),
    linear-gradient(90deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,0) 55%);
}
/* ===========================
   HOSTAWAY CALENDAR — CLEAN FINAL (ONE BLOCK)
   Keeps your visual style, fixes layout on PC + Mobile
   =========================== */

/* Section background */
.page-unit .unit-calendar{
  background:#242424;
  padding:56px 0 32px;
}
.page-unit .unit-calendar .container{ text-align:center; }

/* Frame wrapper (the gold border box) */
.page-unit .unit-calendar__wrap{
  width:min(100%, var(--cal-max));

  /* РУЧКИ ДЛЯ ПЕРЕМЕЩЕНИЯ всего блока */
  --cal-wrap-shift-x: 0px;  /* - влево / + вправо */
  --cal-wrap-shift-y: 0px;  /* - вверх / + вниз */

  margin:0 auto;
  padding:10px 14px 14px;

  transform: translate(var(--cal-wrap-shift-x), var(--cal-wrap-shift-y));

  display:flex;
  flex-direction:column;
  align-items:center;

  background:rgba(52,52,52,.55);
  border:1px solid rgba(170,132,83,.55);

  box-sizing:border-box;
}

/* ===========================
   WIDTH SYSTEM (single source of truth)
   =========================== */
.page-unit{
  --cal-max: 520px;
  --cal-max-pc: 900px; /* было 440px */
  --cal-gap-btn: 12px;
}

/* base reset */
.page-unit #hostaway-calendar-widget,
.page-unit #hostaway-calendar-widget *{
  border-radius:0 !important;
  box-sizing:border-box;
}

/* Make widget obey our width */
.page-unit #hostaway-calendar-widget{
  width:100% !important;
  max-width:var(--cal-max) !important;
  margin:0 auto !important;
  display:block !important;
}

/* Hostaway roots — kill transforms/offsets, keep centered */
.page-unit #hostaway-calendar-widget > div,
.page-unit #hostaway-calendar-widget .styled__WidgetContainer-sc-vhlqs-0,
.page-unit #hostaway-calendar-widget .styled__Wrapper-sc-vhlqs-1{
  width:100% !important;
  max-width:var(--cal-max) !important;
  margin:0 auto !important;
  padding:0 !important;
  transform:none !important;
}

/* Bottom (hint + buttons) same width as calendar */
.page-unit #hostaway-calendar-widget .styled__Bottom-sc-1lawy22-1,
.page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2{
  width:100% !important;
  max-width:var(--cal-max) !important;
  margin:0 auto !important;
  text-align:center !important;
}

/* ===========================
   ARROWS (gold, no frame) + correct positioning
   =========================== */
.page-unit #hostaway-calendar-widget .styled__Wrapper-sc-1lawy22-0{
  position:relative !important;
  width:100% !important;
}

/* Calendar block centered + STATIC WIDTH (no month-to-month resize) */
.page-unit #hostaway-calendar-widget .styled__Calendars-sc-1lawy22-3{
  margin: 0 auto !important;
  width: 100% !important;
  max-width: var(--cal-max) !important;
}

/* Lock DayPicker internals to widget width */
.page-unit #hostaway-calendar-widget .DayPicker,
.page-unit #hostaway-calendar-widget .DayPicker_transitionContainer,
.page-unit #hostaway-calendar-widget .DayPicker_weekHeaders,
.page-unit #hostaway-calendar-widget .CalendarMonth,
.page-unit #hostaway-calendar-widget .CalendarMonthGrid,
.page-unit #hostaway-calendar-widget .CalendarMonthGrid_month__horizontal{
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

/* Prevent header row from changing width */
.page-unit #hostaway-calendar-widget .CalendarMonth_caption{
  white-space: nowrap !important;
}

/* Arrow buttons styling */
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.NHOka{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:6px 10px !important;
  transform:none !important;
}
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.NHOka svg path{
  fill:#AA8453 !important;
}

/* Arrow placement near month title */
.page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5,
.page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6{
  position:absolute !important;
  top:1px !important;
  transform:none !important;
}
.page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5{ left:12px !important; }
.page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6{ right:12px !important; }

/* ===========================
   TYPOGRAPHY + COLORS
   =========================== */
.page-unit #hostaway-calendar-widget .styled__Title-sc-17f83tm-2,
.page-unit #hostaway-calendar-widget .styled__Weekday-sc-17f83tm-3,
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4,
.page-unit #hostaway-calendar-widget .CalendarDay{
  font-family:"Barlow Condensed", system-ui, sans-serif !important;
}

/* month/year */
.page-unit #hostaway-calendar-widget .styled__Title-sc-17f83tm-2{
  color:rgba(236,235,231,.92) !important;
}

/* weekday */
.page-unit #hostaway-calendar-widget .styled__Weekday-sc-17f83tm-3{
  color:rgba(236,235,231,.78) !important;
}

/* normal days */
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4:not([disabled]){
  color:rgba(236,235,231,.90) !important;
}

/* bottom hint */
.page-unit #hostaway-calendar-widget .styled__Bottom-sc-1lawy22-1 span{
  font-family:"Barlow Condensed", system-ui, sans-serif !important;
  color:rgba(236,235,231,.78) !important;
}

/* ===========================
   DISABLED DAYS (diagonal for booked only)
   =========================== */
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled]:not([fill="secondary"]),
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled=""]:not([fill="secondary"]){
  color:rgba(236,235,231,.42) !important;
  opacity:1 !important;
  text-decoration:none !important;
  position:relative;
}

.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled]:not([fill="secondary"])::after,
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled=""]:not([fill="secondary"])::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  top:50%;
  height:1px;
  background:rgba(170,132,83,.55);
  transform:rotate(-18deg);
  transform-origin:center;
  pointer-events:none;
}

/* restricted after check-in: no diagonal */
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled][fill="secondary"],
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled=""][fill="secondary"]{
  color:rgba(236,235,231,.62) !important;
  opacity:1 !important;
  text-decoration:none !important;
  position:relative;
}
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled][fill="secondary"]::after,
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4[disabled=""][fill="secondary"]::after{
  content:none !important;
}

/* hover available */
.page-unit #hostaway-calendar-widget .styled__Day-sc-17f83tm-4:not([disabled]):hover{
  background:rgba(255,255,255,.06) !important;
}

/* ===========================
   BUTTONS (always 1 row, no overflow)
   =========================== */
.page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:var(--cal-gap-btn) !important;
  flex-wrap:nowrap !important;
  margin-top:14px !important;
}

.page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2 button.styled__Button-sc-1f28qej-0{
  flex:1 1 0 !important;
  min-width:0 !important;

  height:42px !important;
  padding:0 18px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  transition:.4s !important;
}

.page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2 button.styled__Button-sc-1f28qej-0,
.page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2 button.styled__Button-sc-1f28qej-0 span{
  font-family:"Barlow Condensed", system-ui, sans-serif !important;
  font-size:15px !important;
  letter-spacing:3px !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

/* CLEAR DATES — typography like BOOK NOW */
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.hyzbrO{
  font-family: "Gilda Display", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;

  color: rgba(236,235,231,.88) !important;
}

/* иногда текст внутри span — добиваем */
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.hyzbrO span{
  font-family: "Gilda Display", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: inherit !important;
}
/* clear hover */
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.hyzbrO:hover{
  background:rgba(236,235,231,.92) !important;
  color:#141414 !important;
  border-color:#AA8453 !important;
}
/* BOOK NOW — как SEARCH NOW на главной */
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.gXcxiM{
  font-family: "Gilda Display", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;

  background: #B6966C !important;
  color: #222222 !important;
  border: 0 !important;
}

/* иногда текст лежит в span — добиваем */
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.gXcxiM span{
  font-family: "Gilda Display", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: inherit !important;
}

/* hover — как у SEARCH NOW */
.page-unit #hostaway-calendar-widget button.styled__Button-sc-1f28qej-0.gXcxiM:hover{
  background: #222222 !important;
  color: #AA8453 !important;
  border-color: rgba(236,235,231,18) !important;
}

/* ===========================
   PC ONLY: tighten frame to match calendar+buttons
   =========================== */
@media (min-width: 901px){
  .page-unit{ --cal-max: var(--cal-max-pc); }

.page-unit .unit-calendar__wrap{
  width: var(--cal-max) !important;          /* СТАТИЧНО */
  max-width: var(--cal-max) !important;      /* СТАТИЧНО */
  padding: 8px 8px 12px !important;

  /* РУЧКА: фиксируем “максимальную” высоту рамки под месяцы с 6 рядами */
  min-height: var(--cal-frame-minh-pc) !important;

  overflow: hidden !important;
}

/* сам виджет тоже в ту же ширину */
.page-unit #hostaway-calendar-widget{
  width: var(--cal-max) !important;
  max-width: var(--cal-max) !important;
  overflow: hidden !important;
}

/* календарь тянем на 100% ширины рамки */
.page-unit #hostaway-calendar-widget .styled__Calendars-sc-1lawy22-3,
.page-unit #hostaway-calendar-widget .DayPicker{
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

  /* РУЧКА: двигаешь стрелки ТОЛЬКО по X (влево - / вправо +) */
.page-unit{
  --cal-arrow-x: 15px;
  --cal-arrow-hit-x: 8px;   /* РУЧКА: сдвиг ХИТБОКСА к центру */
  --cal-calendars-minh-pc: 304px;
}

/* ПК: резервируем место под самый “высокий” месяц (6 рядов) => рамка не прыгает */
.page-unit #hostaway-calendar-widget .styled__Calendars-sc-1lawy22-3{
  min-height: var(--cal-calendars-minh-pc) !important;
}

  /* FIX: двигаем КЛИКАБЕЛЬНУЮ кнопку, а не контейнер (убираем рассинхрон) */
  .page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5{
    transform: translateX(calc(var(--cal-inner-shift-x) + var(--cal-arrow-x))) !important;
  }
  .page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6{
    transform: translateX(calc(var(--cal-inner-shift-x) - var(--cal-arrow-x))) !important;
  }
    /* FIX HITBOX: кликается ровно по стрелке (иконка = зона клика) */
  .page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5,
  .page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6{
    pointer-events: none !important; /* клики не ловит контейнер */
  }

  .page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5 > button,
  .page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6 > button{
    pointer-events: auto !important; /* клики ловит ТОЛЬКО кнопка */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
/* PC: move ONLY hitboxes (buttons) closer to center */
.page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5 > button{
  transform: translateX(var(--cal-arrow-hit-x)) !important; /* вправо (к центру) */
}
.page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6 > button{
  transform: translateX(calc(var(--cal-arrow-hit-x) * -1)) !important; /* влево (к центру) */
}

}

/* ===========================
   MOBILE ONLY: full width frame + smaller buttons
   =========================== */
@media (max-width: 900px){
  .page-unit .unit-calendar{ padding:44px 0 26px; }

  .page-unit .unit-calendar__wrap{
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
    padding:10px 10px 12px !important;
  }

  .page-unit #hostaway-calendar-widget{
    max-width:100% !important;
  }

  /* buttons smaller but still 1 row */
  .page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2{
    gap:8px !important;
  }
  .page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2 button.styled__Button-sc-1f28qej-0{
    height:40px !important;
    padding:0 14px !important;

    flex: 0 0 auto !important;      /* НЕ сжимать */
    min-width: 140px !important;    /* шире кнопки на мобиле */
  }
  .page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2 button.styled__Button-sc-1f28qej-0,
  .page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2 button.styled__Button-sc-1f28qej-0 span{
    font-size:14px !important;
    letter-spacing:2.4px !important;
  }
  /* MOBILE ONLY — center buttons again */
@media (max-width: 900px){
  .page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2{
    justify-content: center !important; /* вернуть в центр */
  }
}

}
/* ===========================
   LAYOUT FIX — FORCE COLUMN (FINAL, SAFE)
   НЕ ломаем внутреннюю разметку Hostaway:
   возвращаем их padding, но центрируем календарь ровно.
   =========================== */

/* Hostaway: календарь сверху, низ снизу */
.page-unit #hostaway-calendar-widget .styled__WidgetContainer-sc-vhlqs-0,
.page-unit #hostaway-calendar-widget .styled__Wrapper-sc-vhlqs-1{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

/* ВАЖНО: возвращаем родной padding Hostaway (иначе сетка “плывёт”) */
.page-unit #hostaway-calendar-widget .styled__Wrapper-sc-1lawy22-0{
  width:100% !important;
  position:relative !important;

  padding:40px 60px !important;
  box-sizing:border-box !important;
  transform:none !important;
}
/* PC: micro shift to compensate uneven visual gaps (left > right) */
@media (min-width: 901px){
  .page-unit{ --cal-inner-shift-x: -9px; } /* РУЧКА: - левее, + правее */

  .page-unit #hostaway-calendar-widget .styled__Calendars-sc-1lawy22-3{
    transform: translateX(var(--cal-inner-shift-x)) !important;
  }

  /* чтобы низ (текст+кнопки) сдвигался вместе с календарём */
  .page-unit #hostaway-calendar-widget .styled__Bottom-sc-1lawy22-1,
  .page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2{
    transform: translateX(var(--cal-inner-shift-x)) !important;
  }
  /* PC: disable original Hostaway arrow hitboxes (we'll overlay our own) */
  
.page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5,
.page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6,
.page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5 button,
.page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6 button{
  pointer-events: none !important;
}
/* PC: hide original Hostaway arrows (to avoid 4 arrows) */
.page-unit #hostaway-calendar-widget .styled__Prev-sc-1lawy22-5,
.page-unit #hostaway-calendar-widget .styled__Next-sc-1lawy22-6{
  opacity: 0 !important;
  visibility: hidden !important;
}

/* PC: overlay hitbox buttons exactly where arrows are drawn */
.page-unit .calArrowHit{
  position: absolute !important;
  top: 44px !important; /* РУЧКА: ниже/выше (уменьшай/увеличивай) */
  padding: 6px 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

/* left arrow hitbox */
/* РУЧКА: чем больше, тем стрелки БЛИЖЕ к центру */
.page-unit{ --cal-ovr-inset: 18px; }

.page-unit .calArrowHit--prev{
  left: calc(12px + var(--cal-inner-shift-x, 0px) + var(--cal-arrow-x, 0px) + var(--cal-ovr-inset)) !important;
}

.page-unit .calArrowHit--next{
  right: calc(12px - var(--cal-inner-shift-x, 0px) + var(--cal-arrow-x, 0px) + var(--cal-ovr-inset)) !important;
}

.page-unit .calArrowHit svg path{
  fill: #AA8453 !important;
}

}

/* Низ — под календарём */
.page-unit #hostaway-calendar-widget .styled__Bottom-sc-1lawy22-1{
  width:100% !important;
  max-width:var(--cal-max) !important;
  margin:12px auto 0 !important;
  text-align:center !important;
}

.page-unit #hostaway-calendar-widget .styled__ButtonContainer-sc-vhlqs-2{
  width:100% !important;
  max-width:var(--cal-max) !important;
  margin:14px auto 0 !important;
}

/* =========================
   UNIT — NEXT SCREEN CONTENT + WRAP CALENDAR
   ========================= */

.page-unit .unit-next{
  padding-top: 44px;   /* РУЧКА: это и есть “пустота” под hero */
  padding-bottom: 96px;
}

.page-unit .unit-next__inner{
  position: relative;
}

/* right calendar: float so text wraps around it */
/* PC ONLY: calendar goes BELOW content and centered */
@media (min-width: 901px){
  .page-unit .unit-calendar__wrap--float{
    float: none;
    width: min(100%, 980px); /* ручка ширины под 2 месяца */
    margin: 50px auto 0;     /* ручка: ниже/выше */
    display: flex;
    justify-content: center;
  }
}

.page-unit .unit-calendar__wrap--float #hostaway-calendar-widget{
  margin: 0 auto !important;
}

/* left text */
.page-unit .unit-info{
  max-width: 1100px;
  padding-right: 420px; /* место под правую колонку amenities */
}
.page-unit .unit-kicker{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #AA8453;
  margin: 0 0 10px;
}

.page-unit .unit-name{
  font-family: "Gilda Display", serif;
  font-weight: 400;
  font-size: 42px;
  line-height: 1.15;
  color: rgba(255,255,255,92);
  margin: 0 0 14px;
}

.page-unit .unit-meta{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #AA8453;
  margin: 0 0 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}

.page-unit .unit-meta span{
  display: inline-flex;
  align-items: center;
}

.page-unit .unit-meta span + span::before{
  content: "|";
  display: inline-block;
  margin: 0 12px;
  color: #AA8453;
  opacity: .7;
}
@media (min-width: 901px){
  .page-unit .unit-meta{
    margin-top: -6px;
  }
}

.page-unit .unit-desc{
  font-family: "Barlow", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.9;
  color: rgba(255,255,255,50);
  margin: 0 0 18px;
}

.page-unit .unit-desc--more{
  margin-top: 16px;
}

/* SHOW MORE — copy the vibe of Hostaway "Book now" */
.page-unit .unit-more-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 44px;
  padding: 0 18px;

  font-family: "Gilda Display", serif;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  background: #B6966C;
  color: #222222;
  border: 0;
  cursor: pointer;

  transition: .35s;
}

.page-unit .unit-more-btn:hover{
  background: #222222;
  color: #AA8453;
}

/* Clear float so the section height wraps calendar */
.page-unit .unit-next__inner::after{
  content:"";
  display:block;
  clear: both;
}

@media (max-width: 900px){
  .page-unit .unit-next__inner{
    display: flex;
    flex-direction: column;
  }

  .page-unit .unit-info{
    order: 1;
    max-width: 100%;
  }

  .page-unit .unit-calendar__wrap--float{
    order: 2;
    float: none;
    width: min(100%, var(--cal-max));
    margin: 24px 0 0 0;
    align-self: center;
  }

  .page-unit .unit-name{
    font-size: 32px;
  }
}

/* =========================
   UNIT MODAL (MATCH "SHOW ALL AMENITIES")
   ========================= */

body.modal-open{
  overflow: hidden;
}

.page-unit .unit-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.page-unit .unit-modal.is-open{
  display: block;
}

.page-unit .unit-modal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}

.page-unit .unit-modal__dialog{
  position: relative;
  width: min(980px, calc(100% - 28px));
  margin: 80px auto;
  background: #1B1B1B;
  border: 1px solid rgba(255,255,255,14);
  box-shadow: 0 24px 80px rgba(0,0,0,40);
  padding: 20px;

  display: flex;
  flex-direction: column;

  max-height: calc(100vh - 160px);
  overflow: hidden;
}

.page-unit .unit-modal__close{
  position: absolute;
  top: 34px;
  right: 40px;
  width: auto;
  height: auto;
  background: transparent;
  border: none;
  color: #AA8453;
  cursor: pointer;

  font-size: 28px;
  line-height: 1;

  transition: opacity .2s ease, transform .2s ease;
}

.page-unit .unit-modal__close:hover{
  opacity: .7;
  transform: scale(1.1);
}

/* scrollable content (как в amenities modal) */
.page-unit .unit-modal__content{
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-right: 6px;
}

/* same custom scrollbar */
.page-unit .unit-modal__content{
  scrollbar-width: thin;
  scrollbar-color: rgba(170,132,83,.55) transparent;
}

.page-unit .unit-modal__content::-webkit-scrollbar{
  width: 7px;
}

.page-unit .unit-modal__content::-webkit-scrollbar-track{
  background: transparent;
}

.page-unit .unit-modal__content::-webkit-scrollbar-thumb{
  background: rgba(170,132,83,.55);
  border-radius: 999px;
  border: 2px solid #1B1B1B;
  background-clip: padding-box;
}

.page-unit .unit-modal__content::-webkit-scrollbar-thumb:hover{
  background: rgba(170,132,83,.8);
}

.page-unit .unit-modal__kicker{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #AA8453;
  margin: 0 0 10px;
}

.page-unit .unit-modal__title{
  font-family: "Gilda Display", serif;
  font-size: 30px;
  color: rgba(255,255,255,.92);
  margin: 0 0 12px;
}

.page-unit .unit-modal__text{
  font-family: "Barlow", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.9;
  color: rgba(255,255,255,.55);
}

/* mobile = как у amenities */
@media (max-width: 900px){
  .page-unit .unit-modal__dialog{
    margin: 24px auto;
    max-height: calc(100vh - 48px);
  }
}

.page-unit .unit-modal-sec{
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(255,255,255,10);
}

.page-unit .unit-modal-sec__head{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 8px;
}

.page-unit .unit-modal-sec__icons{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.page-unit .amenity-ico-tiny{
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(170,132,83,.22);
  border-radius: 6px;
  padding: 3px;
}

.page-unit .amenity-ico-tiny img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(1.05);
}

.page-unit .unit-modal-sec__title{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #AA8453;
  margin: 0;
}

.page-unit .unit-modal-sec__body{
  color: rgba(255,255,255,.58);
}

.page-unit .unit-modal-sec__body p{
  margin: 0 0 10px;
}

.page-unit .unit-modal-sec__body ul{
  margin: 0 0 10px 18px;
  padding: 0;
}

.page-unit .unit-modal-sec__body li{
  margin: 0 0 6px;
}
/* ===========================
   HOSTAWAY CALENDAR — TIGHT FRAME (PC ONLY)
   уменьшаем ТОЛЬКО рамку, не календарь
   =========================== */

@media (min-width: 901px){

  /* самая внешняя обёртка календаря */
  #hostaway-calendar-widget .styled__Wrapper-sc-1lawy22-0{
    padding: 6px !important;          /* ← было больше, теперь обжимает */
    margin: 0 !important;
    border-width: 1px !important;     /* если рамка была толще */
    box-sizing: border-box;
  }

  /* промежуточный контейнер */
  #hostaway-calendar-widget .hsbw-calendar-container{
    padding: 0 !important;            /* КЛЮЧЕВОЕ: убираем “воздух” */
    margin: 0 !important;
    background: transparent !important;
  }

  /* сам календарь — оставляем как есть,
     но на всякий случай фиксируем */
  #hostaway-calendar-widget .hsbw-calendar{
    padding: 0 !important;            /* НЕ уменьшает ячейки */
    margin: 0 !important;
  }

}
/* =========================
   UNIT AMENITIES (минимум, чтобы было читабельно)
   ========================= */
.page-unit .unit-amenities-mini{
  position: absolute;
  right: -90px; /* ← РУЧКА: минус = правее, плюс = левее */
  top: 132px;
  width: 340px;
  margin: 0;
  padding: 0;
  border: 0;
}

.page-unit .unit-amenities-mini__title{
  font-family: "Gilda Display", serif;
  font-size: 26px;
  line-height: 1.2;
  color: rgba(255,255,255,.92);
  margin: 0 0 14px;
  letter-spacing: 0;
  text-transform: none;
}

.page-unit .unit-amenities-mini__list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.page-unit .amenity-chip{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.page-unit .amenity-chip__ico{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  opacity: .95;
}

.page-unit .amenity-chip__ico img{
  width: 18px;
  height: 18px;
  object-fit: contain;
  opacity: .85;
}

.page-unit .amenity-chip__txt{
  font-family: "Barlow", system-ui, sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,.50); /* #FFFFFF80 */
  line-height: 1.6;
}

/* SHOW ALL button — базовый прозрачный стиль */
.page-unit .unit-amenities-mini__all{
  margin-top: 14px;
  height: 32px;
  padding: 0 12px;

  font-family: "Barlow", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;

  background: transparent;
  color: rgba(255,255,255,.55);
  border: 1px solid rgba(255,255,255,.22);
  cursor: pointer;

  transition: color .25s ease, border-color .25s ease;
}
.page-unit .unit-amenities-mini__all:hover{
  color: rgba(255,255,255,.80);
  border-color: rgba(255,255,255,.40);
}

/* All amenities modal */
.page-unit .unit-amenities-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}
.page-unit .unit-amenities-modal.is-open{ display:block; }
.page-unit .unit-amenities-modal__overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.65);
}
.page-unit .unit-amenities-modal__dialog{
  position: relative;
  width: min(980px, calc(100% - 28px));
  margin: 80px auto;
  background: #1B1B1B;
  border: 1px solid rgba(255,255,255,14);
  box-shadow: 0 24px 80px rgba(0,0,0,40);
  padding: 20px;

  display: flex;
  flex-direction: column;

  max-height: calc(100vh - 160px);
  overflow: hidden;
}
.page-unit .unit-amenities-modal__close{
  position: absolute;
  top: 34px; /* опустили ниже */
  right: 40px;
  width: auto;
  height: auto;
  background: transparent;
  border: none;
  color: #AA8453;
  cursor: pointer;

  font-size: 28px;
  line-height: 1;

  transition: opacity .2s ease, transform .2s ease;
}
.page-unit .unit-amenities-modal__close:hover{
  opacity: .7;
  transform: scale(1.1);
}

.page-unit .unit-amenities-modal__content{
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-right: 6px;
}
/* === Custom scrollbar for amenities modal === */

.page-unit .unit-amenities-modal__content{
  scrollbar-width: thin; /* Firefox */
  scrollbar-color: rgba(170,132,83,.55) transparent;
}

.page-unit .unit-amenities-modal__content::-webkit-scrollbar{
  width: 7px;
}

.page-unit .unit-amenities-modal__content::-webkit-scrollbar-track{
  background: transparent;
}

.page-unit .unit-amenities-modal__content::-webkit-scrollbar-thumb{
  background: rgba(170,132,83,.55);
  border-radius: 999px;
  border: 2px solid #1B1B1B; /* чтобы выглядел утопленным */
  background-clip: padding-box;
}

.page-unit .unit-amenities-modal__content::-webkit-scrollbar-thumb:hover{
  background: rgba(170,132,83,.8);
}

.page-unit .amenities-section{ margin-top: 18px; }
.page-unit .amenities-section__title{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  letter-spacing: 5px;
  text-transform: uppercase;
  font-size: 13px;
  color: #AA8453;
  margin-bottom: 10px;
}
.page-unit .amenities-section__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 900px){
  .page-unit .amenities-section__grid{
    grid-template-columns: 1fr;
  }
  .page-unit .unit-amenities-modal__dialog{
    margin: 24px auto;
    max-height: calc(100vh - 48px);
  }
.page-unit .unit-amenities-mini{
  position: static;
  width: 100%;
  margin: 22px 0 0 0;
}
.page-unit .unit-info{
  padding-right: 0;
}

}
/* =========================
   UNIT: GALLERY STRIP
   ========================= */
.page-unit .unit-gallery{ margin-top: 18px; }

@media (min-width: 901px){
  /* фиксируем базовую высоту левого блока,
     чтобы лента не “гуляла” на страницах с коротким описанием */
  .page-unit .unit-info{
    min-height: 520px;
  }

  /* опускаем ленту ниже, чтобы не стояла впритык к amenities */
  .page-unit .unit-gallery{
    margin-top: 1px;
  }
}
.page-unit .unit-gallery__tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom: 2px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

@media (min-width: 901px){
  .page-unit .unit-gallery__tabs{
    flex-wrap: wrap;          /* 2+ ряда вместо одной длинной линии */
    overflow-x: visible;      /* убираем горизонтальный скролл на ПК */
    padding-bottom: 0;
  }
}
.page-unit .unit-gallery__tabs::-webkit-scrollbar{ display:none; }

.page-unit .unit-gallery__tab{
  flex: 0 0 auto;
  height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: transparent;

  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: .10em;
  text-transform: uppercase;

  color: rgba(255,255,255,.62);
  cursor:pointer;

  transition: background .25s ease, border-color .25s ease, color .25s ease;
}
.page-unit .unit-gallery__tab:hover{
  border-color: rgba(255,255,255,.34);
  color: rgba(255,255,255,.82);
}
.page-unit .unit-gallery__tab.is-active{
  background: rgba(170,132,83,.18);
  border-color: rgba(170,132,83,.55);
  color: rgba(255,255,255,.92);
}

.page-unit .unit-gallery__rail{
  position: relative;
  margin-top: 2px;

  /* ленту НЕ двигаем */
  padding-left: 0;
  padding-right: 0;
}
/* Рельса НЕ на всю ширину — чтобы стрелки были рядом с фотками */
.page-unit .unit-gallery__rail{
  display: inline-block;
  max-width: 100%;
}
.page-unit .unit-gallery__rail{ overflow: visible; }

/* трек ограничиваем по ширине, чтобы не уезжало до конца контейнера */
@media (min-width: 901px){
  .page-unit .unit-gallery__track{
    max-width: 1190px; /* если надо — двигается одной цифрой */
  }
}


/* стрелки всегда видны рядом (а не только по hover) */
.page-unit .unit-gallery__arrow{ opacity: 1; }

.page-unit .unit-gallery__track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y: visible;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;

  /* запас под тени сверху/снизу */
  padding: 14px 4px 22px;

  scrollbar-width:none;
  -ms-overflow-style:none;
}
.page-unit .unit-gallery__track::-webkit-scrollbar{ display:none; }

.page-unit .unit-gallery__thumb{
  flex: 0 0 auto;
  width: 176px;
  height: 112px;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  scroll-snap-align: start;

  overflow: hidden;   /* важно: режет артефакты ресемплинга */
}

.page-unit .unit-gallery__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;

  /* острые углы */
  border-radius: 0;

  /* тень без артефактов */
box-shadow: none;

  /* ВАЖНО: никаких transform/filter/opacity — чтобы не “рябило” */
  transform: none;
  filter: none;
  transition: box-shadow .22s ease;
}


/* arrows */
.page-unit .unit-gallery__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;

  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 1;
  z-index: 2;

  transition: transform .15s ease;
}
.page-unit .unit-gallery__arrow:hover{ transform: translateY(-50%) scale(1.06); }

.page-unit .unit-gallery__arrow--prev{ left: -52px; }
.page-unit .unit-gallery__arrow--next{ right: -52px; }

.page-unit .unit-gallery__arrow::before{
  content:"";
  width: 14px; height: 14px;
  display:block;
  margin: 0 auto;
  border-right: 3px solid rgba(255,255,255,.92);
  border-bottom: 3px solid rgba(255,255,255,.92);
}
.page-unit .unit-gallery__arrow:hover::before{
  border-right-color: #AA8453;
  border-bottom-color: #AA8453;
}
.page-unit .unit-gallery__arrow--prev::before{ transform: rotate(135deg) translateY(-1px); }
.page-unit .unit-gallery__arrow--next::before{ transform: rotate(-45deg) translateY(-1px); }

@media (max-width: 900px){
  .page-unit .unit-gallery__thumb{ width: 180px; height: 128px; }
  .page-unit .unit-gallery__arrow{ display:none; } /* на мобиле свайп */
    .page-unit .unit-gallery__rail{ padding-left: 0; padding-right: 0; }

}
.page-unit .unit-gallery__thumb,
.page-unit .unit-gallery__img{
  border-radius: 0 !important;
}

/* =========================
   UNIT: LIGHTBOX (not fullscreen)
   ========================= */
.page-unit .unit-lightbox{
  position: fixed;
  inset: 0;
  display:none;
  z-index: 9999;
}
.page-unit .unit-lightbox.is-open{ display:block; }

.page-unit .unit-lightbox__overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.70);
}

.page-unit .unit-lightbox__dialog{
  position:relative;
  width: min(1100px, calc(100% - 28px));
  margin: 64px auto;
  padding: 0;

  /* убираем “рамку/карточку” */
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page-unit .unit-lightbox__figure{
  position: relative;
  margin:0;
}

.page-unit .unit-lightbox__img{
  width:100%;
  height: min(72vh, 720px);
  object-fit: contain;

  /* никакой рамки/подложки */
  background: transparent;
  display:block;
}

.page-unit .unit-lightbox__nav{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:46px; height:46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.25);
  cursor:pointer;
  z-index: 3;
}

/* стрелки ВНУТРИ фото у краёв */
.page-unit .unit-lightbox__nav--prev{ left: 14px; }
.page-unit .unit-lightbox__nav--next{ right: 14px; }

/* счётчик по центру снизу, маленькая рамка */
.page-unit .unit-lightbox__cap{
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);

  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);

  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.35);
  z-index: 3;
}
.page-unit .unit-lightbox__nav::before{
  content:"";
  width: 11px; height: 11px;
  display:block;
  margin: 0 auto;
  border-right: 2px solid rgba(255,255,255,.78);
  border-bottom: 2px solid rgba(255,255,255,.78);
}
.page-unit .unit-lightbox__nav--prev::before{ transform: rotate(135deg) translateY(-1px); }
.page-unit .unit-lightbox__nav--next::before{ transform: rotate(-45deg) translateY(-1px); }

@media (max-width: 900px){
  .page-unit .unit-lightbox__dialog{ margin: 18px auto; }
  .page-unit .unit-lightbox__nav{ display:block; } /* включаем кнопки перелистывания на телефоне */
  .page-unit .unit-lightbox__img{ height: min(70vh, 560px); }

  /* крестик справа и чуть выше картинки */
  .page-unit .unit-lightbox__x{
    left: auto !important;
    right: 10px !important;
    top: -44px !important;
  }
}
/* Lightbox: крестик справа сверху */
.page-unit .unit-lightbox__x{
  left: auto !important;
  right: 12px !important;
  top: 12px !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 28px;
  line-height: 1;
  color: rgba(255,255,255,.92);
}
.page-unit .unit-lightbox__x:hover{ color: #AA8453; }

/* Lightbox: стрелки без кружков, толще и больше */
.page-unit .unit-lightbox__nav{
  border: 0 !important;
  background: transparent !important;
  width: 56px;
  height: 56px;
}
.page-unit .unit-lightbox__nav::before{
  width: 16px; height: 16px;
  border-right: 4px solid rgba(255,255,255,.92);
  border-bottom: 4px solid rgba(255,255,255,.92);
}
.page-unit .unit-lightbox__nav:hover::before{
  border-right-color: #AA8453;
  border-bottom-color: #AA8453;
}
/* =========================
   UNIT (mobile): порядок блоков
   ========================= */
@media (max-width: 900px){
  .page-unit .unit-next__inner{
    display:flex;
    flex-direction:column;
  }

  /* на всякий случай: если JS не успел — лента будет между текстом и календарём, не под hero */
  .page-unit .unit-info{ order: 1; }
  .page-unit .unit-gallery{ order: 2; }
  .page-unit .unit-calendar__wrap{ order: 3; }

  /* внутри unit-info порядок контента */
  .page-unit .unit-info{
    display:flex;
    flex-direction:column;
  }

  .page-unit .unit-info > .unit-kicker{ order: 1; }
  .page-unit .unit-info > .unit-name{ order: 2; }
  .page-unit .unit-info > .unit-desc:not(.unit-desc--more){ order: 3; }

  /* как ты хотел: SHOW MORE раньше amenities */
  .page-unit .unit-info > .unit-more-btn{ order: 4; }
  .page-unit .unit-info > .unit-amenities-mini{ order: 5; }

  /* gallery и extra станут на места после JS-переноса (см. правку app.js ниже) */
  .page-unit .unit-info > .unit-gallery{ order: 6; }
  .page-unit .unit-info > .unit-desc.unit-desc--more{ order: 7; }
}
/* Lightbox: гарантируем позиционирование счётчика "на фото" */
.page-unit .unit-lightbox__figure{ position: relative; }
.page-unit .unit-lightbox__cap{
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  z-index: 3;
}

/* Крестик справа (и на ПК тоже) */
.page-unit .unit-lightbox__x{
  left: auto !important;
  right: 12px !important;
  top: 12px !important;
  z-index: 4;
}
/* =========================
   LIGHTBOX (mobile): центр экрана + компактный диалог
   ========================= */
@media (max-width: 900px){
  .page-unit .unit-lightbox.is-open{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .page-unit .unit-lightbox__dialog{
    width: calc(100% - 20px);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
  }

  .page-unit .unit-lightbox__img{
    display:block;
    width:100%;
    height:auto;
    max-height: 70vh;
    object-fit: contain;
    background: transparent;
  }

  /* крестик справа и НАД фото */
  .page-unit .unit-lightbox__x{
    position:absolute;
    right: 10px !important;
    top: -44px !important;
    left: auto !important;
    z-index: 10;
  }

  /* счётчик внизу фото */
  .page-unit .unit-lightbox__cap{
    position:absolute;
    left:50%;
    bottom: 12px;
    transform: translateX(-50%);
    z-index: 10;
  }
}
/* =========================
   MOBILE: move burger closer to right edge
   ONLY on listings + unit (index stays untouched)
   ========================= */
@media (max-width: 900px){
  .page-listings .header__inner,
  .page-unit .header__inner{
    padding-right: 1px !important; /* было "как на index", тут делаем правее */
  }
}
/* INDEX: prevent fixed header jump when viewport width changes */
.page-index .site-header{
  width: 100%;
}

/* контейнер в шапке: считаем от %, а не от vw (vw даёт лишнюю ширину на мобиле) */
.page-index .site-header .container{
  width: min(var(--container), calc(100% - 75px));
}
/* =========================
   Hostaway calendar: day price overlay
   ========================= */
#hostaway-calendar-widget .ls-cal-price{
  position: absolute;
  left: 50%;
  bottom: 2px;
  transform: translateX(-50%);
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 10px;
  letter-spacing: .06em;
  color: #AA8453;
  opacity: .95;
  pointer-events: none;
  white-space: nowrap;
  line-height: 1;
  text-shadow: 0 1px 0 rgba(0,0,0,.55);
}
/* =========================
   Currency switcher (premium)
   ========================= */
.nav__currency{
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nav__link--currency{
  background: transparent;
  border: 0;
  cursor: pointer;
  appearance: none;
}

.nav__chev{
  margin-left: 6px;
  opacity: .8;
  transform: translateY(-1px);
}

.currency-pop{
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 140px;
  padding: 8px;
  border: 1px solid rgba(170,132,83,.35);
  background: rgba(17,17,17,.92);
  box-shadow: 0 18px 55px rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
  display: none;
  z-index: 1000;
}

.currency-pop.is-open{ display: block; }

.currency-pop__item{
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: var(--hero-text-muted);
  font-family: "Barlow Condensed", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 10px 10px;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}

.currency-pop__item:hover{
  color: #AA8453;
  background: rgba(170,132,83,.10);
}

.currency-pop__item.is-active{
  color: rgba(255,255,255,.92);
  background: rgba(170,132,83,.14);
  outline: 1px solid rgba(170,132,83,.22);
}
/* =========================
   Mobile menu currency toggle (ONLY inside burger menu)
   ========================= */
.menu__currency{ display:none !important; } /* чтобы НИГДЕ вне меню не появлялось */

.mobile-menu .menu__currency{
  display:block !important;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(170,132,83,.22);
}

.mobile-menu .menu__currency-title{
  font-family: "Barlow Condensed", system-ui, sans-serif;
  letter-spacing: 6px;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(255,255,255,.78);
  margin: 0 0 10px;
}

.mobile-menu .menu__currency-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.mobile-menu .menu__currency-btn{
  border: 1px solid rgba(170,132,83,.35);
  background: rgba(17,17,17,.40);
  color: rgba(255,255,255,.90);
  border-radius: 14px;
  padding: 12px 12px;
  font-family: "Barlow Condensed", system-ui, sans-serif;
  letter-spacing: 4px;
  text-transform: uppercase;
  cursor: pointer;
}

.mobile-menu .menu__currency-btn:hover{
  background: rgba(170,132,83,.10);
}

.mobile-menu .menu__currency-btn.is-active{
  background: rgba(170,132,83,.16);
  border-color: rgba(170,132,83,.55);
  color: rgba(255,255,255,.95);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
