/**
Theme Name: DST
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dst
Template: astra
*/
<link href="https://fonts.googleapis.com/css2?family=Scope+One&display=swap" rel="stylesheet">


.typo-sans-serif h3 {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 500 !important;
}
.typo-sans-serif .elementor-heading-title {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 500 !important;
}



/* Pour toutes les listes à puces dans Elementor */
.custom-section-metier .elementor-widget-container ul li {
  line-height: 2.5em !important;
}
.custom-section-metier ul li {
  line-height: 2.5em;
}
.custom-section-metier .elementor-widget-container > a > img {
  --d: 18px;  /* profondeur */
  --a: 20deg; /* angle */
  --x: 10px;
  max-width: 25rem;
  width: 25rem;
  aspect-ratio: 1.1;
  padding-block: var(--d);
  /* Image inclinée à gauche en permanence */
  --_i: -1;
  transform: perspective(400px) rotateY(calc(var(--_i) * var(--a)));
  clip-path: polygon(
    var(--_l) calc(var(--_d) - var(--x)),
    var(--_l) calc(var(--d)  + var(--x)),
    var(--d) var(--d),
    var(--_d) var(--d),
    calc(var(--_d) + var(--_r)) calc(var(--d)  + var(--x)),
    calc(var(--_d) + var(--_r)) calc(var(--_d) - var(--x)),
    var(--_d) var(--_d),
    var(--d) var(--_d)
  );
  display: block;
}
.custom-section-metier .elementor-widget-container > a {
  display: inline-block;
}
/* Responsive */
@media (max-width: 980px) {
  .custom-section-metier .elementor-widget-container > a > img {
    width: 100%;
    max-width: 600px;
    aspect-ratio: 1.1;
  }
}








.custom-section-metier-gauche .elementor-widget-container ul li {
  line-height: 2.5em !important;
}
.custom-section-metier-gauche ul li {
  line-height: 2.5em;
}

.custom-section-metier-gauche .elementor-widget-container ul li {
  line-height: 2.5em !important;
}
.custom-section-metier-gauche ul li {
  line-height: 2.5em;
}
.custom-section-metier-gauche .elementor-widget-container > a > img {
  --d: 18px;  /* profondeur */
  --a: 20deg; /* angle */
  --x: 10px;
  max-width: 25rem;
  width: 25rem;
  aspect-ratio: 1.1;
  padding-block: var(--d);
  /* Image inclinée à droite en permanence */
  --_i: 1;
  transform: perspective(400px) rotateY(calc(var(--_i) * var(--a)));
  clip-path: polygon(
    var(--_l) calc(var(--_d) - var(--x)),
    var(--_l) calc(var(--d)  + var(--x)),
    var(--d) var(--d),
    var(--_d) var(--d),
    calc(var(--_d) + var(--_r)) calc(var(--d)  + var(--x)),
    calc(var(--_d) + var(--_r)) calc(var(--_d) - var(--x)),
    var(--_d) var(--_d),
    var(--d) var(--_d)
  );
  display: block;
}
.custom-section-metier-gauche .elementor-widget-container > a {
  display: inline-block;
}
/* Responsive */
@media (max-width: 980px) {
  .custom-section-metier-gauche .elementor-widget-container > a > img {
    width: 100%;
    max-width: 600px;
    aspect-ratio: 1.1;
  }
}






h1 {
	font-family: 'Scope One', serif !important;
}
h2 {
	font-family: 'Scope One', serif !important;
}

h3 {
	font-family: 'Scope One', serif !important;
}

@media (max-width: 980px) {
	h1 {
		font-size: 30px !important;
		font-family: 'Scope One', serif !important;
	}
	h2 {
		font-size: 20px !important;
		font-family: 'Scope One', serif !important;
	}
	p {
		font-size: 14px !important;
	}
}



