/* =========================================================
   Vindex Studio — Naslovnica: Hero Slider
   Full-width slider fiksne visine (--layout-hero-height, 700px).
   Fotografije kao pozadina (fade prijelaz), tamni gradijent overlay
   radi čitljivosti, tekst/CTA/badge oznake preko slike, strelice +
   točkice za navigaciju.
   ========================================================= */

.hero {
  --hero-accent: var(--color-accent-400);

  position: relative;
  height: var(--layout-hero-height);
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-bg-alt);
}

/* ---------- Slajdovi (fade cross-dissolve) ---------- */
.hero__slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 900ms ease;
}

.hero__slide.is-active {
  opacity: 1;
}

.hero__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    100deg,
    rgba(18, 22, 26, 0.86) 0%,
    rgba(18, 22, 26, 0.68) 42%,
    rgba(18, 22, 26, 0.32) 100%
  );
}

/* ---------- Sadržaj preko slike ---------- */
.hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-bottom: var(--space-8);
}

.hero__content {
  max-width: 580px;
}

.hero__content .eyebrow {
  color: var(--hero-accent);
}

.hero__content .eyebrow::before {
  background-color: var(--hero-accent);
}

.hero__title {
  margin-top: var(--space-4);
  color: #ffffff;
}

.hero__title .accent {
  color: var(--hero-accent);
}

.hero__desc {
  margin-top: var(--space-5);
  font-size: var(--fs-body-lg);
  color: rgba(255, 255, 255, 0.84);
  max-width: 52ch;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5) var(--space-6);
  margin-top: var(--space-7);
  padding-top: var(--space-6);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.hero__badges li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: rgba(255, 255, 255, 0.84);
}

.hero__badges li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background-color: var(--hero-accent);
  flex-shrink: 0;
}

/* ---------- Kontrole (strelice + točkice) — jedan red na dnu, namjerno
   NE vertikalno centrirane uz rub, da nikad ne mogu doći u koliziju s
   tekstom koji se preljeva ovisno o širini/broju redaka. ---------- */
.hero__controls {
  position: absolute;
  left: 50%;
  bottom: var(--space-6);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  transform: translateX(-50%);
}

.hero__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: var(--radius-full);
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1;
  backdrop-filter: blur(6px);
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast);
}

.hero__arrow:hover {
  background-color: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.4);
}

.hero__dots {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.hero__dot {
  width: 9px;
  height: 9px;
  border-radius: var(--radius-full);
  background-color: rgba(255, 255, 255, 0.4);
  transition:
    background-color var(--transition-fast),
    transform var(--transition-fast);
}

.hero__dot:hover {
  background-color: rgba(255, 255, 255, 0.7);
}

.hero__dot.is-active {
  background-color: var(--hero-accent);
  transform: scale(1.3);
}

/* ---------- Responsive ---------- */
@media (max-width: 479px) {
  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .hero__arrow {
    display: none;
  }
}

/* =========================================================
   Vindex Studio — Zajednički naslov sekcije
   Koristi se u sekcijama Usluge / Proces / Statistike.
   ========================================================= */

.section-header {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}

.section-header h2 {
  margin-top: var(--space-4);
}

.section-header__intro {
  margin-top: var(--space-4);
  font-size: var(--fs-body-lg);
  color: var(--color-text-secondary);
}

/* =========================================================
   Vindex Studio — Naslovnica: Usluge
   Grid 4×2 na desktopu, 2×4 na tabletu, 1 stupac na mobitelu.
   Kartice same (.service-card) definirane su u components.css.
   ========================================================= */

.services {
  padding-block: var(--space-9);
}

/* =========================================================
   Vindex Studio — Naslovnica: Proces ("Kako radimo")
   5 koraka. Desktop: horizontalan red s linijom kroz sredinu točkica.
   Mobitel/tablet: vertikalan red, linija ide okomito kroz oznake.
   ========================================================= */

.process {
  --process-dot-ring: var(--color-bg-alt);
  padding-block: var(--space-9);
  background-color: var(--color-bg-alt);
}

/* =========================================================
   Vindex Studio — Naslovnica: Statistike
   Puna širina sekcije na naslovnici — kartica/grid/napomena stil sada je
   zajednički (assets/css/components.css), jer ga od Koraka 17 koristi i
   /o-nama/.
   ========================================================= */

.statistics {
  padding-block: var(--space-9);
}
