/* =====================================================================
   Sapins.be — Footer (reproduction prod sans Creative Elements)
   ===================================================================== */
.smf {
  --smf-red: #AE0011;
  --smf-red-dark: #8A000E;
  --smf-grey-bg: #efefef;
  --smf-text: #333;
  --smf-title: #232323;
  --smf-muted: #898989;
  --smf-light: #bdbdbd;
}

/* ---- Section Contact + Aide ---- */
.smf-info { background: var(--smf-grey-bg); color: var(--smf-text); padding: 2.5rem 0 1.5rem; }
.smf-title { color: var(--smf-title); font-size: 1.55rem; font-weight: 700; margin-bottom: 1rem; }
.smf-contact__line { display: flex; align-items: flex-start; gap: .5rem; color: var(--smf-text); margin-bottom: .5rem; line-height: 1.4; }
.smf-contact__line .material-icons { color: var(--smf-red); font-size: 20px; flex: 0 0 auto; }
.smf-contact__tag { font-weight: 700; }
.smf-btn {
  display: inline-block;
  background: var(--smf-red);
  color: #fff;
  text-transform: uppercase;
  font-weight: 500;
  padding: 12px 24px;
  text-decoration: none;
  margin: .75rem 0;
}
.smf-btn:hover { background: var(--smf-red-dark); color: #fff !important; }

.smf-social-list { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .75rem; }
.smf-social { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; }
.smf-social svg { width: 20px; height: 20px; fill: #555; transition: fill .15s; }
.smf-social:hover svg { fill: var(--smf-red); }

.smf-links { list-style: none; padding: 0; margin: 0; }
.smf-links a { color: var(--smf-muted); text-decoration: none; display: block; padding: .28rem 0; }
.smf-links a:hover { color: var(--smf-red); }
.smf-links--red a { color: var(--smf-red); }

/* ---- Bande logos ---- */
.smf-logos { background: var(--smf-grey-bg); padding: 1.25rem 0; }
.smf-logos__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.25rem 2.5rem; }
.smf-logo { display: inline-flex; align-items: center; }
.smf-logo img { max-height: 46px; width: auto; }
.smf-logo.is-televie img, .smf-logo.is-reforest img { max-height: 56px; }
.smf-logo--payment img, .smf-logo--carriers img { max-height: 34px; }

/* ---- Colonnes SEO ---- */
.smf-seo { background: #fff; padding: 2.25rem 0 1rem; }
.smf-seo__title { display: block; text-transform: uppercase; color: var(--smf-title); font-size: 1rem; font-weight: 600; margin-bottom: .75rem; text-decoration: none; }
a.smf-seo__title:hover { color: var(--smf-red); }

/* ---- Liens villes + mentions légales ---- */
.smf-cities, .smf-legal { background: #fff; text-align: center; color: var(--smf-light); font-size: .95rem; padding: .4rem 0; }
.smf-cities a, .smf-legal a { color: var(--smf-light); text-decoration: none; }
.smf-cities a:hover, .smf-legal a:hover { color: var(--smf-red); }
.smf-legal { padding: .6rem 0 1.75rem; }

/* ---- Accordéon (chevron caché en desktop) ---- */
.smf-chevron { display: none; }
.smf-title--toggle { display: flex; justify-content: space-between; align-items: center; }

@media (max-width: 767.98px) {
  .smf-info { padding-top: 0; }
  .smf-col { border-top: 1px solid #ddd; }
  .smf-title--toggle { cursor: pointer; padding: .9rem 0; margin-bottom: 0; font-size: 1.15rem; }
  .smf-chevron { display: inline-flex; transition: transform .2s ease; }
  .smf-collapse { display: none; padding-bottom: 1rem; }
  .smf-col.is-open .smf-collapse { display: block; }
  .smf-col.is-open .smf-chevron { transform: rotate(180deg); }
  .smf-logos__row { gap: 1rem; }
  .smf-seo__col { text-align: center; }
}

/* ---- Priorité sur le branding global .footer a (specificité) ---- */
.smf .smf-btn { color: #fff !important; }
.smf .smf-links a { color: var(--smf-muted) !important; }
.smf .smf-links a:hover { color: var(--smf-red) !important; }
.smf .smf-links--red a { color: var(--smf-red) !important; }
.smf .smf-cities a, .smf .smf-legal a { color: var(--smf-light) !important; }
.smf .smf-cities a:hover, .smf .smf-legal a:hover { color: var(--smf-red) !important; }
.smf .smf-seo__title { color: var(--smf-title) !important; }

/* ---- Pleine largeur (footer enfant sans .container) : centrer le contenu ---- */
.smf-info, .smf-logos, .smf-seo, .smf-cities, .smf-legal { width: 100%; }

/* ---- Ligne de séparation entre liens villes et copyright (façon prod) ---- */
.smf-legal .container { border-top: 1px solid #e5e5e5; padding-top: 1rem; }
