/* ============================================================
   FOOTER · Dirección C — claro sobre hueso, cuatro columnas,
   línea de credenciales al pie. BEM vce-footer
   ============================================================ */
.vce-footer {
  background: var(--vce-hueso);
  color: #6B7075;
  font-size: var(--vce-fs-sm);
  border-top: 1px solid var(--vce-color-border);
}
.vce-footer a {
  color: var(--vce-indigo);
  text-decoration: none;
  transition: color var(--vce-transition-fast);
}
.vce-footer a:hover { color: var(--vce-bronce-tinta); }

.vce-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--vce-spacing-xl);
  padding-block: var(--vce-spacing-3xl) var(--vce-spacing-2xl);
}
@media (min-width: 720px) {
  .vce-footer__grid { grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: var(--vce-spacing-2xl); }
}

.vce-footer__col { display: flex; flex-direction: column; gap: var(--vce-spacing-sm); }
.vce-footer__brand { display: inline-flex; align-items: center; gap: var(--vce-spacing-md); margin-bottom: var(--vce-spacing-xs); }
.vce-footer__logo { height: 44px; width: auto; display: block; }
.vce-footer__mono {
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--vce-bronce);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--vce-font-display); font-weight: 600; font-size: 1.05rem; color: var(--vce-yale);
}
.vce-footer__wordmark { font-size: 0.75rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--vce-yale); font-weight: 600; }
.vce-footer__desc { line-height: var(--vce-lh-relaxed); max-width: 30ch; margin: 0; }
.vce-footer__title {
  font-size: 0.75rem; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--vce-bronce-tinta); font-weight: 600; margin: 0 0 var(--vce-spacing-sm);
}
.vce-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.vce-footer__links a { color: var(--vce-gris-oscuro); }
.vce-footer__links a:hover { color: var(--vce-indigo); }

.vce-footer__social { list-style: none; margin: var(--vce-spacing-sm) 0 0; padding: 0; display: flex; gap: var(--vce-spacing-sm); }
.vce-footer__social a {
  width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--vce-color-border);
  display: inline-flex; align-items: center; justify-content: center; color: var(--vce-yale);
  transition: border-color var(--vce-transition-fast), color var(--vce-transition-fast), transform var(--vce-transition-fast);
}
.vce-footer__social a:hover { border-color: var(--vce-bronce); color: var(--vce-bronce-tinta); transform: translateY(-2px); }
.vce-footer__social svg { width: 18px; height: 18px; }

.vce-footer__bottom {
  display: flex; justify-content: space-between; align-items: center; gap: var(--vce-spacing-md); flex-wrap: wrap;
  border-top: 1px solid var(--vce-color-border);
  padding-block: var(--vce-spacing-lg) var(--vce-spacing-xl);
  font-size: var(--vce-fs-xs); letter-spacing: 0.06em; color: #8A8F94;
}
.vce-footer__supra { color: #8A8F94; }

/* Reabrir el aviso de cookies (v0.10.0) */
.vce-footer__cookies { background: none; border: 0; padding: .4rem 0; min-height: 44px; font: inherit; font-size: .8125rem; color: inherit; opacity: .8; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.vce-footer__cookies:focus-visible { outline: 2px solid var(--vce-picton); outline-offset: 2px; border-radius: 4px; }
