/* Footer (PiratePLGame) */
.site-footer {
  background: linear-gradient(180deg, var(--color-surface), var(--color-surface-2));
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: var(--space-40);
}
.footer-wrap { padding-bottom: var(--space-40); }

.footer-top { display: grid; gap: var(--space-24); align-items: start; }
.footer-brand .brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.footer-brand .brand-mark { color: var(--color-primary); font-size: 1.1rem; }
.footer-brand .brand-name { font-family: var(--font-serif); font-weight: 800; font-size: var(--font-size-500); }
.footer-brand .tagline { color: var(--color-text-muted); max-width: 70ch; }

.footer-links { display: grid; gap: var(--space-24); }
.links-group { background: var(--color-surface); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: var(--space-24); box-shadow: var(--shadow-sm); }
.links-title { font-size: var(--font-size-300); margin-bottom: 8px; }
.links-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.links-list a { color: var(--color-text); text-decoration: none; }
.links-list a:hover, .links-list a:focus-visible { color: var(--color-primary); text-decoration: underline; outline: none; }

.footer-bottom { margin-top: var(--space-24); display: flex; flex-direction: column; gap: 12px; padding-top: var(--space-24); border-top: 1px solid rgba(255,255,255,0.08); color: var(--color-text-muted); }
.footer-bottom .legal { display: flex; gap: 14px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.footer-bottom .legal a { color: var(--color-text-muted); }
.footer-bottom .legal a:hover { color: var(--color-primary); }

@media (min-width: 720px) {
  .footer-top { grid-template-columns: 1.2fr 1fr; }
  .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-bottom { flex-direction: row; align-items: center; justify-content: space-between; }
}

/* Cookie banner */
.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
  transform: translateY(110%);
  transition: transform var(--duration-300) var(--ease), opacity var(--duration-250) var(--ease);
  opacity: 0; pointer-events: none;
}
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }
.cookie-inner {
  margin: 0 auto var(--space-16); width: min(100% - 2rem, 1100px);
  background: var(--color-surface);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow: var(--shadow-lg);
  padding: var(--space-24);
  display: grid; gap: var(--space-16);
}
.cookie-text h2 { font-size: var(--font-size-400); margin-bottom: 6px; }
.cookie-text p { color: var(--color-text-muted); }
.cookie-text a { color: var(--color-primary); }
.cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: flex-start; }

@media (min-width: 720px) {
  .cookie-inner { grid-template-columns: 1fr auto; align-items: center; }
}