/*----------- Pour les posts CSS cartes -----------*/
selector .elementor-post {
  position: relative; !important;
  overflow: hidden; !important;
  /*border-radius: 16px; !important;*/
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); !important;
  background: #fff; !important;
  margin-bottom: 24px; !important;
  cursor: pointer; !important;
}
selector .elementor-post__thumbnail {
  margin-bottom: 0; !important;
}
selector .elementor-post__thumbnail img {
  display: block; !important;
  width: 100%; !important;
  height: auto; !important;
  object-fit: cover; !important;
}
selector .elementor-post__text {
  padding: 16px; !important;
}
selector .elementor-post__title {
  position: relative; !important;
  z-index: 5; !important;
}
selector .elementor-post__title a {
  color: #103047; !important;
  font-weight: 500; !important;
  font-size: 1.1rem; !important;
  line-height: 1.4; !important;
  text-decoration: none; !important;
  position: relative; !important;
}
selector .elementor-post__title a::before {
  content: ""; !important;
  position: absolute; !important;
  top:    -16px;  !important;
  left:   -16px; !important;
  right:  -16px; !important;
  bottom: -16px; !important;
  z-index: 10; !important;    
}
selector .elementor-post__badge {
  position: absolute; !important;
  top: 16px; !important;
  right: 16px; !important;
  background: #103047; !important;
  color: #fff; !important;
  padding: 4px 8px; !important;
  font-size: 0.75rem; !important;
  text-transform: uppercase; !important;
  /*border-radius: 4px; !important;*/
  display: inline-flex; !important;
  align-items: center; !important;
  gap: 4px; !important;
}
selector .elementor-post__badge i {
  font-size: 0.9em; !important;
}
selector .elementor-post__badge--category {
  display: none; !important;
}


/*----------- Widget WP du side bar des post du blog: archives et categories -----------*/
.elementor-widget-wp-widget-archives ul {
  list-style: none; !important;
  padding-left: 0; !important;
  margin-left: 0; !important;
  display: flex; !important;
  flex-wrap: wrap; !important;
  gap: 15px; !important;
}

.elementor-widget-wp-widget-archives ul li {
  margin: 0; !important;
}
.elementor-widget-wp-widget-categories ul{
  list-style: none; !important;
  padding-left: 0; !important;
  margin-left: 0; !important;
  display: flex; !important;
  flex-wrap: wrap; !important;
  gap: 15px; !important;
}
.elementor-widget-wp-widget-categories ul{
  margin: 0; !important;
}

/* --------- Key Features — customisations demandées --------- */
/* Cercle plus grand et icône centrée, proportionnellement agrandie */
.custom-card-section-key .elementor-icon-box-icon .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;  /* cercle plus grand */
  height: 64px;
  background: #F4F8F9;
  border-radius: 50%;
  /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);  ombre douce */
  border: 1px solid #ccc;
  border: 1px solid #00000026;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-color: #00000026 !important;
  background: #F4F8F9;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);  -webkit-	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);
  color: inherit;
}

/* Icône interne plus grande mais toujours bien centrée */
.custom-card-section-key .elementor-icon-box-icon .elementor-icon i {
  font-size: 32px; /* taille de l’icône augmentée */
  line-height: 1;
  display: block;
}

.custom-card-section-key .elementor-icon-box-icon .elementor-icon svg {
  width: 32px;
  height: 32px;
  display: block;
}

/* Espace sous le cercle */
.custom-card-section-key .elementor-icon-box-icon {
  margin-bottom: 14px;
}



/* Scope global pour ta section */
.custom-card-section-key {
  /* garde éventuels réglages de background/gradient */
  box-sizing: border-box;
}

/* Carte individuelle (conserve ton style de base) */
.custom-card-section-key .elementor-widget-icon-box {
  border: 1px solid rgba(0,0,0,0.15);
  background: #FAFCFD;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
  padding: 20px;
  min-height: 100%;
  box-sizing: border-box;
  /* petit arrondi si tu veux
  border-radius: 12px; */
  /* laisse le hover instantané (pas d'animation) */
  cursor: pointer; /* utile si le widget est cliquable */
}

/* Titres en sans-serif pour TOUS les carrés */
.custom-card-section-key .elementor-icon-box-title,
.custom-card-section-key .elementor-icon-box-title span {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  margin: 0;
  /* letter-spacing: -0.5px; */
}

