/* Gemeinsames Design für Impressum & Datenschutz (passend zur Startseite) */
*, *::before, *::after { box-sizing: border-box; }
html { background: #0f0c29; scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; color: #fff; font-family: 'Arial', sans-serif; overflow-x: hidden; }

h1, h2 { font-family: 'Press Start 2P', cursive; text-shadow: 0 0 8px #ff00ff, 0 0 16px #00ffff; }
@keyframes neon-glow { 0%,100% { text-shadow: 0 0 8px #ff00ff, 0 0 16px #00ffff; } 50% { text-shadow: 0 0 16px #ff00ff, 0 0 32px #00ffff; } }
h1 { animation: neon-glow 2s infinite alternate; font-size: clamp(0.9rem, 4.5vw, 1.8rem); line-height: 1.5; margin: 0 0 1.5rem; text-align: center; }
h2 { font-size: clamp(0.65rem, 2.6vw, 0.85rem); line-height: 1.8; color: #67e8f9; margin: 2.2rem 0 0.8rem; }

/* Hintergrund */
.page-bg { position: fixed; inset: 0; z-index: -3; overflow: hidden; pointer-events: none; }
.page-bg::before { content: ""; position: absolute; inset: -10%; background: url('images/miami-sunset-bg.png') center / cover no-repeat; opacity: 0.75; filter: saturate(1.3) contrast(1.05); animation: page-bg-zoom 24s ease-in-out infinite alternate; }
.page-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,12,41,.4) 0%, rgba(15,12,41,.7) 100%), linear-gradient(135deg, rgba(255,0,255,.15), rgba(0,255,255,.12)); mix-blend-mode: color-dodge; animation: page-bg-glow 6s ease-in-out infinite alternate; }
@keyframes page-bg-zoom { 0% { transform: scale(1); } 100% { transform: scale(1.12); } }
@keyframes page-bg-glow { 0% { opacity: .3; } 100% { opacity: .6; } }

/* Karte */
.legal-card { background: rgba(5,3,18,.65); backdrop-filter: blur(8px); padding: 50px 40px; margin: 30px auto 40px; border-radius: 16px; border: 1px solid rgba(255,0,255,.25); box-shadow: 0 0 24px rgba(0,0,0,.6), inset 0 0 15px rgba(255,0,255,.05); max-width: 900px; width: 95%; text-align: left; }
.legal-card p, .legal-card li { color: #e5e7eb; line-height: 1.75; font-size: 1rem; }
.legal-card ul { padding-left: 1.3rem; }
.legal-card a { color: #f472b6; text-decoration: underline; text-underline-offset: 3px; }
.legal-card a:hover { color: #00ffff; }
.platzhalter { background: #fde047; color: #000; padding: 0 .3em; border-radius: 3px; }

/* Buttons & Footer */
.topbar { width: 95%; max-width: 900px; margin: 20px auto 0; }
.neon-button { display: inline-flex; align-items: center; gap: 8px; text-transform: uppercase; padding: .7em 1.4em; border: 2px solid #00ffff; color: #fff; text-shadow: 0 0 4px #00ffff; background: rgba(0,255,255,.15); font-weight: bold; font-size: .8rem; text-decoration: none; border-radius: 4px; transition: all .3s ease-in-out; }
.neon-button:hover { background: #00ffff; color: #000; box-shadow: 0 0 15px #00ffff, 0 0 30px #00ffff; text-shadow: none; }
.site-footer { text-align: center; padding: 10px 15px 40px; }
.site-footer a { font-family: 'Press Start 2P', cursive; font-size: .65rem; color: #fff; text-transform: uppercase; text-decoration: none; text-shadow: 0 0 5px #ff00ff, 0 0 10px #00ffff; padding: 4px 8px; transition: all .2s; display: inline-block; }
.site-footer a:hover { color: #00ffff; transform: scale(1.08); }
.site-footer p { color: #9ca3af; font-size: .8rem; margin: 12px 0 0; }

@media (max-width: 767px) {
  .page-bg::before { animation: none; transform: scale(1); }
  .legal-card { padding: 30px 18px; }
  .site-footer a { font-size: .5rem; padding: 4px; }
}
