/* Pie de página v2 — el mismo en todas las páginas (antes había 5 variantes). Clases propias (pvf-) para no depender del CSS de cada página. */
footer.pvf {
  display: block; position: relative;
  background: #17231C; color: rgba(247, 243, 236, 0.72);
  padding: 64px 5% 28px; margin: 0; border-top: 1px solid rgba(197, 153, 58, 0.28);
  font-family: var(--font-body, 'DM Sans', sans-serif); font-size: 0.86rem; line-height: 1.6; text-align: left;
}
footer.pvf a { color: inherit; text-decoration: none; transition: color .2s ease; }
footer.pvf a:hover, footer.pvf a:focus-visible { color: var(--oro-claro, #E2B95A); }
footer.pvf a:focus-visible { outline: 2px solid var(--oro-claro, #E2B95A); outline-offset: 3px; border-radius: 2px; }
footer.pvf ul { list-style: none; margin: 0; padding: 0; }

.pvf-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 44px 40px; max-width: 1240px; margin: 0 auto; }
.pvf-marca .pvf-logo { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.pvf-logo-nombre { display: block; font-family: var(--font-display, 'Cormorant Garamond', serif); font-size: 1.35rem; font-weight: 700; color: var(--blanco, #FDFAF6); letter-spacing: .02em; line-height: 1.1; }
.pvf-logo-nombre em { color: var(--oro, #C5993A); font-style: italic; }
.pvf-logo-tag { display: block; margin-top: 3px; font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--oro-claro, #E2B95A); font-weight: 300; }
.pvf-desc { margin: 0 0 20px; max-width: 42ch; color: rgba(247, 243, 236, 0.6); }
.pvf-sellos { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.pvf-ley { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border: 1px solid rgba(197, 153, 58, 0.4); border-radius: 999px; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: var(--oro-claro, #E2B95A); }
.pvf-partner { display: inline-flex; align-items: center; gap: 10px; font-size: .72rem; line-height: 1.3; color: rgba(247, 243, 236, 0.6); }
.pvf-partner strong { display: block; color: rgba(247, 243, 236, 0.9); font-weight: 600; }
.pvf-partner img { width: 56px; height: 56px; border-radius: 50%; }

.pvf-tit { margin: 0 0 16px; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--oro, #C5993A); }
.pvf-links li { margin: 0 0 9px; }

.pvf-comunas { max-width: 1240px; margin: 44px auto 0; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.pvf-comunas .pvf-tit { margin-bottom: 14px; }
.pvf-comunas ul { display: flex; flex-wrap: wrap; gap: 8px 8px; }
.pvf-comunas li a { display: inline-block; padding: 5px 12px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 999px; font-size: .76rem; color: rgba(247, 243, 236, 0.66); }
.pvf-comunas li a:hover { border-color: rgba(197, 153, 58, 0.55); background: rgba(197, 153, 58, 0.08); }
.pvf-comunas li.pvf-todas a { border-color: rgba(197, 153, 58, 0.5); color: var(--oro-claro, #E2B95A); }

.pvf-bottom { max-width: 1240px; margin: 36px auto 0; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.08); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 28px; font-size: .78rem; color: rgba(247, 243, 236, 0.5); }
.pvf-bottom .pvf-cumple { display: inline-flex; align-items: center; gap: 7px; color: rgba(197, 153, 58, 0.85); }
.pvf-redes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.pvf-redes a { display: inline-flex; align-items: center; gap: 7px; color: rgba(247, 243, 236, 0.62); }
.pvf-redes svg { flex: none; }
.pvf-legal { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.pvf-en { max-width: 1240px; margin: 18px auto 0; text-align: center; font-size: .78rem; }

@media (max-width: 960px) { .pvf-grid { grid-template-columns: 1fr 1fr; } .pvf-marca { grid-column: 1 / -1; } }
@media (max-width: 560px) {
  footer.pvf { padding: 48px 6% 96px; }
  .pvf-grid { grid-template-columns: 1fr; gap: 34px; }
  .pvf-bottom { flex-direction: column; align-items: flex-start; }
}
