/* Secondary pages reuse the same type, spacing, radius and color tokens as v23/24. */
/* The received theme sets a 14px root. Pin the existing type tokens to the intended
 * pixel scale, without changing the vendor root/rem geometry or admin typography. */
body.ma-design-v23 {
  --ma23-xs: 12px/16px var(--ma23-font);
  --ma23-sm: 14px/20px var(--ma23-font);
  --ma23-base: 16px/24px var(--ma23-font);
  --ma23-lg: 18px/28px var(--ma23-font);
  --ma23-xl: 20px/28px var(--ma23-font);
  --ma23-2xl: 24px/32px var(--ma23-font);
  --ma23-3xl: 30px/36px var(--ma23-font);
  --ma23-4xl: 36px/40px var(--ma23-font);
  --ma23-5xl: 48px/1 var(--ma23-font);
  --ma23-6xl: 60px/1 var(--ma23-font);
}
/* The reveal's old 30% opacity was below 3:1 even for large text. Keep the word
 * sequence, but leave the initial state readable before it enters the viewport. */
body.ma-design-v23 [data-ma23-word].ma23-word-muted { opacity: 0.6; }
body.ma-design-v23 :is(.ma25-reading-layout,.ma25-recovery,.ma25-recovery-links,.ma25-news-empty),
body.ma-design-v23 :is(.ma25-reading-layout,.ma25-recovery,.ma25-recovery-links,.ma25-news-empty) * { box-sizing: border-box; }
body.ma25-error-page .ma-funnel-utility,
body.ma25-news-page .ma-funnel-utility { display: none; }
body.ma25-document-page .page-title,
body.ma25-news-page .page-title { background: var(--ma23-ivory); padding-block: 48px; margin-bottom: 0; }
body.ma25-document-page .page-title h1,
body.ma25-news-page .page-title h1 { max-width: 680px; margin-inline: auto; font: var(--ma23-5xl); font-weight: 600; color: var(--ma23-ink); }
body.ma25-document-page .page-title :is(a,span),
body.ma25-news-page .page-title :is(a,span) { font: var(--ma23-sm); color: var(--ma23-muted); }
body.ma25-document-page .ma25-reading-layout { display: grid; grid-template-columns: 240px minmax(0,680px); gap: 48px; justify-content: center; align-items: start; padding-block: 24px 48px; }
body.ma25-document-page .ma25-reading-layout.ma25-no-toc { grid-template-columns: minmax(0,680px); }
body.ma25-document-page .ma25-toc { position: sticky; top: 32px; border: 1px solid var(--ma23-line); border-radius: 16px; background: var(--ma23-paper); padding: 16px; }
body.ma25-document-page .ma25-toc summary { cursor: pointer; font: var(--ma23-base); font-weight: 600; min-height: 48px; padding-block: 12px; color: var(--ma23-ink); }
body.ma25-document-page .ma25-toc ol { list-style: none; margin: 8px 0 0; padding: 0; }
body.ma25-document-page .ma25-toc li { margin: 0; }
body.ma25-document-page .ma25-toc a { display: flex; align-items: center; min-height: 48px; padding: 8px; border-radius: 8px; font: var(--ma23-sm); color: var(--ma23-muted); text-decoration: none; overflow-wrap: anywhere; }
body.ma25-document-page .ma25-toc a:hover { background: var(--ma23-gold-soft); color: var(--ma23-ink); }
body.ma25-document-page .ma25-prose { min-width: 0; color: var(--ma23-ink); font: var(--ma23-base); }
body.ma25-document-page .ma25-prose p { font: var(--ma23-base); color: var(--ma23-muted); margin: 0 0 24px; text-wrap: pretty; }
body.ma25-document-page .ma25-prose h2 { font: var(--ma23-2xl); font-weight: 600; margin: 40px 0 16px; color: var(--ma23-ink); scroll-margin-top: 32px; }
body.ma25-document-page .ma25-prose > h2:first-child { margin-top: 0; }
body.ma25-document-page .ma25-prose :is(ul,ol) { padding-left: 24px; margin: 0 0 24px; }
body.ma25-document-page .ma25-prose li { margin-bottom: 12px; }
body.ma25-document-page .ma25-prose :is(a:not(.ma23-button),strong) { color: var(--ma23-ink); }
body.ma25-document-page .ma25-prose a:not(.ma23-button) { text-decoration: underline; text-underline-offset: 4px; }
body.ma25-document-page .ma25-prose em { font-style: normal; }
body.ma-design-v23 .ma25-reading-next { padding: 32px; margin-top: 48px; border: 1px solid var(--ma23-line); border-radius: 16px; background: var(--ma23-soft); }
body.ma25-document-page .ma25-reading-next h2 { margin: 0 0 16px; }
body.ma25-document-page .ma25-reading-next .ma23-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 8px 12px; border: 1px solid var(--ma23-ink); border-radius: 8px; font: var(--ma23-base); font-weight: 600; background: var(--ma23-ink); color: var(--ma23-paper); transition: transform 500ms var(--ma23-curve), opacity 300ms var(--ma23-curve); }
body.ma25-document-page .ma25-reading-next .ma23-button:hover { opacity: 0.88; }
body.ma25-document-page .ma25-reading-next .ma23-button:active { transform: scale(0.98); }
body.ma-design-v23 .ma25-kicker,
body.ma25-document-page .ma25-prose .ma25-kicker { color: var(--ma23-gold); font: var(--ma23-sm); font-weight: 600; margin: 0 0 16px; }
body.ma-design-v23 .ma25-faq-item { padding: 8px 24px; margin-bottom: 16px; border: 1px solid var(--ma23-line); border-radius: 12px; background: var(--ma23-paper); }
body.ma25-document-page .ma25-faq-item summary { min-height: 48px; cursor: pointer; padding-block: 16px; }
body.ma25-document-page .ma25-faq-item summary h2 { display: inline; margin: 0; font: var(--ma23-lg); font-weight: 600; }
body.ma25-document-page .ma25-faq-item[open] { background: var(--ma23-ivory); }
body.ma25-document-page .ma25-faq-answer > :last-child { margin-bottom: 16px; }

