/* Footer styles scoped to .site-footer and cookie banner */
:root {
  --w2025-bg: #0b0b0f;
  --w2025-surface: #11131a;
  --w2025-text: #e6e7ee;
  --w2025-muted: #a6a8b3;
  --w2025-cyan: #64ffda;
  --w2025-purple: #7a3cff;
  --w2025-blue: #00d1ff;
  --w2025-magenta: #ff2fa1;
  --w2025-focus: #64ffda;
}

.site-footer {
  background: radial-gradient(1200px 400px at 20% 0%, rgba(122,60,255,0.08), transparent),
              radial-gradient(900px 300px at 90% 10%, rgba(0,209,255,0.08), transparent),
              var(--w2025-bg);
  color: var(--w2025-text);
  border-top: 1px solid rgba(100,255,218,0.15);
}
.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 16px 20px 16px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
}
@media (max-width: 840px) {
  .footer-inner { grid-template-columns: 1fr; }
}

.footer-brand .brand {
  font-family: 'Orbitron', system-ui, sans-serif;
  font-weight: 700;
  text-decoration: none;
  background: linear-gradient(90deg, var(--w2025-purple), var(--w2025-blue), var(--w2025-magenta));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.15rem;
}
.footer-brand .tagline {
  margin-top: 8px;
  color: var(--w2025-muted);
}
.social { list-style: none; display: flex; gap: 12px; padding: 0; margin: 14px 0 0; }
.social a { color: var(--w2025-text); font-size: 1.1rem; display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid rgba(100,255,218,0.25); border-radius: 10px; text-decoration: none; }
.social a:hover, .social a:focus-visible { color: #0b0b0f; background: var(--w2025-cyan); outline: none; }

.footer-links .links-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
@media (min-width: 560px) { .footer-links .links-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.footer-links a { color: var(--w2025-text); text-decoration: none; padding: 8px; border-radius: 10px; display: inline-block; }
.footer-links a:hover, .footer-links a:focus-visible { color: #0b0b0f; background: linear-gradient(90deg, rgba(122,60,255,0.95), rgba(0,209,255,0.95)); outline: none; }

.footer-bottom { border-top: 1px solid rgba(100,255,218,0.15); padding: 14px 16px 20px; text-align: center; color: var(--w2025-muted); }

/* Cookie banner */
.cookie-banner {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 12000;
  background: linear-gradient(180deg, #11131a, #0c0e13);
  color: var(--w2025-text);
  border: 1px solid rgba(100,255,218,0.25);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.cookie-banner[hidden] { display: none !important; }
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; }
.cookie-content { max-width: 720px; }
.cookie-content h2 { margin: 0 0 6px; font-size: 1rem; }
.cookie-content p { margin: 0; color: var(--w2025-muted); }
.cookie-content a { color: var(--w2025-cyan); text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-actions .btn { cursor: pointer; padding: 10px 14px; border-radius: 10px; font-weight: 700; border: 1px solid transparent; }
.btn-accept { background: linear-gradient(90deg, var(--w2025-purple), var(--w2025-blue)); color: #0b0b0f; }
.btn-accept:hover, .btn-accept:focus-visible { background: linear-gradient(90deg, var(--w2025-magenta), var(--w2025-cyan)); outline: none; }
.btn-reject { background: transparent; color: var(--w2025-text); border-color: rgba(100,255,218,0.35); }
.btn-reject:hover, .btn-reject:focus-visible { background: rgba(100,255,218,0.12); outline: none; }

.cookie-banner:focus-within { box-shadow: 0 0 0 3px rgba(100,255,218,0.35), 0 12px 30px rgba(0,0,0,0.35); }

@media (max-width: 700px) {
  .cookie-banner { flex-direction: column; align-items: stretch; gap: 12px; }
  .cookie-actions { justify-content: flex-end; }
}
