@charset "UTF-8";

body, html 
{
    padding: 0;
    margin: 0;
}

.container-fluid
{
    padding: 0;
}

.separator
{
    height: 2px;
    width: 20%;
    border: none;
    box-shadow: none;
    background-color: #324359;
    margin: 0 auto; /* Centre horizontalement */
}

.hugeSeparator
{
    height: 5px;
    width: 100%;
    border: none;
    box-shadow: none;
    background-color: #324359;
}

.backgroundGrey 
{
    background-color: lightgrey;
}

h2, h1, h4, .rowPadding
{
    padding-top: 5%;
    padding-bottom: 2%;
}

/*  Header  */
.header
{
    background-color:  #162238;
    line-height: 50px;
    position: fixed;
    z-index: 10;

    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    box-sizing: border-box;
}

/* Structure de base */
.nav-wrapper 
{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

/* Logo à gauche */
.logo 
{
  color: rgb(255, 255, 255) !important;
  flex: 1;
  text-align: left;
  font-size: 1.5em;
  text-decoration: none;
}

.logo:hover 
{
    color: rgb(255, 184, 54) !important;
    text-decoration: none;
}

.logo-line 
{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

/* Menu à droite sur PC */
.menu 
{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap:  30px;
}

.menu a 
{
    color: white;
    text-decoration: none;
    height: 100%;
}

.menu a:hover 
{
    color: rgb(255, 184, 54);
}

.copyright
{
    color:lightgrey;
    font-size: 1em;
}


.icon-group 
{
    padding-left: 50px;
}

#project,
#projectStudent,
#language,
#software,
#contact 
{
    scroll-margin-top: 80px; /* ou plus selon le rendu réel */
}

#projectReleased_Project,
#projectStudent_Project,
#others_Project
{
    scroll-margin-top: 90px; /* ou plus selon le rendu réel */
}

@media screen and (min-width: 768px) and (max-width: 1000px) 
{
  .menu {
    font-size: 0.7em;
  }
}

@media screen and (max-width: 767px) 
{
  .menu {
    font-size: 0.5em;
  }
}

/* Par défaut (mobile) */
.custom-col-5 
{
    padding-bottom: 30px !important;
}


/* Pour les xécrans plus larges (PC) */
@media (min-width: 992px) 
{
  .custom-col-5 {
    flex: 0 0 20% !important;
    max-width: 20% !important;
    padding-bottom: 50px !important;
  }
}

.header-spacer 
{
  height: 50px; /* même hauteur que .header */
}

.header-spacer-insideProject 
{
  height: 0px; /* même hauteur que .header */
}

.banner, .ban 
{
    width: 100%;
    max-width: 100%;
}

.ban img 
{
    width: 100%;
    max-width: 100%;
}

.inner_banner
{
    position: absolute;
    top: 20%;
    left: 0;
    width: 100%;
    text-align: center;
}

/* A propos */
.divInformationsAbout 
{
    padding-left: 2%;
    margin-top: 5px;
    margin-bottom: 5px;
    justify-content: center;
}

/*Language*/
.txtTypeLanguage
{
    padding-top: 10%;
    font-size: 22px ;
    text-align: left;
}

/*SoftWare*/
.PictureSoftware
{
    width: 80px;
    height: 80px;
}

.footer
{
    background-color: #162238;
    color: white;
}

#about, #project, #projectStudent, #language, #software, #contact, .center
{
    text-align: center;
}

.spacing
{
    height: 20px;
}

.pictureNavBar
{
    width:40px;
    padding-right: 10px;
}

.pictureNavBar:hover 
{
    filter: brightness(0) saturate(100%) invert(78%) sepia(83%) saturate(4169%) hue-rotate(2deg) brightness(100%) contrast(101%);
}

.picturePlaform
{
    padding: 5px;
    width: 55px; 
    height: 55px;
}

.pictureTechnology
{
    width: 55x; 
    height:55px;
    padding: 5px;
}

/* Project */
.PictureProject
{
    width: 100%;
    max-width: 100%;
    padding:5px;
    border-radius: 20px;
    object-fit: cover;
    display: block;
}

/* PictureViewer / thumbnails */
.pictureViewer 
{
    position: relative;
    width: 18%;
    aspect-ratio: 16/9;
    background-color: white;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
    padding: 2px;
}

.pictureViewer.selected {
  border: 3px solid darkorange;
  box-shadow: 0 0 10px rgba(255, 184, 54, 0.6);
  border-radius: 8px;
}

.thumbnails-container
{
    padding-left: 5%;
}

.thumbnail-image, .thumbnail-img 
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.play-overlay 
{
    position: absolute;
    width: 40px;
    height: 40px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url('resources/icons/play.png');
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1000;
    pointer-events: none; /* clic passe à la miniature */
}

/* Viewer */
#viewer-container 
{ 
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9; /* viewer 16:9 */
    border: 4px solid #324359;
    background-color: #000;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}

.viewer-media 
{
    width: 100%;
    height: 100%;
    object-fit: contain; /* image entière, pas de crop */
}

/* Hover */
.hoverAnimated 
{
    transition: transform 0.2s , box-shadow 0.2s;
}

.hoverAnimated:hover 
{
    transform: scale(1.05);
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.6));
    cursor: pointer;
}

.hoverAnimated:active 
{
    transform: scale(1);
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
}

/* Header / Content */
.headerInProject 
{
    font-size: 1.25em;
    font-weight: bold;
}

.contentInProject 
{
    font-size: 1em;
    padding-bottom: 10px;
}

.award 
{
    filter: invert(54%) sepia(87%) saturate(500%) hue-rotate(5deg) brightness(1) contrast(1);
    height:100px;
    width: 100px;
}

/* Steam Button */
.steam-container 
{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px; /* gap retrouvé */
}

.steam-button 
{
    display: inline-flex;
    gap: 20px;
    align-items: center;
    color: #ffffff !important;       /* force le blanc */
    text-decoration: none !important; /* supprime le soulignement */
    font-size: 16px;
    font-weight: bold;
    padding: 10px 24px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    width: 50%;
    height: 70px;
    background: linear-gradient(0deg, #ff9900, #ffae00);
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.2s;
}

.steam-button:hover 
{
    background: linear-gradient(0deg, #ff9900, #ffd000);
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.6));
    transform: scale(1.05);
    color: #ffffff !important;         /* toujours blanc */
    text-decoration: none !important;  /* pas de soulignement */
}

.steam-button:active 
{
    background: linear-gradient(to right, #b66d00, #9c6b00);
    scale: 1;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
    color: #ffffff !important;         /* toujours blanc */
    text-decoration: none !important;  /* pas de soulignement */
}

.steam-button img 
{
    height: 3em;
    width: auto;
}

.barlow 
{
    font-family: 'Barlow', sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.barlow-center 
{
    font-family: 'Barlow', sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-align: center;
    padding-top: 2%;
}


/* Langages de Programmation - Responsive */
.langBox 
{
  text-align: center;
  margin-bottom: 20px;
}

.PictureSoftware {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  max-width: 80px;
  margin: auto;
  display: block;
}

/* Par défaut : titre centré */
.bloc-titre 
{
  text-align: center;
}

.info-indent 
{
  margin-left: 30px; /* ou padding-left: 20px */
}

.pictureNavBar 
{
  width: 40px;         /* ou 32px, selon ton design */
  height: auto;        /* conserve le ratio */
  object-fit: contain; /* évite l'étirement */
}

/* // RESPONSIVE IPHONE */
/* // RESPONSIVE IPHONE */
/* // RESPONSIVE IPHONE */
/* // RESPONSIVE IPHONE */
/* // RESPONSIVE IPHONE */
/* Titre à gauche sur PC, en haut sur mobile */
@media screen and (max-width: 767px) 
{
    .header 
    {
        height: auto; /* permet au header de s'adapter au contenu */
        padding-bottom: 10px;
    }

    .nav-wrapper 
    {
        display: flex;
        flex-direction: space-between;
        align-items: flex-start;
    }

    .logo 
    {
        width: 100%;
        text-align: left;
        font-size: 1em;
    }

    .logo-line 
    {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        flex-wrap: nowrap;
    }

    .icon-group 
    {
        padding-left: 0;
    }

    .menu 
    {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;    
        align-items: center;
        width: 100%;
        row-gap: 8px; /* petit saut de ligne si nécessaire */
        gap: 15px;
    }

    .menu a 
    {
        font-size: 1em;
        line-height: 0.5em;
        background-color: transparent;
        border: none;
    }

    .copyright
    {
        font-size: 0.75em;
    }

    .steam-button 
    {
        padding: 5px 5px;
        gap: 10px;
        font-size: 0.8em;
    }

    .award 
    {
        height: 98%;
    }

    .divInformationsAbout 
    {
        font-size: 0.8em;
        text-justify: auto;
    }

    .bloc-titre 
    {
        order: -1; /* place le bloc en premier */
        width: 100%;
        text-align: left;
        padding-left: 15px;
        font-weight: bold; /* met tout le texte en gras */
    }

    .PictureSoftware 
    {
        max-width: 100px;
        max-width: 60px;
    }

    .txtTypeLanguage 
    {
        padding-top: 0;
        font-size: 18px;
    }

    .langBox hr 
    {
        margin: 6px auto;
        width: 40%;
    }

    .langBox p 
    {
        font-size: 0.9em;
    }

    .header-spacer 
    {
        height: 55px; /* si le header est plus haut sur mobile */
    }

    .header-spacer-insideProject 
    {
        height: 35px; /* même hauteur que .header */
    }

    #project,
    #projectStudent,
    #language,
    #software,
    #contact {
        scroll-margin-top: 80px; /* ou plus selon le rendu réel */
    }

    #projectReleased_Project,
    #projectStudent_Project,
    #others_Project
    {
        scroll-margin-top: 90px; /* ou plus selon le rendu réel */
    }

    .info-columns 
    {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .info-block 
    {
        width: 50%;
        box-sizing: border-box;
    }
}   

/*  */
/*  */
/*  */
/*  */
/*  */
/*  */
/* 
#viewer-container {
  position: relative;
  width: 100%;
  max-width: 900px;
  aspect-ratio: 16 / 9;
  margin: auto;
  border-radius: 20px;
  overflow: hidden;

  background: radial-gradient(circle at center, #0f172a 0%, #1e293b 100%);
  box-shadow: 0 0 20px rgba(255, 184, 54, 0.4), 0 0 40px rgba(255, 184, 54, 0.2);
  border: 3px solid transparent;
  background-clip: padding-box;
}

#viewer-container::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  padding: 3px;
  background: linear-gradient(135deg, #ffb836, #ff9900, #ffb836);
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  pointer-events: none;
}

.viewer-media {
  width: 100%;
  height: 100%;
  object-fit: contain;
  z-index: 1;
} */