/* ==========================================================================
   HERO SECTION
   Desktop first (>1023px), zatim tablet/mobile override.
   ========================================================================== */

.hero {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;

  padding: 150px 48px 256px;

  background-image: url('/wp-content/uploads/2026/07/hero_bg_new-scaled.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  overflow: hidden;
}

.hero__inner {
  width: 100%;
  max-width: var(--container-width);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

/* Left column */
.hero__content {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.hero__heading {
  max-width: 665px;
  margin: 0;

  color: var(--hero-heading-color);
  font-family: var(--font-family);
  font-size: 64px;
  font-style: normal;
  font-weight: 700;
  line-height: 68px; /* 106.25% */
  letter-spacing: -1.28px;
}

.hero__heading .hero__heading-accent {
  color: var(--hero-heading-accent);
  font-family: var(--font-family);
  font-size: 64px;
  font-style: normal;
  font-weight: 700;
  line-height: 68px;
  letter-spacing: -1.28px;
}

.hero__text {
  margin: 16px 0 0;
  max-width: 543px;

  color: var(--hero-body-color);
  font-family: var(--font-family);
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px; /* 140% */
}

.hero__actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 48px;
}

/* Buttons */
.btn-hero {
  display: flex;
  padding: 16px 32px;
  justify-content: center;
  align-items: center;

  border-radius: 8px;

  color: #FFF;
  text-align: center;
  font-family: var(--font-family);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px; /* 137.5% */
  white-space: nowrap;

  transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);
}

.btn-hero--primary {
  border: 1px solid rgba(0, 0, 0, 0);
  background: var(--main-blue);
}

.btn-hero--primary:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

.btn-hero--secondary {
  border: 1px solid var(--hero-border-btn);
  background: transparent;
}

.btn-hero--secondary:hover {
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(-1px);
}

/* Right column - image */
.hero__media {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}

.hero__image {
  display: block;
  width: 100%;
  max-width: 487px;
  height: auto;

  border-radius: 16px;
  box-shadow: 0 40px 80px 0 rgba(0, 0, 0, 0.40);

  transition: transform var(--transition-image), box-shadow var(--transition-image);
}

.hero__image:hover {
  transform: scale(1.03);
  box-shadow: 0 48px 90px 0 rgba(0, 0, 0, 0.48);
}

/* Mobile-only image, hidden on desktop */
.hero__image--mobile {
  display: none;
}

/* ==========================================================================
   TABLET (<= 1023px)
   ========================================================================== */
@media (max-width: 1023px) {

  .hero {
    padding: 144px 24px 96px;
  }

  .hero__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 48px;
  }

  .hero__content {
    align-items: center;
    text-align: center;
  }

  .hero__heading {
    max-width: 100%;
    text-align: center;
    font-size: 48px;
    line-height: 42px; /* 87.5% */
    letter-spacing: -0.8px;
  }

  .hero__heading .hero__heading-accent {
    font-size: 48px;
    line-height: 42px;
    letter-spacing: -0.8px;
  }

  .hero__text {
    max-width: 100%;
    text-align: center;
  }

  .hero__actions {
    justify-content: center;
  }

  /* Desktop image se krije, prikazuje se tablet/mobile verzija (16:9) */
  .hero__image--desktop {
    display: none;
  }

  .hero__image--mobile {
    display: block;
    width: 100%;
    max-width: 100%;
    border-radius: 24px;
  }

  .hero__media {
    width: 100%;
  }
}

/* ==========================================================================
   MOBILE (<= 599px) - dugmici stacked, manji font
   ========================================================================== */
@media (max-width: 599px) {

  .hero__heading {
    font-size: 40px;
    line-height: 42px; /* 105% */
    letter-spacing: -0.8px;
  }

  .hero__heading .hero__heading-accent {
    font-size: 40px;
    line-height: 42px;
    letter-spacing: -0.8px;
  }

  .hero__text {
    font-size: 16px;
    line-height: 24px; /* 150% */
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    width: 100%;
  }

  .btn-hero {
    width: 100%;
  }
}
