/* ==========================================================================
   FOOTER — EMI-LAB
   Migration depuis le Customizer, utilise les tokens
   ========================================================================== */

.emilab-ft {
  background: var(--clr-cream) !important;
  color: var(--clr-ink-mid);
  padding: 0;
  font-family: var(--font-sans);
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
  border-top: 1px solid var(--clr-stone);
}

.emilab-ft * { box-sizing: border-box; }

/* Barre accent navy/gold */
.emilab-ft-accent {
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--clr-navy-800) 0%,
    var(--clr-navy-800) 65%,
    var(--clr-gold-700) 65%,
    var(--clr-gold-700) 100%
  );
}

.emilab-ft-main {
  padding: var(--space-16) 6% var(--space-8);
  max-width: var(--container-max-wide);
  margin: 0 auto;
}

.emilab-ft-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
  gap: var(--space-10);
  padding-bottom: var(--space-10);
  border-bottom: 1px solid var(--clr-stone);
  align-items: start;
}

/* Colonne marque */
.emilab-ft-brand {
  font-family: var(--font-serif);
  font-size: var(--text-2xl) !important;
  font-weight: var(--fw-bold);
  color: var(--clr-navy-800) !important;
  margin: 0;
  letter-spacing: var(--tracking-tight);
  line-height: 1.1;
}

.emilab-ft-brand-sub {
  font-size: var(--text-xs) !important;
  color: var(--clr-gold-700) !important;
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  margin: var(--space-2) 0 var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--clr-stone);
}

.emilab-ft-mission {
  font-size: var(--text-sm) !important;
  color: var(--clr-ink-muted) !important;
  line-height: var(--leading-loose);
  margin: 0 0 var(--space-4);
}

.emilab-ft-affil {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--clr-ink-muted);
}

.emilab-ft-affil-dot {
  width: 8px;
  height: 8px;
  background: var(--clr-gold-700);
  border-radius: 50%;
  flex-shrink: 0;
}

/* Titres colonnes */
.emilab-ft h4 {
  font-family: var(--font-sans) !important;
  font-size: var(--text-xs) !important;
  color: var(--clr-navy-800) !important;
  text-transform: uppercase;
  letter-spacing: var(--tracking-widest);
  margin: 0 0 var(--space-6) !important;
  font-weight: var(--fw-bold);
  padding: 0 !important;
  border: none !important;
}

.emilab-ft h4::after { display: none !important; }

/* Listes */
.emilab-ft-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.emilab-ft-list li {
  margin-bottom: var(--space-3) !important;
  padding: 0 !important;
  border: none !important;
}

.emilab-ft-list a {
  color: var(--clr-ink-mid) !important;
  font-size: var(--text-sm) !important;
  text-decoration: none !important;
  transition: color var(--transition-base), border-color var(--transition-base);
  border-bottom: 1px solid transparent;
  padding: 0 0 1px !important;
  display: inline !important;
}

.emilab-ft-list a::before {
  display: none !important;
  content: none !important;
}

.emilab-ft-list a:hover {
  color: var(--clr-navy-800) !important;
  border-bottom-color: var(--clr-gold-700);
}

/* Contact */
.emilab-ft-contact-line {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  font-size: var(--text-sm);
  color: var(--clr-ink-mid);
  line-height: var(--leading-normal);
}

.emilab-ft-contact-label {
  display: block;
  font-size: 10px;
  color: var(--clr-ink-faint);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: var(--fw-semibold);
  margin-bottom: 2px;
}

.emilab-ft-svgicon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--clr-gold-700);
  stroke: var(--clr-gold-700);
}

.emilab-ft-contact-line a {
  color: var(--clr-ink-mid) !important;
  text-decoration: none !important;
  transition: color var(--transition-base);
}

.emilab-ft-contact-line a:hover {
  color: var(--clr-navy-800) !important;
}

/* Réseaux sociaux */
.emilab-ft-social {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--clr-stone);
}

.emilab-ft-social a {
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: var(--clr-white) !important;
  border: 1px solid var(--clr-stone);
  border-radius: 50%;
  color: var(--clr-navy-800) !important;
  transition:
    background var(--transition-base),
    color var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-base);
  text-decoration: none !important;
  padding: 0 !important;
}

.emilab-ft-social a:hover {
  background: var(--clr-navy-800) !important;
  color: var(--clr-white) !important;
  border-color: var(--clr-navy-800);
  transform: translateY(-2px);
}

.emilab-ft-social svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

/* Bas de footer */
.emilab-ft-bottom {
  padding: var(--space-6) 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--text-xs);
  color: var(--clr-ink-faint);
  flex-wrap: wrap;
  gap: var(--space-4);
}

.emilab-ft-copyright {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.emilab-ft-copyright::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--clr-gold-700);
  flex-shrink: 0;
}

