/* Страница «Гостям»: шапка, фото-сцена, факты, «Об AURORA», маршрут, главы с вопросами, лента фото.
   Язык — как у «Аренды»: синие пилюли, чёрно-белые фото со свечением, синее свечение за главами, движущаяся лента кадров.
   Цвета, шрифты, капсулы (.menu__item), фокус и reduced-motion — из common/site.css. */

.guests {
  --g-gap: clamp(72px, 9vw, 140px);
  --g-head-gap: clamp(32px, 4vw, 56px);
  --g-line: rgba(255,255,255,.22);
  --g-line-strong: rgba(255,255,255,.3);
  --g-radius: 16px;
  --g-hover: 160ms;
  position: relative;
  isolation: isolate;
}
.guests p, .guests li { overflow-wrap: break-word; }
.guests :focus-visible { outline: 2px solid var(--paper); outline-offset: 3px; }
.guests [id] { scroll-margin-top: 24px; }

/* == Шапка страницы == */

.guests-head { text-align: center; }
.guests-head__lead { max-width: 620px; margin: var(--page-title-gap) auto 0; font-weight: 400; font-size: clamp(16px, 1.5vw, 20px); line-height: 1.5; color: var(--muted); text-wrap: balance; }

/* == Фото-сцена: полная ширина окна и синее свечение == */

.guests-stage { position: relative; height: min(46vw, 640px); min-height: 300px; margin: var(--page-content-gap) calc(50% - 50vw) 0; }
.guests-stage__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.guests-stage__glow { position: absolute; inset: 0; z-index: 2; background: radial-gradient(44% 58% at 4% 98%, rgba(0,0,253,.85), transparent 72%), radial-gradient(40% 54% at 46% 80%, rgba(0,0,253,.5), transparent 74%); mix-blend-mode: lighten; pointer-events: none; }

/* == Коротко: синие пилюли «подпись + значение» == */

.guests-facts { margin-top: var(--g-gap); }
.guests-facts__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); justify-items: center; gap: clamp(14px, 2.5vw, 36px); margin: 0; padding: 0; list-style: none; }
/* Плашка «подпись + значение»: текст без фона, размытое синее пятно — в ::before. */
.guests-pill { position: relative; isolation: isolate; display: grid; place-content: center; justify-items: center; gap: clamp(3px, .4vw, 6px); width: min(300px, 100%); height: clamp(96px, 8.4vw, 118px); padding: 10px 18px; border-radius: 16px; text-align: center; }
/* Размытая плашка шире текста, как у Priority Pass (.priority__light). */
.guests-pill::before { content: ""; position: absolute; z-index: -1; top: 9px; bottom: 9px; left: -3%; right: -3%; border-radius: 16px; background: #0a0aba; filter: blur(15px); pointer-events: none; transition: left 360ms cubic-bezier(.2,.7,.25,1), right 360ms cubic-bezier(.2,.7,.25,1); }
.guests-pill__label { font-size: clamp(12px, 1.05vw, 15px); line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; }
.guests-pill__value { font-family: "Benzin", sans-serif; font-weight: 800; font-size: clamp(20px, 2.1vw, 30px); line-height: 1; white-space: nowrap; }
.guests-pill--time .guests-pill__value { font-size: clamp(17px, 1.7vw, 24px); }

/* == Об AURORA: фото зала и текст == */

.guests-about { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 58px); align-items: center; margin-top: var(--g-gap); }
.guests-about__media { position: relative; margin: 0; overflow: hidden; border-radius: var(--g-radius); aspect-ratio: 32 / 21; }
.guests-about__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.guests-about__media::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 55% at 8% 98%, rgba(0,0,253,.8), transparent 74%); mix-blend-mode: lighten; pointer-events: none; }
.guests-about__body { position: relative; min-width: 0; }
.guests-about__body::before { content: ""; position: absolute; z-index: -1; inset: -30% 0 -30% -25%; background: radial-gradient(closest-side, rgba(0,0,253,.26), transparent); pointer-events: none; }
.guests .guests-about__body h2 { margin: 0; font-size: clamp(24px, 3vw, 40px); line-height: 1.05; overflow-wrap: normal; }
.guests-about__body p { max-width: 560px; margin: clamp(20px, 2.4vw, 32px) 0 0; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.55; }

/* == Как добраться: синяя панель с «занавесом» и строками транспорта == */

