/* Fichier CSS optimisé */
@import "../root.css";

/* Section principale */
.section {
  margin: var(--spacing-xxl) auto 0;
  position: relative;
  margin-bottom: 9.375rem; /* 150px converti en rem pour plus de cohérence */
}

.banner {
  position: absolute;
  top: 0;
  width: 100%;
  height: 31.25rem; /* 500px converti en rem */
  background-color: var(--color-secondary);
}

/* Layout et conteneurs */
.wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 75rem; /* 1200px */
  width: 90%;
  margin: 0 auto;
}

.content-left {
  display: flex;
  flex-direction: column;
  gap: 9.375rem;
  width: 45%; /* Largeur fixe de la colonne */
  max-width: 31.25rem; /* 500px */
}

.content-right {
  width: 45%; /* Largeur fixe de la colonne */
  max-width: 31.25rem; /* 500px */
}

/* Typographie */
.section-title {
  font-family: var(--font-primary);
  font-size: 4rem;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 3rem;
}

.section-subtitle {
  font-size: var(--font-size-large);
}

/* Services */
.services-list {
  margin-top: 6rem;
}

.service-item {
  padding: var(--spacing-sm) 0;
  border-bottom: 1px solid rgba(133, 133, 133, 0.427); /* Plus propre que #8585856d */
  font-size: var(--font-size-medium);
  transition: color var(--transition-speed) ease;
}

.service-item:hover {
  color: var(--color-primary);
}

/* Image mise en avant */
.featured-image {
  width: 454px;
  height: 592px; /* 592px */
  margin-bottom: var(--spacing-md);
  overflow: hidden;
  position: relative;
}

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

.capabilities {
  position: absolute;
  width: 85%;
  height: 85%;
  background: var(--color-light);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Texte descriptif */
.text-container {
  font-size: var(--font-size-medium);
  padding: 0;
}

.description-text {
  margin-bottom: 2rem;
  line-height: 1.6;
}

/* Section Projets */
.projects-section {
  padding: var(--spacing-xl) 0;
  overflow: hidden;
  position: relative;
}

.section-background {
  position: absolute;
  background-color: var(--color-light);
  width: 100%;
  height: 42.5rem; /* 680px */
  z-index: -1;
}

.projects-title {
  font-family: var(--font-primary);
  font-size: var(--font-size-huge);
  font-weight: 300;
  text-align: center;
  margin-bottom: var(--spacing-xl);
  position: relative;
  overflow: hidden;
}

/* Animation du titre */
.left-text,
.right-text {
  display: inline-block;
  position: relative;
  opacity: 0;
  transition: var(--transition-slow);
}

.left-text {
  transform: translateX(-100%);
}

.right-text {
  transform: translateX(100%);
}

.left-text.animate,
.right-text.animate {
  transform: translateX(0);
  opacity: 1;
}

/* Galerie de projets */
.projects-gallery {
  display: flex;
  justify-content: center;
  padding-bottom: var(--spacing-xxl);
}

.gallery-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  max-width: 75rem; /* 1200px */
  width: 90%;
  margin: 0 auto;
}

.project-item {
  width: 45%;
  max-width: 25rem; /* 400px */
}

.project-image {
  border: var(--border-thin);
  margin-bottom: var(--spacing-md);
}

.project-image img {
  width: 100%;
  border: var(--border-regular);
}

/* Contrôles de navigation */
.navigation-controls {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: var(--spacing-md);
  z-index: 10;
}

.nav-button {
  width: 2.25rem; /* 36px */
  height: 2.25rem; /* 36px */
  background-color: rgba(163, 197, 211, 0.7);
  border: none;
  border-radius: var(--border-radius-full);
  color: white;
  font-size: 1rem; /* 16px */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-fast);
}

.nav-button:hover {
  background-color: var(--color-primary);
}

/* Informations du projet */
.project-info h3 {
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: var(--spacing-xs);
  font-size: 1rem;
  font-weight: 400;
}

.project-info p {
  font-size: var(--font-size-small);
  line-height: 1.5;
  color: var(--color-text-light);
}
/* Media queries améliorées */
@media (max-width: 1250px) {
  .featured-image {
    width: 100%;
    height: auto;
    aspect-ratio: 454 / 592; /* Maintient le ratio d'aspect original */
  }
}

@media (max-width: 1024px) {
  .section-title {
    font-size: 3.5rem;
  }
}

@media (max-width: 900px) {
  .wrapper {
    flex-direction: column;
    gap: 3rem;
  }
  
  .content-left, 
  .content-right {
    width: 100%;
    max-width: 100%;
  }
  
  .content-left {
    gap: 3rem;
  }
  
  .section-title {
    font-size: 3rem;
    margin-bottom: 2rem;
  }
  
  .services-list {
    margin-top: 3rem;
  }
}

@media (max-width: 768px) {
  .section {
    margin-bottom: 5rem;
  }
  
  .banner {
    height: 25rem;
  }
  
  .section-title {
    font-size: 2.5rem;
  }
  
  .featured-image {
    display: none; /* Masque l'élément featured-image sur mobile */
  }
  
  .capabilities {
    width: 90%;
    height: 90%;
  }
}

@media (max-width: 600px) {
  .section {
    margin-bottom: 4rem;
  }
  
  .banner {
    height: 20rem;
  }
  
  .wrapper {
    width: 95%;
  }
  
  .section-title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
  
  .service-item {
    padding: var(--spacing-xs) 0;
  }
  
  .text-container {
    font-size: var(--font-size-small);
  }
  
  .gallery-container {
    flex-direction: column;
    gap: 2rem;
  }
  
  .project-item {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .banner {
    height: 15rem;
  }
  
  .section-title {
    font-size: 1.75rem;
  }
  
  .navigation-controls {
    bottom: -3rem;
    top: auto;
  }
}

@media (max-width: 375px) {
  .section-title {
    font-size: 1.5rem;
  }
}