/**
 * Ionis card slide component styles
 */
.ionis-card-slide {
  min-height: 860px;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  position: relative;
  padding: 4rem;
  overflow: hidden;
}

/* Allow card slides to have flexible height when in a carousel */
.swiper-slide .ionis-card-slide {
  height: auto;
  min-height: 860px;
}

.ionis-card-slide.ionis-card-slide--dawnzera {
  margin-left: auto;
  margin-right: auto;
  flex-direction: column;
  padding: 0;
  padding-top: 1rem;
  height: auto;
  min-height: 600px;

  .ionis-card-slide__icon {
    max-width: 775px;
  }

  .ionis-card-slide__title {
    font-size: 90px;
    color: #F57761;
    padding-bottom: 0;
    font-weight: 700;
    width: 690px;
    text-align: center;
  }

  .ionis-card-slide__bottom-section {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .ionis-card-slide__swoosh {
    position: relative;
    left: 200px;
    top: 5px;
  }

  .ionis-card-slide__cta {
    position: absolute;
    z-index: 1;
    bottom: 55%;
    left: 50%;
    transform: translate(-50%, 50%);

    .ionis-button--dawnzera {
      background-color: #53565A;
      height: 68.57px;
      border-radius: 40px;
    }
    .ionis-button.ionis-button--dawnzera span,
    .ionis-button.ionis-button--dawnzera {
      font-size: 28px;
      font-weight: 400;
      gap: 18px;
    }
    .ionis-button--dawnzera::after {
      transform: scale(1.2);
      transform-origin: center;
    }
  }
}

.ionis-card-slide__image {
  position: absolute;
  left: 35%;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  z-index: -1;
  background-repeat: no-repeat;
}

.ionis-card-slide__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 50%;
  z-index: 2;
  margin-left: 22%;
}

.ionis-card-slide--primary {
  justify-content: flex-start;
  align-items: center;

  .ionis-card-slide__title {
    font-size: 80px;
    line-height: 65px;
    color: var(--color-white);
    padding-bottom: 3rem;
    text-align: left;
    width: 100%;
  }

  .ionis-card-slide__body {
    color: var(--color-white);
    font-weight: bold;
    padding-bottom: 3rem;
    text-align: left;
    width: 100%;
  }

  .ionis-card-slide__cta {
    width: 100%;
  }
}

.ionis-card-slide--secondary {
  align-items: center;
  text-align: left;
  padding: 4rem;
  max-width: 1720px;
  margin-left: auto;
  margin-right: auto;

  .ionis-card-slide__title {
    font-size: 50px;
    font-weight: 300;
    line-height: 65px;
    max-width: 450px;
    color: var(--color-purple);
    text-align: left;
  }

  .ionis-card-slide__title::after {
    content: "";
    display: block;
    width: 168px;
    height: 10px;
    background-color: var(--color-pink);
    margin: 3rem 0 3rem 0;
  }

  .ionis-card-slide__body {
    color: var(--color-black);
    font-weight: 500;
    font-size: 19px;
    line-height: 26px;
    margin-bottom: 44px;
    max-width: 309px;
    text-align: left;
  }

}

/* Overlay info styles */
.ionis-card-slide__overlay-info {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  padding: 1.5rem 2rem;
  max-width: 300px;
  z-index: 3;
}

.ionis-card-slide__field-name {
  font-size: 14px;
  font-weight: bold;
  color: var(--color-white);
  margin-bottom: 0.5rem;
  line-height: 16px;
}

.ionis-card-slide__field-quote {
  font-size: 14px;
  font-style: italic;
  color: var(--color-white);
  line-height: 16px;
}

@media (max-width: 1440px) {
  .ionis-card-slide__image {
    left: 30%;
  }
  .ionis-card-slide__content {
    margin-left: 15%;
  }
}

@media (max-width: 1024px) {
  .ionis-card-slide {
    height: auto;
    min-height: 400px;
    max-height: none;
    padding: 2rem 1.5rem;
    flex-direction: column;
    text-align: center;
    background-position: center;
    background-size: contain;
  }

  /* In carousel context, allow even more flexible heights on mobile */
  .swiper-slide .ionis-card-slide {
    min-height: 300px;
  }
  .ionis-card-slide.ionis-card-slide--dawnzera {
    padding: 0;
    max-height: unset;
    height: unset;
    .ionis-card-slide__title {
      font-family: 'Trebuchet MS', sans-serif;
      font-size: 60px;
      width: 100%;
      padding: 0 2rem;
    }
    .ionis-card-slide__bottom-section {
      position: relative;
      width: 100%;
    }
    .ionis-card-slide__swoosh {
      left: 0;
    }
    .ionis-card-slide__cta {
      bottom: 40%;
      transform: translate(-50%, 0);
    }
  }
  .ionis-card-slide__image {
    display: none;
  }

  .ionis-card-slide__content {
    max-width: 100%;
    margin-left: 0;
  }

  .ionis-card-slide__overlay-info {
    display: none;
  }

  .ionis-card-slide--primary {
    padding-bottom: 3rem;
    justify-content: center;
    text-align: center;
    align-items: center;

    .ionis-card-slide__title {
      font-size: 42px;
      line-height: 1.2;
      padding-bottom: 1.5rem;
      margin-top: 2rem;
      text-align: center;
      width: 100%;
    }

    .ionis-card-slide__body {
      font-size: 16px;
      line-height: 1.4;
      padding-bottom: 1.5rem;
      text-align: center;
      width: 100%;
    }

    .ionis-card-slide__cta {
      width: 100%;
    }
  }

  .ionis-card-slide--secondary {
    padding: 2rem 1.5rem;
    text-align: center;
    align-items: center;
    background-image: none !important;
    background-color: #f3f3f3;

    .ionis-card-slide__title {
      font-size: 32px;
      line-height: 1.2;
      max-width: 100%;
      margin-top: 1rem;
    }

    .ionis-card-slide__title::after {
      margin: 1.5rem 0 1.5rem 0;
    }

    .ionis-card-slide__body {
      font-size: 16px;
      line-height: 1.5;
      max-width: 100%;
      margin-bottom: 2rem;
    }
  }
}

/* Override Swiper styles */
.swiper-button-next, .swiper-button-prev {
  color: var(--color-purple) !important;
}

.swiper-pagination-bullet-active {
  background: var(--color-white) !important;
}

.swiper-pagination-bullet {
  width: 1rem !important;
  height: 1rem !important;
}

@media (max-width: 768px) {
  .ionis-card-slide {
    margin-left: auto;
    margin-right: auto;
  }
}
