/* ============================================================
   Footer standard Mont3 (variante intonata al sito).
   Token = scala colori esistente di base.css, hardcoded perche'
   alcune pagine (zamna, mila-serra, pulse .pog2) non caricano
   base.css e quindi non vedono le custom properties di :root.
   Accent = rosso brand XO8 (--red / --red-2 di base.css).
   ============================================================ */
.m3-footer {
  --f-bg: #0C0B0A;                      /* --bg */
  --f-ink: #EDE8E0;                     /* --text */
  --f-muted: #9A938A;                   /* --muted */
  --f-soft: #C9C2B8;                    /* --muted-2 */
  --f-faint: #5E5953;                   /* --dim */
  --f-line: rgba(237, 232, 224, .10);   /* --line */
  --f-accent: #A8342B;                  /* --red */
  --f-accent-hover: #C2453A;            /* --red-2 */
  --f-display: 'Anton', 'Oswald', sans-serif;
  position: relative;
  z-index: 2;
  background: var(--f-bg);
  color: var(--f-ink);
  border-top: 3px solid var(--f-accent);
  font-family: 'Archivo', sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
.m3-footer a { color: var(--f-ink); text-decoration: none; border: none; transition: color .15s ease; }
.m3-footer a:hover, .m3-footer a:focus-visible { color: var(--f-accent-hover); }
.m3-footer__grid {
  max-width: 1280px; margin: 0 auto; padding: 72px 32px 36px;
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px;
}
.m3-footer__col { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.m3-footer__brand { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.m3-footer__logo { width: 200px; height: auto; display: block; }
.m3-footer__tagline { margin: 0; color: var(--f-muted); font-size: 14px; max-width: 300px; text-wrap: pretty; }
.m3-footer__title {
  margin: 0 0 6px; font-family: var(--f-display); font-weight: 400;
  font-size: 15px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--f-accent);
}
.m3-footer__address { font-style: normal; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.m3-footer__bar { border-top: 1px solid var(--f-line); }
.m3-footer__bar-inner {
  max-width: 1280px; margin: 0 auto; padding: 20px 32px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
}
.m3-footer__madeby {
  display: flex; align-items: center; gap: 10px;
  color: var(--f-soft) !important; font-size: 13px; font-weight: 600;
}
.m3-footer__madeby:hover { color: var(--f-ink) !important; }
.m3-footer__madeby svg { height: 44px; width: auto; display: block; }
.m3-footer__right { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; }
.m3-footer__copy { color: var(--f-faint); font-size: 13px; }
.m3-footer__legal { display: flex; gap: 14px; }
.m3-footer__legal a { color: var(--f-faint); font-size: 13px; }
.m3-footer__legal a:hover, .m3-footer__legal a:focus-visible { color: var(--f-accent-hover); }
@media (max-width: 900px) {
  .m3-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; padding: 56px 24px 32px; }
  .m3-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .m3-footer__grid { grid-template-columns: 1fr; }
  .m3-footer__bar-inner { flex-direction: column; align-items: flex-start; }
  .m3-footer__right { align-items: flex-start; }
}
