/**
 * Slideshow Widget Styles
 */
.widget-slideshow {
  overflow: hidden;
  background-color: var(--color-black);
  /* Reset default widget spacing for full-bleed */
  margin-block: 0;
  padding-inline: 0;

  /* Constrained mode (applied via modifier class) */
  &.slideshow-constrained {
    max-width: var(--container-max-width);
    margin-inline: auto;
  }

  & .slideshow-track {
    position: relative;
    width: 100%;
    height: 100%;
  }

  & .slideshow-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;

    &.is-active {
      opacity: 1;
      z-index: 1;
      position: relative;
    }

    /* Since each slide IS a .widget, reset its margins */
    &.widget {
      margin-block: 0;
      padding-inline: 0;
    }

    /* Hero/Slideshow spacing hierarchy */
    & .widget-eyebrow {
      margin-block-end: var(--space-md);
    }

    & .widget-headline {
      margin-block-end: var(--space-lg);
    }

    & .widget-description {
      margin-block-end: var(--space-lg);

      &:last-child {
        margin-block-end: 0;
      }
    }

    & .widget-actions {
      margin-block-start: var(--space-xl);
    }

    /* Center single button */
    & .widget-actions-single {
      justify-content: center;
    }
  }

  /* Navigation */
  & .slideshow-nav {
    position: absolute;
    inset-block-start: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
    color: var(--color-white);
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
    transition: background-color 0.3s;

    &:hover {
      background-color: rgba(255, 255, 255, 0.2);
    }

    & svg {
      width: 2.4rem;
      height: 2.4rem;
    }
  }

  & .slideshow-prev {
    inset-inline-start: var(--space-lg);
  }

  & .slideshow-next {
    inset-inline-end: var(--space-lg);
  }

  /* Pagination */
  & .slideshow-pagination {
    position: absolute;
    inset-block-end: var(--space-xl);
    inset-inline: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    gap: var(--space-sm);
  }

  & .slideshow-dot {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--color-white);
    opacity: 0.5;
    border: none;
    cursor: pointer;
    transition:
      opacity 0.3s,
      transform 0.3s;
    padding: 0;

    &:hover,
    &.is-active {
      opacity: 1;
    }

    &.is-active {
      transform: scale(1.2);
    }
  }

  @media (max-width: 749px) {
    /* Add horizontal padding to content on mobile */
    & .slideshow-slide .widget-container {
      padding-inline: var(--space-md);
    }

    /* Hide navigation arrows on mobile */
    & .slideshow-nav {
      display: none;
    }

    /* Position pagination container */
    & .slideshow-pagination {
      inset-block-end: var(--space-xl);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-sm);
    }
  }
}
