/* =================================================
   Legal Pages — Relaunch 2025
   Gemeinsames Stylesheet für reine Textseiten:
     - Impressum (UID 15)
     - Datenschutz (UID 16) — geplant
     - AGB (UID 374) — geplant
   Wiederverwendet aus global.css:
     .btn / .btn-ghost, .section-ey, .section-h, .acc, .s-pad, .s-inner,
     .hero-ey, .hero-t / .line / .word, .hero-sub,
     .breadcrumb / .bc-list / .bc-sep / .bc-current
   ================================================= */


/* ---------- HERO (kompakt) ---------- */
.legal-hero{
  position:relative;
  min-height:46vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:radial-gradient(ellipse at 20% 110%, rgba(133,255,199,.10) 0%, transparent 55%),
             linear-gradient(180deg, #031a2b 0%, #011827 70%);
}
.legal-hero-bg{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 78% 22%, rgba(133,255,199,.09) 0%, transparent 42%),
    radial-gradient(circle at 18% 78%, rgba(133,255,199,.07) 0%, transparent 38%);
  pointer-events:none;
}
.legal-hero-ct{
  position:relative;
  z-index:2;
  width:100%;
  max-width:var(--section-max);
  margin:0 auto;
  padding:11rem 5vw 6rem;
  color:#fff;
}
.legal-hero .breadcrumb{
  position:absolute;
  top:7rem;
  bottom:auto;
  left:0;
}
.legal-hero .hero-t{
  font-size:clamp(2.6rem, 6vw, 4.8rem);
  margin:.5rem 0 0;
  color:#fff;
}
.legal-hero .hero-sub{
  opacity:1;
  margin:1.4rem 0 0;
  max-width:60ch;
}


/* ---------- CONTENT ---------- */
.legal-content-section{
  background:linear-gradient(180deg, #011827 0%, #01222f 100%);
  color:#fff;
}
.legal-doc{
  max-width:78ch;
  margin:0 auto;
  font-size:1.02rem;
  line-height:1.75;
  color:rgba(255,255,255,.78);
}
.legal-doc p{
  margin:0 0 1.1em;
}
.legal-doc a{
  color:var(--aq);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.22em;
  transition:opacity .25s ease;
}
.legal-doc a:hover{
  opacity:.78;
}


/* ---------- BLOCK / SECTION ---------- */
.legal-block{
  padding:2.4rem 0;
  border-top:1px solid rgba(133,255,199,.14);
}
.legal-block:first-of-type{
  padding-top:0;
  border-top:0;
}
.legal-h2{
  font-family:var(--h);
  font-weight:900;
  font-size:clamp(1.35rem, 2vw, 1.7rem);
  line-height:1.2;
  letter-spacing:-.005em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 1.4rem;
  position:relative;
  padding-left:1.1rem;
}
.legal-h2::before{
  content:'';
  position:absolute;
  left:0;
  top:.45em;
  width:4px;
  height:.85em;
  background:var(--aq);
}


/* ---------- DEFINITION LIST (Anbieter / Aufsichtsbehörde) ---------- */
.legal-dl{
  display:grid;
  grid-template-columns:minmax(180px, 220px) 1fr;
  gap:.75rem 2rem;
  margin:0 0 .5rem;
}
.legal-dl dt{
  font-family:var(--h);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  padding-top:.35em;
}
.legal-dl dd{
  margin:0;
  color:#fff;
}
.legal-dl dd a{
  color:var(--aq);
  text-decoration:none;
}
.legal-dl dd a:hover{
  text-decoration:underline;
}


/* ---------- SOURCE FOOTNOTE ---------- */
.legal-source{
  margin-top:3rem;
  padding-top:1.4rem;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.82rem;
  color:rgba(255,255,255,.4);
  font-style:italic;
}


/* ---------- RESPONSIVE ---------- */
@media (max-width:768px){
  .legal-hero{
    min-height:38vh;
  }
  .legal-hero-ct{
    padding:9rem 5vw 4rem;
  }
  .legal-hero .breadcrumb{
    top:5.5rem;
  }
  .legal-hero .hero-t{
    font-size:clamp(2rem, 8vw, 3rem);
  }
  .legal-doc{
    font-size:.98rem;
  }
  .legal-h2{
    font-size:1.2rem;
  }
  .legal-dl{
    grid-template-columns:1fr;
    gap:.2rem 0;
  }
  .legal-dl dt{
    padding-top:1.1rem;
  }
  .legal-dl dt:first-of-type{
    padding-top:0;
  }
}