body.ma25-error-page .wd-content-layout,
body.ma25-news-page .wd-content-layout { display: block; padding-inline: 0; }
body.ma-design-v23 .ma25-recovery { display: grid; grid-template-columns: minmax(0,680px) minmax(160px,1fr); gap: 64px; align-items: center; padding-block: 48px; }
body.ma-design-v23 .ma25-recovery h1 { max-width: 680px; font: var(--ma23-5xl); font-weight: 600; margin: 0 0 24px; background: linear-gradient(to right,#000000,#666666); color: transparent; background-clip: text; -webkit-background-clip: text; }
body.ma-design-v23 .ma25-recovery p { font: var(--ma23-base); color: var(--ma23-muted); max-width: 680px; margin-bottom: 24px; }
body.ma-design-v23 .ma25-error-art { display: grid; place-items: center; padding: 32px; border-radius: 16px; background: var(--ma23-soft); color: var(--ma23-gold); }
body.ma-design-v23 .ma25-error-art span { font: 96px/1 var(--ma23-font); font-weight: 600; }
body.ma-design-v23 .ma25-error-art svg { width: 160px; height: 200px; }
body.ma-design-v23 .ma25-product-search { margin-block: 32px; }
body.ma-design-v23 .ma25-product-search label { display: block; font: var(--ma23-sm); font-weight: 600; margin-bottom: 8px; }
body.ma-design-v23 .ma25-product-search > div { display: flex; gap: 8px; }
body.ma-design-v23 .ma25-product-search input[type=search] { flex: 1; min-width: 0; min-height: 48px; padding: 8px 12px; font: var(--ma23-base); border: 1px solid var(--ma23-muted); border-radius: 8px; background: var(--ma23-paper); color: var(--ma23-ink); }
body.ma-design-v23 .ma25-product-search button { min-height: 48px; padding: 8px 12px; font: var(--ma23-base); font-weight: 600; border: 1px solid var(--ma23-ink); border-radius: 8px; background: var(--ma23-ink); color: var(--ma23-paper); }
body.ma-design-v23 .ma25-back-link { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; color: var(--ma23-ink); font: var(--ma23-sm); font-weight: 600; }
body.ma-design-v23 .ma25-recovery-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-block: 24px 48px; }
body.ma-design-v23 .ma25-recovery-links > a { display: block; padding: 24px; border: 1px solid var(--ma23-line); border-radius: 16px; background: var(--ma23-paper); color: var(--ma23-ink); text-decoration: none; }
body.ma-design-v23 .ma25-recovery-links > a:hover { background: var(--ma23-gold-soft); }
body.ma-design-v23 .ma25-recovery-links > a > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; font: var(--ma23-base); font-weight: 600; margin-bottom: 12px; }
body.ma-design-v23 .ma25-recovery-links small { font: var(--ma23-sm); color: var(--ma23-muted); }
body.ma-design-v23 .ma25-news-empty { max-width: 1040px; margin: 24px auto 48px; padding: 48px; background: var(--ma23-ivory); border: 1px solid var(--ma23-line); border-radius: 16px; }
body.ma-design-v23 .ma25-news-empty h2 { max-width: 680px; font: var(--ma23-4xl); font-weight: 600; margin: 0 0 24px; color: var(--ma23-ink); }
body.ma-design-v23 .ma25-news-empty > p { max-width: 680px; font: var(--ma23-base); color: var(--ma23-muted); }
body.ma-design-v23 .ma25-help-note a,
body.ma-design-v23 .ma25-search-help a { color: var(--ma23-ink); text-decoration: underline; text-underline-offset: 4px; }
body.ma-design-v23 .ma25-search-help { padding: 24px; border: 1px solid var(--ma23-line); border-radius: 12px; background: var(--ma23-ivory); font: var(--ma23-base); }
body.ma-design-v23 :is(.ma25-reading-layout,.ma25-recovery,.ma25-recovery-links,.ma25-news-empty,.ma25-search-help) :is(a,button,input,summary):focus-visible { outline: 2px solid var(--ma23-gold); outline-offset: 4px; }
/* Same footer density across landing, support and recovery pages. */
@media (max-width: 960px) {
  body.ma25-document-page .ma25-reading-layout { grid-template-columns: minmax(0,680px); gap: 24px; }
  body.ma25-document-page .ma25-toc { position: static; }
  body.ma-design-v23 .ma25-recovery { gap: 32px; }
}
@media (max-width: 760px) {
  body.ma25-document-page .page-title,
  body.ma25-news-page .page-title { padding-block: 32px; }
  body.ma25-document-page .page-title h1,
  body.ma25-news-page .page-title h1 { font: var(--ma23-4xl); font-weight: 600; }
  body.ma25-document-page .ma25-reading-layout { padding-block: 8px 32px; }
  body.ma-design-v23 .ma25-reading-next { padding: 24px 16px; margin-top: 32px; }
  body.ma-design-v23 .ma25-faq-item { padding-inline: 16px; }
  body.ma-design-v23 .ma25-recovery { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
  body.ma-design-v23 .ma25-recovery h1 { font: var(--ma23-4xl); font-weight: 600; }
  body.ma-design-v23 .ma25-error-art { display: none; }
  body.ma-design-v23 .ma25-recovery-links { grid-template-columns: 1fr; gap: 16px; margin-block: 24px 32px; }
  body.ma-design-v23 .ma25-recovery-links > a { padding: 16px; }
  body.ma-design-v23 .ma25-news-empty { padding: 24px 16px; margin-block: 8px 32px; }
  body.ma-design-v23 .ma25-news-empty h2 { font: var(--ma23-3xl); font-weight: 600; }
  body.ma-design-v23 .ma23-footer { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
  body.ma-design-v23 .ma23-footer > div:first-child { grid-column: 1 / -1; }
}
@media (forced-colors: active) {
  body.ma-design-v23 .ma25-recovery h1 { background: none; color: CanvasText; }
}
@media (prefers-reduced-motion: reduce) {
  body.ma25-document-page .ma25-reading-next .ma23-button { transform: none; transition: opacity 300ms var(--ma23-curve); }
}
@media print {
  body.ma25-document-page .ma25-toc,
  body.ma25-document-page .ma25-reading-next { display: none; }
  body.ma25-document-page .ma25-reading-layout { display: block; }
}
