:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-a48b393 *//* ==========================================================================
   PAGE FAQ — HERO PREMIUM
   Campourcy · Plus Jakarta Sans · Préfixe cpfh-
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --cpfh-forest-deep : #1A2F0D;
  --cpfh-forest      : #2D5016;
  --cpfh-ocre        : #BA7517;
  --cpfh-white       : #FFFFFF;
  --cpfh-ease        : cubic-bezier(0.25, 1, 0.5, 1);
}

/* ==========================================================================
   SECTION
   ========================================================================== */

.cpfh-section {
  position: relative !important;
  overflow: hidden !important;
  background-color: var(--cpfh-forest-deep) !important;
  padding: 140px 32px 100px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  min-height: 72vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* ==========================================================================
   FOND ANIMÉ
   ========================================================================== */

.cpfh-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.cpfh-bg-svg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Arcs : rotation très lente, chacun à vitesse différente */
.cpfh-arc {
  transform-origin: 720px 700px !important;
}

.cpfh-arc--1 { animation: cpfhRotate 60s linear infinite !important; }
.cpfh-arc--2 { animation: cpfhRotate 80s linear infinite reverse !important; }
.cpfh-arc--3 { animation: cpfhRotate 50s linear infinite !important; }
.cpfh-arc--4 { animation: cpfhRotate 70s linear infinite reverse !important; }

@keyframes cpfhRotate {
  from { transform: rotate(0deg);   }
  to   { transform: rotate(360deg); }
}

/* Orbe ocre : lueur chaude positionnée en haut à droite */
.cpfh-orb {
  position: absolute !important;
  top: -80px !important;
  right: 10% !important;
  width: 340px !important;
  height: 340px !important;
  background: radial-gradient(circle, rgba(186,117,23,0.18) 0%, transparent 70%) !important;
  border-radius: 50% !important;
  filter: blur(40px) !important;
  animation: cpfhOrbFloat 12s ease-in-out infinite !important;
}

@keyframes cpfhOrbFloat {
  0%, 100% { transform: translateY(0)    scale(1);    opacity: 0.8; }
  50%       { transform: translateY(20px) scale(1.1); opacity: 1;   }
}

/* ==========================================================================
   CONTENU
   ========================================================================== */

.cpfh-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
}

/* --- Eyebrow --- */
.cpfh-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: var(--cpfh-ocre) !important;
  margin: 0 !important;
}

.cpfh-eyebrow__dash {
  display: block !important;
  width: 28px !important;
  height: 1.5px !important;
  background: var(--cpfh-ocre) !important;
  flex-shrink: 0 !important;
}

/* --- Titre : mots en clip-path reveal --- */
.cpfh-title {
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  /* Gouttière entre les deux mots */
  column-gap: 0.3em !important;
  row-gap: 0 !important;
  line-height: 1 !important;
}

