/* SECTION GLOBALE - Responsive et centrée */
.faq-produit-section {
  margin: 30px auto; /* Centrage horizontal automatique */
  padding-right: 1.5rem; /* 24px */
  padding-left: 1.5rem; /* 24px */
  padding-top: 25px;
  padding-bottom: 25px;
  max-width: 800px; /* Largeur maximale optimale pour la lisibilité */
  background: #ffffff;
  color: #000000;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
  box-sizing: border-box;
  width: 100%;
}

.faq-answer p, h3.faq-question-text{
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
}

/* TITRE PRINCIPAL */
.faq-title,
#faq-titre {
  margin-bottom: 20px;
  color: #000000;
  font-size: 1.6em;
  font-weight: bold;
  text-align: left;
}

/* ITEM */
.faq-item {
  margin-bottom: 0px;
  border-radius: 4px;
  overflow: hidden; 
  width: 100%; 
  box-sizing: border-box;
}

/* QUESTION (summary) */
.faq-question {
  display: flex; /* Retour au flex pour un meilleur alignement */
  align-items: center; /* Centrage vertical */
  gap: 8px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  padding: 12px 15px;
  background: #ffffff;
  font-size: 1.1em;
  font-weight: 500;
  color: #000000;
  border-top: 1px solid #d9d9d9;
  border: none;
  list-style: none;
  transition: background-color 0.2s ease;
  word-wrap: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.4;
  box-sizing: border-box;
}

.faq-question::-webkit-details-marker {
  display: none; /* Supprime le marker webkit */
}

.faq-question::marker {
  display: none; /* Supprime le marker standard */
}

.faq-question:hover {
  background: #f9f9f9;
}

.faq-question:focus {
  outline: none; /* Supprime l'outline bleu */
  background: #f9f9f9;
}

/* ICÔNE (+ / −) avec changement de contenu */
.faq-icon {
  font-weight: bold;
  font-size: 1.2em;
  color: #fa5700;
  transition: all 0.3s ease;
  flex-shrink: 0; /* Empêche la compression de l'icône */
  line-height: 1; /* Force la hauteur de ligne à 1 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px; /* Largeur fixe pour l'alignement */
  height: 16px;
}

.faq-icon::before {
  content: "+";
}

/* Changement de l'icône quand ouvert */
.faq-item[open] .faq-icon::before {
  content: "−";
}

/* Contenu texte de la question - flex pour gérer le débordement */
.faq-question-text {
  flex: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0; /* Important pour permettre la compression */
  font-weight: 500;
  font-style: normal;
  font-size: 1.1em;
  line-height: 1.4;
}

/* RÉPONSE */
.faq-answer {
  padding: 15px;
  background: #ffffff;
  color: #000000;
  border-top: 1px solid #f0f0f0;
  animation: fadeIn 0.3s ease-in-out;
  word-wrap: normal; /* Force le retour à la ligne */
  overflow-wrap: anywhere; /* Compatibilité navigateurs */
  line-height: 1.5;
}

/* ANIMATION */
@keyframes fadeIn {
  from { 
    opacity: 0; 
    transform: translateY(-10px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

/* RESPONSIVE DESIGN */
@media (max-width: 768px) {
  .faq-produit-section {
    margin: 20px auto;
    padding-right: 0;
    padding-left: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  
  .faq-title,
  #faq-titre {
    font-size: 1.4em;
    margin-bottom: 15px;
  }
  
  .faq-question {
    padding: 10px 12px;
    font-size: 1em;
  }
  
  .faq-answer {
    padding: 12px;
  }
}

@media (max-width: 480px) {
  .faq-produit-section {
    padding-right: 0;
    padding-left: 0;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  
  .faq-question {
    padding: 8px 10px;
    gap: 6px;
  }
  
  .faq-icon {
    font-size: 1.1em;
  }
}

/* Amélioration de l'accessibilité */
@media (prefers-reduced-motion: reduce) {
  .faq-icon,
  .faq-answer {
    transition: none;
    animation: none;
  }
}

/* Focus visible pour l'accessibilité - plus discret */
.faq-question:focus-visible {
  background: #f0f0f0;
  box-shadow: inset 0 0 0 2px #0073aa;
}

/* Clearfix pour les éléments flottants */
.faq-question::after {
  content: "";
  display: table;
  clear: both;
}