.ftcf-footer-active #main-footer { display: none !important; }

.ftcf-global-footer {
  --ftcf-navy: #112a49;
  --ftcf-navy-dark: #081827;
  --ftcf-red: #d40000;
  --ftcf-red-dark: #9f0000;
  --ftcf-red-bright: #d40000;
  --ftcf-cream: #f4f1ec;
  clear: both;
  position: relative;
  z-index: 3;
}

.ftcf-global-footer .et_pb_section,
.ftcf-global-footer .et_pb_row { box-sizing: border-box; }
.ftcf-global-footer .et_pb_row { width: min(88%, 1180px); }
.ftcf-global-footer .et_pb_text { margin-bottom: 0 !important; }

.ftcf-cta-section.et_pb_section {
  background:
    radial-gradient(circle at 8% 0, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 92% 100%, rgba(17,42,73,.28), transparent 34%),
    linear-gradient(115deg, var(--ftcf-red), var(--ftcf-red-dark)) !important;
  overflow: hidden;
  padding: 48px 0 !important;
}

.ftcf-cta-row { align-items: center; display: flex; padding: 0 !important; }
.ftcf-eyebrow,
.ftcf-heading {
  color: var(--ftcf-red-bright) !important;
  -webkit-text-fill-color: var(--ftcf-red-bright) !important;
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  margin-bottom: 15px;
  text-transform: uppercase;
}
.ftcf-heading::after {
  background: var(--ftcf-red-bright);
  content: "";
  display: block;
  height: 2px;
  margin-top: 8px;
  width: 26px;
}
.ftcf-cta-copy .ftcf-eyebrow {
  color: var(--ftcf-navy) !important;
  -webkit-text-fill-color: var(--ftcf-navy) !important;
}
.ftcf-cta-copy h2 { color: #fff !important; font-size: clamp(28px, 3vw, 42px); margin: 0 0 10px; padding: 0; }
.ftcf-cta-copy p { color: #fff; font-size: 16px; line-height: 1.6; margin: 0; }
.ftcf-cta-button { margin: 0 !important; text-align: right; }
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .ftcf-cta-button .et_pb_button,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .et_pb_button.ftcf-cta-button {
  -webkit-text-fill-color: var(--ftcf-navy) !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 2px solid #fff !important;
  border-radius: 4px !important;
  box-shadow: 0 14px 35px rgba(17,42,73,.34) !important;
  color: var(--ftcf-navy) !important;
  filter: none !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .06em;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  padding: 15px 22px !important;
  text-shadow: none !important;
  text-transform: uppercase;
  transition: background .25s ease, color .25s ease, transform .25s ease;
  visibility: visible !important;
}
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .ftcf-cta-button .et_pb_button::before,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .ftcf-cta-button .et_pb_button::after,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .et_pb_button.ftcf-cta-button::before,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .et_pb_button.ftcf-cta-button::after { display: none !important; }
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .ftcf-cta-button .et_pb_button:hover,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .et_pb_button.ftcf-cta-button:hover {
  -webkit-text-fill-color: #fff !important;
  background: var(--ftcf-navy) !important;
  background-color: var(--ftcf-navy) !important;
  border-color: #fff !important;
  color: #fff !important;
  transform: translateY(-3px);
}
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .ftcf-cta-button .et_pb_button:focus-visible,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-cta-section .et_pb_button.ftcf-cta-button:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 4px;
}

.ftcf-main-section.et_pb_section {
  background:
    radial-gradient(circle at 5% 8%, rgba(181,18,27,.13), transparent 25%),
    radial-gradient(circle at 95% 100%, rgba(55,91,125,.18), transparent 28%),
    linear-gradient(135deg, var(--ftcf-navy), #0b2036 72%) !important;
  padding: 70px 0 42px !important;
}
.ftcf-main-row { display: flex; padding: 0 !important; }
.ftcf-main-row > .et_pb_column { margin-bottom: 0 !important; }
.ftcf-main-row > .et_pb_column:first-child { padding-right: 4%; }
.ftcf-logo { background: #fff; border-radius: 5px; display: block; margin: 0 0 22px; max-width: 220px; padding: 8px; width: 100%; }
.ftcf-about { color: #c3cfd7; font-size: 14px; line-height: 1.75; margin: 0 0 22px; max-width: 390px; }
.ftcf-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.ftcf-badges span { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #fff; font-size: 11px; font-weight: 750; padding: 7px 11px; }

.ftcf-links { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ftcf-links li { font-size: 13px; line-height: 1.45; margin: 0 0 10px; padding: 0; }
.ftcf-links a { color: #d1dbe1 !important; display: inline-block; position: relative; transition: color .25s ease, transform .25s ease; }
.ftcf-links a::before { color: var(--ftcf-red-bright); content: "›"; font-weight: 900; margin-right: 7px; }
.ftcf-links a:hover { color: #fff !important; transform: translateX(5px); }

.ftcf-contact small {
  border-left: 2px solid var(--ftcf-red-bright);
  color: var(--ftcf-red-bright) !important;
  -webkit-text-fill-color: var(--ftcf-red-bright) !important;
  display: block;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  margin: 0 0 5px;
  padding-left: 7px;
}
.ftcf-contact a,
.ftcf-contact p { color: #d1dbe1 !important; display: block; font-size: 12px; line-height: 1.55; margin: 0 0 13px; overflow-wrap: anywhere; }
.ftcf-contact .ftcf-phone { color: #fff !important; font-size: 18px; font-weight: 850; }
.ftcf-social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.ftcf-social a { border: 1px solid rgba(255,255,255,.18); border-radius: 3px; color: #fff !important; font-size: 11px; font-weight: 800; padding: 7px 10px; }

.ftcf-area-row { border-top: 1px solid rgba(255,255,255,.12); margin-top: 45px; padding: 30px 0 0 !important; }
.ftcf-area { align-items: center; display: grid; gap: 15px 25px; grid-template-columns: 180px 1fr auto; }
.ftcf-area .ftcf-heading { margin: 0; }
.ftcf-area p { color: #aebdc7; font-size: 12px; line-height: 1.65; margin: 0; }
.ftcf-area a { color: #fff !important; font-size: 11px; font-weight: 850; text-transform: uppercase; white-space: nowrap; }

.ftcf-bottom-section.et_pb_section { background: var(--ftcf-navy-dark) !important; padding: 18px 0 !important; }
.ftcf-bottom-section .et_pb_row { padding: 0 !important; }
.ftcf-bottom { align-items: center; color: #8fa1ad; display: flex; font-size: 11px; justify-content: space-between; }
.ftcf-bottom a { color: #c5d0d7 !important; }
.ftcf-bottom i { color: var(--ftcf-red-bright); font-style: normal; margin: 0 8px; }
.ftcf-bottom strong { color: #fff; }

/*
 * Verrouillage de palette : Divi et la couche d'effets du site utilisent aussi
 * une teinte rouge claire. Ces sélecteurs locaux empêchent cette teinte de
 * recolorer le pied de page en rose/saumon.
 */
html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section .ftcf-heading,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section .ftcf-contact small,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section .ftcf-area .ftcf-heading,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section .ftcf-links a::before,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-bottom-section .ftcf-bottom i {
  color: #d40000 !important;
  -webkit-text-fill-color: #d40000 !important;
}

html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section .ftcf-heading::after {
  background: #d40000 !important;
}

html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section p,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section li,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-main-section a:not(.ftcf-phone),
html body.ftcf-footer-active #ftcf-global-footer .ftcf-bottom-section,
html body.ftcf-footer-active #ftcf-global-footer .ftcf-bottom-section a {
  text-shadow: none !important;
}

@media (max-width: 980px) {
  .ftcf-cta-row,
  .ftcf-main-row { display: flex; flex-wrap: wrap; }
  .ftcf-cta-row > .et_pb_column { margin: 0 0 25px !important; width: 100% !important; }
  .ftcf-cta-row > .et_pb_column:last-child { margin-bottom: 0 !important; }
  .ftcf-cta-button { text-align: left; }
  .ftcf-main-row > .et_pb_column { margin: 0 0 38px !important; width: 48% !important; }
  .ftcf-main-row > .et_pb_column:first-child { padding-right: 4%; width: 100% !important; }
  .ftcf-area { grid-template-columns: 1fr; }
  .ftcf-area a { white-space: normal; }
}

@media (max-width: 700px) {
  .ftcf-cta-section.et_pb_section { padding: 40px 0 !important; }
  .ftcf-cta-copy h2 { font-size: 29px; }
  .ftcf-cta-button .et_pb_button { box-sizing: border-box; text-align: center; width: 100%; }
  .ftcf-main-section.et_pb_section { padding: 55px 0 35px !important; }
  .ftcf-main-row > .et_pb_column { width: 100% !important; }
  .ftcf-logo { max-width: 190px; }
  .ftcf-bottom { flex-direction: column; gap: 8px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .ftcf-global-footer *,
  .ftcf-global-footer *::before,
  .ftcf-global-footer *::after { transition-duration: .01ms !important; }
}
