/* GENERAL */
*

body 
{
    font-family: "Roboto",sans-serif;
    font-size: 15px;
}
h1, h2,h3,h4
{
  color: #444;  
}
h1
{
    font-family: 'Crete Round', serif;
    font-size: 45px;
}
h2
{
    font-size: 55px;
}
h3
{
    font-size: 30px;
}
h4
{
    font-size: 24px;
}
p
{
    line-height: 20px;
    color: #777;
}
ul
{
    list-style: none;
}
a
{
    text-decoration: none;
    color: #444;
}
.wrapper
{
    width: 940px;
    margin: 0 auto;
    padding: 0 10px;
}
.orange
{
    color: #ff7a00;
}
.clear
{
    clear: both;   
}
small
{
    font-size: 13px;
    font-style:italic;
}
/************************ NAV BAR ***************************/
.navbar {
    background: rgba(15, 32, 39, 0.9); /* sombre translucide (harmonisé au hero) */
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: bold;
    border-bottom: 2px solid rgba(255,255,255,0.2); /* discret */
    padding: 0.8rem 1.2rem;
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(8px); /* effet verre moderne */
}

/* Centrage du menu */
.navbar-nav {
    margin: 0 auto;
    text-align: center;
    display: flex;
    gap: 1.5rem;
}

/* Liens */
.nav-link {
    color: #ffffff !important;
    position: relative;
    padding: 0.3rem 0;
    transition: color 0.3s ease;
}

/* Soulignement animé */
.nav-link::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 3px;
    left: 0;
    bottom: -5px;
    background-color: #308051; /* cyan moderne */
    transition: width 0.3s ease;
}

/* Hover & Active */
.nav-link:hover,
.nav-link.active {
    color: #308051 !important; /* accent lumineux */
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

/* Responsive */
@media (max-width: 768px) {
    .navbar-nav {
        flex-direction: column;
        gap: 0.8rem;
    }
}

html {
  scroll-padding-top: 95px; /* remplace par la hauteur réelle de la navbar */
}
/************************ NAV BAR ***************************/

/***************** ADRESSE***************************/
.adresse {
  font-size: 12px;
  text-transform: none;
  color:#01010e
}
/***************** ADRESSE***************************/
/******************* ACCEUIL *********************************/
#Accueil {
  min-height: 100vh; /* plein écran */
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-direction: column; /* texte + logo en colonne */
  background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
  color: #fff;
  padding: 2rem;
}

/* Contenu */
#Accueil .container {
  max-width: 900px;
  animation: fadeIn 1.2s ease-in-out;
}

/* Texte */

#Accueil p {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.2rem, 3vw, 2.5rem); 
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 2rem;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
  line-height: 1.6; /* espacement entre lignes */
}

/* Logo */
#Accueil img {
  max-width: 100%;
  height: auto;
  max-height: 220px;
  transition: transform 0.4s ease, filter 0.4s ease;
}

#Accueil img:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5));
}

/* Sur mobile on réduit encore un peu */
@media (max-width: 768px) {
  #Accueil img {
    max-height: 150px;
  }
}

/* Animation d’apparition */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  #Accueil {
    padding: 1.5rem;
  }

  #Accueil img {
    max-height: 160px;
  }
}
/******************* ACCEUIL *********************************/

/******************* SAVOIR FAIRE ********************/
/******************* SAVOIR FAIRE ********************/
#SavoirFaire {
  background: linear-gradient(135deg, #1c2b3c, #243447); /* dégradé bleu pétrole */
  color: #e0e6f0; /* texte clair */
  padding: 80px 20px;
}

#SavoirFaire h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-bottom: 2rem;
  color: #308051; /* même accent que Prestations/Contact */
  font-weight: 600;
  text-align: center;
}

#SavoirFaire p {
  color: #d0d6e0; /* gris clair lisible sur fond sombre */
  line-height: 1.6;
  margin-bottom: 1rem;
}

#SavoirFaire .cta-text {
  text-align: center;
  margin-top: 2rem;
}

#SavoirFaire .cta-button {
  display: inline-block;
  margin-top: 10px;
  padding: 12px 24px;
  background: #308051;
  color: white;
  border-radius: 8px;
  font-weight: 500;
  transition: background 0.3s;
}

#SavoirFaire .cta-button:hover {
  background: #256b42; /* un peu plus foncé au hover */
}

.savoirfaire-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 40px;
}

/* Carrousel à gauche */
.savoirfaire-image {
  width: 150px;
  height: 400px; /* hauteur du carrousel */
}