/* Description (conserve ton style) */
.custom-card-section-key .elementor-icon-box-description {
  /*letter-spacing: 1px;*/
  font-size: 14px !important;
}

/* Liens dans la section : pas de soulignement */
.custom-card-section-key .elementor-element a {
  text-decoration: none !important;
}

/* HOVER : effet d'ombrage simple sur chaque carré (sans animation) */
/* Cible uniquement le widget icon-box pour ne pas toucher le bouton */
.custom-card-section-key .elementor-widget-icon-box:hover {
  /* ombre un peu plus marquée au survol */
  box-shadow: 0 18px 30px -6px rgba(0, 0, 0, 0.12), 0 6px 10px -6px rgba(0, 0, 0, 0.08);
  /* pas de transform/scale/transition — effet instantané, sans animation */
}

/* Assure que les boutons ne sont pas affectés par le hover ci-dessus */
/* (règle de sécurité ; les boutons gardent leur comportement existant) */
.custom-card-section-key .elementor-widget-button .elementor-button,
.custom-card-section-key .elementor-widget-button:hover .elementor-button {
  box-shadow: none;
  cursor: default;
}






/*----------- Why Choose Webfolio (Home) -----------*/

/* Cercle plus grand et icône centrée, proportionnellement agrandie */
.custom-card-section .elementor-icon-box-icon .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;  /* cercle plus grand */
  height: 64px;
  background: #F4F8F9;
  border-radius: 50%;
  /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);  ombre douce */
  border: 1px solid #ccc;
  border: 1px solid #00000026;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-color: #00000026 !important;
  background: #F4F8F9;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);  -webkit-	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);
  color: inherit;
}

/* Icône interne plus grande mais toujours bien centrée */
.custom-card-section .elementor-icon-box-icon .elementor-icon i {
  font-size: 32px; /* taille de l’icône augmentée */
  line-height: 1;
  display: block;
}

.custom-card-section .elementor-icon-box-icon .elementor-icon svg {
  width: 32px;
  height: 32px;
  display: block;
}

/* Espace sous le cercle */
.custom-card-section .elementor-icon-box-icon {
  margin-bottom: 14px;
}





/* Conteneur des cartes */
.custom-card-section {
  /*border-radius: 20px;*/
}

/* Carte individuelle */
.custom-card-section .elementor-widget-icon-box {
  border: 1px solid #ccc;
  border: 1px solid #00000026;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #F4F8F9;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  /*border-radius: 20px;*/
  padding: 20px;
  min-height: 100%; /* pour que toutes s'alignent */
  box-sizing: border-box;
	
}

/* Titre de la carte */
.custom-card-section .elementor-icon-box-title {
  /* letter-spacing: -1px; */
}

/* Description de la carte */
.custom-card-section .elementor-icon-box-description {
  /* letter-spacing: 1px; */
  font-size: 14px !important;
}
.custom-card-section .elementor-element a {
  text-decoration: none !important;
}


/*----------- Our Core Services (services) -----------*/
/* Cercle plus grand et icône centrée, proportionnellement agrandie */
.custom-card-section-services .elementor-icon-box-icon .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;  /* cercle plus grand */
  height: 64px;
  background: #F4F8F9;
  border-radius: 50%;
  /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);  ombre douce */
  border: 1px solid #ccc;
  border: 1px solid #00000026;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-color: #00000026 !important;
  background: #F4F8F9;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);  -webkit-	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);
  color: inherit;
}

/* Icône interne plus grande mais toujours bien centrée */
.custom-card-section-services .elementor-icon-box-icon .elementor-icon i {
  font-size: 32px; /* taille de l’icône augmentée */
  line-height: 1;
  display: block;
}

.custom-card-section-services .elementor-icon-box-icon .elementor-icon svg {
  width: 32px;
  height: 32px;
  display: block;
}

/* Espace sous le cercle */
.custom-card-section-services .elementor-icon-box-icon {
  margin-bottom: 14px;
}



/* Conteneur des cartes */
.custom-card-section-services {
  display: flex;
  flex-wrap: wrap;
  gap: 30px; /* espace entre les cartes */
  justify-content: space-between;
}

