/* /css/style_about.css */

/* Styles globaux pour la page À propos */

/* Section 1 - Slogan / Accueil */
.hero-section {
    position: relative;
    background-image: url('https://www.ecomelio.fr/images/dunes.jpg'); /* Mettez le chemin correct vers votre image */
    background-size: cover;
    background-position: center;
    padding: 100px 20px;
    text-align: center;
    color: #ffffff;
}

  /* Sous-titre de la section */
  .hero-subtitle {
    font-size: clamp(0.875rem, 0.38vw + 0.8rem, 1.125rem);
    font-weight: 400;
    letter-spacing: 0.08em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.24;
    text-transform: uppercase;
    margin-bottom: 20px;
  }

.hero-content {
    max-width: 800px;
    margin: 0 auto;
}

.hero-title {
    font-size: clamp(3.5rem, 2.63vw + 2.99rem, 5.25rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    font-family: 'Tiempos Headline', 'Lucida', Georgia, serif;
    line-height: 1.08;
    margin-bottom: 20px;
}

.hero-description {
    font-size: clamp(1.125rem, 0.56vw + 1.02rem, 1.5rem);
    font-weight: 400;
    letter-spacing: -0.005em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.24;
    margin-bottom: 40px;
}

/* Section Bouton Appel à l'Action */
.btnprojet {
    text-align: center;
    margin: 40px 0;
}

.cta-button {
    display: inline-block;
    padding: 15px 30px;
    background-color: #111111;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: background-color 0.3s, transform 0.3s;
}

.cta-button:hover {
    background-color: #333333;
}

/* Section Vision */
.hero-section-2 {
    padding: 100px 20px;
    position: relative;
    z-index: 8;
}

/* Contenu principal de la section */
.hero-section-2 .section-content {
  max-width: 1200px;         /* largeur max du contenu */
  width: 100%;
  margin: 0 auto;            /* centre horizontalement */
  padding-left: clamp(16px, 5vw, 40px);
  padding-right: clamp(16px, 5vw, 40px);
  /* on garde tes règles existantes */
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  text-align: left;
}

/* Contenu textuel */
.hero-section-2 .text-content {
    flex: 1;
    max-width: 600px;
    text-align: left;
}

/* Titre principal */
.hero-section-2 .title {
    font-family: 'Tiempos Headline', 'Lucida', Georgia, serif;
    margin-bottom: 20px;
    font-size: clamp(2.5rem, 1.69rem + 4.14vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.0075em;
    line-height: 1.16;
}

/* Sous-titre */
.hero-section-2 .subtitle {
    font-size: clamp(1.125rem, 1.02rem + 0.56vw, 1.5rem);
    font-weight: 400;
    letter-spacing: -0.005em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.24;
    margin-bottom: 30px;
}

/* Bouton d'appel à l'action */
.hero-section-2 .cta-button {
    display: inline-block;
    padding: 15px 30px;
    background-color: #111111;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: background-color 0.3s, transform 0.3s;
    margin-bottom: 30px;
}

.hero-section-2 .cta-button:hover {
    background-color: #333333;
}

/* Contenu image */
.hero-section-2 .media-content {
    flex: 1;
    max-width: 700px;
    overflow: hidden;
    text-align: center;
}

.hero-section-2 .background-image {
    width: 100%;
    max-width: 400px;
    height: auto;
    object-fit: cover;
    border-radius: 15px;
}

/* Responsivité pour petits écrans */
@media (max-width: 768px) {
    .hero-section-2 .section-content {
        flex-direction: column;
        align-items: center;
        padding: 20px 20px;
    }

    .hero-section-2 .text-content {
        text-align: center;
    }

    .hero-section-2 .media-content {
        order: 2;
        margin-top: 20px;
    }
}

/* Section Valeurs */
.hero-section-3 {
    padding: 100px 20px;
    background-color: #f8f8f8;
    position: relative;
    z-index: 8;
}

/* Contenu principal de la section */
.hero-section-3 .section-content {
  max-width: 1200px;         /* largeur max du contenu */
  width: 100%;
  margin: 0 auto;            /* centre horizontalement */
  padding-left: clamp(16px, 5vw, 40px);
  padding-right: clamp(16px, 5vw, 40px);
  /* on garde tes règles existantes */
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  text-align: left;
}

/* Contenu textuel */
.hero-section-3 .text-content {
    flex: 1;
    max-width: 600px;
    text-align: left;
}

/* Titre principal */
.hero-section-3 .title {
    font-family: 'Tiempos Headline', 'Lucida', Georgia, serif;
    margin-bottom: 20px;
    font-size: clamp(2.5rem, 1.69rem + 4.14vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.0075em;
    line-height: 1.16;
}

/* Sous-titre */
.hero-section-3 .subtitle {
    font-size: clamp(1.125rem, 1.02rem + 0.56vw, 1.5rem);
    font-weight: 400;
    letter-spacing: -0.005em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.24;
    margin-bottom: 30px;
}

/* Contenu image */
.hero-section-3 .media-content {
    flex: 1;
    max-width: 700px;
    overflow: hidden;
    text-align: center;
}

.hero-section-3 .background-image {
    width: 100%;
    max-width: 400px;
    height: auto;
    object-fit: cover;
    border-radius: 15px;
}

/* Styles pour les points clés */
.key-points {
    display: flex;
    justify-content: space-around; /* Espace horizontal entre les colonnes */
    align-items: stretch;          /* Chaque .key-point occupe la même hauteur */
    flex-wrap: wrap;              /* Passe en colonne sur petits écrans si besoin */
    gap: 30px;
    margin-top: 60px;
    padding: 0 20px;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
  }
  
  .key-point {
    /* Pour occuper la hauteur imposée par .key-points */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centre verticalement titre + paragraphe */
    text-align: center;      /* Centre le texte dans le bloc */
    flex: 1;                 /* Facultatif: force chaque bloc à prendre une largeur égale */
    max-width: 300px;        /* Largeur max */
    padding: 20px;           /* Petite marge intérieure pour aérer */
  }

.key-point h2 {
    font-size: clamp(1.5rem, 1.39rem + 0.56vw, 1.875rem);
    font-weight: 500;
    letter-spacing: -0.0075em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.24;
    margin-bottom: 10px;
}

.key-point p {
    font-size: clamp(1.125rem, 1.02rem + 0.56vw, 1.5rem);
    font-weight: 400;
    letter-spacing: -0.005em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.5;
}

/* Responsivité pour petits écrans */
@media (max-width: 768px) {
    .hero-section-3 .section-content {
        flex-direction: column;
        align-items: center;
        padding: 20px 20px;
    }

    .hero-section-3 .text-content {
        text-align: center;
    }

    .hero-section-3 .media-content {
        order: 2;
        margin-top: 20px;
    }

    .key-points {
        flex-direction: column;
        border-top: none;
        border-bottom: none;
        align-items: center;
    }

    .key-point {
        border-bottom: 1px solid #e1e1e1;
        text-align: center;
    }

    .key-point:last-child {
        border-bottom: none;
    }
}


/* Section Équipe */

.section-equipe {
    padding: 100px 20px;
    position: relative;
    z-index: 8;
}

.section-equipe .section-header {
    text-align: center;
}

.section-equipe .section-header h2 {
    font-size: clamp(2.25rem, 1.74rem + 2.63vw, 4rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    font-family: "Tiempos Headline", Georgia, serif;
    line-height: 1.16;
    margin-bottom: 80px;
}

.section-equipe .separator-line {
    width: 100%;
    max-width: 80%;
    height: 1px;
    /*background-color: #d1d1d1;*/ 
    margin: 20px auto;
}

.team-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: center;
    justify-items: center;
    gap: 40px;
    flex-wrap: wrap;
    padding: 0 20px;
}

.team-member {
    text-align: center;
    max-width: 300px;
}

.team-member img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
}

.team-member h3 {
    margin: 10px 0 5px;
    font-size: 1.2em;
}

.team-member p {
    font-size: 1em;
    color: #111111;
    margin: 0 10px 10px;
}

/* 2 colonnes sur écrans moyens */
@media (max-width: 1024px) {
  .team-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 1 colonne sur mobile */
@media (max-width: 640px) {
  .team-container {
    grid-template-columns: 1fr;
  }
}


/* Section Sécurité */

.section-securite {
    position: relative;
    padding: 100px 20px;
    background-color: #f8f8f8;
    z-index: 8;
}

/* Contenu principal de la section */
.section-securite .section-content {
  max-width: 1200px;         /* largeur max du contenu */
  width: 100%;
  margin: 0 auto;            /* centre horizontalement */
  padding-left: clamp(16px, 5vw, 40px);
  padding-right: clamp(16px, 5vw, 40px);
  /* on garde tes règles existantes */
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  text-align: left;
}

/* Contenu textuel */
.section-securite .text-content {
    flex: 1;
    max-width: 600px;
    text-align: left;
}

/* Sous-titre de la section */
.section-securite .hero-subtitle {
    font-size: clamp(0.875rem, 0.38vw + 0.8rem, 1.125rem);
    font-weight: 400;
    letter-spacing: 0.08em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.24;
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* Titre principal */
.section-securite .title {
    font-family: 'Tiempos Headline', 'Lucida', Georgia, serif;
    margin-bottom: 20px;
    font-size: clamp(2.5rem, 1.69rem + 4.14vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -0.0075em;
    line-height: 1.16;
}

/* Sous-titre */
.section-securite .subtitle {
    font-size: clamp(1.125rem, 1.02rem + 0.56vw, 1.5rem);
    font-weight: 400;
    letter-spacing: -0.005em;
    font-family: 'Futura PT', system-ui, 'Helvetica Neue', sans-serif;
    line-height: 1.24;
    margin-bottom: 30px;
}

/* Bouton d'appel à l'action */
.section-securite .cta-button {
    display: inline-block;
    padding: 15px 30px;
    background-color: #111111;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: background-color 0.3s, transform 0.3s;
    margin-bottom: 30px;
}

.section-securite .cta-button:hover {
    background-color: #333333;
}

/* Contenu image */
.section-securite .media-content {
    flex: 1;
    max-width: 700px;
    overflow: hidden;
    text-align: center;
}

.section-securite .background-image {
    width: 100%;
    max-width: 400px;
    height: auto;
    object-fit: cover;
    border-radius: 15px;
}

/* Responsivité pour petits écrans */
@media (max-width: 768px) {
    .section-securite .section-content {
        flex-direction: column-reverse;
        align-items: center;
        padding: 20px 20px;
    }

    .section-securite .text-content {
        text-align: center;
    }

    .section-securite .media-content {
        order: 2;
        margin-top: 20px;
    }
}


/* Section Témoignages */
.section-temoignages{
    padding: 100px 20px;
    position: relative;
    z-index: 8;
}

.section-temoignages .section-header {
    text-align: center;
    margin-bottom: 40px;
}

.section-temoignages .section-header h2 {
    font-size: clamp(2.25rem, 1.74rem + 2.63vw, 4rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    font-family: "Tiempos Headline", Georgia, serif;
    line-height: 1.16;
}

.testimonials-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
}

.testimonial {
    max-width: 800px;
    margin-bottom: 30px;
    text-align: center;
}

.testimonial blockquote {
    font-size: 1.125rem; 
    font-style: italic;
    line-height: 1.5;
    color: #111111;
    margin: 20px 0;
}

.testimonial-author {
    margin-top: 10px;
    font-weight: bold;
    color: #111111;
}

/* Séparateur de section */
.section-header .separator-line {
    width: 60px;
    height: 4px;
    background-color: #111111;
    margin: 20px auto;
}

/* Responsivité */
@media (max-width: 768px) {
    .section-content {
        flex-direction: column;
        align-items: center;
        padding: 20px 20px;
    }

    .text-content {
        text-align: center;
    }

    .media-content {
        order: 2;
        margin-top: 20px;
    }

    .section-valeurs .section-content {
        flex-direction: column;
    }

    .section-valeurs .text-content,
    .section-valeurs .media-content {
        order: unset;
    }

    .team-container {
        flex-direction: column;
        align-items: center;
    }

    .section-securite .section-content {
  max-width: 1200px;         /* largeur max du contenu */
  width: 100%;
  margin: 0 auto;            /* centre horizontalement */
  padding-left: clamp(16px, 5vw, 40px);
  padding-right: clamp(16px, 5vw, 40px);
  /* on garde tes règles existantes */
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  text-align: left;
    }

    .section-temoignages .testimonials-container {
        padding: 0 20px;
    }
}
