:root {
  --sc-legal-bg: #f6f8fc;
  --sc-legal-surface: #ffffff;
  --sc-legal-surface-soft: #fbfcff;
  --sc-legal-ink: #1c2740;
  --sc-legal-muted: #667085;
  --sc-legal-line: #e5eaf3;
  --sc-legal-brand: #b00061;
  --sc-legal-shadow: 0 18px 38px rgba(22, 32, 51, 0.08);
  --sc-legal-radius: 16px;
}

html {
  background: var(--sc-legal-bg);
}

body {
  background:
    radial-gradient(circle at top left, rgba(36, 81, 255, 0.05), transparent 24%),
    radial-gradient(circle at top right, rgba(176, 0, 97, 0.05), transparent 22%),
    var(--sc-legal-bg) !important;
  color: var(--sc-legal-ink);
}

main[role="main"] {
  color: var(--sc-legal-ink);
  padding-top: 1.2rem !important;
}

.wrap,
.container-agb,
.container-doc {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 252, 255, 0.98)) !important;
  border: 1px solid var(--sc-legal-line) !important;
  border-radius: var(--sc-legal-radius) !important;
  box-shadow: var(--sc-legal-shadow) !important;
}

.wrap {
  margin-top: 2.4rem !important;
}

.container-agb,
.container-doc {
  margin-top: 2.4rem !important;
}

.card,
.container-agb,
.container-doc {
  overflow: hidden;
}

.wrap > .card,
.container-agb,
.container-doc {
  padding: clamp(1rem, 2vw, 1.5rem) !important;
}

main h1 {
  color: var(--sc-legal-ink) !important;
  letter-spacing: -0.02em;
}

main h2,
main h3,
main h4 {
  color: var(--sc-legal-ink) !important;
}

main p,
main li,
.meta,
.meta-note,
.small,
.muted {
  color: var(--sc-legal-muted) !important;
}

main a:not(.menu-link):not(.cta-btn):not([role="button"]) {
  color: var(--sc-legal-brand) !important;
  text-decoration: underline;
  text-decoration-color: rgba(176, 0, 97, 0.32);
  text-underline-offset: 2px;
}

header.impressum-head,
.container-doc > h1 + .meta,
.container-agb > h1 + .meta-note {
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--sc-legal-line);
  margin-bottom: 1rem !important;
}

.grid {
  align-items: start;
}

.contact-box,
.container-doc details,
.container-agb details {
  background: linear-gradient(180deg, var(--sc-legal-surface-soft), #ffffff) !important;
  border: 1px solid var(--sc-legal-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.container-doc summary,
.container-agb summary {
  background: linear-gradient(180deg, #f9fbff, #f4f7fc) !important;
  color: var(--sc-legal-ink) !important;
  border-radius: 12px !important;
}

.container-doc details[open] summary,
.container-agb details[open] summary {
  background: linear-gradient(180deg, #ffffff, #fdfdff) !important;
  border-bottom: 1px solid var(--sc-legal-line);
}

.container-doc .panel,
.container-agb .panel {
  background: linear-gradient(180deg, #ffffff, #fcfdff) !important;
  color: var(--sc-legal-muted) !important;
}

.container-doc th,
.container-doc td {
  border-color: var(--sc-legal-line) !important;
}

.container-doc th {
  background: linear-gradient(180deg, #f8fbff, #f2f6fd) !important;
  color: var(--sc-legal-ink) !important;
}

#footer-3 {
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%) !important;
}

#footer-3 .bottom-footer {
  border-top: 1px solid var(--sc-legal-line);
  padding-top: 1rem;
}

#footer-3 [aria-label="Sicherheitsmerkmale"] img,
#footer-3 [aria-labelledby="trust-h2"] img {
  filter: saturate(0.96);
}

@media (max-width: 767.98px) {
  main[role="main"] {
    padding-top: 1.55rem !important;
  }

  .wrap,
  .container-agb,
  .container-doc {
    margin-top: 1.9rem !important;
  }

  .wrap,
  .container-agb,
  .container-doc {
    border-radius: 14px !important;
  }

  .wrap > .card,
  .container-agb,
  .container-doc {
    padding: 1rem !important;
  }
}