/* Carte individuelle */
.custom-card-section-services .elementor-widget-icon-box {
  flex: 1 1 calc(50% - 15px); /* 2 colonnes avec espace */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%; /* pour que toutes s'alignent */

  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #F4F8F9;
  box-shadow: 
    0 10px 15px -3px rgba(108, 143, 89, 0.3), 
    0 4px 6px -4px rgba(108, 143, 89, 0.2);
  /*border-radius: 20px;*/
  padding: 20px;
  min-height: 100%; /* pour que toutes s'alignent */
  box-sizing: border-box;
}

/* Titre de la carte */
.custom-card-section-services .elementor-icon-box-title {
  /* letter-spacing: -1px; */
}

/* Description de la carte */
.custom-card-section-services .elementor-icon-box-description {
  /* letter-spacing: 1px; */
  flex-grow: 1; /* permet de remplir l’espace si besoin */
  font-size: 14px !important;
}


/*----------- What does working with us change for you? (about) -----------*/
/* Cercle plus grand et icône centrée, proportionnellement agrandie */
.custom-card-section-about .elementor-icon-box-icon .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;  /* cercle plus grand */
  height: 64px;
  background: #F4F8F9;
  border-radius: 50%;
  /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);  ombre douce */
  border: 1px solid #ccc;
  border: 1px solid #00000026;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-color: #00000026 !important;
  background: #F4F8F9;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);  -webkit-	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);
  color: inherit;
}

/* Icône interne plus grande mais toujours bien centrée */
.custom-card-section-about .elementor-icon-box-icon .elementor-icon i {
  font-size: 32px; /* taille de l’icône augmentée */
  line-height: 1;
  display: block;
}

.custom-card-section-about .elementor-icon-box-icon .elementor-icon svg {
  width: 32px;
  height: 32px;
  display: block;
}

/* Espace sous le cercle */
.custom-card-section-about .elementor-icon-box-icon {
  margin-bottom: 14px;
}




/* Conteneur des cartes */
.custom-card-section-about {
  display: flex;
  flex-wrap: wrap;
  gap: 30px; /* espace entre les cartes */
  justify-content: space-between;
}

/* Carte individuelle */
.custom-card-section-about .elementor-widget-icon-box {
  flex: 1 1 calc(50% - 15px); /* 2 colonnes avec espace */
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  border: 1px solid #C28C19;
  background: #F4F8F9;
  box-shadow: 
    0 10px 15px -3px rgba(194, 140, 25, 0.3), 
    0 4px 6px -4px rgba(194, 140, 25, 0.2);
  /*border-radius: 20px;*/
  padding: 20px;
  min-height: 100%; /* pour que toutes s'alignent */
  box-sizing: border-box;
}


/* Titre de la carte */
.custom-card-section-about .elementor-icon-box-title {
  /* letter-spacing: -1px; */
}

/* Description de la carte */
.custom-card-section-about .elementor-icon-box-description {
  /* letter-spacing: 1px; */
  flex-grow: 1; /* permet de remplir l’espace si besoin */
  font-size: 14px !important;
}




/*----------- Footer CSS Custom - classe Footer-Custom -----------*/
/* 1. Forcer la disposition verticale du menu principal dans le footer */
.Footer-Custom .elementor-nav-menu--main .elementor-nav-menu {
  display: flex !important;
  flex-direction: column !important;  /* ← disposition verticale */
  flex-wrap: nowrap !important;       /* ← pas de retour à la ligne */
  overflow: visible !important;
  align-items: flex-start;            /* ← alignement à gauche */
}

/* 2. Toujours afficher le menu principal dans le footer */
.Footer-Custom .elementor-nav-menu--main {
  display: block !important;
}

/* 3. Masquer le menu burger et le menu déroulant */
.Footer-Custom .elementor-menu-toggle,
.Footer-Custom .elementor-nav-menu--dropdown {
  display: none !important;
}

/* 4. Autoriser le retour à la ligne dans les liens s’ils sont longs */
.Footer-Custom .elementor-nav-menu--main .elementor-item {
  white-space: normal !important;
}