.cpfh-word {
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(3.4rem, 9vw, 8rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.0 !important;
  color: var(--cpfh-white) !important;
  /* Reveal par clip-path : le mot monte depuis le bas dans son masque */
  clip-path: inset(0 0 100% 0) !important;
  transform: translateY(20px) !important;
  transition: clip-path 0s, transform 0s !important; /* neutralisé avant déclenchement */
}

/* Le mot accent est en couleur ocre */
.cpfh-word--accent {
  color: var(--cpfh-ocre) !important;
}

/* Quand la classe --in est ajoutée, les mots se révèlent */
.cpfh-word.cpfh-anim--in {
  clip-path: inset(0 0 0% 0) !important;
  transform: translateY(0) !important;
  transition: clip-path 0.9s var(--cpfh-ease),
              transform 0.9s var(--cpfh-ease) !important;
}

/* --- Pied : desc + stats --- */
.cpfh-foot {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 40px !important;
  align-items: center !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 36px !important;
  margin-top: 8px !important;
}

.cpfh-desc {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 !important;
  max-width: 460px !important;
}

/* --- Stats rapides --- */
.cpfh-stats {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.cpfh-stat {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 0 32px !important;
}

.cpfh-stat:first-child {
  padding-left: 0 !important;
}

.cpfh-stat__sep {
  width: 1px !important;
  height: 36px !important;
  background: rgba(255,255,255,0.12) !important;
  flex-shrink: 0 !important;
}

.cpfh-stat__num {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: 2.2rem !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
  color: var(--cpfh-white) !important;
}

.cpfh-stat__unit {
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin-left: 3px !important;
  opacity: 0.7 !important;
}

.cpfh-stat__label {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(255,255,255,0.35) !important;
  line-height: 1.4 !important;
}

/* ==========================================================================
   FLÈCHE DE SCROLL
   ========================================================================== */

.cpfh-scroll-hint {
  position: absolute !important;
  bottom: 36px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.cpfh-scroll-hint__line {
  width: 1px !important;
  height: 48px !important;
  background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent) !important;
  animation: cpfhScrollDrop 2s ease-in-out infinite !important;
}

@keyframes cpfhScrollDrop {
  0%   { transform: scaleY(0); transform-origin: top;    opacity: 0; }
  40%  { transform: scaleY(1); transform-origin: top;    opacity: 1; }
  60%  { transform: scaleY(1); transform-origin: bottom; opacity: 1; }
  100% { transform: scaleY(0); transform-origin: bottom; opacity: 0; }
}

/* ==========================================================================
   ANIMATIONS D'ENTRÉE (éléments non-titre)
   ========================================================================== */

/* Tous les .cpfh-anim sauf .cpfh-word (géré en clip-path ci-dessus) */
.cpfh-anim:not(.cpfh-word) {
  opacity: 0 !important;
  transform: translateY(16px) !important;
  transition: opacity 0.7s var(--cpfh-ease),
              transform 0.7s var(--cpfh-ease) !important;
}

.cpfh-anim--1 { transition-delay: 0.05s !important; }
.cpfh-anim--2 { transition-delay: 0.2s  !important; }
.cpfh-anim--3 { transition-delay: 0.45s !important; } /* décalage entre les deux mots */
.cpfh-anim--4 { transition-delay: 0.7s  !important; }
.cpfh-anim--5 { transition-delay: 1.1s  !important; }

.cpfh-anim--in:not(.cpfh-word) {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .cpfh-arc, .cpfh-orb, .cpfh-scroll-hint__line { animation: none !important; }
  .cpfh-anim:not(.cpfh-word)  { opacity: 1 !important; transform: none !important; transition: none !important; }
  .cpfh-word { clip-path: none !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (min-width: 768px) {
  .cpfh-foot {
    grid-template-columns: 1fr auto !important;
    gap: 60px !important;
  }
}

@media (max-width: 480px) {
  .cpfh-section {
    padding: 120px 24px 80px !important;
    min-height: 80vh !important;
  }

  .cpfh-stat {
    padding: 0 18px !important;
  }

  .cpfh-stat__num {
    font-size: 1.6rem !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6167eee *//* ==========================================================================
   PAGE FAQ — ACCORDÉON + CTA
   Campourcy · Plus Jakarta Sans · Préfixe cpfa-
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --cpfa-forest  : #2D5016;
  --cpfa-ocre    : #BA7517;
  --cpfa-bg      : #F5F3EE;
  --cpfa-white   : #FFFFFF;
  --cpfa-ink     : #1A1A18;
  --cpfa-muted   : rgba(26, 26, 24, 0.45);
  --cpfa-border  : rgba(26, 26, 24, 0.08);
  --cpfa-ease    : cubic-bezier(0.25, 1, 0.5, 1);
}

/* ==========================================================================
   LAYOUT 2 COLONNES
   ========================================================================== */

.cpfa-section {
  background-color: var(--cpfa-white) !important;
  padding: 80px 32px 120px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.cpfa-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 64px !important;
}

/* ==========================================================================
   NAVIGATION LATÉRALE (desktop)
   ========================================================================== */

.cpfa-nav {
  display: none !important; /* masquée sur mobile */
}

.cpfa-nav__label {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--cpfa-muted) !important;
  margin: 0 0 16px 0 !important;
}

.cpfa-nav__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  position: sticky !important;
  top: 100px !important;
}

.cpfa-nav__link {
  display: block !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--cpfa-muted) !important;
  text-decoration: none !important;
  padding: 10px 16px !important;
  border-left: 2px solid transparent !important;
  transition: color 0.25s ease,
              border-color 0.25s ease,
              background 0.25s ease !important;
  border-radius: 0 6px 6px 0 !important;
}

.cpfa-nav__link:hover,
.cpfa-nav__link--active {
  color: var(--cpfa-forest) !important;
  border-left-color: var(--cpfa-ocre) !important;
  background: rgba(186, 117, 23, 0.04) !important;
}

/* ==========================================================================
   CONTENU PRINCIPAL
   ========================================================================== */

.cpfa-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 64px !important;
}

/* ==========================================================================
   GROUPE (Thème)
   ========================================================================== */

.cpfa-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Titre de groupe : numéro + label */
.cpfa-group__title {
  display: flex !important;
  align-items: baseline !important;
  gap: 16px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.02em !important;
  color: var(--cpfa-ink) !important;
  margin: 0 0 24px 0 !important;
  padding-bottom: 20px !important;
  border-bottom: 2px solid var(--cpfa-forest) !important;
}

.cpfa-group__num {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: var(--cpfa-ocre) !important;
  /* Alignement visuel avec la baseline du titre */
  position: relative !important;
  top: -2px !important;
}

/* ==========================================================================
   LISTE D'ITEMS
   ========================================================================== */

.cpfa-list {
  display: flex !important;
  flex-direction: column !important;
}

/* ==========================================================================
   ITEM ACCORDÉON
   ========================================================================== */

.cpfa-item {
  border-bottom: 1px solid var(--cpfa-border) !important;
}

/* Bouton trigger */
.cpfa-trigger {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 26px 0 !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  transition: none !important;
}

.cpfa-trigger__text {
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  color: var(--cpfa-ink) !important;
  line-height: 1.4 !important;
  transition: color 0.3s ease !important;
}

.cpfa-trigger:hover .cpfa-trigger__text,
.cpfa-item--open .cpfa-trigger__text {
  color: var(--cpfa-forest) !important;
}

/* Icône +/× */
.cpfa-trigger__icon {
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--cpfa-bg) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--cpfa-forest) !important;
  transition: background 0.35s var(--cpfa-ease),
              color 0.35s ease,
              transform 0.5s var(--cpfa-ease) !important;
}

