/* Footer styles for PlayWorldPL */
.site-footer {
  background: linear-gradient(180deg, #0b0f15 0%, #090c11 100%);
  border-top: 1px solid rgba(0,229,255,.25);
  color: #cfefff;
}
.footer-inner {
  max-width: 1200px; margin: 0 auto; padding: 2rem 1rem;
  display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 2rem;
}
.footer-brand .footer-logo {
  display: inline-block; color: #e6faff; text-decoration: none; font-weight: 800; text-transform: uppercase; letter-spacing: .5px;
  text-shadow: 0 0 10px rgba(0,229,255,.35);
}
.footer-brand .footer-desc { margin-top: .5rem; color: #8ba3ad; }
.footer-social { list-style: none; margin: 0.75rem 0 0; padding: 0; display: flex; gap: .5rem; }
.footer-social a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid rgba(0,229,255,.35); border-radius: 50%; color: #cfefff; text-decoration: none; }
.footer-social a:hover, .footer-social a:focus { background: #00e5ff; color: #0a0d12; outline: none; box-shadow: 0 0 0 2px #00e5ff, 0 0 14px rgba(0,229,255,.55); }

.footer-links ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .25rem .75rem; }
.footer-links a { color: #cfefff; text-decoration: none; padding: .25rem 0; display: inline-block; }
.footer-links a:hover, .footer-links a:focus { color: #0a0d12; background: #00e5ff; outline: none; border-radius: .25rem; box-shadow: 0 0 0 2px #00e5ff; }

.footer-contact p { margin: 0 0 .5rem; }
.footer-contact a { color: #00e5ff; text-decoration: underline; }
.footer-contact a:hover, .footer-contact a:focus { color: #0a0d12;  outline: none;  }

.footer-bottom { border-top: 1px solid rgba(0,229,255,.2); padding: .75rem 1rem; text-align: center; color: #9fb6c0; }

/* Visually hidden utility (scoped) */
.vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Cookie banner */
.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000;
  background: rgba(8, 12, 18, 0.98);
  border-top: 2px solid #00e5ff;
  color: #cfefff;
  transform: translateY(100%);
  opacity: 0; visibility: hidden;
  transition: transform .35s ease, opacity .35s ease, visibility .35s ease;
}
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; visibility: visible; }
.cookie-inner { max-width: 1200px; margin: 0 auto; padding: 1rem; display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; }
.cookie-text h2 { margin: 0 0 .25rem; font-size: 1rem; color: #e6faff; }
.cookie-text p { margin: 0; color: #b7d2dc; }
.cookie-text a { color: #00e5ff; text-decoration: underline; }
.cookie-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.btn { cursor: pointer; border-radius: .4rem; padding: .6rem .9rem; font-weight: 600; border: 1px solid transparent; }
.btn:focus { outline: none; box-shadow: 0 0 0 2px #ffcc00; }
.btn-primary { background: #00e5ff; color: #0a0d12; border-color: #00e5ff; }
.btn-primary:hover { filter: brightness(1.05); }
.btn-secondary { background: transparent; color: #e6faff; border-color: rgba(0,229,255,.45); }
.btn-secondary:hover { background: rgba(0,229,255,.12); }

@media (max-width: 900px) {
  .footer-inner { grid-template-columns: 1fr; }
  .footer-links ul { grid-template-columns: 1fr 1fr; }
  .cookie-inner { grid-template-columns: 1fr; }
  .cookie-actions { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner { transition: none; }
}
