:root {
  --rcse-green: #04642b;
  --rcse-green-dark: #143c14;
  --rcse-border-red: #b22222;
  --radius: 20px;
}

/* --- STYLE DE BASE (MOBILE) --- */

body {
  margin: 0;
  font-family: 'Arial', sans-serif;
  background-color: #f9f9f9;
}

/* Hero Section */
.club-hero {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  color: white;

  background: linear-gradient(
      to right, 
      rgba(20, 60, 20, 0.95) 0%, 
      rgba(20, 60, 20, 0.7) 50%, 
      transparent 100%
    ), 
    url('../img/imageClub.jpg') no-repeat center center / cover;
}

.club-hero h1 {
    color: white;
    font-size: 3rem;
    font-family: 'Arial Black', sans-serif;
    text-transform: uppercase; 
    margin: 0;
}

h2 {
  text-align: center;
  font-family: 'Arial Black', sans-serif;
  color: var(--rcse-green);
  margin: 40px 0 20px;
  text-transform: uppercase;
}

/* --- CARROUSEL STAFF (MOBILE FIRST) --- */

.staff-container {
  display: flex;
  flex-direction: row;
  overflow-x: auto; /* Active le scroll horizontal */
  scroll-snap-type: x mandatory; /* Aimantage des cartes */
  gap: 15px;
  padding: 20px;
  scrollbar-width: none; /* Cache la barre sur Firefox */
  -webkit-overflow-scrolling: touch;
}

.staff-container::-webkit-scrollbar {
  display: none; /* Cache la barre sur Chrome/Safari */
}

.staff-card {
  background-color: var(--rcse-green);
  border: 3px solid var(--rcse-border-red);
  border-radius: var(--radius);
  flex: 0 0 240px;
  scroll-snap-align: center;
  display: flex;
  align-items: center;
  padding: 15px;
  color: white;
}

.staff-photo {
  width: 70px;
  height: 70px;
  background-color: #fff;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 15px;
  border: 2px solid white;
  flex-shrink: 0;
}

.staff-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.staff-email {
  color: #ffff;
  text-decoration: none; 
  font-size: 0.85rem;
  margin-top: 5px;
  display: inline-block;
  transition: color 0.3s ease;
}


.staff-email:hover {
  color: #b22222; 
  text-decoration: underline; 
}


.staff-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.staff-info strong {
  display: block;
  font-size: 1rem;
  text-transform: uppercase;
}

.staff-info span {
  font-size: 0.85rem;
  opacity: 0.9;
}

/* Sections Textes */
.text-section {
  padding: 0 25px;
  margin-bottom: 30px;
  line-height: 1.6;
  color: #333;
}

.text-section p {
  text-align: center;
}

/* Map */
.map-container {
  width: 90%;
  margin: 0 auto 50px;
  border-radius: 15px;
  overflow: hidden;
  border: 4px solid #eee;
  line-height: 0;
}

/* --- ADAPTATION TABLETTE & PC (MIN-WIDTH 768px) --- */

@media (min-width: 768px) {
  .club-hero {
    height: 350px;
    justify-content: flex-start;
    padding-left: 10%; 
    background: linear-gradient(
      to right, 
      rgba(20, 60, 20, 0.95) 0%, 
      rgba(20, 60, 20, 0.4) 60%, 
      transparent 100%
    ), 
    url('../img/imgClub.jpg') no-repeat center 20% / cover;
  }

  .club-hero h1 {
    font-size: 5rem;
  }

.staff-container {
    display: grid;
    grid-template-rows: repeat(3, auto); 
    grid-auto-flow: column; 
    grid-auto-columns: 320px; 
    max-width: 1200px;
    margin: 0 auto;
    column-gap: 30px; 
    row-gap: 20px;
    padding: 40px 20px;
    overflow-x: auto;
    scroll-padding: 20px; 
  }

  .staff-card {
    box-sizing: border-box; 
    width: 100%;
    height: 110px;
  }
}

  .text-section {
    max-width: 1100px; 
    margin: 0 auto 50px;
  }

  .text-section p {
    text-align: justify;
    font-size: 1.2rem;
    width: 100%; 
  }

  .map-container {
    width: 100%;
    max-width: 1100px; 
    height: 500px; 
  }
  
  .map-container iframe {
    width: 100%;
    height: 100%;
  }