/**
 * Footer — portado de SiteFooter.tsx de Lovable
 * bg: slate-300 (#B0BEC5 aprox) + texto negro
 */

/* Gradient bar top — exacto de Lovable */
.bcc-footer__gradient-bar {
  height: 4px;
  width: 100%;
  background: linear-gradient(to right, #8DC8C7, #E61E50, #8DC8C7);
}

.bcc-footer__main {
  background-color: #004563; /* color solicitado por Yanko (v2.3.38) */
  padding: 3.5rem 0 2rem;
  color: rgba(255,255,255,0.85);
}

.bcc-footer__container {
  max-width: var(--bcc-container-max);
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2rem);
}

/* Logo centrado */
.bcc-footer__logo-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2.5rem;
}
.bcc-footer__logo {
  width: 350px;
  height: 100px;
  object-fit: contain;
}

/* 3 columnas */
.bcc-footer__columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-bottom: 3rem;
}

.bcc-footer__col-title {
  font-family: var(--bcc-font-serif);
  font-size: var(--bcc-text-sm);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff; /* títulos de columna, blanco sobre fondo oscuro */
  margin-bottom: 1rem;
}

/* Social icons */
.bcc-footer__socials {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.bcc-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  background-color: rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.75);
  transition: background-color 0.3s, color 0.3s, transform 0.2s;
}
.bcc-footer__social-link:hover { transform: scale(1.1); color: #fff; }
.bcc-footer__social-link--instagram:hover { background-color: #E61E50; }
.bcc-footer__social-link--facebook:hover  { background-color: #8DC8C7; }
.bcc-footer__social-link--tiktok:hover    { background-color: #000; }
.bcc-footer__social-link--youtube:hover   { background-color: #dc2626; }

/* Links */
.bcc-footer__links {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.bcc-footer__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--bcc-font-sans);
  font-size: var(--bcc-text-sm);
  color: rgba(255,255,255,0.80);
  text-decoration: none;
  transition: color 0.2s;
}
.bcc-footer__link:hover { color: #fff; }
.bcc-footer__link svg { color: #8DC8C7; flex-shrink: 0; }

/* Bottom bar */
.bcc-footer__bottom {
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
.bcc-footer__copyright {
  font-size: var(--bcc-text-xs);
  color: rgba(255,255,255,0.55);
}
.bcc-footer__legal {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}
.bcc-footer__legal a {
  font-size: var(--bcc-text-xs);
  color: rgba(255,255,255,0.60);
  text-decoration: none;
  transition: color 0.2s;
}
.bcc-footer__legal a:hover { color: #fff; }
.bcc-footer__legal span { color: rgba(255,255,255,0.25); }

/* Mobile */
@media (max-width: 768px) {
  .bcc-footer__columns { grid-template-columns: 1fr; gap: 2rem; }
  .bcc-footer__col { align-items: center; text-align: center; }
  .bcc-footer__socials { justify-content: center; }
  .bcc-footer__links { align-items: center; }
  .bcc-footer__logo { width: 245px; height: 70px; }
}