/* ==========================================================================
   1. POLICES & TYPOGRAPHIE
   ========================================================================== */
@font-face {
  font-family: 'master of break';
  /* CORRECTIF : Association exacte des fichiers et de leurs formats réels */
  src: url('master_of_break.ttf') format('truetype'),
       url('master_of_break.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
img, main, section, div {
  max-width: 100%;
  box-sizing: border-box;
}

/* ==========================================================================
   2. EN-TÊTE (HEADER) & MENU DE NAVIGATION
   ========================================================================== */
header {
  display: flex;
  justify-content: center; /* Centre horizontalement sur la page */
  align-items: center;
}
  
ul {
  display: flex;
  justify-content: center; /* Centre horizontalement sur la page */
  align-items: center;
  list-style-type: none;   /* Supprime les puces */
  padding: 0;
  margin: 0;
  background-color: #000000; /* Fond noir */
  height: 90px;              /* Définit la hauteur du menu */
  font-family: 'master of break', sans-serif; 
}

.menu li {
  margin-right: 40px; /* Espace entre les liens */
  color: white;
}

/* Évite que le dernier élément garde une marge à droite inutile */
.menu li:last-child {
  margin-right: 0;
}

menu {
  color: #FFFFFF;            /* Texte blanc */
  padding: 10px;
}

.menu a {
  color: #FFFFFF;            /* Assure que les liens sont aussi blancs */
  text-decoration: none;     /* Retire le soulignement des liens */
  font-family: inherit;
  font-size: 30px;           /* Taille de la police du menu */
}

.menu a:hover {
  text-decoration: underline;      /* Le lien se souligne au survol */
  text-decoration-thickness: 4px;  /* Épaisseur du trait */
  text-underline-offset: 15px;     /* Décolle le trait du texte */
}

.menu img {
  height: 80px;  
}

/* ==========================================================================
   3. CORPS DE LA PAGE (STRUCTURE GLOBAL MAIN)
   ========================================================================== */
.corp {
  display: flex;
  justify-content: space-between; /* Espace uniformément les sections */
  gap: 20px;                     /* Espace entre chaque section */
  padding: 20px;
}

.corp section {
  flex: 1;                       /* Largeur égale pour toutes les sections */
  background-color: #f4f4f4;     /* Couleur de fond gris clair */
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 12px;           /* OPTIMISATION : Ajoute les coins arrondis sur toutes les pages */
}


/* CORRECTIF : Centrage automatique de l'image de la page d'accueil */
.img-accueil {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-top: 20px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
   4. CONTEXTE GALERIE PHOTO
   ========================================================================== */
.galerie-container {
  text-align: center;
  max-width: 600px;
  width: 100%;
  padding: 20px;
}

.image-principale img {
  width: 100%;
  height: 800px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
  transition: opacity 0.3s ease;
}

.miniatures {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
}

.miniatures img {
  width: 90px;
  height: 65px;
  object-fit: cover;
  cursor: pointer;
  border-radius: 6px;
  opacity: 0.4;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

/* Effet au survol et sur la miniature active */
.miniatures img:hover, 
.miniatures img.active {
  opacity: 1;
  border-color: #00adb5;
  transform: scale(1.05);
}
        
/* ==========================================================================
   5. CONTEXTE FORMULAIRE DE CONTACT
   ========================================================================== */
.contact-container {
  padding: 30px;
  border-radius: 8px;
  width: 100%;
  max-width: 800px;
}

textarea { 
  resize: vertical; 
  height: 220px; 
  width: 100%;
}

button {
  background-color: #007bff;
  color: white;
  padding: 12px;
  border: none;
  border-radius: 4px;
  width: 100%;
  font-size: 16px;
  cursor: pointer;
}

button:hover { 
  background-color: #0056b3; 
}

/* ==========================================================================
   6. BARRIÈRE D'ÂGE & BOÎTE DE SUCCÈS (AJOUTS CENTRALISÉS)
   ========================================================================== */
.notification-succes {
    display: none !important; 
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 15px;
    text-align: center;
    font-weight: 500;
    max-width: 450px;
}

.age-gate-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: rgba(15, 15, 15, 0.98);
    z-index: 99999;
    display: flex; justify-content: center; align-items: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #ffffff;
    padding: 20px;
    box-sizing: border-box;
}

.age-gate-box {
    background: #222222;
    padding: 40px 30px;
    border-radius: 12px;
    max-width: 450px;
    width: 100%;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    border: 1px solid #333333;
}

.age-gate-box h2 { margin-top: 0; font-size: 24px; color: #f8f9fa; }
.age-gate-box p { font-size: 15px; color: #b3b3b3; line-height: 1.6; margin-bottom: 30px; }
.age-gate-buttons { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; }
.age-gate-buttons button {
    padding: 12px 25px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    min-width: 160px;
}
.age-gate-buttons button:active { transform: scale(0.98); }
.btn-success { background: #28a745; color: white; }
.btn-success:hover { background: #218838; }
.btn-danger { background: #dc3545; color: white; }
.btn-danger:hover { background: #c82333; }
/* ==========================================================================
   7. DESIGN RESPONSIVE (MOBILE & TABLETTES) - VERSION MENU PRO
   ========================================================================== */
@media (max-width: 768px) {
  
  /* Le container noir s'adapte à la liste verticale */
  ul {
    flex-direction: column; 
    height: auto !important; /* Permet au menu de s'agrandir verticalement */
    padding: 10px 0 !important;
    width: 100%;
  }
  
  .menu li {
    margin-right: 0 !important; /* Supprime la marge horizontale de la version PC */
    width: 100%;                /* Prend toute la largeur pour centrer le texte */
    text-align: center;         /* Centre le lien */
    padding: 12px 0;            /* Espace confortable pour le clic tactile */
    border-bottom: 1px solid #222; /* Ligne de séparation très discrète */
  }
  
  /* Supprime la ligne de séparation sous le tout dernier lien */
  .menu li:last-child {
    margin-bottom: 0 !important;
    border-bottom: none;
  }
  
  .menu a {
    font-size: 24px !important;  /* Taille idéale pour la police cursive sur mobile */
    display: block;              /* Rend toute la zone de la ligne cliquable */
    width: 100%;
  }
  
  .menu img {
    display: none !important;    /* Masque définitivement les feuilles décoratives sur mobile */
  }

  /* Reste de votre code responsive pour le corps de la page */
  .corp {
    flex-direction: column;
    padding: 10px;
    gap: 15px;
  }
  .corp section {
    width: 100%;
    box-sizing: border-box;
  }
  .image-principale img {
    height: 400px;
  }
  .miniatures {
    flex-wrap: wrap;
    gap: 8px;
  }
  .miniatures img {
    width: 70px;
    height: 50px;
  }
}

/* ==========================================================================
   9. FOIRE AUX QUESTIONS (FAQ) - VERSION NETTOYÉE
   ========================================================================== */
.faq-section {
  background-color: #f4f4f4 !important; /* CORRECTIF : Redonne le fond gris des autres pages */
  padding: 30px !important;
  border-radius: 12px;
  border: 1px solid #ddd !important;     /* Utilise la même bordure grise que le reste du site */
  margin-top: 20px;
}


.faq-intro {
  color: #666;
  margin-bottom: 25px;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
}

.faq-item {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 15px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.faq-item[open] {
  border-color: #28a745;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.08);
}

.faq-item summary {
  font-weight: 600;
  font-size: 16px;
  color: #212529;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  outline: none;
}

.faq-item summary::after {
  content: "+";
  font-size: 20px;
  color: #28a745;
  font-weight: bold;
  transition: transform 0.2s;
}

.faq-item[open] summary::after {
  content: "−";
}

.faq-content {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #dee2e6;
  color: #495057;
  line-height: 1.6;
  cursor: default;
}

/* CORRECTIF RENFORCÉ : Isole totalement la liste de la FAQ du menu principal */
.faq-content ul {
  display: block !important;       /* Désactive le mode Flexbox du menu */
  background-color: transparent !important;
  height: auto !important;
  padding-left: 20px !important;
  margin: 10px 0 0 0 !important;
  font-family: Arial, sans-serif !important; /* Retire la police cursive 'master of break' */
}

.faq-content li {
  display: list-item !important;   /* Force l'affichage classique en liste */
  list-style-type: disc !important; /* Force le point de la puce */
  color: #495057 !important;
  margin-bottom: 8px !important;
  font-size: 15px !important;
  margin-right: 0 !important;      /* Supprime les marges du menu */
}
