/* Footer styles for ArcadeMachinesPL */
:root {
  --am-midnight: #0b152e;
  --am-ivory: #f7f5ef;
  --am-gold: #c9a227;
  --am-graphite: #1a1a1a;
}

.site-footer {
  background: radial-gradient(1200px 400px at 50% 0%, rgba(201,162,39,.08), transparent) , var(--am-midnight);
  color: #f2f2f2;
  border-top: 1px solid rgba(201,162,39,.22);
  position: relative;
}
.footer-inner {
  max-width: 1200px;
  margin-inline: auto;
  padding: 2.25rem 1rem 4.5rem; /* extra bottom space for cookie banner */
  display: grid;
  gap: 1.5rem;
}
.footer-brand .brand__link {
  font-family: "Playfair Display", serif;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  color: var(--am-ivory);
  text-decoration: none;
}
.footer-brand .brand__link:focus-visible { outline: 2px solid var(--am-gold); outline-offset: 3px; border-radius: .25rem; }
.brand__tag { margin: .35rem 0 0; color: #dcd9cf; font: 400 .95rem/1.4 "Inter", system-ui, sans-serif; }

.footer-nav { margin-top: .5rem; }
.footer-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem .75rem; }
.footer-links a { color: #e9e9ef; text-decoration: none; font: 500 .98rem/1.2 "Inter", system-ui, sans-serif; padding: .35rem .4rem; border-radius: .35rem; display: inline-block; }
.footer-links a:hover { color: #fff; background: rgba(255,255,255,.06); }
.footer-links a:focus-visible { outline: 2px solid var(--am-gold); outline-offset: 3px; }

.footer-meta { margin-top: .5rem; color: #cfcfcf; font: 400 .92rem/1.3 "Inter", system-ui, sans-serif; }

@media (min-width: 720px) {
  .footer-inner { grid-template-columns: 1.2fr 1fr; align-items: start; }
  .footer-meta { grid-column: 1 / -1; }
  .footer-links { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

/* Cookie banner */
.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  background: #0e1833;
  color: var(--am-ivory);
  border-top: 1px solid rgba(201,162,39,.35);
  box-shadow: 0 -8px 18px rgba(0,0,0,.35);
}
.cookie-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem; /* compact on mobile */
  display: grid;
  gap: .75rem;
}
.cookie-title { font: 600 1rem/1.2 "Inter", system-ui, sans-serif; margin: 0; color: #fff; }
.cookie-desc { font: 400 .95rem/1.45 "Inter", system-ui, sans-serif; margin: 0; color: #e6e4dc; }
.cookie-desc a { color: var(--am-gold); text-decoration: underline; }
.cookie-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.btn { cursor: pointer; border-radius: .5rem; padding: .6rem .9rem; font: 600 .95rem/1 "Inter", system-ui, sans-serif; }
.btn:focus-visible { outline: 2px solid var(--am-gold); outline-offset: 3px; }
.btn--primary { border: 1px solid rgba(201,162,39,.6); background: linear-gradient(180deg, #c9a227, #b18d1f); color: #151515; }
.btn--primary:hover { filter: brightness(1.05); }
#cookie-reject.btn--ghost { border: 1px solid rgba(201,162,39,.45); background: transparent; color: var(--am-ivory); }
#cookie-reject.btn--ghost:hover { background: rgba(255,255,255,.06); }

/* Show/Hide animation */
#cookie-banner[hidden] { display: none; }
.cookie-banner.is-visible { animation: slide-up .28s ease-out both; }
.cookie-banner.is-hidden { animation: slide-down .25s ease-in both; }

@keyframes slide-up { from { transform: translateY(100%); opacity: .8; } to { transform: translateY(0); opacity: 1; } }
@keyframes slide-down { from { transform: translateY(0); opacity: 1; } to { transform: translateY(100%); opacity: 0; } }

@media (min-width: 720px) {
  .cookie-inner { grid-template-columns: 1fr auto; align-items: center; gap: 1rem 1.25rem; padding: 1.1rem 1.25rem; }
  .cookie-actions { justify-self: end; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner.is-visible, .cookie-banner.is-hidden { animation: none; }
}