/* ==========================================================================
   CCPCH — Pie de página
   ========================================================================== */

.site-footer {
  background: var(--navy-deep);
  color: rgba(255, 255, 255, .6);
  padding: 80px 0 0;
  font-size: .88rem;
}

.footer-inner {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 5vw;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 48px;
  padding-bottom: 56px;
}

.footer-logo { height: 54px; width: auto; margin-bottom: 18px; }
.footer-brand-name {
  display: block;
  font-family: var(--font-serif); font-size: 1.2rem; font-weight: 700;
  color: var(--dorado); margin-bottom: 12px;
}
.footer-brand-text {
  font-size: .86rem; line-height: 1.8;
  color: rgba(255, 255, 255, .5);
  max-width: 340px;
}

.footer-socials { display: flex; gap: 10px; margin-top: 22px; }
.social-btn {
  width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  color: rgba(255, 255, 255, .65);
  transition: color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}
.social-btn:hover {
  color: var(--dorado); border-color: rgba(201, 151, 58, .5);
  background: rgba(201, 151, 58, .1); transform: translateY(-2px);
}

.footer-col-title {
  font-family: var(--font-serif);
  font-size: .95rem; font-weight: 700;
  color: var(--blanco);
  margin-bottom: 18px;
}

.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a {
  color: rgba(255, 255, 255, .5);
  font-size: .85rem;
  transition: color .2s var(--ease), padding-left .2s var(--ease);
}
.footer-links a:hover { color: var(--dorado); padding-left: 4px; }

.footer-bottom {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  padding: 24px 0 30px;
  border-top: 1px solid rgba(255, 255, 255, .07);
}
.footer-bottom-text { font-size: .78rem; color: rgba(255, 255, 255, .38); }
.footer-sep { margin: 0 10px; opacity: .4; }

.footer-legal { display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.footer-legal a { font-size: .78rem; color: rgba(255, 255, 255, .38); }
.footer-legal a:hover { color: var(--dorado); }

/* Volver arriba */
.back-to-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 90;
  width: 46px; height: 46px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--rojo); color: #fff;
  border: none; border-radius: 50%;
  box-shadow: 0 8px 24px rgba(184, 35, 47, .35);
  cursor: pointer;
  opacity: 0; transform: translateY(12px);
  transition: opacity .3s var(--ease), transform .3s var(--ease), background .2s var(--ease);
}
.back-to-top.is-visible { opacity: 1; transform: none; }
.back-to-top:hover { background: var(--rojo-dark); }
