/* Pie común de las páginas públicas (lib/pie-publico.js).
   Hoja propia y con sus propios colores: el pie es el mismo en páginas que
   usan paginas-seo.css, en la portada y en planes, que tienen hojas distintas. */
footer.pie {
  --pie-bg: #080d18;
  --pie-txt: #e8edf6;
  --pie-txt2: #9aaac3;
  --pie-txt3: #7d8ca6;
  --pie-oro: #c9a55a;
  --pie-raya: rgba(255, 255, 255, .08);
  background: var(--pie-bg);
  color: var(--pie-txt2);
  border-top: 1px solid var(--pie-raya);
  padding: 56px 0 28px;
  font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
footer.pie a { color: var(--pie-txt2); text-decoration: none; transition: color .15s; }
footer.pie a:hover { color: var(--pie-txt); }
footer.pie a:focus-visible { outline: 2px solid var(--pie-oro); outline-offset: 3px; border-radius: 3px; }
.pie-wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; display: grid; gap: 36px; }

.pie-marca { display: grid; gap: 12px; max-width: 560px; }
.pie-logo { display: inline-flex; align-items: center; gap: 9px; }
.pie-logo span { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 21px; font-weight: 700; color: var(--pie-txt); }
.pie-logo em { font-style: normal; color: #a5b4fc; }
.pie-desc { margin: 0; font-size: 13.5px; color: var(--pie-txt3); line-height: 1.65; }
/* Redes: el bloque viene escrito en el HTML (lib/redes-sociales.js), así que
   su estilo va aquí; nav-publica.js solo lo inyectaba cuando lo montaba él. */
footer.pie .footer-redes { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 2px; }
footer.pie .footer-redes-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pie-txt3); margin-right: 2px; }
footer.pie .footer-redes a {
  display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
  border-radius: 10px; border: 1px solid rgba(148, 163, 184, .3); color: var(--pie-txt2);
}
footer.pie .footer-redes a:hover { border-color: var(--pie-oro); color: var(--pie-txt); }
footer.pie .footer-redes a.footer-redes-sobre { width: auto; height: auto; border: 0; padding: 0 0 0 6px; font-size: 13px; }

.pie-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 28px; }
.pie-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pie-titulo {
  margin: 0 0 4px; font-family: inherit; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: .12em;
  text-transform: uppercase; color: var(--pie-oro);
}
.pie-col a { font-size: 13.5px; overflow-wrap: anywhere; }

.pie-franja { display: grid; gap: 10px; padding-top: 24px; border-top: 1px solid var(--pie-raya); }
.pie-cargos { margin: 0; font-size: 12.5px; line-height: 1.9; color: var(--pie-txt3); }
.pie-cargos a { color: var(--pie-txt3); white-space: nowrap; }
.pie-cargos-t { color: var(--pie-txt2); font-weight: 600; margin-right: 4px; }

.pie-base {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px;
  padding-top: 20px; border-top: 1px solid var(--pie-raya);
}
.pie-legal { margin: 0; font-size: 12px; color: var(--pie-txt3); }
.pie-legal strong { color: var(--pie-txt2); font-weight: 600; }
.pie-idioma { display: flex; gap: 6px; }
.pie-idioma a {
  font-size: 12px; font-weight: 600; letter-spacing: .04em; padding: 6px 12px; min-height: 32px;
  display: inline-flex; align-items: center; border: 1px solid var(--pie-raya); border-radius: 6px;
}
.pie-idioma a.activo { color: var(--pie-oro); border-color: rgba(201, 165, 90, .45); }

@media (max-width: 900px) {
  .pie-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  footer.pie { padding: 44px 0 24px; }
  .pie-wrap { padding: 0 16px; gap: 30px; }
  .pie-cols { gap: 28px 18px; }
  /* Enlaces con altura de dedo en el móvil. */
  .pie-col a { padding: 3px 0; }
  .pie-base { flex-direction: column; align-items: flex-start; }
}
