/* =====================================================================
   Footer — bloque de 4 columnas + barra inferior
   ===================================================================== */

footer.wp-block-template-part {
  background-color: var(--fdq-primary-container);
  color: #fff;
  font-family: var(--fdq-font-heading);
}

footer.wp-block-template-part a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color var(--fdq-duration-base) var(--fdq-ease-out);
}
footer.wp-block-template-part a:hover,
footer.wp-block-template-part a:focus { text-decoration: underline; }

/* ---------- Zona superior ---------- */
.fdq-footer__top {
  max-width: var(--fdq-container-max);
  margin-inline: auto;
  padding: var(--fdq-space-xl) 32px;
}

.fdq-footer__cols { gap: 48px; }

/* ---------- Columna 1: logo + mapa ---------- */
.fdq-footer__logo { margin: 0; line-height: 0; }
.fdq-footer__logo img {
  height: 80px;
  width: auto;
}

.fdq-footer__tagline {
  margin: 0;
  font-size: 14px;
  color: #fff;
}

.fdq-footer__map {
  height: 192px;
  border-radius: var(--fdq-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: url("../../images/footer-map.svg") center / cover no-repeat;
  filter: grayscale(1) invert(1);
}

/* ---------- Encabezados de columna ---------- */
.fdq-footer__heading {
  margin: 0;
  font-family: var(--fdq-font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
}

/* ---------- Contacto ---------- */
.fdq-footer__contact {
  display: flex;
  align-items: center;
  gap: var(--fdq-space-xs);
  margin: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.95);
}
.fdq-footer__contact + .fdq-footer__contact { margin-top: var(--fdq-space-sm); }
.fdq-footer__contact .material-symbols-outlined {
  color: #fff;
  font-size: var(--fdq-fs-body-lg);
  flex-shrink: 0;
}

/* ---------- Horario ---------- */
.fdq-row {
  display: flex;
  justify-content: space-between;
  gap: var(--fdq-space-sm);
  margin: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.95);
}
.fdq-row + .fdq-row { margin-top: var(--fdq-space-xs); }
.fdq-row__v { text-align: right; }
.fdq-row__v--b { font-weight: 700; }

.fdq-footer__phone-box {
  margin-top: var(--fdq-space-sm);
  padding: var(--fdq-space-xs);
  background-color: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: var(--fdq-radius-sm);
}
.fdq-footer__phone-box p {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
}

/* ---------- Servicios ---------- */
.fdq-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.95);
}
.fdq-footer__links a {
  display: flex;
  align-items: center;
  min-height: 44px;
}
.fdq-footer__links a:hover,
.fdq-footer__links a:focus { color: var(--fdq-secondary-container); }

/* ---------- Barra inferior ---------- */
.fdq-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  padding: var(--fdq-space-lg) 32px;
}
.fdq-footer__bottom-inner {
  max-width: var(--fdq-container-max);
  margin-inline: auto;
  gap: var(--fdq-space-sm);
  font-size: var(--fdq-fs-label);
  color: rgba(255, 255, 255, 0.90);
}
.fdq-footer__copy { margin: 0; }
.fdq-footer__legal { gap: var(--fdq-space-md); }
.fdq-footer__legal p { margin: 0; }
.fdq-footer__legal a:hover,
.fdq-footer__legal a:focus { color: var(--fdq-secondary-container); }