.savoirfaire-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Texte à droite */
.savoirfaire-text {
  max-width: 600px;
}

.cta-button {
  display: inline-block;
  margin-top: 10px;
  padding: 12px 20px;
  background: #0077cc;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.3s;
}

.cta-button:hover {
  background: #005fa3;
}

/* Responsive mobile */
@media (max-width: 768px) {
  .savoirfaire-container {
    flex-direction: column;
    text-align: center;
  }

  .savoirfaire-image {
    height: 200px;
    width: 100px;
  }
}

.savoirfaire-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 40px;
}

/* Carrousels gauche et droite */
.savoirfaire-image {
  width: 150px;
  height: 400px;
}

.savoirfaire-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Texte centré pour mobile */
@media (max-width: 768px) {
  .savoirfaire-container {
    flex-direction: column;
    text-align: center;
  }

  .savoirfaire-image {
    height: 200px;
    width: 100px;
  }
}


/******************* SAVOIR FAIRE ********************/

/******************* PRESTATIONS ********************/
#Prestations {
  padding: 3rem 2rem;
  background: #121d2c; /* bleu très foncé */
  font-family: 'Montserrat', sans-serif;
  color: #e0e6f0; /* texte clair */
  text-align: center;
}

/* Titre de section */
#Prestations h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-bottom: 2rem;
  color: #308051; 
  font-weight: 600;
}

/* Grille des cartes */
.prestations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* Cartes individuelles */
.prestation-card {
  background: #1b2a3b; /* bleu/gris foncé */
  padding: 1.8rem;
  border-radius: 12px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); /* ombre plus prononcée */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.prestation-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.5);
}

/* Titres des cartes */
.prestation-card h3 {
  font-size: 1.3rem;
  margin-bottom: 1rem;
  color: #308051; 
}

/* Listes */
.prestation-card ul {
  list-style-type: disc;
  padding-left: 1.5rem;
  text-align: left;
}

.prestation-card ul li {
  margin-bottom: 0.6rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #e0e6f0; /* texte clair */
}

/* Responsive : texte centré sur mobile */
@media (max-width: 768px){}
/******************* PRESTATIONS ********************/

/******************* REALISATION ********************/
/******************* REALISATIONS ********************/
#realisations {
  background: linear-gradient(135deg, #1c2b3c, #243447); /* harmonisé avec savoir-faire */
  padding: 80px 20px;
  text-align: center;
  color: #e0e6f0; /* texte clair */
}

#realisations h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-bottom: 5rem;
  color: #308051; /* accent vert cohérent */
  font-weight: 600;
}

/* Container logos */
.logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 50px;
}

/* Logos */
.logo-container img {
  max-height: 130px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%) brightness(0.8); /* logos en NB par défaut */
  transition: transform 0.3s ease, filter 0.3s ease;
}

.logo-container img:hover {
  transform: scale(1.1);
  filter: grayscale(0%) brightness(1); /* couleur au hover */
}

/* Responsive */
@media (max-width: 768px) {
  .logo-container {
    gap: 25px;
  }
  .logo-container img {
    max-height: 60px;
  }
}


/******************* REALISATION ********************/

/******************* CONTACT ********************/
/* CONTACT - responsive */
#Contact {
    background-color: #0a1424;
    padding: 60px 20px; /* padding au lieu de height fixe */
    color: #fff;
}

  /* Titre de section */
  #Contact h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-bottom: 2rem;
  color: #308051; 
  font-weight: 600;
  }


/* Cartes contact */
#Contact .card {
    background-color: #1b2a3b;
    border-radius: 12px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
    padding: 20px;
}

/* Images circulaires */
#Contact .card img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    margin: 0 auto 15px auto;
    display: block;
    border: 3px solid #308051;
    border-radius: 50%;
}

/* Formulaire */
#Contact form {
    background-color: #1c2b3c;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
}

/* Inputs et textarea */
#Contact input,
#Contact textarea {
    background-color: #0a1424;
    border: 1px solid #308051;
    color: #fff;
}

#Contact input::placeholder,
#Contact textarea::placeholder {
    color: #ccc;
}

/* Bouton */
#Contact button {
    background-color: #0077cc;
    border: none;
    transition: background 0.3s;
}

#Contact button:hover {
    background-color: #0077cc;
}

/* Responsive : mobile */
@media (max-width: 768px) {
    #Contact .row {
        flex-direction: column;
    }

    #Contact .card, 
    #Contact form {
        width: 100%;
    }

    #Contact .card img {
        width: 100px;
        height: 100px;
    }
}
