/* --------------------------------------------- */
/*   Style de la div qui contient les projets   */
/* ------------------------------------------- */

.content-frame-project {
  display: none;
  flex-direction: row;
  align-items: stretch;
  flex: 1;
  min-height: 0;
  font-family: var(--font-global);

  .single-project-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 4rem;
    width: 100%;
  }

  /* PRÉVISUALISATION DU PROJET */
  .project-preview {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1 1 20%;
    min-width: 0;
    min-height: 0;
    gap: 0.75rem;
    padding: 0;

    .project-header {
      display: flex;
      flex-direction: column;
      flex-shrink: 0;
      gap: 0.75rem;
      margin: 0;

      .main-title-project {
        display: flex;
        gap: 0.5rem;
        margin: 0;
        line-height: 1;
        font-size: clamp(3rem, 6vw, 4.5rem);
        color: var(--text-primary-color);

        .project-number {
          color: var(--text-tertiary-color);
        }

        .project-name {
          color: var(--text-primary-color);
        }
      }

      .description-project {
        margin: 0;
        max-width: 600px;
        font-size: clamp(0.75rem, 1vw, 1rem);
        line-height: 1.5;
        font-weight: 400;
        color: var(--text-tertiary-color);
      }
    }

    /* CARROUSEL DU PROJET */
    .project-carousel {
      display: flex;
      flex-direction: column;
      width: 100%;
      min-height: 0;
      gap: 0.75rem;

      .carousel-viewport {
        display: flex;
        justify-content: center;
        align-items: center;
        flex: 1;
        min-height: 0;
        width: 100%;
        padding: 0;
        margin: 0;
        overflow: hidden;
        background-color: var(--background-color);
        border-radius: 10px;

        .carousel-track {
          display: flex;
          flex-direction: column;
          width: 100%;
          height: 100%;
          margin: 0;
          padding: 0;
        }

        li {
          list-style: none;
          width: 100%;
          height: 100%;
          display: none;

          &.active {
            display: flex;
            justify-content: center;
            align-items: center;
          }

          img {
            width: 100%;
            height: 100%;
            max-width: 100%;
            max-height: 100%;
            display: block;
            object-fit: contain;
          }

          .carousel-slide {
            &.active {
              display: block;
            }

            &.inactive {
              display: none;
            }
          }
        }
      }
    }

    .carousel-dots {
      display: flex;
      justify-content: center;
      align-items: center;
      align-self: center;
      flex-shrink: 0;
      gap: 0.5rem;

      .dot {
        appearance: none;
        flex-shrink: 0;
        width: 0.8rem;
        aspect-ratio: 1;
        height: auto;
        padding: 0;
        border-radius: 50%;
        background-color: var(--button-color);
        border: 1.5px solid var(--button-stroke);
        cursor: pointer;

        &.active {
          background-color: var(--text-primary-color);
        }

        &:hover {
          background-color: var(--text-tertiary-color);
        }

        &:checked {
          background-color: var(--text-primary-color);
        }
      }
    }

    .project-actions {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-shrink: 0;
      gap: 1rem;
      margin-top: 1rem;
    }
  }
}

/* DÉTAILS DU PROJET */
.project-details {
  display: flex;
  flex-direction: column;
  flex: 1 1;
  min-width: 0;
  gap: 4rem;
  padding-top: 7rem;

  h2 {
    margin: 0;
    font-size: clamp(1.85rem, 3.4vw, 2.45rem);
    font-weight: 600;
    color: var(--text-secondary-color);

    &::after {
      content: "";
      display: block;
      width: 3rem;
      height: 3px;
      margin-top: 0.5rem;
      margin-bottom: 1rem;
      background-color: var(--text-primary-color);
    }
  }

  p {
    font-size: clamp(0.75rem, 1vw, 1rem);
    line-height: 1.5;
    font-weight: 400;
    color: var(--text-primary-color);
  }

  .tech-stack-badges {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    width: 100%;

    .badge-tech {
      display: flex;
      flex: 0 0 auto;

      .tech-icons {
        display: block;
        width: 5rem;
        height: 5rem;
      }
    }
  }
}

/* MODAL D'INFORMATION */
#modalInfo {
  display: none;
}