/* ==========================================================================
   VelveFlix v2 — HERO (home) — scoped html.vf-2026
   Источник: VelveFlix.dc.html (HERO 92vh, Ken Burns, двойной градиент, glow CTA).
   Переопределяет прод .vf-hero / .vf-hero__*.
   ========================================================================== */

@keyframes vfKb { 0%{transform:scale(1.06) translate(0,0);} 100%{transform:scale(1.16) translate(-1.5%,-2%);} }
@keyframes vfUp { 0%{opacity:0;transform:translateY(28px);} 100%{opacity:1;transform:translateY(0);} }
@keyframes vfPulse { 0%,100%{opacity:.45;} 50%{opacity:1;} }

html.vf-2026 .vf-hero {
  position: relative;
  height: 92vh;
  min-height: 640px;
  max-height: 940px;
  width: 100%;
  overflow: hidden;
  display: block;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

/* backdrop + Ken Burns + двойной градиент-оверлей */
html.vf-2026 .vf-hero__bg { position: absolute; inset: 0; overflow: hidden; border-radius: 0; }
html.vf-2026 .vf-hero__bg img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 18%;
  animation: vfKb 20s ease-in-out infinite alternate;
  background: #111;
}
html.vf-2026 .vf-hero::before,
html.vf-2026 .vf-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
}
html.vf-2026 .vf-hero::before { background: var(--vf-hero-grad-h); }
html.vf-2026 .vf-hero::after  { background: var(--vf-hero-grad-v); }

/* текстовый блок слева-снизу */
html.vf-2026 .vf-hero__body {
  position: absolute;
  left: 44px; right: 44px; bottom: 7%;
  max-width: 620px;
  z-index: 2;
  animation: vfUp .9s cubic-bezier(.2,.7,.2,1) both;
  padding: 0;
}

/* бейдж-пилюля NOW STREAMING (eyebrow прод) */
html.vf-2026 .vf-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 6px 13px 6px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font-size: 12px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 18px;
  color: #f5f5f7;
}
html.vf-2026 .vf-hero__eyebrow::before {
  content: ""; width: 8px; height: 8px; border-radius: 999px;
  background: var(--vf-accent);
  box-shadow: 0 0 10px var(--vf-accent);
  animation: vfPulse 2s ease-in-out infinite;
}

/* большой display-заголовок */
html.vf-2026 .vf-hero__title {
  font-family: var(--vf-font-display);
  font-weight: 800;
  font-size: clamp(40px, 5.4vw, 82px);
  line-height: .98;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  text-shadow: 0 4px 30px rgba(0,0,0,.5);
  color: #fff;
}

html.vf-2026 .vf-hero__metarow {
  display: flex; align-items: center; flex-wrap: wrap; gap: 14px;
  margin-bottom: 16px;
  font-size: 14px; font-weight: 600;
  color: rgba(245,245,247,.92);
}
html.vf-2026 .vf-hero__metarow .vf-badge--rating {
  background: transparent; padding: 0; color: #ffd34d; font-weight: 700;
}
html.vf-2026 .vf-hero__metarow > span:not(.vf-badge--rating) { opacity: .6; }

html.vf-2026 .vf-hero__desc {
  font-size: 16.5px; line-height: 1.6;
  color: rgba(245,245,247,.82);
  margin: 0 0 26px;
  max-width: 560px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

html.vf-2026 .vf-hero__cta { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }

/* главный CTA — белый «Where to Watch» (по .dc Play) */
html.vf-2026 .vf-hero__cta .vf-btn--accent {
  padding: 14px 30px; border-radius: 12px;
  background: #fff !important; color: #0a0a0c !important; border: none;
  font-family: var(--vf-font-sans); font-size: 16px; font-weight: 800;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  transition: transform .25s, box-shadow .25s;
}
html.vf-2026 .vf-hero__cta .vf-btn--accent * { color: #0a0a0c !important; }
html.vf-2026 .vf-hero__cta .vf-btn--accent:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.5);
}

/* вторичный CTA — стекло «More info» */
html.vf-2026 .vf-hero__cta .vf-btn--ghost {
  padding: 14px 26px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  color: #fff; font-family: var(--vf-font-sans); font-size: 16px; font-weight: 700;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: background .25s, transform .25s;
}
html.vf-2026 .vf-hero__cta .vf-btn--ghost:hover {
  background: rgba(255,255,255,.18); transform: translateY(-2px);
}

/* dots-каркас справа-снизу (визуальный, ставит vf-v2.js) */
html.vf-2026 .vf-hero__dots {
  position: absolute; right: 44px; bottom: 7%;
  display: flex; align-items: center; gap: 10px; z-index: 3;
}
html.vf-2026 .vf-hero__dot {
  width: 7px; height: 7px; border-radius: 999px;
  background: rgba(255,255,255,.4); transition: all .4s ease;
}
html.vf-2026 .vf-hero__dot.is-active { width: 26px; background: var(--vf-accent); }
@media (max-width: 780px) { html.vf-2026 .vf-hero__dots { right: 18px; } }

/* genrebar — приподнять над hero-наездом */
html.vf-2026 .vf-genrebar { position: relative; z-index: 6; }

/* мобайл: hero компактнее, паддинги меньше */
@media (max-width: 780px) {
  html.vf-2026 .vf-hero { height: 78vh; min-height: 460px; }
  html.vf-2026 .vf-hero__body { left: 18px; right: 18px; bottom: 6%; }
  html.vf-2026 .vf-hero__title { font-size: clamp(30px, 9vw, 48px); }
  html.vf-2026 .vf-hero__cta .vf-btn--accent,
  html.vf-2026 .vf-hero__cta .vf-btn--ghost { padding: 12px 22px; font-size: 15px; }
}

/* reduced-motion — гасим Ken Burns и появление */
@media (prefers-reduced-motion: reduce) {
  html.vf-2026 .vf-hero__bg img { animation: none; }
  html.vf-2026 .vf-hero__body { animation: none; }
  html.vf-2026 .vf-hero__eyebrow::before { animation: none; }
}
