.abc-hero-slider {
  background: transparent;
  padding: 0;
}

.abc-hero-slider__bleed {
  background: var(--abc-hero-bg);
  padding: var(--abc-pad-top) var(--abc-pad-right) var(--abc-pad-bottom) var(--abc-pad-left);

  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  overflow-x: clip;
}
@supports not (overflow-x: clip) {
  .abc-hero-slider__bleed { overflow-x: hidden; }
}

.abc-hero-slider__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
}

@media (max-width: 768px) {
  .abc-hero-slider__container { padding: 0 20px; }
}

.abc-hero-slider__notice {
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px dashed rgba(255,255,255,0.35);
  background: rgba(0,0,0,0.12);
  color: rgba(255,255,255,0.92);
  font-size: 14px;
  margin-bottom: 18px;
}

.abc-hero-slider__carousel { position: relative; }
.abc-hero-slider__viewport { overflow: hidden; outline: none; }
.abc-hero-slider__track {
  display: flex;
  will-change: transform;
  transition: transform 380ms ease;
}
.abc-hero-slider__slide { flex: 0 0 100%; min-width: 0; }

.abc-hero-slider__slideInner {
  display: grid;
  gap: 28px;
}

.abc-hero-slider__top {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-top: 6px;
}

.abc-hero-slider__heading {
  margin: 0;
  line-height: 1.05;
  max-width: 28ch;
}

.abc-hero-slider__subheading {
  max-width: 70ch;
  opacity: 0.95;
}
.abc-hero-slider__subheading p { margin: 0; }

.abc-hero-slider__cta { margin-top: 8px; }

.abc-hero-slider__media{
  display: flex;
  justify-content: center;
  overflow: hidden;
  margin-top: 15px;
}

.abc-hero-slider__img{
  width: 100%;
  max-width: 980px;
  max-height: 520px;
  height: auto;
  object-fit: contain;
}

/* Overlay arrows (desktop default) */
.abc-hero-slider__arrow {
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  z-index: 50;

  width: 64px;
  height: 64px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  transition: transform 160ms ease, filter 160ms ease;
  -webkit-tap-highlight-color: transparent;

  color: var(--abc-arrow-color);
}

.abc-hero-slider__arrow--prev { left: -10px; }
.abc-hero-slider__arrow--next { right: -10px; }

@media (max-width: 768px) {
  .abc-hero-slider__arrow--prev { left: -6px; }
  .abc-hero-slider__arrow--next { right: -6px; }
}

.abc-hero-slider__arrowIcon {
  width: 48px;
  height: 48px;
  display: block;
}

.abc-hero-slider__arrow:hover {
  transform: translateY(-50%) translateY(-3px);
  filter: drop-shadow(0 12px 18px rgba(0,0,0,0.28));
}

.abc-hero-slider__arrow:active {
  transform: translateY(-50%) translateY(-1px) scale(0.98);
  filter: drop-shadow(0 10px 14px rgba(0,0,0,0.22));
}

.abc-hero-slider__arrow:focus-visible {
  outline: 2px solid rgba(101, 191, 72, 0.75);
  outline-offset: 4px;
  border-radius: 999px;
}

.abc-hero-slider__controls {
  display: none;
  justify-content: center;
  gap: 28px;
  margin-top: 14px;
}

@media (max-width: 1024px) {
  .abc-hero-slider__carousel > .abc-hero-slider__arrow {
    display: none;
  }

  .abc-hero-slider__controls {
    display: flex;
  }

  .abc-hero-slider__controls .abc-hero-slider__arrow {
    position: static;
    transform: none;
    width: 56px;
    height: 56px;
  }

  .abc-hero-slider__controls .abc-hero-slider__arrow:hover {
    transform: translateY(-3px);
  }

  .abc-hero-slider__controls .abc-hero-slider__arrow:active {
    transform: translateY(-1px) scale(0.98);
  }

  .abc-hero-slider__controls .abc-hero-slider__arrowIcon {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 520px) {
  .abc-hero-slider__controls {
    gap: 18px;
    margin-top: 12px;
  }

  .abc-hero-slider__controls .abc-hero-slider__arrow {
    width: 44px;
    height: 44px;
  }

  .abc-hero-slider__controls .abc-hero-slider__arrowIcon {
    width: 24px;
    height: 24px;
  }
}

.abc-hero-slider,
.abc-hero-slider__carousel,
.abc-hero-slider__viewport,
.abc-hero-slider__slideInner {
  border-radius: 0 !important;
}
