:root {
  --legal-bg: #2f241f;
  --legal-panel: rgba(255, 253, 245, 0.96);
  --legal-text: #4e342e;
  --legal-muted: #6d4c41;
  --legal-border: rgba(139, 90, 43, 0.24);
  --legal-link: #7b3f18;
}

html {
  overflow-x: clip;
}

body.legal-page {
  margin: 0;
  overflow-x: clip;
}

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

.legal-nav,
.legal-page-main,
.site-legal-footer,
.product-legal-note {
  box-sizing: border-box;
}

.legal-page-main {
  width: min(960px, calc(100% - 32px));
  margin: 24px auto 32px;
  padding: 24px;
  background: var(--legal-panel);
  border: 1px solid var(--legal-border);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.legal-page-main h1,
.legal-page-main h2,
.legal-page-main h3 {
  color: var(--primary, #8b5a2b);
}

.legal-page-main h1 {
  margin: 0 0 8px;
  font-family: "Playfair Display", serif;
  font-size: 2rem;
}

.legal-page-main h2 {
  margin: 24px 0 10px;
  font-size: 1.2rem;
}

.legal-page-main h3 {
  margin: 16px 0 8px;
  font-size: 1rem;
}

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

.legal-page-main p {
  margin: 0 0 12px;
}

.legal-page-main ul {
  margin: 0 0 14px 20px;
}

.legal-meta {
  color: var(--legal-muted);
  font-style: italic;
  margin-bottom: 18px;
}

.legal-note {
  padding: 12px 14px;
  border: 1px solid var(--legal-border);
  border-radius: 10px;
  background: rgba(139, 90, 43, 0.08);
}

.legal-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 14px auto 20px;
}

.legal-nav a,
.legal-page-main a,
.site-legal-footer a {
  color: var(--legal-link);
  font-weight: 600;
}

.site-legal-footer {
  width: min(960px, calc(100% - 32px));
  margin: 24px auto 0;
  padding: 18px 0 4px;
  border-top: 1px solid rgba(139, 90, 43, 0.28);
  color: var(--legal-muted);
  text-align: center;
  font-size: 0.92rem;
  line-height: 1.55;
}

.site-legal-footer.compact {
  margin-top: 12px;
  padding-top: 12px;
  font-size: 0.86rem;
  line-height: 1.35;
}

.site-legal-footer.compact .site-legal-footer-links,
.site-legal-footer.compact .site-legal-footer-company {
  gap: 5px 10px;
  margin-bottom: 6px;
}

.site-legal-footer.dark {
  color: rgba(249, 245, 235, 0.9);
  border-top-color: rgba(255, 255, 255, 0.16);
}

.site-legal-footer.dark a {
  color: #f2dfc0;
}

.site-legal-footer.dark .site-legal-footer-company,
.site-legal-footer.dark .site-legal-footer-note {
  color: rgba(249, 245, 235, 0.86);
}

.site-legal-footer-links,
.site-legal-footer-company {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  margin-bottom: 10px;
}

.site-legal-footer-company span {
  display: inline-flex;
}

.site-legal-footer-note {
  margin: 0;
}

.newsletter-privacy-note,
.product-legal-note {
  margin: 12px auto 0;
  max-width: 760px;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--secondary, #6d4c41);
}

.intro-section .newsletter-privacy-note {
  color: rgba(249, 245, 235, 0.92);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.intro-section .newsletter-privacy-note a {
  color: #fff3cf;
  font-weight: 700;
}

.product-legal-note {
  padding: 10px 12px;
  border: 1px solid rgba(139, 90, 43, 0.24);
  border-radius: 10px;
  background: rgba(139, 90, 43, 0.06);
}

.legal-document {
  line-height: 1.68;
  overflow-wrap: anywhere;
}

#nobad-eula.content-section,
#retirewhen-terms.content-section {
  margin-top: 0;
}

.legal-document .intro-title {
  margin: 0 0 22px;
}

.legal-document .legal-meta {
  margin: -8px 0 28px;
}

.legal-document h2,
.legal-document .nobad-privacy-content h2 {
  margin: 36px 0 18px;
  padding-bottom: 12px;
}

.legal-document h2:first-of-type,
.legal-document .nobad-privacy-content h2:first-of-type {
  margin-top: 28px;
}

.legal-document p,
.legal-document .nobad-privacy-content p {
  margin-bottom: 18px;
}

.legal-document ul,
.legal-document .nobad-privacy-content ul {
  margin-bottom: 20px;
}

.legal-document li,
.legal-document .nobad-privacy-content li {
  margin-bottom: 8px;
}

@media (max-width: 640px) {
  .legal-page-main {
    width: calc(100% - 20px);
    padding: 18px;
  }

  .legal-page-main h1 {
    font-size: 1.65rem;
  }

  .site-legal-footer {
    width: calc(100% - 20px);
  }
}
