/* ═══════════════════════════════════════════════
   realtrac:hero / .default
   Версия: 1.0.0
   Картинка на всю ширину в натуральной пропорции, подпись поверх
   снизу слева (заголовок Bebas, подзаголовок, до трёх кнопок),
   стрелки и точки при нескольких слайдах. До 900px подпись под
   картинкой. Токены — из realtrac_public/css/tokens.css, с запасными
   значениями на случай другого шаблона.
═══════════════════════════════════════════════ */
.rt-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--color-hero-from, #0B1220);
  color: #fff;
  scroll-margin-top: var(--topbar-h, 80px);
}
.rt-hero-track { display: grid; }
.rt-hero-slide {
  grid-area: 1 / 1;
  position: relative;
  opacity: 0;
  visibility: hidden;
  transition: opacity 600ms ease, visibility 0s 600ms;
}
.rt-hero-slide.is-active { opacity: 1; visibility: visible; z-index: 1; transition: opacity 600ms ease, visibility 0s 0s; }
.rt-hero-img { display: block; width: 100%; height: auto; }

/* ── Подпись поверх картинки ── */
.rt-hero-caption {
  position: absolute; inset: 0;
  display: flex; align-items: flex-end;
  padding: var(--space-10, 2.5rem) var(--space-8, 2rem);
  background:
    linear-gradient(0deg, rgba(11, 18, 32, .78) 0%, rgba(11, 18, 32, .35) 45%, rgba(11, 18, 32, 0) 75%),
    linear-gradient(90deg, rgba(11, 18, 32, .45) 0%, rgba(11, 18, 32, 0) 60%);
}
.rt-hero-content { max-width: 900px; }
.rt-hero-title {
  margin: 0 0 var(--space-3, .75rem);
  font-family: var(--font-display, 'Bebas Neue', 'Arial Narrow', sans-serif);
  font-weight: 400;
  font-size: clamp(1.75rem, 1.1rem + 2.2vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
.rt-hero-text {
  margin: 0 0 var(--space-5, 1.25rem);
  max-width: 700px;
  font-size: var(--text-base, 1rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, .85);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
.rt-hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3, .75rem); }

/* ── Кнопки ── */
.rt-hero-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: var(--space-2, .5rem) var(--space-5, 1.25rem);
  font-size: var(--text-sm, .875rem); font-weight: 600; line-height: 1.4;
  border-radius: var(--radius, 0);
  border: 1px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition, 160ms), color var(--transition, 160ms), border-color var(--transition, 160ms);
}
.rt-hero-btn svg, .rt-hero-btn i { width: 16px; height: 16px; flex-shrink: 0; }
.rt-hero-btn--primary { background: var(--color-primary, #0070B8); border-color: var(--color-primary, #0070B8); color: #fff; }
.rt-hero-btn--primary:hover { background: var(--color-primary-hover, #005C99); border-color: var(--color-primary-hover, #005C99); color: #fff; }
.rt-hero-btn--outline { background: rgba(11, 18, 32, .35); border-color: #fff; color: #fff; }
.rt-hero-btn--outline:hover { background: #fff; color: var(--color-hero-from, #0B1220); }
.rt-hero-btn--accent { background: var(--color-accent, #D32F2F); border-color: var(--color-accent, #D32F2F); color: #fff; }
.rt-hero-btn--accent:hover { background: var(--color-accent-hover, #B71C1C); border-color: var(--color-accent-hover, #B71C1C); color: #fff; }

/* ── Стрелки и точки (только при нескольких слайдах) ── */
.rt-hero-arrow {
  position: absolute; top: 50%; z-index: 2;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(11, 18, 32, .45);
  color: #fff;
  border: 0; border-radius: var(--radius, 0);
  cursor: pointer;
  opacity: 0;
  transition: opacity var(--transition, 160ms), background var(--transition, 160ms);
}
.rt-hero-arrow svg, .rt-hero-arrow i { width: 22px; height: 22px; }
.rt-hero-arrow--prev { left: var(--space-4, 1rem); }
.rt-hero-arrow--next { right: var(--space-4, 1rem); }
.rt-hero:hover .rt-hero-arrow, .rt-hero:focus-within .rt-hero-arrow { opacity: 1; }
.rt-hero-arrow:hover { background: var(--color-primary, #0070B8); }

.rt-hero-dots {
  position: absolute; left: 0; right: 0; bottom: var(--space-4, 1rem); z-index: 2;
  display: flex; justify-content: center; gap: var(--space-2, .5rem);
}
.rt-hero-dot {
  width: 28px; height: 4px;
  background: rgba(255, 255, 255, .45);
  border: 0; padding: 0; cursor: pointer;
  transition: background var(--transition, 160ms);
}
.rt-hero-dot:hover { background: rgba(255, 255, 255, .8); }
.rt-hero-dot.is-active { background: var(--color-primary, #0070B8); }

/* ── Мобильная ширина: подпись под картинкой ── */
@media (max-width: 900px) {
  .rt-hero-slide { display: flex; flex-direction: column; }
  .rt-hero-caption {
    position: static;
    padding: var(--space-5, 1.25rem) var(--space-4, 1rem) var(--space-8, 2rem);
    background: var(--color-hero-from, #0B1220);
  }
  .rt-hero-title, .rt-hero-text { text-shadow: none; }
  .rt-hero-arrow { display: none; }
  .rt-hero-btn { white-space: normal; text-align: center; }
  .rt-hero-dots { bottom: var(--space-3, .75rem); }
}

@media (prefers-reduced-motion: reduce) {
  .rt-hero-slide { transition: none; }
}
