:root {
  --el-btn-green: #52AFF8;
  --el-btn-white: #141948;
  
  --btn-transition: 0.6s cubic-bezier(0.22, 1, 0.36, 1); 
}

.elementor-cta, .ast-single-post .entry-content a, .ast-comment-content a:not(.ast-comment-edit-reply-wrap a) {
  text-decoration: none;
}

/* Header */
.stickhead {
  background-color: transparent !important;
  transition: background-color 0.3s ease !important;
}
.stickhead.scrolled {
  padding-top: 1%;
  background-color: #141948 !important;
  z-index: 9999;
  border-radius: 0px 0px 20px 20px;
  box-shadow: rgb(1, 0, 48) 0px 20px 30px -10px !important;
}

/* Header noir par défaut sur mobile et tablette */
@media (max-width: 1024px) {
  .stickhead {
    background-color: #141948 !important;
  }
}

/* Le bouton principal */
.anim-button .elementor-button {
  position: relative;
  overflow: hidden;
  border-radius: 50px !important;
  padding: 12px 55px 12px 24px !important; 
  transition: padding var(--btn-transition);
  z-index: 1;
  border: solid 2px #52AFF8 !important;
}

/* Le pseudo-élément (fond animé) */
.anim-button .elementor-button::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: -1;
  transform-origin: right center; 
  transform: scaleX(0); 
  transition: transform var(--btn-transition);
}

/* Le conteneur interne et le texte */
.anim-button .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.anim-button .elementor-button-text {
  transition: color #fff;
  z-index: 2;
  position: relative;
}

/* L'icône commune */
.anim-button .elementor-button-icon {
  position: absolute !important;
  right: 8px;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: right var(--btn-transition);
  z-index: 2;
}

.anim-button .elementor-button-icon svg {
  width: 28px !important;
  height: 28px !important;
}

/* --- ANIMATIONS COMMUNES AU HOVER --- */
.anim-button .elementor-button:hover {
  padding: 12px 24px 12px 55px !important; 
}

.anim-button .elementor-button:hover::before {
  transform: scaleX(1); 
}

.anim-button .elementor-button:hover .elementor-button-icon {
  right: calc(100% - 36px); 
}


/* =========================================
   COULEURS SPÉCIFIQUES (Variantes)
   ========================================= */

.anim-button .elementor-button {
  background-color: var(--el-btn-green) !important;
}
.anim-button .elementor-button::before { background-color: var(--el-btn-white); }
.anim-button .elementor-button-text { color: #FFFFFF !important; }

/* == */ 

/* 1. Structure principale (Menu à gauche, Contenu à droite) */
.elementor-widget-n-tabs .e-n-tabs {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 60px;
}

/* 2. Colonne des onglets (Gauche) */
.elementor-widget-n-tabs .e-n-tabs-heading {
    flex: 0 0 350px !important; 
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

/* 3. Style individuel des onglets (Conteneur du bouton) */
.elementor-widget-n-tabs .e-n-tab-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 25px 0 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #E4E5EA !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.elementor-widget-n-tabs .e-n-tab-title:last-child {
    border-bottom: none !important;
}

/* 4. CORRECTION DU TEXTE ET ANIMATION TRANSLATEX */
.elementor-widget-n-tabs .e-n-tab-title-text {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #141948 !important; 
    text-align: left;
    line-height: 1.2 !important; /* Empêche le texte de se chevaucher */
    display: block !important;
    max-width: 80%;
    /* Transition fluide pour la couleur et le mouvement */
    transition: transform 0.3s ease, color 0.3s ease !important;
    transform: translateX(0); /* Position initiale */
}

/* 5. Gestion des icônes SVG */
.elementor-widget-n-tabs .e-n-tab-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; /* Empêche l'icône de s'écraser si le texte est long */
}

.elementor-widget-n-tabs .e-n-tab-icon svg {
    width: 100%;
    height: auto;
}



/* ------------------------------------------------ */
/* 6. ÉTATS ACTIF ET SURVOL (HOVER)                 */
/* ------------------------------------------------ */

/* Décalage du texte (Translate X) au clic et au survol */
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text,
.elementor-widget-n-tabs .e-n-tab-title:hover .e-n-tab-title-text {
    transform: translateX(8px) !important; /* Décale le texte vers la droite */
    color: #72B5F8 !important; /* Changement de couleur */
}