.guests-route { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); margin-top: var(--g-gap); padding: clamp(24px, 4.5vw, 72px); overflow: hidden; border-radius: var(--g-radius); background: var(--blue) url("assets/route-curtain.jpg") center / cover no-repeat; }
.guests-route::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,253,.55), rgba(0,0,253,.12)); pointer-events: none; }
.guests-route > * { position: relative; }
.guests .guests-route__main h2 { margin: 0; font-size: clamp(24px, 3vw, 40px); line-height: 1.05; overflow-wrap: normal; }
.guests-route__address { max-width: 460px; margin: clamp(20px, 2.4vw, 32px) 0 0; font-family: "Benzin", sans-serif; font-weight: 800; font-size: clamp(18px, 1.9vw, 26px); line-height: 1.3; }
.guests-route__button { display: inline-flex; align-items: center; justify-content: center; min-width: 200px; min-height: 50px; margin-top: clamp(24px, 3vw, 40px); padding: 12px 28px; border: 1px solid transparent; border-radius: 25px; background: var(--paper); color: var(--blue); font-size: 16px; transition: color var(--g-hover) var(--ease-out), background-color var(--g-hover) var(--ease-out), border-color var(--g-hover) var(--ease-out), transform var(--g-hover) var(--ease-out); }
.guests-route__button:is(:hover, :focus-visible) { border-color: var(--paper); background: var(--blue); color: var(--paper); transform: translateY(-1px); }
.guests-route__button:active { transform: translateY(0) scale(.97); }

.guests-route__list { align-self: center; margin: 0; padding: 0; list-style: none; }
.guests-route__row { display: grid; grid-template-columns: clamp(30px, 4vw, 56px) minmax(0, 1fr) auto; align-items: center; column-gap: clamp(10px, 1.5vw, 22px); padding: clamp(16px, 2vw, 26px) 0; border-top: 1px solid rgba(255,255,255,.4); }
.guests-route__row:last-child { border-bottom: 1px solid rgba(255,255,255,.4); }
.guests-route__num { color: rgba(255,255,255,.7); font-size: 12px; }
.guests-route__cell { min-width: 0; }
.guests .guests-route__name { margin: 0; font-size: clamp(17px, 1.75vw, 24px); line-height: 1.1; overflow-wrap: break-word; }
.guests-route__note { margin: 7px 0 0; color: rgba(255,255,255,.85); font-size: 13px; line-height: 1.3; }
.guests-route__value { max-width: 14ch; font-size: clamp(15px, 1.5vw, 21px); line-height: 1.25; text-align: right; }

/* == Главы: липкий номер с заголовком слева, нумерованные вопросы справа == */

