/* =====================================================================
 * BilanceOnline — footer.css
 * ===================================================================== */

footer[role="contentinfo"]{
  background-color:#1A3A5A;
  background-image:linear-gradient(135deg,var(--bo-blue-grad-from) 0%,var(--bo-blue-grad-to) 100%);
  color:#fff;padding:48px 0 24px;
  font-size:0.9rem;line-height:1.55;
  margin-top:48px;
}
footer[role="contentinfo"] h3,
footer[role="contentinfo"] p,
footer[role="contentinfo"] span,
footer[role="contentinfo"] li,
footer[role="contentinfo"] a{
  color:#fff;background-color:transparent;
}
footer[role="contentinfo"] a i,
footer[role="contentinfo"] p i{color:#fff;background-color:transparent}

/* USP top block */
.footer-top{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:32px;margin-bottom:36px;padding-bottom:32px;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.footer-usp{
  display:flex;gap:14px;align-items:flex-start;
  color:#fff;
}
.footer-usp i{
  font-size:1.875rem;color:var(--bo-yellow);
  flex-shrink:0;line-height:1;
}
.footer-top h3{color:#fff;font-size:0.9375rem;font-weight:800;margin:0 0 6px;text-transform:none;letter-spacing:0;line-height:1.3}
.footer-top p{margin:0;color:#fff;font-size:0.9rem;line-height:1.55}

/* Footer columns */
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;
  gap:32px;
}
footer[role="contentinfo"] .footer-col h3{
  color:#fff !important;
  font-size:0.9rem !important;
  font-weight:800;
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:0.04em;
  line-height:1.3;
}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin-bottom:10px}
/* WCAG 1.4.1 — link sempre sottolineati (non distinguibili solo per colore) */
.footer-col a{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-size:0.9rem;line-height:1.55}
.footer-col a:hover{color:#fff;text-decoration-thickness:2px}
.footer-col a:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}

.footer-col--brand .footer-address{color:#fff;font-size:0.9rem;line-height:1.55;margin:0 0 12px}
.footer-col--brand .footer-contact{margin:8px 0 14px;font-size:0.9rem;line-height:1.55}
.footer-col--brand .footer-contact a{
  color:#fff;display:inline-flex;align-items:center;gap:6px;
  min-height:44px;padding:6px 0;
  text-decoration:underline;text-underline-offset:3px;
  font-size:0.9rem;
}
.footer-col--brand .footer-contact a:hover{color:var(--bo-yellow);text-decoration-thickness:2px}

.footer-app{display:flex;gap:6px;margin-top:14px}
.footer-app a{
  background:#fff;color:var(--ink);
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.125rem;
  transition:background .15s;
}
.footer-app a:hover{background:var(--bo-yellow)}

/* Bottom */
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:20px;margin-top:36px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
  font-size:0.9rem;color:#fff;line-height:1.55;
}

/* Responsive */
@media (max-width:1280px){
  .footer-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .footer-top,.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .footer-top,.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .footer-grid{grid-template-columns:1fr}
}
