/* ==========================================
   LEGAL PAGES — Shared Styles
   Impressum · AGB · Datenschutz · Widerruf
   Royal Bronze Theme
   ========================================== */

.legal-main {
  min-height: 100vh;
  padding: 120px 20px 80px;
}

.legal-container {
  max-width: 780px;
  margin: 0 auto;
}

/* ── Header ── */
.legal-header {
  margin-bottom: 56px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(176, 141, 87, 0.2);
}

/* Kicker — Inter */
.legal-kicker {
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: var(--weight-label);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #B08D57;
  margin: 0 0 14px;
}

/* Title — Cormorant Garamond */
.legal-title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: var(--weight-h1);
  font-style: normal;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #2C3E50;
  margin: 0 0 10px;
}

html[data-theme="dim"] .legal-title { color: #e8d5b0; }

/* Meta — Inter */
.legal-meta {
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: var(--weight-body);
  color: rgba(44, 62, 80, 0.55);
  margin: 0;
}

html[data-theme="dim"] .legal-meta { color: rgba(245, 242, 237, 0.45); }

/* ── Content ── */
.legal-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.legal-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Section heading — Cormorant Garamond */
.legal-section h2 {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: var(--weight-h3);
  font-style: normal;
  color: #2C3E50;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(176, 141, 87, 0.12);
}

html[data-theme="dim"] .legal-section h2 {
  color: #d4b07a;
  border-bottom-color: rgba(176, 141, 87, 0.2);
}

/* Body text — Inter */
.legal-section p,
.legal-section li {
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: var(--weight-body);
  line-height: 1.75;
  color: rgba(44, 62, 80, 0.82);
  margin: 0;
}

html[data-theme="dim"] .legal-section p,
html[data-theme="dim"] .legal-section li { color: rgba(245, 242, 237, 0.75); }

.legal-section ul,
.legal-section ol {
  padding-left: 1.4em;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.legal-section a {
  color: #B08D57;
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 141, 87, 0.3);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.legal-section a:hover { color: #d4b07a; border-bottom-color: #d4b07a; }

/* Note — Inter (kursiv erlaubt) */
.legal-note {
  font-family: var(--font-body);
  font-size: 0.82rem !important;
  font-weight: var(--weight-body);
  font-style: italic;
  color: rgba(44, 62, 80, 0.5) !important;
  padding: 10px 14px;
  border-left: 2px solid rgba(176, 141, 87, 0.25);
  background: rgba(176, 141, 87, 0.04);
  border-radius: 0 6px 6px 0;
}

html[data-theme="dim"] .legal-note {
  color: rgba(245, 242, 237, 0.4) !important;
  background: rgba(176, 141, 87, 0.06);
  border-left-color: rgba(176, 141, 87, 0.3);
}

/* ── Mobile ── */
@media (max-width: 600px) {
  .legal-main     { padding: 100px 16px 60px; }
  .legal-header   { margin-bottom: 36px; padding-bottom: 24px; }
  .legal-content  { gap: 28px; }
}