@import url('lance-theme.css');
/* ═══════════════════════════════════════════════════════════
   Lance Footer — footer a tutta larghezza (sfondo scuro).
   Brand (logo o segno SVG) + claim + social + colonne link + barra inferiore.
   Classi namespaced (lfoot-) + variabili con fallback.
   Ri-tema con: --ink --bg --red --f-display --f-mono
   ═══════════════════════════════════════════════════════════ */

/* Sezione Gantry "footer": stesso sfondo del particle e niente padding extra,
   così il particle riempie la sezione senza bordi/box. Ri-tema con --ink.
   (Su molti siti la sezione footer ha un proprio sfondo/padding che va annullato.) */
#g-footer, .g-footer{ background:var(--ink,#16120E) !important; padding:0 !important; }

.lfoot{ background:var(--ink,#16120E); color:var(--bg,#FAF7F3); }
.lfoot__top{ max-width:var(--lfoot-max,1240px); margin-inline:auto;
  padding:clamp(48px,6vw,80px) clamp(20px,5vw,48px);
  display:grid; grid-template-columns:1.1fr 2.4fr; gap:48px; }

.lfoot__mark{ width:64px; height:64px; display:block; }
.lfoot__mark svg{ width:100%; height:100%; }
.lfoot__mark .bmk-bg{ fill:var(--red,#E2001A); }
.lfoot__mark .bmk-ring{ fill:none; stroke:#fff; stroke-width:5; opacity:.9; }
.lfoot__mark .bmk-dot{ fill:#fff; }
.lfoot__logo{ max-height:64px; width:auto; display:block; }

.lfoot__claim{ font-family:var(--f-display,'Archivo',sans-serif); font-weight:700;
  font-size:1.5rem; line-height:1.12; margin:18px 0; letter-spacing:-.01em; color:var(--bg,#FAF7F3); }
.lfoot__social{ display:flex; gap:14px; }
.lfoot__social a{ color:color-mix(in srgb,var(--bg,#FAF7F3) 70%,transparent); }
.lfoot__social a:hover{ color:var(--red,#E2001A); }
.lfoot__social svg, .lfoot__social i{ width:20px; height:20px; }

.lfoot__cols{ display:grid; grid-template-columns:repeat(3,1fr) auto; gap:24px; }
.lfoot__col{ display:flex; flex-direction:column; gap:11px; }
.lfoot__col h2, .lfoot__col h4{ font-family:var(--f-mono,'JetBrains Mono',ui-monospace,monospace);
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:color-mix(in srgb,var(--bg,#FAF7F3) 55%,transparent); margin:0 0 4px; font-weight:500;
  white-space:nowrap; }
.lfoot__col a{ color:color-mix(in srgb,var(--bg,#FAF7F3) 82%,transparent); font-size:.92rem; }
.lfoot__col a:hover{ color:var(--red,#E2001A); }

.lfoot__bar{ border-top:1px solid color-mix(in srgb,var(--bg,#FAF7F3) 14%,transparent); }
.lfoot__bar-in{ max-width:var(--lfoot-max,1240px); margin-inline:auto;
  padding:20px clamp(20px,5vw,48px); display:flex; align-items:center;
  justify-content:space-between; gap:18px; flex-wrap:wrap; }
.lfoot__addr{ font-size:.84rem; color:color-mix(in srgb,var(--bg,#FAF7F3) 72%,transparent); margin:0; }
.lfoot__addr a{ color:inherit; text-decoration:underline; }
.lfoot__legal{ font-size:.82rem; color:color-mix(in srgb,var(--bg,#FAF7F3) 60%,transparent);
  margin:0; display:flex; gap:8px; flex-wrap:wrap; }
.lfoot__legal a:hover{ color:var(--red,#E2001A); }

.lfoot__cta-btn{ display:inline-flex; align-items:center; gap:.55em; margin-top:8px;
  font-family:var(--f-body,inherit); font-weight:600; font-size:.92rem; line-height:1;
  padding:.8em 1.3em; background:var(--red,#E2001A); color:#fff !important; text-decoration:none;
  white-space:nowrap; transition:background .2s ease; }
.lfoot__cta-btn i, .lfoot__cta-btn svg{ width:1.25em; height:1.25em; flex-shrink:0; }
.lfoot__cta-btn:hover{ background:var(--red-deep,#A60011); color:#fff !important; }

@media(max-width:820px){
  .lfoot__top{ grid-template-columns:1fr; gap:32px; }
  .lfoot__cols{ grid-template-columns:repeat(2,1fr); }
  .lfoot__col h4{ white-space:normal; }
  .lfoot__cta-btn{ white-space:normal; }
}

/* Accessibilità: focus visibile per la navigazione da tastiera */
.lfoot a:focus-visible{
  outline:2px solid var(--gold,#F2B705); outline-offset:2px;
}
