/* ═══════════════════════════════════════════════════════════════
   HOOKMATION — Legal Pages (Impressum / Datenschutz)
   Brand Kit 2026 · Payne's Grey Dark · Bebas Neue / Syne / DM Mono
   Standalone scrollende Rechtsseiten — KEIN Modal.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --black:  #1A2230;   /* Payne's Grey Dark — Seite */
  --off:    #1E2838;   /* Hover / Übergänge */
  --card:   #161E2C;   /* Cards / Panels */
  --white:  #EEEDE8;   /* warm-weiß — Text */
  --dim:    rgba(238,237,232,.78);
  --dim2:   rgba(238,237,232,.46);
  --border: rgba(255,255,255,.1);
  --border2:#2A3548;

  --lime:  #C8FF00;
  --cyan:  #00E5FF;
  --pink:  #FF2D78;
  --uv:    #9B5DFF;
  --gold:  #D4A843;
  --gold2: #F0C96A;

  --gs: linear-gradient(90deg,#b8892a 0%,#F0C96A 38%,#ffe0a0 55%,#c9922e 100%);

  --px: clamp(24px,6vw,72px);
  --ease: cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; background:var(--black); }
body {
  background:var(--black); color:var(--white);
  font-family:'Syne',sans-serif; font-size:16px; line-height:1.8;
  overflow-x:hidden; min-height:100svh;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a { color:inherit; text-decoration:none; }

/* ── Utility ── */
.g  { background:var(--gs); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.bb { font-family:'Bebas Neue',sans-serif; }
.mono { font-family:'DM Mono',monospace; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ════════════════════════════════════════
   NAV — Glassmorphism, identisch zur Hauptseite
   ════════════════════════════════════════ */
body > nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; justify-content:space-between; align-items:center;
  padding:20px var(--px);
  background:rgba(26,34,48,.95);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.nav-logo { font-family:'Bebas Neue',sans-serif; font-size:clamp(15px,3vw,19px); letter-spacing:.16em; white-space:nowrap; }
.nav-r { display:flex; align-items:center; gap:clamp(8px,2vw,20px); }
.nav-links { display:flex; gap:clamp(16px,3vw,32px); list-style:none; }
.nav-links a { font-size:12px; font-weight:500; letter-spacing:.08em; color:var(--dim); text-transform:uppercase; transition:color .2s; }
.nav-links a:hover { color:var(--white); }
.nav-cta {
  font-family:'DM Mono',monospace; font-size:10px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  background:var(--gs); color:#000; padding:10px 22px; border:none; cursor:pointer;
  transition:opacity .2s, transform .18s var(--ease);
}
.nav-cta:hover { opacity:.88; transform:translateY(-1px); }
@media (max-width:680px) { .nav-links { display:none; } }

/* ── Language toggle ── */
.lang-wrap { display:flex; align-items:center; gap:2px; }
.lang-btn { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; background:none; border:1px solid transparent; color:var(--dim2); padding:5px 9px; cursor:pointer; transition:color .2s, border-color .2s; }
.lang-btn:hover { color:var(--white); }
.lang-sep { color:var(--dim2); font-size:8px; }
.lang-btn.on,
html[data-lang="de"] .lang-btn[data-lb="de"],
html[data-lang="en"] .lang-btn[data-lb="en"] { color:var(--gold2); border-color:rgba(212,168,67,.3); }
@media (max-width:420px) { .lang-wrap { display:none; } }

/* ── DE/EN content toggle ── */
html[data-lang="de"] .L.en { display:none !important; }
html[data-lang="en"] .L.de { display:none !important; }

/* ════════════════════════════════════════
   HERO
   ════════════════════════════════════════ */
.legal-hero {
  position:relative; overflow:hidden;
  padding:clamp(124px,18vh,180px) var(--px) clamp(48px,7vw,80px);
  border-bottom:1px solid var(--border);
}
.legal-hero__atm {
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 55% 60% at 92% 8%,  rgba(212,168,67,.09) 0%, transparent 55%),
    radial-gradient(ellipse 38% 48% at 2% 90%,   rgba(0,229,255,.04) 0%, transparent 55%),
    radial-gradient(ellipse 40% 36% at 60% 100%, rgba(200,255,0,.025) 0%, transparent 55%),
    linear-gradient(145deg,#141c2a 0%,#1a2230 52%,#151d2b 100%);
}
.legal-hero__atm::after {
  content:''; position:absolute; inset:0; opacity:.32;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}
.legal-hero__line {
  position:absolute; top:0; right:24%; width:1px; height:100%; z-index:0;
  background:linear-gradient(to bottom, transparent 0%, rgba(212,168,67,.18) 35%, rgba(212,168,67,.06) 70%, transparent 100%);
}
.legal-hero__inner { position:relative; z-index:2; max-width:1100px; margin:0 auto; }
.crumb { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--dim2); margin-bottom:clamp(20px,4vh,30px); display:flex; align-items:center; gap:10px; }
.crumb a { color:var(--dim2); transition:color .2s; }
.crumb a:hover { color:var(--gold2); }
.crumb .sep { color:rgba(238,237,232,.25); }
.crumb .cur { background:var(--gs); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.legal-hero h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(64px,12vw,150px); line-height:.86; letter-spacing:.015em; }
.legal-hero .lead { font-size:clamp(14px,2.4vw,17px); color:var(--dim); max-width:600px; margin-top:clamp(18px,3vh,26px); line-height:1.7; }
.legal-hero .lead strong { color:var(--white); font-weight:600; }

/* ════════════════════════════════════════
   CONTENT
   ════════════════════════════════════════ */
.legal-content { max-width:1100px; margin:0 auto; padding:clamp(48px,8vw,88px) var(--px) clamp(72px,11vw,120px); }
.legal-section { padding:clamp(28px,4vw,40px) 0; border-bottom:1px solid var(--border); }
.legal-section:last-of-type { border-bottom:none; }
.legal-section__lbl { font-family:'DM Mono',monospace; font-size:9px; font-weight:500; letter-spacing:.3em; text-transform:uppercase; background:var(--gs); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:14px; }
.legal-section h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(28px,4.2vw,46px); line-height:.94; letter-spacing:.02em; margin-bottom:clamp(16px,2.5vw,22px); }
.legal-section h3 { font-family:'Bebas Neue',sans-serif; font-size:clamp(17px,2.4vw,22px); letter-spacing:.05em; color:var(--gold2); margin:26px 0 10px; }
.legal-section p { font-size:15px; line-height:1.85; color:var(--dim); max-width:760px; }
.legal-section p + p { margin-top:14px; }
.legal-section strong { color:var(--white); font-weight:600; }
.legal-section a:not(.btn) { color:var(--gold2); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(212,168,67,.4); transition:text-decoration-color .2s; }
.legal-section a:not(.btn):hover { text-decoration-color:var(--gold2); }

/* Layout: label-Spalte links auf großen Screens */
@media (min-width:880px) {
  .legal-section { display:grid; grid-template-columns:180px 1fr; gap:clamp(24px,4vw,56px); align-items:start; }
  .legal-section__lbl { margin-bottom:0; padding-top:6px; }
  .legal-section h2 { grid-column:2; }
  .legal-section .body { grid-column:2; }
  .legal-section__lbl + h2 { margin-top:0; }
}
.legal-section .body > :first-child { margin-top:0; }

/* Anbieter / Verantwortlicher Karte */
.party-card { background:var(--card); border:1px solid var(--border2); padding:clamp(24px,4vw,36px); margin-top:18px; max-width:540px; }
.party-card .tag { font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold2); margin-bottom:14px; }
.party-card .ent { font-family:'Bebas Neue',sans-serif; font-size:clamp(26px,4vw,38px); letter-spacing:.04em; line-height:1; }
.party-card address { font-style:normal; color:var(--dim); margin-top:12px; line-height:1.8; font-size:14px; }
.party-card .rows { display:flex; flex-direction:column; gap:10px; margin-top:22px; padding-top:22px; border-top:1px solid var(--border); }
.party-card .row { display:flex; gap:14px; flex-wrap:wrap; font-size:14px; color:var(--dim); }
.party-card .row .k { font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim2); min-width:84px; padding-top:3px; }
.party-card .row a { color:var(--gold2); }

