.card-embla {
  flex: 0 0 80%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 576px) {
  .card-embla.full {
    flex: 0 0 100%;
  }
}

/* SM - Pequeño (≥ 576px) */
@media (min-width: 576px) {
  .card-embla {
    flex: 0 0 50%;
  }
}

/* MD - Mediano (≥ 768px) */
@media (min-width: 768px) {
  .card-embla {
    flex: 0 0 50%;
  }
}

/* LG - Grande (≥ 992px) */
@media (min-width: 992px) {
  .card-embla {
    flex: 0 0 33.3%;
  }
}

/* XL - Extra grande (≥ 1200px) */
@media (min-width: 1200px) {
  .card-embla {
    flex: 0 0 33.3%;
  }
}

/* XXL - Extra-extra grande (≥ 1400px) */
@media (min-width: 1400px) {
  .card-embla {
    width: 33.3%;
  }
}

.coupon-image-container {
  height: 275px;
  overflow: hidden;
}

@media (max-width: 575px) {
  .coupon-image-container {
    height: 245px;
  }
}

@media (min-width: 576px) {
  .coupon-image-container {
    height: 225px;
  }
}

/* MD */
@media (min-width: 768px) {
  .coupon-image-container {
    height: 240px;
  }
}

@media (min-width: 992px) {
  .coupon-image-container {
    height: 265px; /* Para pantallas medianas en adelante (tablets, desktop) */
  }
}

.embla {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: auto;
  padding-bottom: 30px;
}

.embla__viewport {
  overflow: hidden;
  width: 100%;
}

.embla__container {
  display: flex;
}

/* XS - Extra pequeño (por defecto, menores a 576px) */
.embla__slide {
  flex: 0 0 80%;

  margin-right: 10px;

  /*
  background-color: #ffffff;
  border-radius: 20px;
  */
  /*height: 200px;*/
  display: flex;
  justify-content: center;
  align-items: center;
  /*font-weight: bold;
  font-size: 1.5rem;
  color: #0e3657;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);*/
}

@media (max-width: 576px) {
  .embla__slide.full {
    flex: 0 0 100%;
  }
}

/* SM - Pequeño (≥ 576px) */
@media (min-width: 576px) {
  .embla__slide {
    flex: 0 0 50%;
  }
}

/* MD - Mediano (≥ 768px) */
@media (min-width: 768px) {
  .embla__slide {
    flex: 0 0 50%;
  }
}

/* LG - Grande (≥ 992px) */
@media (min-width: 992px) {
  .embla__slide {
    flex: 0 0 33.3%;
  }
}

/* XL - Extra grande (≥ 1200px) */
@media (min-width: 1200px) {
  .embla__slide {
    flex: 0 0 33.3%;
  }
}

/* XXL - Extra-extra grande (≥ 1400px) */
@media (min-width: 1400px) {
  .embla__slide {
    width: 33.3%;
  }
}

.embla__dots {
  display: flex;
  justify-content: center;
  margin-top: 15px;
  gap: 8px;
}

.embla__dot {
  width: 10px;
  height: 10px;
  background-color: #ccc;
  border-radius: 50%;
  cursor: pointer;
  border: none;
}

.embla__dot.is-selected {
  /*background-color: #0044d9;*/
  border: 5px solid black;
}

.embla__controls {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-pack: justify;
  justify-content: space-between;
  gap: 1.2rem;
  margin-top: 1.8rem;
}

.embla__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
  -webkit-box-align: center;
  align-items: center;
}

.embla__button {
  -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
  appearance: none;
  background-color: transparent;
  touch-action: manipulation;
  text-decoration: none;
  cursor: pointer;
  border: 2.5px solid #eaeaea;
  padding: 0px;
  margin: 0px;
  box-shadow: inset 0 0 0 0.2rem var(--detail-medium-contrast);
  width: 2.6rem;
  height: 2.6rem;
  z-index: 1;
  border-radius: 50%;
  color: var(--text-body);
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
}

.embla__button__svg {
  width: 35%;
  height: 35%;
}

.embla__button svg {
  width: 1rem;
}

.embla__dots {
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  align-items: center;
  /*margin-right: calc(-0.6rem);*/
}

.embla__dot {
  -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
  appearance: none;
  background-color: transparent;
  touch-action: manipulation;
  text-decoration: none;
  cursor: pointer;
  border: 0px;
  padding: 0px;
  margin: 0px;
  width: 1.6rem;
  height: 1.6rem;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  border-radius: 50%;
  border: 2.5px solid #eaeaea;
}

.embla__dot::after {
  box-shadow: inset 0 0 0 0.2rem var(--detail-medium-contrast);
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  content: '';
}