.guests-chapter { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(28px, 5vw, 80px); margin-top: var(--g-gap); }
.guests-chapter__head { position: sticky; top: 24px; align-self: start; min-width: 0; padding-top: clamp(20px, 2.4vw, 32px); }
/* Синее свечение под номером главы */
.guests-chapter__head::before { content: ""; position: absolute; z-index: -1; left: -28%; top: clamp(-120px, -8vw, -60px); width: 126%; aspect-ratio: 1; background: url("assets/glow.webp") center / contain no-repeat; pointer-events: none; }
.guests-chapter__num { display: block; margin-bottom: clamp(12px, 1.6vw, 24px); font-family: "Benzin", sans-serif; font-weight: 800; font-size: clamp(72px, 10vw, 150px); line-height: .9; color: transparent; background: linear-gradient(180deg, rgba(0,0,253,0) 0%, rgba(0,0,253,.85) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-stroke: 1px rgba(255,255,255,.55); user-select: none; }
@supports not (-webkit-text-stroke: 1px #000) { .guests-chapter__num { color: rgba(0,0,253,.6); } }
.guests .guests-chapter__title { margin: 0; font-size: clamp(22px, 2.4vw, 34px); line-height: 1.05; overflow-wrap: break-word; }
/* Мягкое пятно за списком; в чередующихся главах — слева */
/* Мягкие синие пятна за списком: эллипсы на всю высоту главы (справа, у чётных — слева) */
.guests-chapter::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(ellipse 34% 20% at 64% 16%, rgba(0,0,253,0.6), rgba(0,0,253,0.2) 55%, transparent 100%), radial-gradient(ellipse 30% 18% at 50% 56%, rgba(0,0,253,0.45), rgba(0,0,253,0.15) 55%, transparent 100%), radial-gradient(ellipse 34% 18% at 66% 82%, rgba(0,0,253,0.55), rgba(0,0,253,0.18) 55%, transparent 100%); }
.guests-chapter--alt::after { background: radial-gradient(ellipse 34% 20% at 46% 16%, rgba(0,0,253,0.55), rgba(0,0,253,0.18) 55%, transparent 100%), radial-gradient(ellipse 32% 18% at 66% 50%, rgba(0,0,253,0.5), rgba(0,0,253,0.17) 55%, transparent 100%), radial-gradient(ellipse 34% 18% at 44% 82%, rgba(0,0,253,0.5), rgba(0,0,253,0.17) 55%, transparent 100%); }

.guests-qa { min-width: 0; }
.guests-qa__item { display: grid; grid-template-columns: clamp(30px, 4vw, 56px) minmax(0, 1fr); column-gap: clamp(10px, 1.5vw, 22px); padding: clamp(20px, 2.4vw, 32px) 0; border-top: 1px solid var(--g-line-strong); }
.guests-qa__item:last-child { border-bottom: 1px solid var(--g-line-strong); }
.guests-qa__num { padding-top: 3px; color: rgba(255,255,255,.55); font-size: 12px; }
.guests-qa__body { min-width: 0; }
.guests-qa__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.guests .guests-qa__q { margin: 0; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.28; overflow-wrap: break-word; hyphens: auto; }
.guests-qa__a { max-width: 640px; margin: clamp(10px, 1.2vw, 14px) 0 0; color: var(--muted); font-size: clamp(15px, 1.15vw, 17px); line-height: 1.6; }
.guests-qa__a a { color: var(--paper); text-decoration: underline; text-decoration-color: rgba(255,255,255,.5); text-underline-offset: 3px; }

/* Priority Pass: синее свечение и шар справа, без кнопок.
   Свечение центрировано на шаре (центр = inset + orb / 2) и не выходит за правый край строки. */
.guests-qa__item--feature { position: relative; isolation: isolate; --orb: clamp(96px, 11vw, 160px); --orb-inset: clamp(24px, 4vw, 64px); }
.guests-qa__item--feature::before { content: ""; position: absolute; z-index: -1; right: 0; top: 50%; width: calc(var(--orb) + 2 * var(--orb-inset)); aspect-ratio: 1.3 / 1; translate: 0 -50%; background: radial-gradient(closest-side, rgba(0,0,253,.55), transparent); pointer-events: none; }
.guests-qa__item--feature .guests-qa__body { position: static; padding-right: calc(var(--orb) + var(--orb-inset) + 24px); }
.guests-qa__orb { position: absolute; right: var(--orb-inset); top: 50%; translate: 0 -50%; width: var(--orb); height: auto; pointer-events: none; }

/* == Лента фото: одна строка, автопрокрутку ведёт guests.js == */

.guests-feed { --feed-height: clamp(220px, 26vw, 380px); --feed-gap: 12px; margin: var(--g-gap) calc(50% - 50vw) 0; }
.guests-feed__track { display: flex; align-items: center; overflow-x: auto; scroll-snap-type: none; scrollbar-width: none; overscroll-behavior-x: contain; cursor: grab; user-select: none; -webkit-user-select: none; }
.guests-feed__track::-webkit-scrollbar { display: none; }
.guests-feed__track.is-dragging { cursor: grabbing; }
.guests-feed__track.is-dragging img { pointer-events: none; }
.guests-feed__track img { -webkit-user-drag: none; }
.guests-feed__group { display: flex; flex: none; align-items: center; gap: var(--feed-gap); padding-right: var(--feed-gap); }
.guests-feed__group img { flex: none; width: auto; max-width: none; height: var(--feed-height); border-radius: 12px; }

/* == Финальная кнопка: стандартная кнопка сайта == */

.guests-rules { display: flex; justify-content: center; margin-top: calc(var(--g-gap) / 2); }
.guests-rules__button { min-height: 40px; padding: 8px 22px; }

/* == Планшет и телефон == */

@media (max-width: 900px) {
  .guests-stage { height: 62vw; min-height: 260px; }
  .guests-facts__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
  .guests-about { grid-template-columns: 1fr; }
  .guests-about__body { order: -1; }
  .guests-route { grid-template-columns: 1fr; }
  .guests-chapter { grid-template-columns: 1fr; }
  .guests-chapter__head { position: static; padding-top: 0; }
  .guests-chapter__head::before { left: -14%; top: -70px; width: 100%; }
  .guests-chapter__num { font-size: clamp(56px, 16vw, 88px); }
  .guests-chapter::after { background: radial-gradient(ellipse 38% 10% at 62% 10%, rgba(0,0,253,0.55), rgba(0,0,253,0.18) 55%, transparent 100%), radial-gradient(ellipse 38% 10% at 32% 50%, rgba(0,0,253,0.45), rgba(0,0,253,0.15) 55%, transparent 100%), radial-gradient(ellipse 38% 10% at 66% 88%, rgba(0,0,253,0.5), rgba(0,0,253,0.17) 55%, transparent 100%); }
  .guests-chapter--alt::after { background: radial-gradient(ellipse 38% 10% at 34% 10%, rgba(0,0,253,0.55), rgba(0,0,253,0.18) 55%, transparent 100%), radial-gradient(ellipse 38% 10% at 68% 50%, rgba(0,0,253,0.45), rgba(0,0,253,0.15) 55%, transparent 100%), radial-gradient(ellipse 38% 10% at 34% 88%, rgba(0,0,253,0.5), rgba(0,0,253,0.17) 55%, transparent 100%); }
  .guests-rules__button { min-height: 44px; }
}

@media (max-width: 520px) {
  .guests-stage { height: 74vw; }
  .guests-facts__list { grid-template-columns: 1fr; }
  .guests-pill { height: 88px; }
  .guests-route__value { grid-column: 2; max-width: none; margin-top: 8px; text-align: left; }
  .guests-qa__item { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
  .guests-qa__num { padding-top: 0; }
  .guests-route__row { grid-template-columns: 30px minmax(0, 1fr); }
  .guests-qa__item--feature { --orb: 72px; --orb-inset: 16px; }
  .guests-qa__item--feature::before { top: 48px; translate: 0 -50%; }
  .guests-qa__item--feature .guests-qa__body { padding-right: 96px; }
  .guests-qa__orb { top: 22px; translate: 0 0; }
}
