.page-section.page-section--hero-banner {
  padding-top: 0;
  padding-bottom: 0;

  .page-section__inner {
    display: flex;
    align-items: flex-end;
    justify-content: end;
    width;
  }
}

.hero-banner__full-photo-bg {
  .page-section__inner {
    padding-top: 4.5rem;
    padding-bottom: 2rem;
  }
}

.hero-banner__media-wrapper {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* Background image layer */
.hero-banner__background {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.02);
}

/* Optional “empty state” when no image URL is provided */
.hero-banner__background--empty {
  background: radial-gradient(
    circle at top left,
    rgba(246, 174, 45, 0.18),
    rgba(27, 31, 59, 0.95)
  );
}

/* Dark overlay to ensure text readability on bright images */
.hero-banner__overlay {
  position: absolute;
  inset: 0;
  background: var(--overlay-radial-soft);
  mix-blend-mode: multiply;
}

.hero-banner__content {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: end;
}

/* Typography */
.hero-banner__title {
  color: var(--color-primary-light);
}

.hero-banner__subtitle {
  color: var(--color-primary-light);
}

/* CTA container – currently unused, ready for future CTA fields */
.hero-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .hero-banner__full-photo-bg {
    .page-section__inner {
      min-height: 60vh;
      padding-top: 5.5rem;
      padding-bottom: 6rem;
    }
  }
}

/* Responsive tweaks */
@media (max-width: 640px) {
  .hero-banner__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-banner__cta {
    width: 100%;
    justify-content: center;
  }
}
