.elementor-664 .elementor-element.elementor-element-0c1bd14{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-8901486 *//* Logo parfaitement rond */
.ft-logo{
  width:72px;
  height:72px;
  aspect-ratio:1 / 1;
  border-radius:50% !important;
  object-fit:cover;            /* recadre proprement si l'image n'est pas carrée */
  display:block;
  padding:0;                   /* retire le “carré blanc” */
  border:0;
  background:transparent;
  box-shadow:0 0 0 3px #fff,   /* fin anneau blanc autour */
             0 2px 8px rgba(0,0,0,.12);
}
/* -------- Liens du footer = blancs -------- */
footer.footer .ft-list a,
footer.footer nav a,
footer.footer .ft-legal a{
  color:#fff !important;
  border-bottom:1px solid transparent;
  text-decoration:none;
}

footer.footer .ft-list a:hover,
footer.footer nav a:hover,
footer.footer .ft-legal a:hover{
  color:#fff !important;
  border-bottom-color:rgba(255,255,255,.6);
}

/* Texte par défaut du footer (paragraphes, items, address) */
footer.footer,
footer.footer p,
footer.footer li,
footer.footer address{
  color:rgba(255,255,255,.92) !important;
}

/* Titres en blanc */
footer.footer .ft-title,
footer.footer .name{
  color:#fff !important;
}

/* Icônes sociaux = blancs (et inversion au survol) */
footer.footer .ft-social a{
  color:#fff !important;
  border-color:rgba(255,255,255,.7) !important;
}
footer.footer .ft-social a:hover{
  background:#fff; color:var(--olive) !important; border-color:#fff !important;
}

/* Préserver le CTA (reste texte kaki sur fond blanc) */
footer.footer .ft-cta{
  background:#fff; color:var(--olive) !important; border-color:#fff !important;
}
footer.footer .ft-cta:hover{
  background:var(--beige); color:var(--olive) !important; border-color:var(--beige) !important;
}
/* === TITRES FOOTER / BANNIÈRE BASSE EN BLANC (par défaut) === */
:root{
  --footer-heading:#ffffff;     /* -> passez à #F3E9DD si vous préférez beige */
  --footer-text:#ffffff;        /* couleur du texte/liens */
}

/* Couvre la plupart des thèmes WP/Elementor */
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
.elementor-location-footer h1, .elementor-location-footer h2, .elementor-location-footer h3, 
.elementor-location-footer h4, .elementor-location-footer h5, .elementor-location-footer h6,
footer .elementor-heading-title, .site-footer .elementor-heading-title,
[class*="footer"] .elementor-heading-title,
.section.cta-solid h1, .section.cta-solid h2, .section.cta-solid .elementor-heading-title {
  color: var(--footer-heading) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: var(--footer-heading) !important;
  mix-blend-mode: normal !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  filter: none !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.25); /* lisibilité sur fond sombre */
}

/* Corps & liens du footer si besoin */
footer, .site-footer, .elementor-location-footer,
footer p, footer li, footer a,
.site-footer p, .site-footer li, .site-footer a {
  color: var(--footer-text) !important;
}
footer a:hover, .site-footer a:hover { text-decoration: underline; }

/* Si un overlay masque le contraste, on le place SOUS le texte */
.section.cta-solid, footer, .site-footer, .elementor-location-footer { position: relative; }
.section.cta-solid * { position: relative; z-index: 2; }
.section.cta-solid::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; }/* End custom CSS */