/* ==========================================================================
   FDED · Déposer un dossier · Theme Gimont v2.0 — WORDPRESS PRODUCTION
   Palette: Rouge #d82221 + Navy #082060 + Vert CTA #4FAE3D
   Typographies: Manrope (corps) + Raleway (display)

   IMPORTANT : ce fichier ne contient PAS les styles de header/topbar/footer
   car ceux-ci sont fournis par le thème Gimont via header.php / footer.php.
   Pour transformer le bouton "Report Issues" rouge de Gimont en bouton vert
   "Déposer un dossier", voir la section CUSTOMISATION DU HEADER GIMONT
   tout en bas de ce fichier.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&family=Raleway:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* --- Design tokens GIMONT --- */
:root {
  --gimont-red: #d82221;
  --gimont-red-dark: #b81b1a;
  --gimont-red-light: #fbe8e8;
  --gimont-navy: #082060;
  --gimont-navy-light: #1e3165;
  --gimont-navy-faint: #E6E8EE;
  --gimont-green: #4FAE3D;
  --gimont-green-dark: #3D8A30;
  --gimont-green-light: #E8F5E5;
  --gimont-orange: #ff9000;
  --gimont-orange-light: #fff4e0;
  --gimont-bg: #f3f4f7;
  --gimont-bg-alt: #f2f3f6;
  --gimont-card: #ffffff;
  --gimont-border: #e0e0e0;
  --gimont-border-soft: #e8e8e8;
  --gimont-text-900: #1a1a1a;
  --gimont-text-700: #343434;
  --gimont-text-500: #6b6c70;
  --gimont-text-400: #B0B8CF;

  --fded-gold-100: #fff4e0;
  --fded-gold-700: #b8770b;
  --fded-pink-100: #fce4ec;
  --fded-pink-600: #c2185b;
  --fded-purple-100: #ede7f6;
  --fded-purple-600: #5e35b1;

  --gimont-font-primary: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --gimont-font-display: 'Raleway', 'Manrope', sans-serif;
  --gimont-shadow: 0 4px 20px rgba(8, 32, 96, 0.08);
  --gimont-shadow-lg: 0 10px 40px rgba(8, 32, 96, 0.12);
  --gimont-transition: 250ms cubic-bezier(.4,0,.2,1);
}

/* --- Scope tous les styles sous .fded-page pour ne pas casser le thème Gimont --- */
.fded-page {
  font-family: var(--gimont-font-primary);
  color: var(--gimont-text-700);
  background: var(--gimont-bg);
  line-height: 1.6;
  font-size: 15px;
}

.fded-page *, .fded-page *::before, .fded-page *::after { box-sizing: border-box; }
.fded-page h1, .fded-page h2, .fded-page h3, .fded-page h4 { margin: 0; font-family: var(--gimont-font-display); }
.fded-page p { margin: 0; }

.fded-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 30px;
}

/* ==========================================================================
   HERO
   ========================================================================== */
.fded-hero {
  background: linear-gradient(135deg, var(--gimont-navy) 0%, var(--gimont-navy-light) 100%);
  color: #fff;
  padding: 80px 0 110px;
  position: relative;
  overflow: hidden;
}
.fded-hero::before {
  content: '';
  position: absolute; top: -30%; right: -10%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(216,34,33,.12) 0%, transparent 70%);
  pointer-events: none;
}
.fded-hero::after {
  content: '';
  position: absolute; bottom: -40%; left: -15%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(79,174,61,.08) 0%, transparent 70%);
  pointer-events: none;
}
.fded-hero__bg-pattern {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}

.fded-hero__inner { position: relative; z-index: 2; max-width: 800px; }