/* Highlight-Box (Pink-Akzent für Widerspruch / wichtig) */
.note-box { border:1px solid rgba(212,168,67,.28); background:linear-gradient(135deg,rgba(212,168,67,.06) 0%,transparent 60%); padding:clamp(20px,3vw,28px); margin-top:18px; }
.note-box .tag { font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold2); margin-bottom:10px; }

/* Cookiebot Declaration */
.cookiebot-declaration-container { margin-top:18px; padding:clamp(18px,3vw,28px); background:var(--card); border:1px solid var(--border2); max-width:760px; }
.CookieDeclaration { color:var(--dim) !important; font-family:'Syne',sans-serif !important; font-size:14px !important; }
.CookieDeclaration a { color:var(--gold2) !important; }
#CookieDeclarationUserStatusLabelOn, #CookieDeclarationUserStatusLabelOff { color:var(--white) !important; }

.stand { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.08em; color:var(--dim2); margin-top:clamp(40px,6vw,56px); line-height:1.8; }

/* ════════════════════════════════════════
   FOOTER — identisch zur Hauptseite
   ════════════════════════════════════════ */
footer { background:var(--black); padding:clamp(28px,4vw,40px) var(--px); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; border-top:1px solid var(--border); }
.f-logo { font-family:'Bebas Neue',sans-serif; font-size:clamp(14px,2.8vw,18px); letter-spacing:.16em; }
.f-copy { font-family:'DM Mono',monospace; font-size:9px; color:var(--dim2); letter-spacing:.08em; line-height:1.9; }
.f-links { display:flex; gap:clamp(14px,3vw,26px); align-items:center; flex-wrap:wrap; }
.f-lnk { font-family:'DM Mono',monospace; font-size:9px; color:var(--dim2); letter-spacing:.08em; text-transform:uppercase; transition:color .2s; }
.f-lnk:hover { color:var(--gold2); }
.f-lnk.cur { color:var(--gold2); }
@media (max-width:460px) { footer { justify-content:center; text-align:center; } .f-copy { width:100%; } }
