.niccos-tutorials {
  .niccos-tutorials__head {
    display: flex;
    flex-direction: column;
    gap: var(--sp-5);
    padding: 78px 22px 116px;
    align-items: center;

    @media screen and (max-width: 990px){
      padding: 50px 22px 70px;
    }
  }

  .niccos-tutorials__title {
    font-size: clamp(var(--sp-6d5), 2.5vw, var(--sp-10));
    color: rgb(var(--color-text-black));
    text-align: center;
    line-height: 1.1;
  }

  .niccos-tutorials__description {
    font-size: clamp(var(--sp-3d5), 2.5vw, var(--sp-4d5));
    color: rgb(var(--color-light-blue));
    text-align: center;
    line-height: 1.45;
  }

  .tutorials-control {
    padding: 30px 40px;
    box-shadow: 0 0 12px 2px rgba(119, 119, 119, 0.1);
    background: rgb(var(--color-total-white));
    border-radius: 14px;
    width: fit-content;
    margin: auto;
    transform: translateY(-50%);
    max-width: calc(100% - var(--sp-10));

    @media screen and (max-width: 990px){
      padding: 25px;
      transform: translateY(-50px);
    }

    .tutorials-control__title {
      font-weight: var(--font-semi-bold);
      font-size: clamp(var(--sp-4d5), 2.5vw, var(--sp-5d5));
      line-height: 1.45;
      margin-bottom: clamp(var(--sp-2d5), 2.5vw, var(--sp-4));
    }

    .tutorials-control__list {
      display: flex;
      flex-wrap: wrap;
      gap: var(--sp-2d5);
    }

    .tutorials-control__button.button--primary {
      border: 1px solid transparent;
    }
  }

  .tutorials-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: var(--sp-7);
    row-gap: var(--sp-10);

    @media screen and (max-width: 1200px){
      grid-template-columns: 1fr 1fr;
    }

    @media screen and (max-width: 990px){
      grid-template-columns: 1fr;
    }

    .tutorials-list__item {
      display: none;
      cursor: pointer;

      h3 {
        margin-top: var(--sp-2);
      }

      .image-block {
        position: relative;
        border-radius: var(--sp-3);
        overflow: hidden;
        aspect-ratio: 387/217;

        svg {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
        }

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      h4 {
        margin-top: var(--sp-3d5);
        font-size: var(--sp-4d5);
        font-weight: var(--font-semi-bold);
        line-height: 1.25;
        color: rgb(var(--color-text-black));
      }
    }

    .tutorials-list__item.active {
      display: block;
    }
  }

  .tutorials-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    display: none;

    .tutorials-popup__overlay {
      display: block;
      width: 100%;
      height: 100%;
      background-color: rgb(var(--color-text-black), 0.4);
    }

    .tutorials-popup__video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      max-width: 900px;

      .video-wrapper {
        position: relative;
        width: 80vw;
        max-width: 100%;
        padding-bottom: 56.25%;
        height: 0;

        iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          border: 0;
        }

        .button {
          position: absolute;
          right: 0;
          top: 0;
          transform: translate(100%, -100%);

          @media screen and (max-width: 639px) {
            height: var(--sp-7);
            width: var(--sp-7);
            clip: unset;
          }
        }
      }
    }
  }

  .tutorials-popup.active {
    display: block;
  }

  .image-block__overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: #F0F2F5;
    padding: 1rem;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;

    h3 {
      font-size: var(--sp-4);
      text-align: center;
    }

    p {
      font-size: var(--sp-3);
      text-align: center;
    }

    a {
      font-size: var(--sp-3);
      color: rgb(var(--color-blue));
    }

    button {
      margin-top: var(--sp-3);
      margin-top: 0;
      padding: 0.4rem 1rem;
    }
  }
}

.niccos-tutorials__wrapper:has(.tutorials-control li:only-child) {
  .niccos-tutorials__head {
    padding-block: 78px;

    @media screen and (max-width: 990px){
      padding-block: 50px;
    }
  }
  .tutorials-control {
    display: none;
  }
  .tutorials-list {
    padding-top: var(--sp-10);
  }
}

body.cookie-youtube-accept {
  .tutorials-list__item .image-block__overlay {
    display: none;
  }
}