.slider_area {
  height: fit-content;
}

.carousel-item {
  min-height: fit-content;
  background-color: #ffa801;
  position: relative;
  z-index: -5;
}

/* PROMO BANNER ================== */

.promo-banner {
    position: relative;
    background: #d7ff01;
    color: #000;
    padding: 10px 0;
    cursor: pointer;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.12);
    border-top: 1px solid rgba(0,0,0,0.04);
    border-bottom: 1px solid rgba(0,0,0,0.08);
    transition: box-shadow .25s ease, transform .2s ease, filter .25s ease;

    /* needs to clip to not overflow (sheen pass), fallback for old browsers */
    overflow: hidden;
    overflow: clip;
}
.promo-banner:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    transform: translateY(-1px);
    filter: saturate(1.05) brightness(1.02);
}
.promo-banner:active {
    transform: translateY(0);
    filter: saturate(1.1) brightness(1.03);
}
.promo-banner:focus-visible {
    outline: 3px solid rgba(0,0,0,.3);
    outline-offset: -3px;
}

/* subtle sheen pass */
.promo-banner::after {
    content: "";
    position: absolute;
    top: 0;
    left: -30%;
    width: 22%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    transform: skewX(-20deg);
    opacity: 0.75;
    animation: promo-sheen-swipe 16s linear infinite;
}
@keyframes promo-sheen-swipe {
    0%   { left: -30%; }
    8%   { left: 105%; }
    100% { left: 105%; }
}
@media (prefers-reduced-motion: reduce) {
    .promo-banner::after { animation: none; }
}

.promo-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 0 12px;
}

.promo-text {
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}
.promo-text .marquee-track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  overflow-x: hidden;
  overflow-x: clip;
}
.promo-text .marquee-gap {
  display: inline-block;
  width: 24px;
}
@keyframes promo-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-1 * var(--marquee-distance, 0px))); }
}
.promo-text.is-marquee .marquee-track {
  animation: promo-marquee var(--marquee-duration, 18s) linear infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .promo-banner::after { animation: none; }
  .promo-text.is-marquee .marquee-track {
    animation: none;
    transform: none;
  }
}

.promo-toggle-icon {
  font-size: 22px;
  color: #000;
}

@media (max-width: 767px) {
  .promo-text {
    font-size: 12px;
  }

  .promo-toggle-icon {
    font-size: 16px;
  }
}

/* TESTIMONIALS ================== */

.testimonial-area {
  padding-top: 20px;
  padding-bottom: 0px;
  background-color: #f4f6f7;
}

.single-testimonial {
  background-color: #fff;
  padding: 40px 30px 50px;
  border-radius: 50px;
  margin: 5px;
  height: 500px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
}

.slick-initialized .slick-slide {
  display: flex;
}

.single-testimonial .testimonial-author {
  border-top: 1px solid #e9ecef;
  padding-top: 40px;
}

.testimonial-left-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.testimonial-active .slick-arrow {
  position: absolute;
  border-radius: 50%;
  background-color: transparent;
  font-size: 22px;
  height: 33px;
  width: 33px;
  left: -42px;
  top: 50%;
  transform: translateY(-50%);
  padding-left: 8px;
  padding-top: 1px;
  cursor: pointer;
  color: #a4a4a4;
  -webkit-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  float: left;
}

.testimonial-active .slick-arrow:hover {
  background-color: #fff;
  color: #000;
}

.testimonial-active .slick-arrow.next {
  left: 508px;
  padding-left: 10px;
}

.single-testimonial .testimonial-text {
  flex-grow: 1;
}

/* FEATURES ================== */

.single-features {
  padding: 40px 20px 52px;
  background-color: #fff;
  border-radius: 20px;
}