:root {
  --legal-bg: #f4f7f6;
  --legal-panel: #ffffff;
  --legal-text: #17323b;
  --legal-muted: #60747c;
  --legal-accent: #0b8f73;
  --legal-line: #d8e5e3;
  --legal-max-width: 900px;
  --legal-panel-radius: 22px;
  --legal-panel-shadow: 0 22px 54px rgba(23, 50, 59, 0.08);
  --legal-background: linear-gradient(180deg, rgba(11, 143, 115, 0.10), transparent 260px), var(--legal-bg);
  --legal-font-family: "Segoe UI", Roboto, sans-serif;
}

* {
  box-sizing: border-box;
}

body.legal-page {
  margin: 0;
  font-family: var(--legal-font-family);
  color: var(--legal-text);
  background: var(--legal-background);
}

.legal-page main {
  max-width: var(--legal-max-width);
  margin: 0 auto;
  padding: 32px 20px 60px;
}

.legal-page article,
.legal-page section {
  background: var(--legal-panel);
  border: 1px solid var(--legal-line);
  border-radius: var(--legal-panel-radius);
  padding: 28px;
  box-shadow: var(--legal-panel-shadow);
}

.legal-page h1,
.legal-page h2 {
  margin-top: 0;
}

.legal-page h2 {
  margin-top: 26px;
  color: var(--legal-accent);
}

.legal-page p,
.legal-page li {
  line-height: 1.65;
}

.legal-page .muted {
  color: var(--legal-muted);
}

.legal-page .notice {
  padding: 14px 16px;
  border: 1px solid var(--legal-notice-line, #d7e3ea);
  border-radius: 12px;
  background: var(--legal-notice-bg, #f7fbfb);
  color: var(--legal-notice-text, var(--legal-text));
}

.legal-page a {
  color: var(--legal-accent);
}

.legal-page .cta {
  display: inline-block;
  margin-top: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  background: var(--legal-accent);
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
}

body.legal-page--account-deletion {
  --legal-bg: #f5f4ef;
  --legal-panel: #fffdf8;
  --legal-text: #312c24;
  --legal-muted: #6d655a;
  --legal-accent: #b65f2a;
  --legal-line: #e8ded0;
  --legal-max-width: 860px;
  --legal-background: linear-gradient(180deg, rgba(182, 95, 42, 0.08), transparent 24%), var(--legal-bg);
  --legal-panel-shadow: 0 24px 50px rgba(49, 44, 36, 0.08);
}

body.legal-page--contact {
  --legal-bg: #f2f6f8;
  --legal-panel: #ffffff;
  --legal-text: #143047;
  --legal-muted: #5d7487;
  --legal-accent: #0b8f73;
  --legal-line: #d7e3ea;
  --legal-max-width: 860px;
  --legal-background: linear-gradient(180deg, rgba(11, 143, 115, 0.10), transparent 260px), var(--legal-bg);
  --legal-panel-shadow: 0 22px 54px rgba(20, 48, 71, 0.08);
}

body.legal-page--limitations {
  --legal-bg: #f7f5ef;
  --legal-panel: #fffdf8;
  --legal-text: #2f2d27;
  --legal-muted: #6d665d;
  --legal-accent: #b65f2a;
  --legal-line: #e7dccd;
  --legal-background: linear-gradient(180deg, rgba(182, 95, 42, 0.10), transparent 260px), var(--legal-bg);
  --legal-panel-shadow: 0 22px 54px rgba(47, 45, 39, 0.08);
}

body.legal-page--privacy {
  --legal-bg: #f2f6f8;
  --legal-panel: rgba(255, 255, 255, 0.92);
  --legal-text: #143047;
  --legal-muted: #5d7487;
  --legal-line: #d7e3ea;
  --legal-accent: #0b8f73;
  --legal-max-width: 920px;
  --legal-panel-radius: 24px;
  --legal-panel-shadow: 0 24px 60px rgba(20, 48, 71, 0.08);
  --legal-background:
    radial-gradient(circle at top left, rgba(11, 143, 115, 0.10), transparent 30%),
    linear-gradient(180deg, #edf4f7 0%, var(--legal-bg) 100%);
  --legal-font-family: Georgia, "Times New Roman", serif;
}

body.legal-page--privacy article {
  backdrop-filter: blur(10px);
}

body.legal-page--privacy h1,
body.legal-page--privacy h2 {
  margin: 0 0 12px;
}

body.legal-page--privacy h1 {
  font-size: clamp(2rem, 3vw, 2.8rem);
}

body.legal-page--privacy h2 {
  margin-top: 28px;
  font-size: 1.2rem;
}

body.legal-page--privacy p,
body.legal-page--privacy li {
  line-height: 1.7;
}

body.legal-page--terms {
  --legal-bg: #f4f7f6;
  --legal-panel: #ffffff;
  --legal-text: #17323b;
  --legal-muted: #60747c;
  --legal-accent: #0b8f73;
  --legal-line: #d8e5e3;
  --legal-background: linear-gradient(180deg, rgba(11, 143, 115, 0.10), transparent 260px), var(--legal-bg);
  --legal-panel-shadow: 0 22px 54px rgba(23, 50, 59, 0.08);
  --legal-notice-line: #f0ce7b;
  --legal-notice-bg: #fff7df;
  --legal-notice-text: #6a4300;
}
