/* Блоки из версии Motion: стопка карточек номеров и галерея «Сахалин» с 3D-наклоном и Flip-лайтбоксом */

/* ---------- Номера: стопка карточек ---------- */
.rooms--stack{background:var(--light);color:var(--ink);padding:clamp(90px,10vw,150px) 0 clamp(40px,6vw,90px);overflow:visible}
.rooms--stack .rooms__head{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0}
.rooms--stack .section-caption{color:var(--muted)}
.stack{max-width:calc(var(--max) + var(--gutter)*2);margin:0 auto;padding:clamp(40px,5vw,70px) var(--gutter) 0;perspective:1600px}
.stack-card{
  --dim:0;--bg:var(--blue);--fg:#fff;
  position:sticky;top:96px;
  display:grid;grid-template-columns:1fr 1.15fr;min-height:clamp(440px,64vh,600px);margin-bottom:6vh;
  border-radius:20px;background:var(--bg);color:var(--fg);overflow:hidden;
  transform-origin:50% 0;scale:var(--s,1);transition:transform .7s var(--ease);
  box-shadow:0 30px 80px -40px rgba(23,47,64,.45);
}
.stack-card::after{content:"";position:absolute;inset:0;background:#0b1a24;opacity:var(--dim);pointer-events:none;border-radius:inherit;z-index:3}
.stack-card--light{--bg:#fff;--fg:var(--ink)}
.stack-card--night{--bg:var(--blue-night)}
.stack-card--mist{--bg:var(--mist);--fg:var(--ink)}
.stack-card--orange{--bg:var(--orange)}
.stack-card__info{display:flex;flex-direction:column;padding:clamp(26px,3.4vw,54px)}
.stack-card__idx{margin-bottom:auto;font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--orange)}
.stack-card--orange .stack-card__idx{color:#fff;opacity:.8}
.stack-card__title{font-size:clamp(32px,3.6vw,58px);line-height:1.02;letter-spacing:-.04em;font-weight:500;margin:36px 0 18px;max-width:12ch}
.stack-card--light .stack-card__title,.stack-card--mist .stack-card__title{color:var(--blue)}
.stack-card__desc{max-width:44ch;opacity:.82;font-size:15px;line-height:1.65}
.stack-card__facts{display:flex;gap:34px;margin:26px 0 30px;padding-top:20px;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.stack-card__facts dt{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:4px}
.stack-card__facts dd{margin:0;font-size:clamp(17px,1.4vw,21px);font-weight:500}
.stack-card__actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.stack-card__more{display:inline-flex;gap:8px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding-bottom:4px;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.stack-card--light .stack-card__more,.stack-card--mist .stack-card__more{color:var(--blue)}
.stack-card__more:hover,.stack-card__more:focus-visible{background-size:100% 1px}
.stack-card__photo{position:relative;display:block;overflow:hidden;min-height:100%;background:rgba(0,0,0,.1);cursor:zoom-in}
.stack-card__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.stack-card__photo:hover img{transform:scale(1.04)}

/* ---------- Сахалин: сетка фото с наклоном ---------- */
.island__photos{position:relative;aspect-ratio:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(12px,1.6vw,22px);perspective:1400px}
.island .island__photo{position:relative;inset:auto;width:auto;height:auto;border:0;border-radius:14px;overflow:hidden;background:var(--mist);box-shadow:0 30px 60px -36px rgba(23,47,64,.5);transition:transform .7s var(--ease),translate 1.6s var(--ease),rotate 1.6s var(--ease),opacity 1.2s var(--ease)}
.island__photo img{width:100%;height:100%;object-fit:cover}
.island .island__photo--1{grid-row:span 2;aspect-ratio:3/4.2}
.island .island__photo--2,.island .island__photo--3{aspect-ratio:4/3}
.island .island__photo--4{grid-column:1/-1;aspect-ratio:2.6}
.island__photo--3{transition-delay:.12s}
.island__photo--4{transition-delay:.24s}
.island__photos:not(.is-in) .island__photo{opacity:0;translate:0 110px;rotate:y 30deg}
.island__photos:not(.is-in) .island__photo--2,.island__photos:not(.is-in) .island__photo--4{rotate:y -30deg}

/* текст блока «Сахалин» — в типографике modern */
.island__eyebrow::before{transform-origin:left;transform:scaleX(var(--ln,1));transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.has-gsap .island__eyebrow{--ln:0}
.has-gsap .island__eyebrow.is-in{--ln:1}
.island__title .split-line{padding-bottom:.08em}
.island .island__cta{margin-top:36px}
.island__photos.is-gsap .island__photo{transition:none}

/* ---------- Лёгкое скругление по всему сайту ---------- */
:root{--r:14px;--r-sm:10px}
.benefit-story,.about__img,.food__img,.food__detail,.aqua__card,.booking,.stack-card,.island .island__photo{border-radius:var(--r)}
.strip__item,.offer__img,.lightbox img{border-radius:var(--r-sm)}
.about__img,.food__detail,.aqua__card{overflow:hidden}
.booking__title{border-radius:var(--r) 0 0 var(--r)}
.reveal-img{clip-path:inset(12% 12% 12% 12% round var(--r))}
.reveal-img.is-in{clip-path:inset(0 0 0 0 round var(--r))}
@media (max-width:1180px){.booking__title{border-radius:var(--r) var(--r) 0 0}}
@media (prefers-reduced-motion:reduce){.reveal-img{clip-path:none}}

/* блик для наклона */
.glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.55),transparent 45%);mix-blend-mode:overlay;opacity:0;transition:opacity .4s}
[data-tilt]:hover .glare{opacity:1}

/* ---------- Flip-лайтбокс ---------- */
.lightbox.is-flip{opacity:1;transition:background-color .6s var(--ease),visibility 0s .7s}
.lightbox.is-flip:not(.is-open){background-color:transparent}
.lightbox.is-flip:not(.is-open) .lightbox__close{opacity:0}
.lightbox.is-flip.is-open{transition:background-color .6s var(--ease),visibility 0s}
.lightbox.is-flip img{transform:none;transition:none;will-change:transform,clip-path}
.lightbox__close{transition:opacity .4s}

@media (max-width:900px){
  .island__photos{max-width:650px}
}
@media (max-width:760px){
  .stack-card{grid-template-columns:1fr;grid-template-rows:38svh auto;min-height:0;top:76px;margin-bottom:4vh}
  .stack-card__photo{order:-1;min-height:0}
  .stack-card__info{padding:22px 20px 24px}
  .stack-card__title{margin:14px 0 10px;font-size:30px}
  .stack-card__desc{font-size:14px;line-height:1.5}
  .stack-card__facts{margin:16px 0 18px;padding-top:14px;gap:24px}
  .stack-card__actions{gap:20px}
  .rooms--stack .rooms__head{align-items:flex-start;text-align:left}
}
@media (max-width:760px) and (max-height:740px){
  .stack-card{grid-template-rows:26svh auto}
  .stack-card__desc{font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .stack-card,.island .island__photo{transition:none}
  .island__photos:not(.is-in) .island__photo{opacity:1;translate:none;rotate:none}
}

.has-gsap .stack-card{transition:none}
