/* home/guests.css — auto-split from home.css */

.home-guests {
  height: 700px;
  min-height: 700px;
  background: #fffced;
  color: #000;
  display: block;
  padding: 0;
  overflow: hidden;
  scroll-snap-align: none;
  scroll-snap-stop: normal;
}

.home-guests__inner {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.home-guests__title {
  position: absolute;
  top: 67px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  margin: 0;
  font-size: clamp(3.45rem, 3.385vw, 4.0625rem);
  line-height: 1.15;
  letter-spacing: 0;
  white-space: nowrap;
}

.home-guests__carousel {
  position: absolute;
  top: 276px;
  left: 50%;
  width: min(1440px, calc(100vw - 80px));
  padding: 0 100px;
  box-sizing: border-box;
  transform: translateX(-50%);
  display: block;
}

.home-guests__viewport {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.home-guests__track {
  display: flex;
  gap: clamp(120px, 10.42vw, 200px);
  transition: transform 260ms ease;
}

.home-guests__track.is-resetting {
  transition: none;
}

.home-guests__nav {
  position: absolute;
  top: 49px;
  font-size: 0;
}

.home-guests__nav--prev {
  left: calc((min(1440px, calc(100vw - 80px)) - var(--site-content-width)) / 2);
}

.home-guests__nav--next {
  right: calc((min(1440px, calc(100vw - 80px)) - var(--site-content-width)) / 2);
}

.home-guests__nav[disabled] {
  opacity: 1;
  cursor: default;
  transform: none;
}

.home-guests__dots {
  display: none;
}

@media (max-width: 1366px) {
  .home-guests__viewport {
    width: min(1120px, calc(100vw - 220px));
  }
}

@media (max-width: 920px) {
  .home-guests__carousel {
    position: static;
    display: grid;
    grid-template-columns: 50px 1fr 50px;
    gap: 18px;
    align-items: center;
  }

  .home-guests__title {
    position: static;
    transform: none;
    margin-bottom: 56px;
    white-space: normal;
  }

  .home-guests__viewport {
    width: 100%;
    margin-left: 0;
  }

  .home-guests__track {
    gap: 0;
  }

  .home-guests__nav {
    position: static;
    justify-self: center;
    transform: none;
  }
}

@media (max-width: 640px) {
  .home-guests__title {
    margin-bottom: 56px;
  }
}

@media (min-width: 1367px) and (max-width: 1440px) {
  .home-guests {
    height: auto;
    min-height: min(730px, 100svh);
  }

  .home-guests__inner {
    min-height: min(730px, 100svh);
    height: auto;
  }

  .home-guests__title {
    top: 90px;
    width: 423px;
    font-size: 65px;
    line-height: 75px;
  }

  .home-guests__carousel {
    top: 265px;
  }

  .home-guests__viewport {
    width: 1089px;
    margin: 0 auto;
  }

  .home-guests__track {
    gap: 25px;
  }

  .home-guests__nav {
    --button-circle-size: 50px;
    top: 75px;
  }

  .home-guests__nav--prev {
    left: 16px;
  }

  .home-guests__nav--next {
    right: 16px;
  }
}

@media (max-width: 1179px) {
  .home-guests {
    height: auto;
    min-height: auto;
    padding: 72px 0;
  }

  .home-guests__title,
  .home-guests__carousel {
    position: static;
    transform: none;
  }

  .home-guests__carousel {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) 50px;
    gap: 16px;
    align-items: center;
  }

  .home-guests__viewport {
    width: 100%;
  }

  .home-guests__track {
    gap: 0;
  }

  .home-guests__nav {
    position: static;
  }
}

@media (max-width: 767px) {
  .home-guests__carousel {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 10px;
  }
}

@media (min-width: 375px) and (max-width: 767px) {
  .home-guests__carousel {
    grid-template-columns: 1fr;
    padding: 0 60px;
  }

  .home-guests__nav {
    display: none;
  }
}

@media (hover: none) and (pointer: coarse) {
  .home-guests__nav {
    touch-action: manipulation;
  }
}

@media (min-width: 375px) and (max-width: 767px) {
  .home-guests {
    height: 703px;
    min-height: 703px;
    padding: 111px 16px 0;
    box-sizing: border-box;
    background: #fffced;
    color: #000;
    overflow: hidden;
  }

  .home-guests__inner {
    width: 100%;
    height: auto;
    margin: 0;
    position: relative;
  }

  .home-guests__title {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    min-height: 0;
    margin: 0 0 24px;
    font-size: 50px;
    line-height: 50px;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
  }

  .home-guests__carousel {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    width: 100%;
  }

  .home-guests__viewport {
    width: 100%;
    margin: 0;
    overflow: hidden;
    touch-action: pan-y;
  }

  .home-guests__track {
    gap: 0;
    align-items: stretch;
    transition: transform 260ms ease;
  }

  .home-guests__nav {
    --button-circle-size: 25px;
    position: absolute;
    display: inline-grid;
    top: 166px;
    z-index: 2;
    border-color: #000;
    background: #fffced;
    color: #000;
  }

  .home-guests__nav::before {
    width: 12px;
    height: 12px;
  }

  .home-guests__nav--prev {
    left: 0;
  }

  .home-guests__nav--next {
    right: 0;
  }

  .home-guests__dots {
    width: 100%;
    margin: 24px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .home-guests__dot {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #a8a699;
  }

  .home-guests__dot.is-active,
  .home-guests__dot[aria-current="true"] {
    background: #000;
  }
}

@media (min-width: 768px) and (max-width: 1179px) {
  .home-guests {
    height: 703px;
    min-height: 703px;
    padding: 111px 32px 0;
    box-sizing: border-box;
    background: #fffced;
    color: #000;
    overflow: hidden;
  }

  .home-guests__inner {
    width: 100%;
    height: auto;
    margin: 0;
    position: relative;
  }

  .home-guests__title {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    min-height: 0;
    margin: 0 0 24px;
    font-size: 60px;
    line-height: 50px;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
  }

  .home-guests__carousel {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    width: 100%;
    display: block;
  }

  .home-guests__viewport {
    width: 100%;
    margin: 0;
    overflow: hidden;
    touch-action: pan-y;
  }

  .home-guests__track {
    gap: 0;
    align-items: stretch;
    transition: transform 260ms ease;
  }

  .home-guests__nav {
    --button-circle-size: 25px;
    position: absolute;
    display: inline-grid;
    top: 166px;
    z-index: 2;
    border-color: #000;
    background: #fffced;
    color: #000;
  }

  .home-guests__nav::before {
    width: 12px;
    height: 12px;
  }

  .home-guests__nav--prev {
    left: 0;
  }

  .home-guests__nav--next {
    right: 0;
  }

  .home-guests__dots {
    width: 100%;
    margin: 24px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .home-guests__dot {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #a8a699;
  }

  .home-guests__dot.is-active,
  .home-guests__dot[aria-current="true"] {
    background: #000;
  }
}

/* 1024+ (static carousel layout, up to the >=1180 immersive desktop): widen the
   side gutter to the 48px content grid, matching Номера / Услуги. */
@media (min-width: 1024px) and (max-width: 1179px) {
  .home-guests {
    padding-inline: 48px;
  }
}