.emilab-ft-credit { font-size: 11px; color: var(--clr-ink-faint); }
.emilab-ft-credit strong { color: var(--clr-navy-800); font-weight: var(--fw-semibold); }

/* ==========================================================================
   FOOTER — identité FSJES (teal #007EA4 + orange #F7941D)
   Fond clair teinté teal pour faire ressortir le logo (bleu+orange).
   Préfixe `body` : bat le CSS Customizer inline.
   ========================================================================== */

body .emilab-ft {
  background:
    radial-gradient(1100px 420px at 88% -12%, rgba(247,148,29,0.12), transparent 60%),
    radial-gradient(900px 360px at 6% 0%, rgba(0,167,196,0.14), transparent 55%),
    linear-gradient(165deg, #0a5468 0%, #06323f 100%) !important;
  color: rgba(255,255,255,0.72) !important;
  border-top: none !important;
}

/* Liseré supérieur teal→orange (signature FSJES) */
body .emilab-ft-accent {
  height: 3px !important;
  background: linear-gradient(90deg, #00a7c4 0%, #007ea4 52%, #f7941d 52%, #ffb35c 100%) !important;
}

/* Logo sur carte blanche : le sigle sombre ressort sur le footer foncé.
   (Elementor supprime les <img> du widget : on l'injecte en background-image.) */
body .emilab-ft-brand {
  display: block !important;
  width: 240px; max-width: 100%; height: 120px;
  box-sizing: border-box !important;
  margin: 0 0 22px !important; padding: 18px 22px !important;
  background-color: #ffffff !important;
  background-image: url('../assets/logo-labo.png') !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  border: none !important; border-radius: 14px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.28) !important;
  font-size: 0 !important; line-height: 0 !important; color: transparent !important;
  text-indent: -9999px !important; overflow: hidden !important;
}
body .emilab-ft-logo { display: none !important; }

body .emilab-ft-brand-sub {
  color: #7fd0e4 !important;
  border-bottom: none !important; padding-bottom: 0 !important; margin-top: 0 !important;
}
body .emilab-ft-mission { color: rgba(255,255,255,0.60) !important; }

/* Affiliation */
body .emilab-ft-affil { color: rgba(255,255,255,0.50) !important; }
body .emilab-ft-affil-dot { background: #f7941d !important; }

/* Titres de colonnes : blanc + petit trait orange */
body .emilab-ft h4 { color: #ffffff !important; position: relative; padding-bottom: 14px !important; }
body .emilab-ft h4::after {
  content: '' !important; display: block !important;
  position: absolute; left: 0; bottom: 0; width: 26px; height: 2px; background: #f7941d !important;
}

/* Liens des listes : clairs, glissement + soulignement orange au survol */
body .emilab-ft-list a {
  color: rgba(255,255,255,0.66) !important; border-bottom-color: transparent !important;
  transition: color .2s ease, padding-left .25s ease, border-color .2s ease !important;
}
body .emilab-ft-list a:hover {
  color: #ffffff !important; border-bottom-color: #f7941d !important; padding-left: 5px !important;
}

/* Séparateurs */
body .emilab-ft-grid { border-bottom-color: rgba(255,255,255,0.12) !important; }
body .emilab-ft-social { border-top-color: rgba(255,255,255,0.12) !important; }

/* Contact */
body .emilab-ft-contact-line { color: rgba(255,255,255,0.72) !important; }
body .emilab-ft-contact-line a { color: rgba(255,255,255,0.72) !important; }
body .emilab-ft-contact-line a:hover { color: #ffd6a6 !important; }
body .emilab-ft-contact-label { color: rgba(255,255,255,0.42) !important; }
body .emilab-ft-svgicon { color: #f7941d !important; stroke: #f7941d !important; }

/* Réseaux sociaux — pastilles translucides, hover orange */
body .emilab-ft-social a {
  background: rgba(255,255,255,0.08) !important; color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .emilab-ft-social a:hover {
  background: #f7941d !important; color: #06303c !important; border-color: #f7941d !important;
  transform: translateY(-2px);
}

/* Bas de footer */
body .emilab-ft-bottom { color: rgba(255,255,255,0.50) !important; }
body .emilab-ft-copyright::before { background: #f7941d !important; }
body .emilab-ft-credit { color: rgba(255,255,255,0.50) !important; }
body .emilab-ft-credit strong { color: #ffffff !important; }

/* Responsive */
@media (max-width: 1000px) {
  .emilab-ft-grid { grid-template-columns: 1fr 1fr; gap: var(--space-8); }
}

@media (max-width: 600px) {
  .emilab-ft-main { padding: var(--space-10) var(--space-5) var(--space-6); }
  .emilab-ft-grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .emilab-ft-bottom { flex-direction: column; text-align: center; gap: var(--space-2); }
  .emilab-ft-copyright::before { display: none; }
}
