/* Footer (Figma « Footer » : Desktop | Mobile) — fond carbone, contenu pleine largeur entre les gouttières (1312 à 1440), pas le conteneur 1100.
   Desktop : padding 80/64/32 ; haut = marque 320 (logo 153, H2, groupe CTA + mention gap 8 ; gap 28) + colonnes (gap 40 ; titre CTA 18 et liens Legend 12, gap 8) séparés de 48 ;
   méta à 56 sous le haut, filet blanc, padding-top 24 : © Legend + liens légaux Legend gap 24.
   Mobile : padding 48/16/24, groupes gap 40 ; marque gap 20 (logo 122) ; colonnes gap 28 (titre + liens gap 4) ; mentions padding-top 20 gap 8 : liens (gap 16, retour à la ligne) puis ©. */

.site-footer { background: var(--brandt-carbon); color: var(--brandt-white); padding: var(--space-48) var(--gutter) var(--space-24); }
.site-footer__inner { width: 100%; }

.site-footer__top { display: flex; flex-direction: column; gap: var(--space-40); }

.site-footer__brand { display: flex; flex-direction: column; gap: var(--space-20); } /* pleine largeur en mobile, colonne de 320 en desktop */
.site-footer__brand svg, .site-footer__brand img { width: var(--size-logo-footer); height: auto; }
.site-footer__brand .cta-group { align-self: stretch; } /* mobile : CTA pleine largeur, mention centrée dessous (maquette) */
.site-footer__brand .cta-group .cta { width: 100%; }
@media (min-width: 1024px) {
  .site-footer__brand { max-width: var(--size-footer-brand); }
  .site-footer__brand .cta-group { align-self: flex-start; } /* desktop : groupe à gauche, mention centrée sous le bouton */
  .site-footer__brand .cta-group .cta { width: auto; }
}

.site-footer__cols { display: flex; flex-direction: column; gap: var(--space-28); }
.site-footer__col { display: flex; flex-direction: column; gap: var(--space-4); }
.site-footer__col-title { font-size: var(--text-cta-size); line-height: var(--text-cta-lh); font-weight: var(--text-cta-weight); }
.site-footer__links { display: flex; flex-direction: column; gap: var(--space-4); }
.site-footer__link {
  display: inline-flex; align-items: center; min-height: var(--size-icon-24);
  font-size: var(--text-legend-size); line-height: var(--text-legend-lh);
  color: var(--brandt-white); border-radius: var(--radius-12); transition: color var(--transition);
}
.site-footer__link:hover { text-decoration: underline; text-underline-offset: var(--space-4); }
.site-footer__link:focus-visible { box-shadow: var(--focus-ring-inverse); }

.site-footer__bottom {
  margin-top: var(--space-40); padding-top: var(--space-20); border-top: var(--border-1) solid var(--brandt-white);
  display: flex; flex-direction: column-reverse; gap: var(--space-8);
  font-size: var(--text-legend-size); line-height: var(--text-legend-lh); color: var(--brandt-white);
}
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 0 var(--space-16); }

@media (min-width: 1024px) {
  .site-footer { padding: var(--space-80) var(--gutter) var(--space-32); }
  .site-footer__top { flex-direction: row; gap: var(--space-48); }
  .site-footer__brand { flex: 0 0 var(--size-footer-brand); gap: var(--space-28); }
  .site-footer__cols { flex: 1 1 auto; flex-direction: row; justify-content: flex-end; gap: var(--space-40); }
  .site-footer__col { gap: var(--space-8); }
  .site-footer__links { gap: var(--space-8); }
  .site-footer__bottom { margin-top: var(--space-56); padding-top: var(--space-24); flex-direction: row; justify-content: space-between; align-items: center; gap: var(--space-24); }
  .site-footer__legal { gap: var(--space-8) var(--space-24); }
}

/* Footer tunnel (devis) — Figma « Footer tunnel » : fond light ; desktop p20/64, une ligne (© à gauche, liens à droite) ;
   mobile p16, © puis liens (gap 4). Légende carbone, liens séparés par « · » (décoratif). */
.site-footer--tunnel { background: var(--brandt-light); color: var(--brandt-carbon); padding: var(--space-16) var(--gutter); }
.site-footer__tunnel { display: flex; flex-direction: column; gap: var(--space-4); font-size: var(--text-legend-size); line-height: var(--text-legend-lh); }
.site-footer__tunnel-links { display: flex; flex-wrap: wrap; row-gap: calc(var(--size-icon-24) - var(--text-legend-size) * var(--text-legend-lh)); } /* cibles de 24 px sans chevauchement quand les liens passent à la ligne */
.site-footer__tunnel-links li + li::before { content: "·" / ""; padding-inline: var(--space-4); }
.site-footer--tunnel .site-footer__link { min-height: var(--size-icon-24); margin-block: calc((var(--text-legend-size) * var(--text-legend-lh) - var(--size-icon-24)) / 2); color: var(--brandt-carbon); } /* cible 24 px (WCAG 2.5.8) sans changer la hauteur de ligne */
.site-footer--tunnel .site-footer__link:hover { color: var(--brandt-red); }
.site-footer--tunnel .site-footer__link:focus-visible { box-shadow: var(--focus-ring); }
@media (min-width: 1024px) {
  .site-footer--tunnel { padding-block: var(--space-20); }
  .site-footer__tunnel { flex-direction: row; justify-content: space-between; align-items: center; gap: var(--space-24); }
}
