/* =========================================================
   BeeStage – Legal pages (Impressum, Datenschutz, AGB)
   Reuses the v2 design system (tokens, nav, footer) and adds
   the document/reading layout for long-form legal text.
========================================================= */
@import url("./beestage-v2.css");

/* ---------- page shell ---------- */
.legal-page{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.legal-page main{ flex: 1 0 auto; }

/* ---------- header ---------- */
.legal-hero{
  padding: 56px 0 44px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(120% 160% at 50% -30%, var(--honey-soft) 0%, transparent 60%),
    var(--paper);
}
.legal-hero .container{ max-width: 760px; }
.legal-back{
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: .88rem; color: var(--ink-2);
  margin-bottom: 26px; transition: color .15s ease, gap .15s ease;
}
.legal-back:hover{ color: var(--ink); gap: 11px; }
.legal-back svg{ width: 15px; height: 15px; flex: none; }
.legal-hero h1{ font-size: clamp(2rem, 4.6vw, 2.85rem); margin: 0 0 16px; }
.legal-meta{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .84rem; font-weight: 600; color: var(--ink-2);
  background: var(--card); border: 1px solid var(--line);
  padding: 7px 15px; border-radius: 999px;
}
.legal-meta::before{ content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--honey); flex: none; }

/* ---------- document layout ---------- */
.legal-body{ padding: 64px 0 120px; }
.legal-body .container{ max-width: 760px; }

.legal-doc{
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 52px; box-shadow: var(--shadow-sm);
}
@media (max-width: 620px){ .legal-doc{ padding: 30px 22px; } }

.legal-doc section{ padding: 28px 0; border-top: 1px solid var(--line); }
.legal-doc section:first-of-type{ border-top: 0; padding-top: 0; }

.legal-doc h2{ font-size: 1.26rem; margin: 0 0 14px; letter-spacing: -.02em; }
.legal-doc h3{ font-family: var(--font-display); font-weight: 700; font-size: 1.04rem; letter-spacing: -.015em; margin: 24px 0 10px; color: var(--ink); }
.legal-doc h3:first-child{ margin-top: 0; }

.legal-doc p{ margin: 0 0 15px; color: var(--ink-2); text-wrap: pretty; }
.legal-doc p:last-child{ margin-bottom: 0; }
.legal-doc p strong{ color: var(--ink); font-weight: 600; }

.legal-doc ul{ margin: 0 0 15px; padding-left: 20px; color: var(--ink-2); display: grid; gap: 8px; }
.legal-doc ul:last-child{ margin-bottom: 0; }
.legal-doc li{ padding-left: 2px; }
.legal-doc li::marker{ color: var(--honey-deep); }

.legal-doc a{ color: var(--honey-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.legal-doc a:hover{ color: var(--ink); }

.legal-doc hr{ display: block; height: 1px; margin: 30px 0; border: 0; background: var(--line); }

/* current page indicator in the footer legal column */
.footer-col a[aria-current="page"]{ color: #fff; }
