/* Editorial pages (calculator, guides, notice dates, reference rate, legal) in
   the brand layer. Scoped to body.lp; loaded after brand.css. */

body.lp .legal-page { background: var(--lp-paper); padding: 64px 0 96px; }
body.lp .legal-container { max-width: 760px; }
body.lp .legal-container h1 {
  font-family: inherit;
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 700;
  margin: 4px 0 18px;
  text-wrap: balance;
}
body.lp .legal-container h2 { font-family: inherit; font-size: 24px; line-height: 1.22; letter-spacing: -0.01em; font-weight: 700; margin: 46px 0 12px; }
body.lp .legal-container h3 { font-family: inherit; font-size: 18px; font-weight: 700; margin: 28px 0 8px; }
body.lp .legal-container p, body.lp .legal-container li { font-size: 17px; line-height: 1.65; color: var(--lp-ink-2); }
body.lp .legal-container strong { color: var(--lp-ink); }
body.lp .legal-container a:not(.btn) { color: var(--lp-blue); text-decoration-thickness: 1px; }

/* Remaining labels name a figure or a box - sentence case, body face */
body.lp .eyebrow { font-family: inherit !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 14px; font-weight: 600; color: var(--lp-ink-2); }

body.lp .crumbs { font-size: 14px; margin-bottom: 18px; }
body.lp .legal-container .crumbs a { color: var(--lp-ink-2); text-decoration: none; }
body.lp .legal-container .crumbs a:hover { color: var(--lp-blue); text-decoration: underline; }
body.lp .article-meta { font-size: 14px; color: var(--lp-ink-2); margin: 0 0 18px; }
body.lp .seo-page .seo-lead { font-size: 19px; line-height: 1.6; color: var(--lp-ink-2); }

body.lp .seo-toc { background: var(--lp-sheet); border: 1px solid var(--lp-rule); border-radius: 10px; padding: 18px 22px; }
body.lp .seo-toc-h { font-family: inherit; text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 700; color: var(--lp-ink); margin-bottom: 6px; }
body.lp .seo-toc ol { list-style: decimal inside; }
body.lp .seo-toc li { font-size: 16px; }
body.lp .seo-toc a { border-bottom: 0; }
body.lp .seo-toc a:hover { text-decoration: underline; }

body.lp .seo-table-wrap { border-color: var(--lp-rule); border-radius: 10px; background: var(--lp-sheet); }
body.lp .seo-table { font-size: 15px; }
body.lp .seo-table thead { background: var(--lp-paper); }
body.lp .seo-table th { font-family: inherit; font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--lp-ink); border-bottom-color: var(--lp-rule); }
body.lp .seo-table td { border-bottom-color: #E6E8E1; }
body.lp .seo-table tbody tr:hover { background: none; }

/* Notes are about deadlines and exceptions: the stamp colour */
body.lp .seo-note { background: #F2EEF8; border-left: 3px solid var(--lp-stamp); border-radius: 0 8px 8px 0; color: var(--lp-ink); font-size: 15.5px; }
body.lp .seo-cta-card { background: var(--lp-sheet); border: 1px solid var(--lp-rule); border-left: 4px solid var(--lp-blue); border-radius: 10px; }
body.lp .seo-cta-card strong { font-size: 17px; }
body.lp .seo-stats { gap: 12px; }
body.lp .seo-stat { background: var(--lp-sheet); border-color: var(--lp-rule); border-radius: 10px; }
body.lp .seo-stat-num { font-family: inherit; font-weight: 700; letter-spacing: -0.025em; }
body.lp .seo-stat-sub { font-family: inherit; font-size: 13px; color: var(--lp-ink-2); }
body.lp .seo-stat-cta { background: var(--lp-sheet); border-color: var(--lp-rule); border-left: 4px solid var(--lp-blue); }
body.lp .seo-back-to-top a { font-family: inherit; }
body.lp .seo-disclaimer { border-top-color: var(--lp-rule); color: var(--lp-ink-2); }

/* Calculator and PLZ lookup */
body.lp .calc-card { background: var(--lp-sheet); border: 1px solid var(--lp-rule); border-radius: 10px; box-shadow: none; }
body.lp .plz-lookup-row input { border-color: #C9CDC3; border-radius: 8px; }

/* Guides */
body.lp .guide-hero img { border-radius: 10px; border-color: var(--lp-rule); }
body.lp .guide-list li a { background: var(--lp-sheet); border-color: var(--lp-rule); border-radius: 10px; }
body.lp .guide-list li a:hover { border-color: #9AA3C9; }
body.lp .guide-list li a.has-thumb img { border-radius: 9px 9px 0 0; }
body.lp .article-related li a { font-weight: 600; }
body.lp .article-faq { border-top: 1px solid var(--lp-rule); }
body.lp .article-faq details { background: none; border: 0; border-bottom: 1px solid var(--lp-rule); border-radius: 0; padding: 0; margin: 0; }
body.lp .article-faq summary { font-size: 17px; padding: 16px 0; }
body.lp .article-faq summary::after { color: var(--lp-blue); }
body.lp .canton-chips a { border-radius: 8px; border-color: var(--lp-rule); background: var(--lp-sheet); }

/* Timelines: dates in the stamp colour, steps in ink-blue */
body.lp .guide-timeline::before { background: var(--lp-rule); }
body.lp .guide-timeline li::before { border-color: var(--lp-blue); background: var(--lp-paper); }
body.lp .guide-timeline li.gt-warn::before { border-color: var(--lp-stamp); }
body.lp .guide-timeline li.gt-done::before { background: var(--lp-green); border-color: var(--lp-green); }
body.lp .gt-when { background: #F2EEF8; color: var(--lp-stamp); font-size: 13px; letter-spacing: 0; }
body.lp .guide-steps li { background: var(--lp-sheet); border-color: var(--lp-rule); border-radius: 10px; }
body.lp .guide-steps li::before { background: var(--lp-blue); }

/* Sample letters read like the letter on the homepage */
body.lp .letter-sample {
  font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  font-size: 15px; line-height: 1.6; color: #23262B;
  background: var(--lp-sheet); border: 0; border-radius: 2px;
  padding: 28px 30px;
  box-shadow: 0 1px 2px rgba(27, 29, 33, .06), 0 14px 32px -18px rgba(27, 29, 33, .3);
}

@media (max-width: 760px) {
  body.lp .legal-page { padding-top: 24px; }
  body.lp .legal-container h1 { font-size: 31px; }
  body.lp .legal-container h2 { font-size: 21px; margin-top: 36px; }
  body.lp .letter-sample { padding: 20px 18px; font-size: 14px; }
}

body.lp .legal-container ul:not([class]) { list-style: disc; margin: 10px 0 16px; padding-left: 1.25em; }
body.lp .legal-container ol:not([class]) { list-style: decimal; margin: 10px 0 16px; padding-left: 1.4em; }
body.lp .legal-container ul:not([class]) li, body.lp .legal-container ol:not([class]) li { margin: 6px 0; padding-left: 2px; }
body.lp .legal-container li::marker { color: var(--lp-blue); }
body.lp .seo-sources { list-style: disc; }
body.lp .letter-sample { white-space: normal; }
body.lp .letter-sample p { margin: 0 0 12px; font-size: inherit; line-height: inherit; color: inherit; }
body.lp .letter-sample p:last-child { margin-bottom: 0; }
