@import "./tokens/fonts.css?v=77446ae6";
@import "./tokens/colors.css?v=6db8a3a2";
@import "./tokens/typography.css?v=f948e5b6";
@import "./tokens/spacing.css?v=5eb5d864";
@import "./tokens/elevation.css?v=06e8a51d";

/* Карусель отзывов: скрываем нативный скроллбар (как в ДС). Затемнения по краям рисует app.js. */
.tst-track {
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* старый Edge/IE */
}
.tst-track::-webkit-scrollbar { /* WebKit/Chrome/Safari */
  width: 0;
  height: 0;
  display: none;
}

/* TemplateGallery: скрытый скроллбар превью-скроллера (страница «Разработка сайтов»).
   Компонент инжектит это правило через JS (клиентски) — дублируем в статике для первого кадра. */
.tg-shot-scroll::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* --- @keyframes из компонентов ДС.
   Компоненты инжектят их в <head> через JS (useEffect / createElement('style')),
   но в нашем ПРОДЕ React не исполняется (статический SSG) -> инжект не срабатывает.
   Держим keyframes здесь, чтобы анимации (и завязанное на них центрирование
   через translateX(-50%) в staydayScrollBob) работали в статике. Дублей не создавать. --- */
@keyframes staydayBtnShimmer{0%{transform:translateX(-130%) skewX(-18deg);opacity:1}100%{transform:translateX(240%) skewX(-18deg);opacity:1}}
@keyframes staydayCloudFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes staydayScrollDot{0%{transform:translateY(0);opacity:1}65%{opacity:0}100%{transform:translateY(10px);opacity:0}}
@keyframes staydayScrollBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
@keyframes staydayArrowUp{0%{transform:translateY(4px);opacity:.25}50%{opacity:1}100%{transform:translateY(-4px);opacity:.25}}
