/* === БАЗА ДЛЯ АНИМАЦИЙ ПО СКРОЛЛУ === */
[data-animate]{
  opacity:0; transform:translateY(24px);
  transition:opacity .6s ease, transform .6s ease;
}
[data-animate].in{
  opacity:1; transform:none;
}
[data-animate][data-animate="fade-left"]{ transform:translateX(24px); }
[data-animate][data-animate="fade-right"]{ transform:translateX(-24px); }

/* === ХОВЕР КАРТОЧЕК КАТАЛОГА === */
.work-container{
  transition: transform .25s ease, box-shadow .25s ease;
}
.work-container:hover{
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
}
.work-container .btn.btn-primary{
  transform: translateY(6px);
  transition: transform .25s ease;
}
.work-container:hover .btn.btn-primary{
  transform: translateY(0);
}

/* === ПАРАЛЛАКС (хиро) === */
.bg-animation-left{ will-change: background-position; }

/* === ПЛАВАЮЩИЙ CTA (WhatsApp) === */
.floating-cta{
  position:fixed; right:18px; bottom:18px; z-index:1040;
  background:#25D366; color:#fff; width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center; font-size:26px;
  box-shadow:0 12px 24px rgba(37,211,102,.3);
  transition:transform .2s ease, box-shadow .2s ease;
}
.floating-cta:hover{ transform:translateY(-2px); box-shadow:0 16px 32px rgba(37,211,102,.35); }
@media (prefers-reduced-motion:no-preference){
  .floating-cta{ animation:float 4s ease-in-out infinite; }
  @keyframes float{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-4px) } }
}

/* === ПРОГРЕСС-Бар ЧТЕНИЯ === */
#read-progress{
  position:fixed; top:0; left:0; height:3px; width:0;
  background:#d87c08; z-index:2000;
}

/* === LAZY-FADE КАРТИНОК === */
img[loading="lazy"]{ opacity:0; transition:opacity .4s ease; }
img.is-loaded{ opacity:1; }

/* === ЖИВОЙ ХЕДЕР ПРИ СКРОЛЛЕ === */
#topnav.sticky.scrolled{
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
  padding-top: .25rem; padding-bottom: .25rem;
  transition: all .25s ease;
}

/* === КНОПКА NAV «ВВЕРХ» (мягкое появление) === */
#back-to-top{ opacity:0; visibility:hidden; transform: translateY(8px); transition:.25s ease; }
#back-to-top.show{ opacity:1; visibility:visible; transform:none; }

/* === Доступность: уважение к reduce-motion === */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
html{ scroll-behavior: smooth; } /* плавный скролл якорей */

/* === Мелочи по карточкам: кламп текста (если нужно) === */
/*
.content p{ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow:hidden; }
*/