.Footer-Custom li {
    font-size: 12px;
}
.Footer-Custom p {
    font-size: 12px;
}

/* Ajouter un padding à gauche pour "Press Release" et "News" */
#menu-1-e9d467c li.menu-item-4045,
#menu-1-e9d467c li.menu-item-4046 {
    padding-left: 10px !important; /* Ajustez la valeur selon vos besoins */
}








/* ======================================================
				FAQ-Page-Section

   OVERRIDE FINAL - "Stop earlier" on size, long slow finish for visuals
   - max-height / padding finish sooner
   - transform & opacity continue longer with slow ease-out
   - arrow clickable & raised (hit area)
   ====================================================== */


/* ======================================================
   OVERRIDE FINAL - "Stop earlier" on size, long slow finish for visuals
   - max-height / padding finish sooner
   - transform & opacity continue longer with slow ease-out
   - arrow clickable & raised (hit area)
   ====================================================== */

/* ---------- Base card & header ---------- */
.FAQ-Page-Section .e-n-accordion-item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: var(--card-radius);
  padding: 0 !important;
  box-shadow: 0 6px 18px rgba(15,23,42,0.06);
  border: 1px solid rgba(0,0,0,0.04);
  overflow: hidden;
  transition: border-color 220ms ease, box-shadow 260ms ease;
}

.FAQ-Page-Section-Home .e-n-accordion-item {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 28px 56px 20px 15px !important; /* padding left 15px - espace à droite pour la zone cliquable de la flèche */
  border: none;
  position: relative;
  cursor: pointer;
}

/* icône circulaire (lift) */
.FAQ-Page-Section .elementor-icon-box-icon .elementor-icon,
.FAQ-Page-Section .e-n-accordion-item-title-icon i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #F4F8F9;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-color: #00000026 !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: inherit;
  font-size: 32px;
  line-height: 1;
  flex: 0 0 44px;
  margin-top: -16px;
  z-index: 2;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* titre */
.FAQ-Page-Section .e-n-accordion-item-title-text {
  display: block;
  font-weight: 700;
  font-size: 17px;
  color: var(--faq-accent);
  margin: 0;
  padding-top: 0;
  text-align: left;
  line-height: 1.15;
  transition: color 220ms ease, transform 260ms ease;
}

/* contenu de base */
.FAQ-Page-Section .e-n-accordion-item [role="region"] {
  padding-top: 12px;
  padding-left: 0 !important;
  padding-right: 15px !important;
  padding-bottom: 20px !important;
  color: #334155;
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
  margin-left: 0;
  box-sizing: border-box;
}

/* Reset padding sur tous les conteneurs intermédiaires */
.FAQ-Page-Section .e-n-accordion-item [role="region"] > * {
  padding: 0 !important;
  margin: 0 !important;
}

/* Alignement du contenu - padding gauche uniforme pour TOUS les widgets */
.FAQ-Page-Section .e-n-accordion-item [role="region"] .elementor-widget {
  padding-left: 25px !important; /* 15px (base) + 44px (icon) + 14px (gap) = 73px */
  padding-right: 0 !important;
}

/* Contenu texte seulement */
.FAQ-Page-Section .e-n-accordion-item .elementor-widget-container {
  color: #334155;
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
}

/* responsive */
@media (max-width: 800px) {
  .FAQ-Page-Section .e-n-accordion-item { padding: 0 !important; }
  .FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title { 
    padding: 22px 50px 14px 14px !important;
  }
  .FAQ-Page-Section .elementor-icon-box-icon .elementor-icon,
  .FAQ-Page-Section .e-n-accordion-item-title-icon i {
    width: 56px; height: 56px; margin-top: -14px; font-size: 28px; flex: 0 0 56px;
  }
  .FAQ-Page-Section .e-n-accordion-item-title-text { font-size: 16px; }
  
  /* Alignement mobile - 14px (base) + 56px (icon) + 14px (gap) = 84px */
  .FAQ-Page-Section .e-n-accordion-item [role="region"] .elementor-widget {
    padding-left: 84px !important;
  }
}