.cpfa-trigger__icon svg {
  width: 14px !important;
  height: 14px !important;
  transition: transform 0.5s var(--cpfa-ease) !important;
}

/* Quand ouvert : fond ocre + croix (rotation 45°) */
.cpfa-item--open .cpfa-trigger__icon {
  background: var(--cpfa-ocre) !important;
  color: var(--cpfa-white) !important;
  transform: rotate(45deg) !important;
}

/* Hover sur trigger fermé */
.cpfa-trigger:hover .cpfa-trigger__icon {
  background: rgba(45, 80, 22, 0.08) !important;
  color: var(--cpfa-forest) !important;
}

/* Panel */
.cpfa-panel {
  overflow: hidden !important;
  padding: 0 48px 28px 0 !important;
}

.cpfa-panel p {
  font-size: 0.97rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--cpfa-ink) !important;
  opacity: 0.65 !important;
  margin: 0 !important;
}

.cpfa-panel p strong {
  font-weight: 700 !important;
  color: var(--cpfa-forest) !important;
  opacity: 1 !important;
}

/* Animation d'ouverture du panel via max-height */
.cpfa-panel:not([hidden]) {
  animation: cpfaSlideDown 0.4s var(--cpfa-ease) both !important;
}

@keyframes cpfaSlideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0);    }
}

/* ==========================================================================
   CTA FINAL
   ========================================================================== */

.cpfa-cta {
  background: var(--cpfa-forest) !important;
  border-radius: 16px !important;
  padding: 52px 56px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
  /* Reflet subtil */
  box-shadow: 0 30px 60px rgba(45, 80, 22, 0.18) !important;
}

.cpfa-cta__title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
  letter-spacing: -0.02em !important;
  color: var(--cpfa-white) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.2 !important;
}

.cpfa-cta__sub {
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.5) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.cpfa-cta__btns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.cpfa-btn {
  display: inline-flex !important;
  align-items: center !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background 0.3s ease,
              color 0.3s ease,
              transform 0.3s var(--cpfa-ease),
              box-shadow 0.3s ease !important;
}

.cpfa-btn--prim {
  background: var(--cpfa-white) !important;
  color: var(--cpfa-forest) !important;
}

.cpfa-btn--prim:hover {
  background: var(--cpfa-ocre) !important;
  color: var(--cpfa-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(186, 117, 23, 0.3) !important;
}

.cpfa-btn--sec {
  background: transparent !important;
  color: rgba(255,255,255,0.7) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
}

.cpfa-btn--sec:hover {
  background: rgba(255,255,255,0.08) !important;
  color: var(--cpfa-white) !important;
  border-color: rgba(255,255,255,0.4) !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   ANIMATIONS D'ENTRÉE
   ========================================================================== */

.cpfa-reveal {
  opacity: 0 !important;
  transform: translateY(24px) !important;
  transition: opacity 0.65s var(--cpfa-ease),
              transform 0.65s var(--cpfa-ease) !important;
}

.cpfa-reveal--in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cpfa-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .cpfa-panel:not([hidden]) { animation: none !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (min-width: 900px) {
  .cpfa-inner {
    grid-template-columns: 200px 1fr !important;
    gap: 80px !important;
  }

  .cpfa-nav {
    display: block !important;
  }

  .cpfa-cta {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
  }

  .cpfa-cta__btns {
    flex-shrink: 0 !important;
  }
}

@media (max-width: 600px) {
  .cpfa-section {
    padding: 60px 20px 80px !important;
  }

  .cpfa-cta {
    padding: 36px 28px !important;
  }

  .cpfa-panel {
    padding-right: 0 !important;
  }
/* ==========================================================================
   CORRECTIF DÉBORDEMENT HORIZONTAL — NIVEAU PAGE
   ========================================================================== */

html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

.cpfa-section {
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100vw !important;
}

.cpfa-inner,
.cpfa-content,
.cpfa-group,
.cpfa-list,
.cpfa-item {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Le texte des questions : on force le retour à la ligne, jamais de nowrap */
.cpfa-trigger {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.cpfa-trigger__text {
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

.cpfa-trigger__icon {
  flex-shrink: 0 !important;
}

.cpfa-panel {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

.cpfa-cta {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.cpfa-cta__btns {
  flex-wrap: wrap !important;
  width: 100% !important;
}

.cpfa-btn {
  white-space: normal !important;
}

@media (max-width: 600px) {
  .cpfa-trigger {
    gap: 16px !important;
    padding: 22px 0 !important;
  }

  .cpfa-trigger__text {
    font-size: 0.95rem !important;
  }

  .cpfa-panel {
    padding: 0 0 24px 0 !important;
  }

  .cpfa-cta__btns {
    flex-direction: column !important;
  }

  .cpfa-btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}
}/* End custom CSS */