.fded-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,.7);
  margin-bottom: 32px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-weight: 600;
}
.fded-breadcrumb a { color: inherit; text-decoration: none; }
.fded-breadcrumb a:hover { color: #fff; }
.fded-breadcrumb strong { color: var(--gimont-orange); font-weight: 700; }
.fded-breadcrumb .sep { opacity: .5; }

.fded-hero__pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  font-size: 12px; font-weight: 600;
  padding: 8px 16px;
  text-transform: uppercase; letter-spacing: 1.3px;
  margin-bottom: 24px;
}
.fded-hero__pill::before {
  content: '';
  width: 7px; height: 7px;
  background: var(--gimont-green);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(79,174,61,.3);
}

.fded-hero h1 {
  font-family: var(--gimont-font-display);
  font-size: clamp(36px, 5.5vw, 68px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1.5px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 22px;
}
.fded-hero h1 span {
  display: block;
  color: rgba(255,255,255,.6);
  font-weight: 200;
  font-size: 0.55em;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.2;
  margin-top: 14px;
  font-family: var(--gimont-font-primary);
}
.fded-hero h1 mark {
  background: transparent;
  color: #fff;
  position: relative;
  padding: 0 4px;
}
.fded-hero h1 mark::after {
  content: '';
  position: absolute;
  left: -6px; right: -6px; bottom: 4px;
  height: 14px;
  border: 3px solid var(--gimont-red);
  border-radius: 50%;
  transform: rotate(-2deg);
  pointer-events: none;
}

.fded-hero__subtitle {
  font-size: 17px;
  color: rgba(255,255,255,.85);
  line-height: 1.7;
  margin-bottom: 36px;
  max-width: 620px;
}

.fded-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* ==========================================================================
   BOUTONS — coins nets, style Gimont
   ========================================================================== */
.fded-btn {
  display: inline-flex;
  align-items: center; justify-content: center;
  gap: 10px;
  padding: 16px 32px;
  font-family: var(--gimont-font-primary);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--gimont-transition);
  border-radius: 0;
}
.fded-btn--primary {
  background: var(--gimont-red);
  color: #fff;
  border-color: var(--gimont-red);
}
.fded-btn--primary:hover {
  background: var(--gimont-red-dark);
  border-color: var(--gimont-red-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(216,34,33,.3);
}
.fded-btn--secondary {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.4);
}
.fded-btn--secondary:hover {
  background: #fff;
  color: var(--gimont-navy);
  border-color: #fff;
}
.fded-btn--outline {
  background: transparent;
  color: var(--gimont-navy);
  border-color: var(--gimont-border);
}
.fded-btn--outline:hover {
  background: var(--gimont-navy);
  color: #fff;
  border-color: var(--gimont-navy);
}
.fded-btn--dark { background: var(--gimont-navy); color: #fff; }
.fded-btn--dark:hover { background: var(--gimont-navy-light); }

/* ==========================================================================
   TRUST BAR
   ========================================================================== */
.fded-trust {
  background: #fff;
  padding: 40px 0;
  border-bottom: 1px solid var(--gimont-border-soft);
  position: relative;
  margin-top: -40px;
  z-index: 5;
  box-shadow: var(--gimont-shadow);
}
.fded-trust__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.fded-trust__item {
  display: flex; align-items: center; gap: 18px;
  padding: 12px 30px;
  border-right: 1px solid var(--gimont-border-soft);
}
.fded-trust__item:last-child { border-right: none; }
.fded-trust__icon {
  width: 56px; height: 56px;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.fded-trust__icon svg { width: 26px; height: 26px; }
.fded-trust__icon--blue  { background: var(--gimont-navy);  color: #fff; }
.fded-trust__icon--gold  { background: var(--gimont-orange); color: #fff; }
.fded-trust__icon--green { background: var(--gimont-green); color: #fff; }
.fded-trust__text { display: flex; flex-direction: column; gap: 3px; }
.fded-trust__label {
  font-family: var(--gimont-font-display);
  font-weight: 700;
  font-size: 17px;
  color: var(--gimont-navy);
  text-transform: uppercase;
  letter-spacing: -.2px;
}
.fded-trust__sub { font-size: 13px; color: var(--gimont-text-500); }

/* ==========================================================================
   SECTIONS GÉNÉRIQUES
   ========================================================================== */
.fded-section { padding: 90px 0; }
.fded-section-header { text-align: center; max-width: 720px; margin: 0 auto 60px; }
.fded-section-eyebrow {
  display: inline-block;
  background: var(--gimont-red-light);
  color: var(--gimont-red);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 6px 14px;
  margin-bottom: 18px;
}
.fded-section-title {
  font-family: var(--gimont-font-display);
  font-size: clamp(28px, 3.8vw, 44px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--gimont-navy);
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 16px;
}
.fded-section-title em { color: var(--gimont-red); font-style: normal; }
.fded-section-subtitle { font-size: 16px; color: var(--gimont-text-500); line-height: 1.7; }

/* ==========================================================================
   PRODUITS — 6 cartes
   ========================================================================== */
.fded-products__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fded-product {
  background: #fff;
  padding: 32px 28px;
  border: 1px solid var(--gimont-border);
  border-top: 4px solid var(--gimont-navy);
  text-align: left;
  cursor: pointer;
  font-family: var(--gimont-font-primary);
  position: relative;
  transition: all var(--gimont-transition);
  display: flex; flex-direction: column;
}
.fded-product:hover {
  border-top-color: var(--gimont-red);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(8,32,96,.12);
}
.fded-product.is-selected {
  border-top-color: var(--gimont-green);
  border-color: var(--gimont-green);
  box-shadow: 0 0 0 2px var(--gimont-green-light);
}
.fded-product.is-selected::after {
  content: '✓';
  position: absolute; top: 14px; right: 14px;
  width: 28px; height: 28px;
  background: var(--gimont-green);
  color: #fff;
  display: grid; place-items: center;
  font-weight: 800; font-size: 16px;
}

.fded-product__badge {
  display: inline-block;
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.2px;
  padding: 4px 10px;
  margin-bottom: 18px;
}
.fded-product__badge--blue   { background: var(--gimont-navy);     color: #fff; }
.fded-product__badge--purple { background: var(--fded-purple-600); color: #fff; }
.fded-product__badge--pink   { background: var(--fded-pink-600);   color: #fff; }
.fded-product__badge--green  { background: var(--gimont-green);    color: #fff; }
.fded-product__badge--gold   { background: var(--gimont-orange);   color: #fff; }

.fded-product__title {
  font-family: var(--gimont-font-display);
  font-size: 22px; font-weight: 800;
  color: var(--gimont-navy);
  text-transform: uppercase;
  line-height: 1.15;
  letter-spacing: -.3px;
  margin-bottom: 14px;
}
.fded-product__divider { height: 2px; width: 36px; background: var(--gimont-red); margin-bottom: 16px; }
.fded-product__amount {
  font-family: var(--gimont-font-display);
  font-size: 22px; font-weight: 700;
  color: var(--gimont-text-900);
  letter-spacing: -.5px;
  margin-bottom: 4px;
}
.fded-product__terms {
  font-size: 13px; color: var(--gimont-text-500);
  font-weight: 600; text-transform: uppercase;
  letter-spacing: .5px; margin-bottom: 18px;
}
.fded-product__desc {
  font-size: 14px; color: var(--gimont-text-700);
  line-height: 1.65;
  flex: 1; margin-bottom: 22px;
}
.fded-product__cta {
  font-size: 13px; font-weight: 700;
  color: var(--gimont-red);
  text-transform: uppercase; letter-spacing: 1px;
  padding-top: 16px;
  border-top: 1px solid var(--gimont-border-soft);
  transition: color .2s;
}
.fded-product:hover .fded-product__cta { color: var(--gimont-red-dark); }

/* ==========================================================================
   FORMULAIRE 6 ÉTAPES
   ========================================================================== */
.fded-form-section { background: var(--gimont-bg); position: relative; }
.fded-form-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg,
    var(--gimont-red) 0%, var(--gimont-red) 33%,
    var(--gimont-orange) 33%, var(--gimont-orange) 66%,
    var(--gimont-green) 66%, var(--gimont-green) 100%);
}

.fded-stepper {
  display: flex;
  justify-content: space-between;
  position: relative;
  background: #fff;
  padding: 30px 30px 26px;
  margin-bottom: 0;
  border: 1px solid var(--gimont-border);
  border-bottom: none;
}
.fded-stepper::before {
  content: '';
  position: absolute;
  top: 50px; left: 70px; right: 70px;
  height: 3px;
  background: var(--gimont-border);
  z-index: 0;
}
.fded-stepper__progress {
  position: absolute; top: 50px; left: 70px;
  height: 3px;
  background: var(--gimont-green);
  z-index: 1;
  transition: width .4s ease;
}
.fded-step {
  background: none; border: none; cursor: pointer;
  display: flex; flex-direction: column; align-items: center;
  gap: 10px; padding: 0;
  position: relative; z-index: 2;
  font-family: var(--gimont-font-primary);
  flex: 1;
}
.fded-step__circle {
  width: 44px; height: 44px;
  background: #fff;
  border: 2px solid var(--gimont-border);
  color: var(--gimont-text-500);
  display: grid; place-items: center;
  font-weight: 700; font-size: 16px;
  transition: all .25s;
}
.fded-step__label {
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  color: var(--gimont-text-500);
}
.fded-step.is-active .fded-step__circle {
  background: var(--gimont-red);
  border-color: var(--gimont-red);
  color: #fff;
  box-shadow: 0 0 0 5px rgba(216,34,33,.12);
}
.fded-step.is-active .fded-step__label { color: var(--gimont-red); }
.fded-step.is-done .fded-step__circle {
  background: var(--gimont-green);
  border-color: var(--gimont-green);
  color: #fff;
}
.fded-step.is-done .fded-step__label { color: var(--gimont-green-dark); }

.fded-form-card {
  background: #fff;
  border: 1px solid var(--gimont-border);
  padding: 50px 50px 0;
}
.fded-form-step { display: none; padding-bottom: 30px; }
.fded-form-step.is-active { display: block; }
.fded-form-step__title {
  font-family: var(--gimont-font-display);
  font-size: 28px; font-weight: 800;
  color: var(--gimont-navy);
  text-transform: uppercase;
  letter-spacing: -.5px;
  margin-bottom: 8px;
  padding-bottom: 18px;
  border-bottom: 3px solid var(--gimont-red);
  display: inline-block;
}
.fded-form-step__desc {
  font-size: 15px;
  color: var(--gimont-text-500);
  margin: 0 0 30px;
  line-height: 1.7;
}

/* CHAMPS */
.fded-field { margin-bottom: 22px; }
.fded-field-grid-2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
  margin-bottom: 22px;
}
.fded-field-grid-2 .fded-field { margin-bottom: 0; }

.fded-label {
  display: block;
  font-weight: 700;
  font-size: 13px;
  color: var(--gimont-navy);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.fded-label .req, .req { color: var(--gimont-red); margin-left: 2px; }

.fded-input, .fded-select, .fded-textarea {
  width: 100%;
  padding: 13px 16px;
  font-family: var(--gimont-font-primary);
  font-size: 15px;
  color: var(--gimont-text-900);
  background: #fff;
  border: 1.5px solid var(--gimont-border);
  border-radius: 0;
  transition: border-color var(--gimont-transition), box-shadow var(--gimont-transition);
}
.fded-input:focus, .fded-select:focus, .fded-textarea:focus {
  outline: none;
  border-color: var(--gimont-red);
  box-shadow: 0 0 0 3px rgba(216,34,33,.1);
}
.fded-input--error,
.fded-input--error:focus {
  border-color: var(--gimont-red);
  background: var(--gimont-red-light);
}
.fded-textarea { resize: vertical; min-height: 100px; }
.fded-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23082060' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 42px;
}
.fded-field-hint, .fded-field__hint {
  font-size: 12px; color: var(--gimont-text-500);
  margin-top: 6px; line-height: 1.5;
}
.fded-field__error {
  color: var(--gimont-red);
  font-size: 12px; font-weight: 600;
  margin-top: 6px; min-height: 16px;
}

.fded-radio-group { display: flex; flex-direction: column; gap: 10px; }
.fded-radio-group--inline { flex-direction: row; gap: 18px; }
.fded-radio, .fded-checkbox {
  display: inline-flex; align-items: center; gap: 10px;
  cursor: pointer;
  font-size: 14px;
  color: var(--gimont-text-700);
  user-select: none;
}
.fded-radio input, .fded-checkbox input { width: 18px; height: 18px; accent-color: var(--gimont-red); }

.fded-finance-notice {
  padding: 18px 20px;
  background: var(--gimont-orange-light);
  border-left: 4px solid var(--gimont-orange);
  margin-bottom: 26px;
  font-size: 14px;
  color: var(--gimont-text-700);
  line-height: 1.7;
}
.fded-finance-notice strong { color: var(--gimont-orange); }

/* UPLOAD */
.fded-upload-group { margin-bottom: 24px; }
.fded-upload {
  display: block;
  padding: 36px 24px;
  background: var(--gimont-bg);
  border: 2px dashed var(--gimont-border);
  text-align: center;
  cursor: pointer;
  transition: all var(--gimont-transition);
}
.fded-upload:hover, .fded-upload.is-dragover {
  background: var(--gimont-red-light);
  border-color: var(--gimont-red);
}
.fded-upload__icon-wrap {
  width: 52px; height: 52px;
  background: #fff;
  border: 1.5px solid var(--gimont-border);
  display: grid; place-items: center;
  margin: 0 auto 14px;
  color: var(--gimont-red);
  transition: all .25s;
}
.fded-upload:hover .fded-upload__icon-wrap {
  background: var(--gimont-red);
  color: #fff;
  border-color: var(--gimont-red);
}
.fded-upload__label {
  font-weight: 700;
  font-size: 14px;
  color: var(--gimont-navy);
  text-transform: uppercase;
  letter-spacing: .5px;
}
.fded-upload__hint { font-size: 12px; color: var(--gimont-text-500); margin-top: 4px; }
.fded-upload input[type="file"] { display: none; }

.fded-file-list { margin-top: 12px; }
.fded-file-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid var(--gimont-border);
  margin-bottom: 6px;
  font-size: 13px;
}
.fded-file-item__name { flex: 1; color: var(--gimont-navy); font-weight: 600; }
.fded-file-item__size { color: var(--gimont-text-500); font-family: monospace; }
.fded-file-item__remove {
  width: 26px; height: 26px;
  background: var(--gimont-red-light);
  color: var(--gimont-red);
  border: none; cursor: pointer;
  font-size: 16px; font-weight: 700;
  transition: all .2s;
}
.fded-file-item__remove:hover { background: var(--gimont-red); color: #fff; }

/* NAV BAS */
.fded-form-nav {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding: 24px 50px;
  margin: 0 -50px;
  background: var(--gimont-bg-alt);
  border-top: 1px solid var(--gimont-border);
}
.fded-form-nav__status {
  font-size: 12px;
  color: var(--gimont-green-dark);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.fded-form-nav__status::before {
  content: '';
  width: 8px; height: 8px;
  background: var(--gimont-green);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(79,174,61,.2);
  animation: gimont-pulse 2s infinite;
}
@keyframes gimont-pulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }

.fded-spinner {
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: gimont-spin .8s linear infinite;
}
@keyframes gimont-spin { to { transform: rotate(360deg); } }

/* RÉSULTAT POST-SOUMISSION */
.fded-result { text-align: center; padding: 60px 30px; }
.fded-result__icon {
  width: 80px; height: 80px;
  display: grid; place-items: center;
  margin: 0 auto 24px;
  font-size: 36px; font-weight: 800;
  color: #fff;
}
.fded-result__icon--success { background: var(--gimont-green); }
.fded-result__title {
  font-family: var(--gimont-font-display);
  font-size: 32px; font-weight: 800;
  text-transform: uppercase;
  color: var(--gimont-navy);
  margin-bottom: 12px;
}
.fded-result__text {
  font-size: 15px;
  color: var(--gimont-text-700);
  line-height: 1.7;
  max-width: 480px;
  margin: 0 auto 18px;
}
.fded-result__ref {
  display: inline-block;
  padding: 14px 28px;
  background: var(--gimont-bg);
  border: 2px solid var(--gimont-red);
  font-family: 'Courier New', monospace;
  font-size: 22px; font-weight: 700;
  color: var(--gimont-red);
  letter-spacing: 3px;
  margin: 18px 0;
}

/* ==========================================================================
   TIMELINE — délai officiel d'instruction
   ========================================================================== */
.fded-timeline { background: #fff; }
.fded-timeline__track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  padding-top: 30px;
}
.fded-timeline__track::before {
  content: '';
  position: absolute; top: 64px; left: 12.5%; right: 12.5%;
  height: 3px;
  background: linear-gradient(90deg, var(--gimont-red), var(--gimont-orange), var(--gimont-green));
}
.fded-timeline__item {
  text-align: center;
  position: relative;
  padding: 0 12px;
}
.fded-timeline__date {
  font-family: var(--gimont-font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--gimont-navy);
  margin-bottom: 14px;
}
.fded-timeline__dot {
  width: 18px; height: 18px;
  background: var(--gimont-red);
  border: 4px solid #fff;
  border-radius: 50%;
  margin: 0 auto 16px;
  position: relative;
  z-index: 2;
  box-shadow: 0 0 0 2px var(--gimont-red);
}
.fded-timeline__item:nth-child(2) .fded-timeline__dot { background: var(--gimont-orange); box-shadow: 0 0 0 2px var(--gimont-orange); }
.fded-timeline__item:nth-child(3) .fded-timeline__dot { background: #b88030; box-shadow: 0 0 0 2px #b88030; }
.fded-timeline__item:nth-child(4) .fded-timeline__dot { background: var(--gimont-green); box-shadow: 0 0 0 2px var(--gimont-green); }

.fded-timeline__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--gimont-text-700);
  line-height: 1.5;
}

/* ==========================================================================
   FAQ accordéon
   ========================================================================== */
.fded-faq { background: var(--gimont-bg); }
.fded-faq__list { max-width: 880px; margin: 0 auto; }
.fded-faq-item {
  background: #fff;
  border: 1px solid var(--gimont-border);
  border-bottom: none;
}
.fded-faq-item:last-child { border-bottom: 1px solid var(--gimont-border); }
.fded-faq-item__question {
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 22px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-family: var(--gimont-font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--gimont-navy);
  text-align: left;
  text-transform: uppercase;
  letter-spacing: -.2px;
  transition: color .2s;
}
.fded-faq-item__question:hover { color: var(--gimont-red); }
.fded-faq-item__icon {
  flex-shrink: 0;
  font-size: 24px;
  font-weight: 300;
  color: var(--gimont-red);
  transition: transform .25s;
}
.fded-faq-item.is-open .fded-faq-item__icon { transform: rotate(45deg); }
.fded-faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.fded-faq-item.is-open .fded-faq-item__answer { max-height: 600px; }
.fded-faq-item__answer p {
  padding: 0 28px 12px;
  font-size: 14.5px;
  color: var(--gimont-text-700);
  line-height: 1.75;
}
.fded-faq-item__answer p:last-child { padding-bottom: 24px; }

/* ==========================================================================
   ASSISTANCE
   ========================================================================== */
.fded-assistance { background: var(--gimont-navy); color: #fff; }
.fded-assistance__title {
  font-family: var(--gimont-font-display);
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 12px;
  color: #fff;
}
.fded-assistance__sub {
  text-align: center;
  font-size: 15px;
  color: rgba(255,255,255,.7);
  margin-bottom: 40px;
}
.fded-assistance__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  max-width: 760px;
  margin: 0 auto;
}
.fded-assistance-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 26px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  text-decoration: none;
  color: #fff;
  transition: all var(--gimont-transition);
}
.fded-assistance-card:hover {
  background: rgba(255,255,255,.1);
  border-color: var(--gimont-red);
  transform: translateY(-3px);
}
.fded-assistance-card__icon {
  width: 56px; height: 56px;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.fded-assistance-card__icon svg { width: 26px; height: 26px; }
.fded-assistance-card__label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: rgba(255,255,255,.65);
  margin-bottom: 4px;
  font-weight: 600;
}
.fded-assistance-card__value {
  font-family: var(--gimont-font-display);
  font-size: 19px;
  font-weight: 700;
  color: #fff;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
  .fded-products__grid { grid-template-columns: repeat(2, 1fr); }
  .fded-timeline__track { grid-template-columns: 1fr 1fr; gap: 30px; }
  .fded-timeline__track::before { display: none; }
}
@media (max-width: 768px) {
  .fded-hero { padding: 60px 0 80px; }
  .fded-trust__grid { grid-template-columns: 1fr; }
  .fded-trust__item { border-right: none; border-bottom: 1px solid var(--gimont-border-soft); }
  .fded-trust__item:last-child { border-bottom: none; }
  .fded-products__grid { grid-template-columns: 1fr; }
  .fded-field-grid-2 { grid-template-columns: 1fr; }
  .fded-form-card { padding: 30px 24px 0; }
  .fded-form-nav { margin: 0 -24px; padding: 18px 24px; flex-wrap: wrap; }
  .fded-stepper { padding: 22px 14px 18px; overflow-x: auto; }
  .fded-step__label { font-size: 10px; }
  .fded-timeline__track { grid-template-columns: 1fr; }
  .fded-assistance__cards { grid-template-columns: 1fr; }
}

/* ==========================================================================
   CUSTOMISATION DU HEADER GIMONT
   --------------------------------------------------------------------------
   Le thème Gimont fournit dans son header.php un bouton CTA rouge à droite
   de la navigation (par défaut "Report Issues"). Pour le transformer en
   bouton VERT "Déposer un dossier" comme dans la capture d'écran, ajoutez
   ces règles à la fin de votre style.css du child theme. Les sélecteurs
   ciblent le bouton CTA standard de Gimont — adaptez si votre child theme
   a déjà des overrides.
   ========================================================================== */
.ova-header__btn,
.header-btn,
.btn-report,
header .btn-primary,
.gimont-header .ova-btn-primary {
  background: var(--gimont-green) !important;
  border-color: var(--gimont-green) !important;
  color: #fff !important;
  transition: background .25s ease !important;
}
.ova-header__btn:hover,
.header-btn:hover,
.btn-report:hover,
header .btn-primary:hover,
.gimont-header .ova-btn-primary:hover {
  background: var(--gimont-green-dark) !important;
  border-color: var(--gimont-green-dark) !important;
}

/* ==========================================================================
   CORRECTIF TAILLE DES ICÔNES — v2.1
   --------------------------------------------------------------------------
   Le thème Gimont applique une règle globale du type `svg { width: 100%; }`
   qui écrase les attributs width/height des SVG inline. Résultat : les icônes
   (upload, étapes, résultat, etc.) s'affichent en géant.

   On force ici une taille raisonnable sur TOUS les SVG du module FDED, avec
   une spécificité + !important suffisante pour battre les règles du thème.
   ========================================================================== */

/* Garde-fou global : aucun SVG du module ne doit dépasser sa boîte */
.fded-page svg {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Icône d'upload (le gros document de ta capture) */
.fded-page .fded-upload__icon-wrap svg {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 auto;
}

/* Icônes de la barre de confiance */
.fded-page .fded-trust__icon svg {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 auto;
}

/* Icônes des cartes d'assistance */
.fded-page .fded-assistance-card__icon svg {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 auto;
}

/* Icônes dans les boutons (flèches, download, etc.) */
.fded-page .fded-btn svg,
.fded-page .gimont-cta-btn svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 auto;
}

/* Petites flèches / chevrons inline */
.fded-page .fded-product__cta svg,
.fded-page .fded-breadcrumb svg {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 auto;
}

/* Icônes du footer / contact */
.fded-page .gimont-footer__contact .ci svg,
.fded-page .fded-assistance svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto;
}

/* Rond + silhouette du "bonhomme" et autres grandes icônes décoratives
   éventuellement présentes dans les étapes : on les contraint aussi. */
.fded-page .fded-form-step svg,
.fded-page .fded-upload svg {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 auto;
}

/* Sécurité maximale : tout SVG resté sans conteneur de taille
   est plafonné à 48px pour ne jamais remplir l'écran */
.fded-page .fded-section svg:not([class*="icon"]):not(.fded-btn svg) {
  max-width: 48px;
  max-height: 48px;
}

/* ==========================================================================
   CORRECTIF v2.2 — Section "Kit candidat / Télécharger le kit"
   --------------------------------------------------------------------------
   Cette section (.fded-download) n'avait aucun style, donc son icône SVG
   héritait du svg{width:100%} global de Gimont (flèche géante). On style
   ici toute la carte + on contraint l'icône.
   ========================================================================== */

.fded-download {
  padding: 0 0 80px;
  background: var(--gimont-bg);
}
.fded-download__card {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #fff;
  border: 1px solid var(--gimont-border);
  border-left: 4px solid var(--gimont-green);
  padding: 28px 32px;
  max-width: 880px;
  margin: 0 auto;
  box-shadow: var(--gimont-shadow);
}
.fded-download__icon {
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  background: var(--gimont-green-light);
  color: var(--gimont-green-dark);
  display: grid;
  place-items: center;
  border-radius: 50%;
}
/* La règle clé qui corrige la flèche géante de ta capture */
.fded-page .fded-download__icon svg {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 auto;
}
.fded-download__body { flex: 1; }
.fded-download__title {
  font-family: var(--gimont-font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--gimont-navy);
  text-transform: uppercase;
  letter-spacing: -.2px;
  margin-bottom: 4px;
}
.fded-download__desc {
  font-size: 14px;
  color: var(--gimont-text-500);
  line-height: 1.6;
}
.fded-download__card .fded-btn { flex: 0 0 auto; }

@media (max-width: 768px) {
  .fded-download__card {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
  .fded-download__body { text-align: center; }
}

/* ==========================================================================
   ÉCRAN DE SUCCÈS PLEIN ÉCRAN — v2.3
   --------------------------------------------------------------------------
   Affiché après soumission : tout le reste de la page est masqué par le JS,
   et seul cet écran reste visible, centré verticalement.
   ========================================================================== */
.fded-success-screen {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 0;
  background: var(--gimont-bg);
}
.fded-success-screen__inner {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--gimont-border);
  border-top: 5px solid var(--gimont-green);
  padding: 56px 48px;
  box-shadow: var(--gimont-shadow-lg);
}
.fded-success-screen .fded-result__icon {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  margin: 0 auto 28px;
  font-size: 42px;
}
.fded-success-screen .fded-result__title {
  margin-bottom: 16px;
}
@media (max-width: 768px) {
  .fded-success-screen__inner { padding: 40px 24px; }
}

/* ==========================================================================
   BOUTONS DE L'ÉCRAN DE SUCCÈS — v2.4
   Conteneur des 2 boutons (Suivre / Accueil) + bouton vert "Suivre"
   ========================================================================== */
.fded-result__actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}
.fded-btn--success {
  background: var(--gimont-green);
  color: #fff;
  border-color: var(--gimont-green);
}
.fded-btn--success:hover {
  background: var(--gimont-green-dark);
  border-color: var(--gimont-green-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(79,174,61,.3);
}
@media (max-width: 560px) {
  .fded-result__actions { flex-direction: column; }
  .fded-result__actions .fded-btn { width: 100%; }
}
