.bcn-home-hero,
.bcn-hero-media {
  --bcn-hero-media-height: var(--bcn-hero-min-height, 500px);
  position: relative;
}

.bcn-home-hero > .carousel_promo,
.bcn-hero-media {
  position: relative;
}

.bcn-home-hero > .carousel_promo::before,
.bcn-hero-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bcn-color-overlay, rgba(0, 0, 0, 0.4));
  z-index: 5;
  pointer-events: none;
}

.bcn-home-hero .carousel_promo,
.bcn-hero-media .carousel_promo {
  margin-bottom: 0;
}

.bcn-home-hero .carousel_promo .cpromo,
.bcn-hero-media .carousel_promo .cpromo {
  min-height: var(--bcn-hero-media-height);
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.bcn-home-hero .carousel_promo .cpromo__image,
.bcn-hero-media .carousel_promo .cpromo__image {
  display: block;
  width: 100%;
  height: var(--bcn-hero-media-height);
  object-fit: cover;
  object-position: center center;
}

.bcn-hero-media.bcn-hero-media--ratio .carousel_promo .cpromo {
  min-height: 0;
  aspect-ratio: var(--bcn-hero-media-aspect-ratio, 21 / 9);
}

.bcn-hero-media.bcn-hero-media--ratio .carousel_promo .cpromo__image {
  height: 100%;
}

.bcn-home-hero .big_title {
  top: 35%;
  left: 0;
  width: 100%;
  z-index: 10;
  max-width: var(--bcn-content-width);
  margin-inline: auto;
  padding-inline: calc(var(--bcn-shell-padding) + 36px);
}

.bcn-home-hero .big_title h1 {
  font-family: var(--bcn-font-primary);
  font-size: 2.22rem;
  font-weight: 100;
  line-height: 1.2;
  text-transform: uppercase;
}

.bcn-home-hero .big_title h1 b {
  font-size: 4rem;
  font-weight: 700;
}

.bcn-hero-media .bcn-hero-media__arrows {
  position: absolute;
  inset-inline: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 12;
  pointer-events: none;
}

.bcn-hero-media .bcn-hero-media__arrows .slick-prev,
.bcn-hero-media .bcn-hero-media__arrows .slick-next {
  position: absolute;
  border: none;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-color: transparent;
  transition: 0.2s linear all;
  top: calc(50% - 15px);
  z-index: 12;
  pointer-events: auto;
}

.bcn-hero-media .bcn-hero-media__arrows .slick-prev {
  background-image: url('../assets/icons/flecha_izquierda_blanca.svg');
  left: 10px;
}

.bcn-hero-media .bcn-hero-media__arrows .slick-next {
  background-image: url('../assets/icons/flecha_derecha_blanca.svg');
  right: 10px;
}

.bcn-hero-media .bcn-hero-media__arrows .slick-prev:hover,
.bcn-hero-media .bcn-hero-media__arrows .slick-next:hover {
  transform: scale(1.1);
}

.bcn-home-hero .slick-dots,
.bcn-hero-media .slick-dots {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
  display: flex;
  justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24px;
  z-index: 12;
}

.bcn-home-hero .slick-dots li button,
.bcn-hero-media .slick-dots li button {
  border: none;
  font-size: 0;
  height: 12px;
  width: 12px;
  border-radius: 20px;
  background: #cecece;
  margin: 0 4px;
}

.bcn-home-hero .slick-dots li.slick-active button,
.bcn-hero-media .slick-dots li.slick-active button {
  background: #575756;
}

@media (max-width: 699px) {
  .bcn-home-hero,
  .bcn-hero-media {
    --bcn-hero-media-height: 420px;
  }

  .bcn-home-hero .big_title {
    top: 32%;
    padding-inline: calc(var(--bcn-shell-padding) + 24px);
    z-index: 10;
    padding: 0 !important;
  }

  .bcn-home-hero .big_title h1,
  .bcn-home-hero .big_title h1 b {
    font-size: 2rem;
  }
}