/* ======================================================
   Core concept:
   - Approche simple sans animations
   - Juste transitions basiques sur max-height et opacity
   - Timing court pour éviter les problèmes
   ====================================================== */

/* collapsed state - cible le conteneur [role="region"] */
.FAQ-Page-Section .e-n-accordion-item [role="region"] {
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
  
  transition: max-height 250ms ease, opacity 250ms ease, padding 250ms ease !important;
  
  box-sizing: border-box !important;
}

/* opened state - cible le conteneur [role="region"] */
.FAQ-Page-Section .e-n-accordion-item[open] [role="region"] {
  max-height: 2000px !important;
  opacity: 1 !important;
  padding-top: 12px !important;
  padding-bottom: 20px !important;
  padding-left: 0 !important;
  padding-right: 15px !important;
  margin-top: 0 !important;
  
  transition: max-height 350ms ease, opacity 350ms ease, padding 350ms ease !important;
}

/* enfant optimisation */
.FAQ-Page-Section .e-n-accordion-item .e-con-inner > * {
  -webkit-font-smoothing: antialiased !important;
}

/* ======================================================
   Visual open/closed tweaks
   ====================================================== */
.FAQ-Page-Section .e-n-accordion-item[open] {
  border-color: rgba(27,58,82,0.08);
  box-shadow: 0 12px 28px rgba(15,23,42,0.08);
}
.FAQ-Page-Section .e-n-accordion-item[open] .e-n-accordion-item-title-text {
  color: #103248;
}

/* ======================================================
   Arrow top-right (cliquable & higher)
   - remonte la flèche (top: 6px)
   - zone clickable agrandie (::before hit area)
   ====================================================== */
.FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title::after {
  content: "";
  position: absolute;
  top: 25px;               /* flèche plus haute */
  right: 32px;
  width: 16px;
  height: 16px;
  border-right: 2px solid #A6A6A6;
  border-bottom: 2px solid #A6A6A6;
  transform-origin: 50% 50%;
  transform: rotate(45deg); /* closed -> down */
  transition:
    transform 520ms cubic-bezier(.22,.86,.28,1),
    border-color 220ms ease,
    opacity 220ms ease;
  opacity: 0.98;
  pointer-events: auto;   /* clickable */
  z-index: 6;
  display: inline-block;
  box-sizing: content-box;
  backface-visibility: hidden;
}

/* smaller arrow on mobile */
@media (max-width: 800px) {
  .FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title::after {
    top: 8px;
    right: 10px;
    width: 12px;
    height: 12px;
    border-right-width: 1.5px;
    border-bottom-width: 1.5px;
  }
}

/* rotate on open (point right) */
.FAQ-Page-Section .e-n-accordion-item[open] .e-n-accordion-item-title::after {
  transform: rotate(-45deg);
}

/* hit area to make clicking the arrow easy */
.FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 64px;   /* large clickable area on the right */
  height: 48px;
  pointer-events: auto;
  z-index: 5;
  background: transparent;
}

/* hover/focus color tint */
.FAQ-Page-Section .e-n-accordion-item:hover .e-n-accordion-item-title::after,
.FAQ-Page-Section .e-n-accordion-item:focus-within .e-n-accordion-item-title::after {
  border-color: #103248;
}

/* ======================================================
   accessibility & z-index
   ====================================================== */
.FAQ-Page-Section .elementor-icon-box-icon .elementor-icon,
.FAQ-Page-Section .e-n-accordion-item-title-icon i {
  z-index: 2;
  position: relative;
}
.FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title:focus { outline: none; }
.FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title:focus-visible {
  box-shadow: 0 0 0 3px rgba(27,58,82,0.12);
  border-radius: 8px;
}
.FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title[role="button"],
.FAQ-Page-Section .e-n-accordion-item .e-n-accordion-item-title[tabindex] {
  display: flex;
  align-items: center;
}

/* ======================================================
   NOTES
   - Approche minimaliste sans animations complexes
   - Transitions simples: max-height + opacity + padding
   - Fermeture rapide (250ms), ouverture moyenne (350ms)
   - Si le contenu dépasse 2000px, augmenter max-height
   ====================================================== */
