/*
 * Точечные исправления поверх сборки Astro (index.*.css).
 * Подключается после основного CSS на всех страницах (?v= — сброс кеша).
 * TODO: перенести эти правила в исходники Astro и удалить файл.
 */

/* Баннер направлений: правило .sub-hero .banner__t{display:block} перебивало
   атрибут hidden — все три подписи слайдов показывались друг поверх друга. */
.banner__t[hidden] { display: none !important; }

/*
 * Главная: полноэкранные секции на телефонах (Safari iOS 26 и др.).
 * Было: высота 100svh = только зона между строкой состояния и панелью Safari;
 * в iOS 26 страница видна и под часами, и под «стеклянной» панелью — там
 * проступали соседние секции. Теперь фон секции занимает весь экран:
 *   + --scr-top сверху (под строкой состояния),
 *   + (100lvh − 100svh + 24px запаса) снизу (под панелью браузера).
 * Отрицательный scroll-margin сжимает зону прилипания обратно до 100svh,
 * поэтому прокрутка по-прежнему «щёлкает» ровно по одной секции, а текст
 * центрируется в реально видимой зоне.
 */
@media (max-width: 760px) {
  @supports (height: 100lvh) {
    html:has(.screen) { --scr-top: max(72px, env(safe-area-inset-top, 0px)); --scr-bot: calc(100lvh - 100svh + 24px); }
    .screen {
      height: calc(100svh + var(--scr-top) + var(--scr-bot));
      min-height: calc(100svh + var(--scr-top) + var(--scr-bot));
      padding-top: calc(92px + var(--scr-top));
      padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px) + var(--scr-bot));
      scroll-margin-top: calc(-1 * var(--scr-top));
      scroll-margin-bottom: calc(-1 * var(--scr-bot));
    }
    .screen__scroll { bottom: calc(14px + env(safe-area-inset-bottom, 0px) + var(--scr-bot)); }
    /* Первая секция начинается с самого верха страницы — без запаса сверху. */
    .screen:first-of-type {
      height: calc(100svh + var(--scr-bot));
      min-height: calc(100svh + var(--scr-bot));
      padding-top: calc(92px + env(safe-area-inset-top, 0px));
      scroll-margin-top: 0;
    }
  }
}
@media (max-width: 760px) and (max-height: 720px) {
  @supports (height: 100lvh) {
    .screen { padding-top: calc(80px + var(--scr-top)); padding-bottom: calc(44px + var(--scr-bot)); }
    .screen:first-of-type { padding-top: calc(80px + env(safe-area-inset-top, 0px)); }
  }
}

@media (max-width: 760px) {
  /* Подвал: увеличенная зона нажатия у ссылок (было ~17–20 px в высоту). */
  .ftr__countries { gap: 0 18px; }
  .ftr__countries a,
  .ftr__countries a:first-child,
  .ftr__nav a,
  .ftr__links a { display: inline-block; padding-top: 7px; padding-bottom: 7px; }
  .ftr__links,
  .ftr__nav { row-gap: 0; }

  /* Иконки WhatsApp / Telegram / E-mail: 20 px → зона нажатия 44 px. */
  .ftr__social { gap: 2px; margin-left: -12px; }
  .ftr__social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; }

  /* Копирайт был 11 px. */
  .ftr__copy { font-size: 12px; }

  /* Хлебные крошки: значок «Главная» был 15×17 px. */
  .crumbs a { display: inline-flex; align-items: center; min-height: 32px; min-width: 32px; }

  /* Переключатели и стрелки слайдеров. */
  .banner__bars button { height: 36px; }
  .hs__arrows button,
  .pjs__arrows button,
  .sslider__nav button { height: 44px; min-width: 44px; }

  /* «или напишите в WhatsApp →» под кнопкой заявки. */
  .cta1__wa { min-height: 44px; }
}

/*
 * «Наша история» (/about/): фотографии городов вместо эскизов.
 * Фото заполняет весь блок; у активного слайда — медленное приближение
 * (эффект «живого» кадра), отключается при prefers-reduced-motion.
 */
.hs__art--photo { padding: 0 !important; background: #dfe7ef; }
.hs__art--photo img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  max-width: none !important; object-fit: cover; object-position: center;
  transform-origin: 50% 60%;
}
.hs__art--photo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(14, 40, 70, 0) 55%, rgba(14, 40, 70, .28));
}
@media (prefers-reduced-motion: no-preference) {
  .hs__art--photo.is-on img { animation: hsKenBurns 14s ease-out both; }
}
@keyframes hsKenBurns { from { transform: scale(1); } to { transform: scale(1.1); } }
@media (max-width: 760px) {
  .hs__img:has(.hs__art--photo) { height: auto; aspect-ratio: 4 / 3; }
}
