/* Footer Agency (themes/builder/partials/footer.blade.php) : titres, liens compacts, coordonnées avec icônes,
   séparateurs et textes secondaires calculés à partir des couleurs du footer (Theme Builder › Footer :
   --color-footer-bg / --color-footer-text), réseaux sociaux assortis. Espace avant le footer réduit. */

body.agency .builder-footer{
  --tl-ft-text: var(--color-footer-text, #cbd5e1);
  --tl-ft-line: color-mix(in srgb, var(--tl-ft-text) 16%, transparent);
  --tl-ft-soft: color-mix(in srgb, var(--tl-ft-text) 72%, transparent);
  border-top-color: var(--tl-ft-line);
}

/* Titres de colonne */
body.agency .builder-footer .builder-footer-title{
  margin: 0 0 16px !important; font-size: 1.05rem; font-weight: 700; line-height: 1.3; color: var(--tl-ft-text);
}

/* Textes secondaires (présentation, crédit) */
body.agency .builder-footer .builder-footer-muted{ color: var(--tl-ft-soft); }

/* Liens du menu : liste compacte */
body.agency .builder-footer .builder-footer-links{ display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
body.agency .builder-footer .builder-footer-links li{ margin: 0; }
body.agency .builder-footer .builder-footer-links a{
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.4; color: var(--tl-ft-soft);
  transition: color .15s ease, transform .15s ease;
}
body.agency .builder-footer .builder-footer-links a:hover,
body.agency .builder-footer .builder-footer-links a:focus-visible{ color: var(--color-primary, var(--main-color)); transform: translateX(3px); }
[dir="rtl"] body.agency .builder-footer .builder-footer-links a:hover{ transform: translateX(-3px); }

/* Coordonnées avec icônes */
body.agency .builder-footer .builder-footer-contact{ display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
body.agency .builder-footer .builder-footer-contact li{ display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: 14px; line-height: 1.5; color: var(--tl-ft-soft); }
body.agency .builder-footer .builder-footer-contact li > span:last-child,
body.agency .builder-footer .builder-footer-contact li > a{ padding-top: 5px; min-width: 0; overflow-wrap: anywhere; color: var(--tl-ft-soft); }
body.agency .builder-footer .builder-footer-contact a:hover{ color: var(--color-primary, var(--main-color)); }
body.agency .builder-footer .builder-footer-contact__icon{
  display: inline-flex; align-items: center; justify-content: center; flex: none; width: 32px; height: 32px; border-radius: 50%;
  background: color-mix(in srgb, var(--color-primary, var(--main-color)) 14%, transparent); color: var(--color-primary, var(--main-color));
}
body.agency .builder-footer .builder-footer-contact__icon svg{ width: 16px; height: 16px; }

/* Réseaux sociaux assortis au footer */
body.agency .builder-footer .builder-footer-social{
  background: color-mix(in srgb, var(--tl-ft-text) 10%, transparent); color: var(--tl-ft-text) !important;
}
body.agency .builder-footer .builder-footer-social:hover{ background: var(--color-primary, var(--main-color)); color: #fff !important; }

/* Barre du bas : séparateur fin et texte assortis */
body.agency .builder-footer .builder-footer-bottom{ border-top-color: var(--tl-ft-line) !important; color: var(--tl-ft-soft) !important; }

/* Espace avant le footer : réduit partout, supprimé quand la dernière rangée de la page a un fond (pas de bande
   de couleur de page entre la dernière section et le footer) */
body.agency .builder-newsletter-band{ margin-top: 2.5rem; }
body.agency .builder-footer:not(.builder-footer--attached){ margin-top: 2.5rem; }
body.agency:has(.position-wrapper:last-of-type > .row-wrapper:last-child[style*="background"]) .builder-newsletter-band,
body.agency:has(.position-wrapper:last-of-type > .row-wrapper:last-child[style*="background"]) .builder-footer:not(.builder-footer--attached){ margin-top: 0; }
@media (max-width: 767px){
  body.agency .builder-newsletter-band, body.agency .builder-footer:not(.builder-footer--attached){ margin-top: 1.5rem; }
}
