.opening-car {
  margin-top: 0;
}

.carousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
}

/* Slide track */
.carousel-slide {
  display: flex;
  transition: transform 0.5s ease-in-out;
  will-change: transform;
}

/* Each slide */
.carousel-item {
  flex: 0 0 100%;
  /* padding: 40px 20px; */
  box-sizing: border-box;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;

  user-select: none;
}

/* Title */
.carousel-item h2 {
  font-size: 2.25rem;
  margin-bottom: 0.75rem;
  color: var(--shield-border);
}

.carousel-item h3 {
  font-size: 1.75rem;
  margin-bottom: 0.75rem;
}

/* Text */
.carousel-item p {
  font-size: 1.2rem;
  color: var(--shield-inner-bg);
  max-width: 600px;
}

/* Navigation buttons */
.nav-btns {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}

.nav-btns button {
  background: transparent;
  border: none;
  font-size: 2rem;
  color: var(--texts);
  cursor: pointer;
  padding: 10px 15px;
  pointer-events: all;
  transition: color 0.3s;
}

.nav-btns button:hover {
  color: var(--shield-lightning-fill);
}

.carousel-progress {
  width: min(260px, 80vw);
  height: 4px;
  margin: 0.6rem auto 0;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--texts) 25%, transparent);
}

.carousel-progress__bar {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: var(--texts);
  transform-origin: left center;
}

/* Only apply hover color on devices with real hover + fine pointer (mouse/trackpad) */
@media (hover: hover) and (pointer: fine) {
  .nav-btns button:hover {
    color: var(--shield-lightning-fill);
  }
}

/* On touch devices, don't keep a hover color; tap feedback */
@media (hover: none),
(pointer: coarse) {
  .nav-btns button:hover {
    color: var(--texts);
    /* neutralize sticky hover */
  }

  .nav-btns button:active {
    color: var(--shield-lightning-fill);
    /* brief change while finger is down */
  }
}

@media (max-width: 991px) {
  .nav-btns {
    display: none;
  }
}



/* Dots */
.dots {
  text-align: center;
  margin-top: 10px;
}

.dots span {
  height: 10px;
  width: 10px;
  margin: 0 4px;
  display: inline-block;
  background-color: var(--texts);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}

.dots .active {
  background-color: var(--shield-border);
}