/* ================= HERO ================= */

.hero-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--spacing-xl);
}

.hero-text {
  flex: 1;
  min-width: 280px;
}

.hero-image {
  flex: 1;
  min-width: 280px;
  text-align: center;
}
.hero-image img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* ================= SERVICES ================= */

.services-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-lg);
}

.service-card {
  background-color: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: var(--spacing-lg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: transform 0.2s ease;
  flex: 1 1 280px;
  max-width: 320px;
  flex: 1 1 calc(33.33% - var(--spacing-lg));
  max-width: calc(33.33% - var(--spacing-lg));
}
.service-card:hover {
  transform: translateY(-4px);
}

@media (max-width: 1024px) {
  .service-card {
    flex: 1 1 calc(50% - var(--spacing-lg));
    max-width: calc(50% - var(--spacing-lg));
  }
}

@media (max-width: 640px) {
  .service-card {
    flex: 1 1 100%;
    max-width: 100%;
  }
}


/* ================= FEATURES (Why choose us) ================= */

.features-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-lg);
}

.feature-item {
  background-color: var(--color-background);
  padding: var(--spacing-lg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  flex: 1 1 280px;
  max-width: 320px;
  text-align: left;
}

/* ================= PROJECT GALLERY ================= */

.project-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-lg);
}

.project-card {
  flex: 1 1 280px;
  max-width: 300px;
}
.project-card img {
  width: 100%;
  height: auto;
  border-radius: var(--radius);
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}


/* ================= RESPONSIVE ================= */

@media (max-width: 768px) {
  .hero-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .hero-text,
  .hero-image {
    width: 100%;
  }
  .service-card,
  .feature-item,
  .project-card {
    max-width: 100%;
  }
}



/* flex sample */
/* ================= FLEX GRID UTILE ================= */

.flex-grid {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  justify-content: center;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-xl);
}
/* 
.flex-card {
  background-color: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: var(--spacing-lg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: transform 0.2s ease;
  flex: 1 1 calc(33.33% - var(--spacing-lg));
  max-width: calc(33.33% - var(--spacing-lg));
}
.flex-card:hover {
  transform: translateY(-4px);
} */

.flex-card {
  background-color: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: var(--spacing-lg);
  box-shadow: 0 6px 16px rgba(0,0,0,0.06); /* ombre plus marquée même sans hover */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  flex: 1 1 calc(33.33% - var(--spacing-lg));
  max-width: calc(33.33% - var(--spacing-lg));
  position: relative;
  overflow: hidden; /* pour contenir la ligne cobalt */
}

/* Ligne cobalt (cachée par défaut) */
.flex-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0; /* 👉 tu peux mettre top:0; si tu préfères en haut */
  height: 3px;
  background: linear-gradient(90deg, rgba(0,71,171,0.8), rgba(0,212,192,0.8));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

/* Effet volant + ligne cobalt visible */
.flex-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

.flex-card:hover::after {
  transform: scaleX(1);
}


@media (max-width: 1024px) {
  .flex-card {
    flex: 1 1 calc(50% - var(--spacing-lg));
    max-width: calc(50% - var(--spacing-lg));
  }
}

@media (max-width: 640px) {
  .flex-card {
    flex: 1 1 100%;
    max-width: 100%;
  }
}


