/* ================================================================
   RECHTSSEITEN (Impressum, Datenschutz, AGB) — lgl- Präfix
   Baut auf reise.css (Tokens, .site-header, .site-footer) auf.
   ================================================================ */

/* Header: derselbe solide Header wie auf der Startseite, aber mitlaufend (sticky) statt fixed,
   damit der Inhalt nicht darunter verschwindet. */
.lgl-header.site-header {
  position: sticky; top: 0;
  animation: none;
}
.lgl-header .header-inner { height: 68px; }
.lgl-back {
  font-family: var(--r-font-geo); font-size: var(--fs-xs); font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--r-ink-700); transition: color .2s;
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
}
.lgl-back:hover { color: var(--r-beige); }
.lgl-back svg { stroke: currentColor; fill: none; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

.lgl-page { min-height: 100vh; display: flex; flex-direction: column; }
.lgl-main { padding: 80px 0 120px; background: var(--r-cream); flex: 1; }
.lgl-shell { max-width: 820px; }

.lgl-intro { margin-bottom: 64px; }
.lgl-h1 {
  font-family: var(--r-font-disp); font-size: var(--fs-h2-lg);
  font-weight: 600; line-height: 1.1; letter-spacing: -.01em;
  color: var(--r-ink); margin: 12px 0 0;
}
.lgl-stand {
  margin-top: 16px; font-family: var(--r-font-geo);
  font-size: var(--fs-xs); letter-spacing: .1em; text-transform: uppercase;
  color: var(--r-fg3);
}

/* Inhalt */
.lgl-main h2 {
  margin-top: 52px; margin-bottom: 20px; padding-bottom: 12px;
  border-bottom: 1px solid var(--r-sand-200);
  font-size: var(--fs-h2-xs);
}
.lgl-main h3 { margin-top: 28px; margin-bottom: 10px; font-size: var(--fs-h3); }
.lgl-main h4 {
  font-family: var(--r-font-geo); font-size: var(--fs-xs);
  font-weight: 600; letter-spacing: .13em; text-transform: uppercase;
  color: var(--r-ink); margin: 20px 0 8px;
}
.lgl-main p {
  color: var(--r-fg2); line-height: 1.85;
  font-size: var(--fs-base); margin: 0 0 var(--space-md);
}
.lgl-main p.eyebrow { color: var(--r-beige-700); margin-bottom: 8px; } /* nicht von ".lgl-main p" überschreiben lassen */
.lgl-main a {
  color: var(--r-beige); /* Teal-dark: lesbar auf Ivory */
  border-bottom: 1px solid rgba(14,126,114,.3); transition: border-color .2s;
}
.lgl-main a:hover { border-color: var(--r-beige); }

.lgl-main ul { margin: 0 0 var(--space-md); padding-left: 1.4em; }
.lgl-main ul li {
  color: var(--r-fg2); line-height: 1.75; font-size: var(--fs-base);
  margin-bottom: 4px;
}
.lgl-main ol.lgl-clauses { margin: 0 0 var(--space-md); padding-left: 1.6em; }
.lgl-main ol.lgl-clauses > li {
  color: var(--r-fg2); line-height: 1.85; font-size: var(--fs-base);
  margin-bottom: 14px; padding-left: 6px;
}

/* Hervorgehobene Blöcke (Widerruf, wichtige Hinweise, Art. 21 DSGVO):
   ruhige Sand-Fläche mit Haarlinie statt Seitenrand-Akzent */
.lgl-box, .lgl-gdpr-caps {
  background: var(--r-sand);
  border: 1px solid var(--r-line-s);
  border-radius: 12px;
  margin-bottom: var(--space-md);
}
.lgl-box { padding: 20px 24px; }
.lgl-box p { font-size: var(--fs-sm); line-height: 1.75; margin-bottom: 12px; }
.lgl-box p:last-child { margin-bottom: 0; }
.lgl-box h4 { margin-top: 4px; }
.lgl-gdpr-caps { padding: 16px 20px; }
.lgl-gdpr-caps p {
  font-size: var(--fs-xs); letter-spacing: .01em; line-height: 1.7;
  color: var(--r-fg2); margin: 0;
}

@media (max-width: 640px) {
  .lgl-main { padding: 48px 0 80px; }
  .lgl-intro { margin-bottom: 40px; }
}
