/* ================================================================
   FOOTER GLOBAL — contacto, legal, copyright
   ================================================================ */

.pf-footer-global {
  margin-top:    auto;
  border-top:    1px solid var(--border-subtle);
  background:    linear-gradient(180deg,
    transparent 0%,
    rgba(139, 92, 246, 0.04) 50%,
    rgba(236, 72, 153, 0.03) 100%);
  padding:       var(--space-10) var(--space-6) var(--space-6);
}

/* ---- FILA PRINCIPAL ------------------------------------------ */

.pf-footer-inner {
  max-width:      960px;
  margin:         0 auto var(--space-8);
  display:        grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap:            var(--space-8);
  align-items:    start;
}

@media (max-width: 640px) {
  .pf-footer-inner {
    grid-template-columns: 1fr;
    gap:                   var(--space-6);
  }
}

/* ---- MARCA --------------------------------------------------- */

.pf-footer-brand {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-2);
}

.pf-footer-logo {
  font-size:    2rem;
  line-height:  1;
  filter:       drop-shadow(0 0 8px rgba(139, 92, 246, 0.5));
}

.pf-footer-name {
  font-size:   var(--text-lg);
  font-weight: var(--weight-bold);
  background:  var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pf-footer-tagline {
  font-size: var(--text-sm);
  color:     var(--text-muted);
  margin:    0;
}

/* ---- REDES SOCIALES ------------------------------------------ */

.pf-footer-social {
  display: flex;
  gap:     var(--space-2);
  margin-top: var(--space-3);
}

.pf-footer-social-btn {
  width:           36px;
  height:          36px;
  border-radius:   var(--radius-full);
  background:      var(--bg-surface-2);
  border:          1px solid var(--border-default);
  display:         flex;
  align-items:     center;
  justify-content: center;
  color:           var(--text-secondary);
  text-decoration: none;
  transition:      background var(--transition-fast),
                   color      var(--transition-fast),
                   transform  var(--transition-fast),
                   box-shadow var(--transition-fast);
}

.pf-footer-social-btn:hover {
  background:  var(--gradient-primary);
  color:       #fff;
  transform:   translateY(-2px);
  box-shadow:  var(--glow-primary);
  border-color: transparent;
}

/* ---- COLUMNAS ------------------------------------------------ */

.pf-footer-col {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-2);
}

.pf-footer-heading {
  font-size:   var(--text-xs);
  font-weight: var(--weight-bold);
  color:       var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin:      0 0 var(--space-1);
}

.pf-footer-link {
  font-size:       var(--text-sm);
  color:           var(--text-muted);
  text-decoration: none;
  transition:      color var(--transition-fast);
  line-height:     1.6;
}

.pf-footer-link:hover {
  color: var(--color-primary);
}

/* ---- FRANJA INFERIOR ----------------------------------------- */

.pf-footer-bottom {
  max-width:   960px;
  margin:      0 auto;
  padding-top: var(--space-6);
  border-top:  1px solid var(--border-subtle);
  display:     flex;
  flex-direction: column;
  align-items: center;
  gap:         var(--space-1);
  text-align:  center;
}

.pf-footer-bottom p {
  font-size: var(--text-xs);
  color:     var(--text-muted);
  margin:    0;
}

.pf-footer-legal-note {
  opacity: 0.65;
}

/* ---- COOKIE CONSENT BANNER ----------------------------------- */

@keyframes pfCookieSlideUp   { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes pfCookieSlideDown { from { transform: translateY(0);    opacity: 1; } to { transform: translateY(100%); opacity: 0; } }

.pf-cookie-banner {
  position:    fixed;
  bottom:      0;
  left:        0;
  right:       0;
  z-index:     900;
  padding:     var(--space-4) var(--space-6);
  background:  rgba(10, 6, 22, 0.96);
  border-top:  1px solid rgba(139, 92, 246, 0.30);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  display:     flex;
  align-items: center;
  gap:         var(--space-5);
  flex-wrap:   wrap;
  animation:   pfCookieSlideUp 0.35s var(--ease-out) both;
  box-shadow:  0 -4px 40px rgba(139, 92, 246, 0.15);
}

.pf-cookie-banner.closing {
  animation: pfCookieSlideDown 0.25s ease both;
}

.pf-cookie-text {
  flex:      1;
  min-width: 220px;
}

.pf-cookie-text p {
  font-size:   var(--text-xs);
  color:       var(--text-secondary);
  margin:      0;
  line-height: 1.55;
}

.pf-cookie-text a {
  color:           var(--color-primary);
  text-decoration: underline;
}

.pf-cookie-actions {
  display:     flex;
  gap:         var(--space-2);
  flex-wrap:   wrap;
  flex-shrink: 0;
}

/* ---- LIGHT MODE ---------------------------------------------- */

[data-theme="light"] .pf-footer-global {
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(139, 92, 246, 0.03) 100%);
}