/* 7. Zone de Contenu (La carte blanche à droite) */
.elementor-widget-n-tabs .e-n-tabs-content {
    flex: 1;
    background-color: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.05) !important; 
    overflow: hidden !important; 
}

/* 8. Mode Responsive (Mobile) */
@media (max-width: 768px) {
    .elementor-widget-n-tabs .e-n-tabs {
        flex-direction: column !important; 
        gap: 30px;
    }
    .elementor-widget-n-tabs .e-n-tabs-heading {
        flex: 1 1 auto !important;
        width: 100% !important;
    }
}

/* ===== */

.card-atout:hover {
    box-shadow: 0 4px 8px #141948;
    transform: translateY(-5px);
}

/* * CSS PERSONNALISÉ FAQ - LOCALAND
 * Design robuste et moderne (Bleu Marine / Bleu Clair)
 */

/* 1. Définition des couleurs de la charte LOCALAND pour modification facile */
.e-n-accordion {
    --loc-navy: #16153A; 
    --loc-blue: #70A8E9;
    --loc-blue-light: #F0F6FF; 
    --loc-text-gray: #5A5A5A; 
}

.e-n-accordion-item[open] .e-n-accordion-item-title-icon,
.e-n-accordion-item[open] .e-n-accordion-item-title-icon svg,
.e-n-accordion-item[open] .e-n-accordion-item-title-icon svg path {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* 2. Style global de la carte */
.e-n-accordion-item {
    background-color: #ffffff;
    border-radius: 12px; 
    margin-bottom: 24px !important; 
    border: 1px solid #E5E7EB; 
    box-shadow: 0 4px 12px rgba(22, 21, 58, 0.03);
    transition: all 0.3s ease;
    overflow: hidden;
}

/* Effet au survol */
.e-n-accordion-item:hover {
    border-color: var(--loc-blue);
    box-shadow: 0 6px 20px rgba(112, 168, 233, 0.15); 
    transform: translateY(-2px);
}

/* 3. L'en-tête (La question) */
.e-n-accordion-item-title {
    padding: 26px 30px !important; 
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background-color: transparent;
    transition: background-color 0.3s ease;
}

/* Nettoyage des puces natives */
.e-n-accordion-item-title::-webkit-details-marker { display: none; }
.e-n-accordion-item-title { list-style: none; }

/* Texte de la question */
.e-n-accordion-item-title-text {
    font-weight: 700; 
    font-size: 1.15rem;
    color: var(--loc-navy);
}

/* 4. Style quand l'accordéon est OUVERT */
.e-n-accordion-item[open] {
    border-color: var(--loc-blue); 
}

.e-n-accordion-item[open] .e-n-accordion-item-title {
    background-color: var(--loc-blue-light); 
    border-bottom: 1px solid rgba(112, 168, 233, 0.2);
}

/* 5. L'icône (+ / -) */
.e-n-accordion-item-title-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    background-color: var(--loc-blue-light);
    border-radius: 8px; 
    color: var(--loc-blue);
    transition: all 0.3s ease;
}

/* L'icône quand c'est OUVERT */
.e-n-accordion-item[open] .e-n-accordion-item-title-icon {
    background-color: var(--loc-navy);
    color: #ffffff; 
    transform: rotate(180deg); 
}

.e-n-accordion-item-title-icon svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

/* 6. Le contenu de la réponse (Texte) */
.e-n-accordion-item > div[role="region"] {
    padding: 26px 30px 30px 30px !important;
    color: var(--loc-text-gray);
    line-height: 1.7;
    font-size: 1rem;
    
    /* Anti-coupure du texte */
    overflow: visible !important; 
    max-height: none !important; 
}

/* Animation d'ouverture nette */
.e-n-accordion-item:not([open]) > div[role="region"] {
    display: none;
}

.e-n-accordion-item[open] > div[role="region"] {
    display: block;
    animation: slideDownLoc 0.3s ease-out;
}

@keyframes slideDownLoc {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.card-souscat .elementor-cta__bg-overlay {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.75) 90%);
    opacity: 1 !important; /* Force l'affichage du dégradé d'Elementor */
}