/* assets/css/footer.css - Footer Very Hosting (IDENTICO a header: size/weight + logo bloccato) */

:root{
  --vh-footer-bg: #000;
  --vh-footer-fg: #fff;
  --vh-footer-muted: rgba(255,255,255,.78);
  --vh-footer-border: rgba(255,255,255,.12);

  --vh-radius: 10px;

  /* === IDENTICO HEADER === */
  --vh-footer-logo: 48px;          /* header: --vh-logo-size */
  --vh-footer-logo-sm: 42px;       /* header: --vh-logo-size-sm */
  --vh-footer-logo-img: 28px;      /* header: --vh-logo-img-max-h */
  --vh-footer-logo-img-sm: 26px;   /* header: --vh-logo-img-max-h-sm */

  --vh-footer-title-size: 14px;    /* header links: 14px */
  --vh-footer-title-weight: 400;

  --vh-footer-link-size: 14px;
  --vh-footer-link-weight: 400;

  --vh-footer-brand-size: 14px;
  --vh-footer-brand-weight: 400;

  --vh-footer-copy-size: 14px;
  --vh-footer-copy-weight: 400;
}

.vh-footer{
  background: var(--vh-footer-bg);
  color: var(--vh-footer-fg);
  padding: 44px 0 20px;
  font-size: 14px; /* “ancora più sicuro”: stessa scala header */
}

.vh-footer__inner{ position: relative; }

.vh-footer__grid{
  display:grid;
  grid-template-columns: 1.1fr repeat(4, 1fr);
  gap: 40px;
  align-items: start;
}

/* =========================
   Brand
   ========================= */
.vh-footer__brand-link{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
}

/* BOX logo (come header) */
.vh-footer__logo{
  width: var(--vh-footer-logo);
  height: var(--vh-footer-logo);
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

/* fallback mark */
.vh-footer__logo--mark{
  width: var(--vh-footer-logo);
  height: var(--vh-footer-logo);
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 700;
  font-size: 20px; /* coerente col mark header */
  letter-spacing: .3px;
  background: radial-gradient(circle at 30% 30%, #2c5bff, #1536a0 65%, #0b0f1e 100%);
  color:#fff;
}

/* === BLOCCO REALE DEL CUSTOM LOGO WP ===
   WP stampa <a class="custom-logo-link"><img class="custom-logo"...></a>
*/
.vh-footer__logo--image{
  width: var(--vh-footer-logo);
  height: var(--vh-footer-logo);
  border-radius: 999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.vh-footer__logo--image .custom-logo-link{
  width: 100%;
  height: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.vh-footer__logo--image .custom-logo{
  display:block;
  width: auto;
  height: auto;

  /* identico header: “misura visiva” del logo */
  max-height: var(--vh-footer-logo-img);
  max-width: calc(var(--vh-footer-logo) * 3.6); /* evita tagli sui loghi larghi */
  object-fit: contain;

  /* sicurezza anti-logo gigante */
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* Nome brand sotto (come header link size/weight) */
.vh-footer__name{
  margin-top: 12px;
  font-size: var(--vh-footer-brand-size);
  font-weight: var(--vh-footer-brand-weight);
  color: var(--vh-footer-fg);
}

/* =========================
   Columns
   ========================= */
.vh-footer__title{
  margin: 0 0 12px;
  font-size: var(--vh-footer-title-size);
  font-weight: var(--vh-footer-title-weight);
  letter-spacing: -0.2px;
  color: var(--vh-footer-fg);
  text-align:right;
}

.vh-footer__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.vh-footer__list a{
  color: var(--vh-footer-muted);
  text-decoration:none;
  font-size: var(--vh-footer-link-size);
  font-weight: var(--vh-footer-link-weight);
}
/* Footer links: hover con gradiente (come header desktop) */
.vh-footer__list a{
  transition: color .15s ease, background .15s ease;
}

.vh-footer__list a:hover{
  background: linear-gradient(90deg, #ffffff 0%, #0b36c6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* =========================
   Bottom
   ========================= */
.vh-footer__bottom{
  margin-top: 40px;
}

.vh-footer__divider{
  height: 1px;
  background: var(--vh-footer-border);
  margin-bottom: 14px;
}

.vh-footer__copy{
  margin: 0;
  color: var(--vh-footer-fg);
  font-size: var(--vh-footer-copy-size);
  font-weight: var(--vh-footer-copy-weight);
  letter-spacing: -0.2px;
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 1100px){
  .vh-footer__grid{
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
  .vh-footer {
    border-top: 1px solid var(--vh-border);
    border-bottom: none;
    margin-top: 40px;
    padding-left: 10px !important;
    padding-right: 10px !important;
}
  .vh-footer__title{
    text-align:left !important;
}
}

.vh-footer__list{
    text-align:right;
}

@media (max-width: 640px){
  .vh-footer{
    padding: 36px 0 18px;
  }

  .vh-footer__grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }

  /* come header small */
  .vh-footer__logo,
  .vh-footer__logo--image,
  .vh-footer__logo--mark{
    width: var(--vh-footer-logo-sm);
    height: var(--vh-footer-logo-sm);
  }

  .vh-footer__logo--image .custom-logo{
    max-height: var(--vh-footer-logo-img-sm);
  }
.vh-footer__logo--image .custom-logo-link{
  width: var(--vh-footer-logo);
  height: var(--vh-footer-logo);
  border-radius: 999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.vh-footer__logo--image{
margin-left:-10px;
}

.vh-footer__list{
    text-align:left;
}

}
