/* Style: solid color — orange bg, white curved panel right, image RIGHT */
.hero--color {
  background-color: var(--color-primary);
  color: var(--color-white);
  min-height: auto;
  height: 400px;
  padding: var(--spacing-xl) 0;
  overflow: hidden;
  position: relative;
}

.hero--color .container {
  flex-direction: row-reverse;
  position: relative;
  z-index: 1;
}

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

.hero--color .hero__subtitle {
  color: var(--color-background-alt);
  max-width: 560px;
}

.hero--color .hero__product-image {
  flex: 0 0 350px;
  height: 350px;
  position: relative;
}

.hero--color .hero__product-image img {
  width: 350px;
  height: 350px;
  object-fit: contain;
}

/* Curved panel — uses actual design shape as background */
.hero--color .hero__product-image::before {
  content: '';
  position: absolute;
  left: -150px;
  top: -50px;
  bottom: -50px;
  right: -9999px;
  background: url('../../images/hero-curve.png') no-repeat left center / auto 100%;
  z-index: -1;
}

/* Flat fill — covers everything to the right of the curve */
.hero--color .hero__product-image::after {
  content: '';
  position: absolute;
  left: 50px;
  top: -50px;
  bottom: -50px;
  right: -9999px;
  background: var(--color-background-alt);
  z-index: -2;
}

/* Style: white — grey bg (#EFEFEF), same layout as Solid Color */
.hero--white {
  background-color: var(--color-background-alt);
  color: var(--color-dark-blue);
  min-height: auto;
  height: 400px;
  padding: var(--spacing-xl) 0;
  overflow: hidden;
  position: relative;
}

.hero--white .container {
  flex-direction: row-reverse;
  position: relative;
  z-index: 1;
}

.hero--white .hero__title {
  color: var(--color-dark-blue);
}

.hero--white .hero__subtitle {
  color: var(--color-text-primary);
  max-width: 560px;
}

.hero--white .hero__product-image {
  flex: 0 0 350px;
  height: 350px;
  position: relative;
}

.hero--white .hero__product-image img {
  width: 350px;
  height: 350px;
  object-fit: contain;
}

.hero--white .hero__product-image::before,
.hero--white .hero__product-image::after {
  display: none;
}

@media (max-width: 1023px) {
  .hero--color .container {
    gap: var(--spacing-xl);
  }

  .hero--color .hero__product-image::before,
  .hero--color .hero__product-image::after {
    display: none;
  }
}

@media (max-width: 767px) {
  /* Color hero — mobile */
  .hero--color {
    height: auto;
    padding: 0;
    background: var(--color-primary) url('../../images/hero-curve-mobile.png') no-repeat bottom -40px center / 100% 420px;
  }

  .hero--color .container {
    flex-direction: column;
    text-align: left;
  }

  .hero--color .hero__content {
    order: 1;
    padding: 60px 0 40px;
  }

  .hero--color .hero__title {
    font-size: var(--h1-size);
    line-height: var(--h1-lh);
  }

  .hero--color .hero__subtitle {
    font-size: var(--p-size);
    line-height: var(--p-lh);
    max-width: none;
    margin-bottom: 0;
  }

  .hero--color .hero__product-image {
    flex: none;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    order: 2;
    padding: 0 0 60px;
  }

  .hero--color .hero__product-image img {
    width: 266px;
    height: 266px;
  }

  .hero--color .hero__product-image::before,
  .hero--color .hero__product-image::after {
    display: none;
  }
}
