/* If logo gallery has no blue background colour, wrapper should have no padding */
.paragraph--type--logo-gallery:not(.c-bg--blue) {
  .logo-gallery__wrapper {
    padding: 0;
  }
}

.logo-gallery__wrapper {
  border: var(--spacing-1px) solid var(--c-light-grey);
  border-left-width: 0;
  border-right-width: 0;
  padding: var(--spacing-10) 0;
  position: relative;

  .logo-gallery__heading {
    text-align: center;
    margin: 0 0 var(--spacing-7);
  }

  .logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-2);
    height: 100%;
    border-radius: var(--border-radius);
    background-color: var(--c-primary-light);

    img {
      height: auto;
      max-height: 100%;
    }
  }

  .logo-gallery__slider {
    .splide__track {
      height: 100%;
    }

    .splide__slide {
      aspect-ratio: 1 / 1;
      margin-right: var(--spacing-2);
      width: var(--spacing-13);
    }
  }

  .autoplay-toggle__button {
    border-radius: 50%;
    background-color: var(--c-primary-light);
    color: var(--c-primary-blue);
    width: var(--spacing-6);
    height: var(--spacing-6);
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: var(--spacing-4) auto 0;

    .play-icon.hidden {
      display: none;
    }

    svg {
      height: var(--spacing-4);
    }
  }

  .autoplay-toggle__button:hover {
    background-color: var(--c-primary-orange);
  }

  .logo-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, var(--spacing-13));
    grid-auto-rows: var(--spacing-13);
    gap: var(--spacing-2);
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .paragraph--type--logo-gallery:not(.c-bg--blue) {
    .autoplay-toggle__button {
      top: 0;
    }
  }

  .logo-gallery__wrapper {
    padding: var(--spacing-10) 0;

    .logo-gallery__heading {
      margin: 0 0 var(--spacing-8);
    }

    .logo {
      padding: var(--spacing-3);
    }

    .logo-gallery__slider {
      .splide__slide {
        width: 10.75rem;
      }
    }

    .autoplay-toggle__button {
      position: absolute;
      right: 0;
      top: var(--spacing-9);
      margin: 0;
    }

    .logo-gallery__grid {
      grid-template-columns: repeat(4, 10.75rem);
      grid-auto-rows: 10.75rem;
    }
  }
}

@media (min-width: 1440px) {
  .logo-gallery__wrapper {
    padding: var(--spacing-15) 0;

    .logo {
      padding: var(--spacing-4);
    }

    .logo-gallery__grid {
      grid-template-columns: repeat(4, 12.75rem);
      grid-auto-rows: 12.75rem;
      gap: var(--spacing-4);
    }

    .autoplay-toggle__button {
      top: var(--spacing-15);
    }

    .logo-gallery__slider .splide__slide {
      width: 12.75rem;
      margin-right: var(--spacing-4);
    }
  }
}
