/* Footer styles */
.site-footer {
  background: linear-gradient(180deg, var(--color-bg-secondary) 0%, var(--color-bg-primary) 100%);
  border-top: var(--border-width) solid var(--border-color-light);
  padding-top: var(--space-12);
}

.footer-inner { padding-bottom: var(--space-8); }

.footer-heading {
  font-size: var(--font-size-lg);
  color: var(--color-accent-gold-light);
  margin-bottom: var(--space-4);
}

.footer-top .brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
}
.footer-top .brand-name {
  font-family: 'Cinzel', var(--font-primary);
  color: var(--color-accent-gold-light);
}
.footer-tagline { max-width: 46ch; }

.link-list { display: grid; gap: var(--space-2); }
.link-list a { color: var(--color-text-secondary); }
.link-list a:hover, .link-list a:focus-visible { color: var(--color-text-primary); text-decoration: none; }

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
  border-top: var(--border-width) solid var(--border-color-light);
}

.back-to-top { display: inline-flex; align-items: center; gap: var(--space-2); }
.back-to-top i { font-size: 0.9rem; }

/* Cookie banner */
.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: var(--z-fixed);
  background-color: var(--color-bg-parchment);
  color: var(--color-text-inverse);
  border-top: var(--border-width) solid var(--color-accent-gold);
  box-shadow: var(--shadow-lg);
  transform: translateY(0);
  transition: transform var(--transition-slow) var(--transition-timing), opacity var(--transition-slow) var(--transition-timing);
}

.cookie-banner.is-hidden { transform: translateY(110%); opacity: 0; pointer-events: none; }
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }

.cookie-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-4) 0; }
.cookie-text h2 { color: var(--color-accent-purple); margin-bottom: var(--space-2); }
.cookie-text p { color: var(--color-text-inverse); margin: 0; }
.cookie-text a { color: var(--color-accent-purple); text-decoration: underline; }
.cookie-actions { display: inline-flex; gap: var(--space-3); flex-shrink: 0; }

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