/* =========================================================================
   Skarb — плавна поява блоків при скролі (reveal-on-scroll)
   Скоуп: тільки #brx-content (хедер, футер, попапи не зачіпаються).
   Логіка появи керується класом .skarb-in, який додає reveal.js.
   Початковий (прихований) стан застосовується під html.skarb-fx ще до
   першого рендеру — тому «мигання» контенту немає.
   ========================================================================= */

/* -- Керовані змінні тайміну/дистанції --------------------------------- */
:root {
  --skarb-dur: .85s;
  --skarb-ease: cubic-bezier(.16, .72, .18, 1);   /* м'який «out» */
  --skarb-rise-1: 34px;   /* зсув секційної обгортки */
  --skarb-rise-2: 22px;   /* зсув вкладених блоків */
  --skarb-stagger: 90ms;  /* крок каскаду між дочірніми блоками */
}

/* -- Приховані стани (діють лише поки активний html.skarb-fx) -----------
   Виключення: `.custom-bg-layer` та `.bricks-background-video-wrapper` — це
   ФОНОВІ шари секції, не контент. Якщо їх анімувати, фонове відео hero плавно
   «випливає» 0.85с, і весь цей час видно фонове фото секції під ним
   («спочатку фото, потім відео»). Тому фон завжди видимий одразу. */

/* 1-й рівень: головна обгортка секції (контейнер / блок) */
html.skarb-fx #brx-content .brxe-section > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper):not(script):not(style):not(link) {
  opacity: 0;
  transform: translate3d(0, var(--skarb-rise-1), 0);
  transition:
    opacity    var(--skarb-dur) var(--skarb-ease),
    transform  var(--skarb-dur) var(--skarb-ease);
  will-change: opacity, transform;
}

/* 2-й рівень: прямі діти обгортки — каскадна поява */
html.skarb-fx #brx-content .brxe-section > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:not(script):not(style):not(link) {
  opacity: 0;
  transform: translate3d(0, var(--skarb-rise-2), 0);
  transition:
    opacity    var(--skarb-dur) var(--skarb-ease),
    transform  var(--skarb-dur) var(--skarb-ease);
  will-change: opacity, transform;
}

/* -- Розкриті стани ---------------------------------------------------- */
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper),
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > * {
  opacity: 1;
  transform: none;
}

/* Каскад: дочірні блоки з'являються по черзі */
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(1)  { transition-delay: calc(var(--skarb-stagger) * 1); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(2)  { transition-delay: calc(var(--skarb-stagger) * 2); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(3)  { transition-delay: calc(var(--skarb-stagger) * 3); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(4)  { transition-delay: calc(var(--skarb-stagger) * 4); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(5)  { transition-delay: calc(var(--skarb-stagger) * 5); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(6)  { transition-delay: calc(var(--skarb-stagger) * 6); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(7)  { transition-delay: calc(var(--skarb-stagger) * 7); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(8)  { transition-delay: calc(var(--skarb-stagger) * 8); }
html.skarb-fx #brx-content .brxe-section.skarb-in > *:not(.custom-bg-layer):not(.bricks-background-video-wrapper) > *:nth-child(n+9) { transition-delay: calc(var(--skarb-stagger) * 9); }

/* -- Доступність: вимкнути рух за системним налаштуванням --------------- */
@media (prefers-reduced-motion: reduce) {
  html.skarb-fx #brx-content .brxe-section > *,
  html.skarb-fx #brx-content .brxe-section > * > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
