/* Shared editorial body, adapted from the supplied ProductDescription React
 * reference. Flat white canvas; no outer cards or boxed lists.
 * Only documentation is restyled. Hero, purchase UI and navigation keep their
 * original style.css design. No reference product copy is imported.
 */
.ma-single-product .ma-single-description {
  --single-bg: #ffffff;
  --single-ink: #0f1117;
  --single-fg: #374151;
  --single-muted: #6b7280;
  --single-border: #e6e8f0;
  --single-accent: #546dff;
  --single-accent-soft: rgba(84, 109, 255, 0.08);
  --single-type: "Inter Tight", "Open Sans", system-ui, sans-serif;
  font-family: var(--single-type);
  padding: 72px 0;
  border: 0;
  background: #fff;
}

.ma-single-product .ma-single-description .ma-single-doc-wrap {
  width: min(960px, calc(100% - 80px));
  max-width: 960px;
}

.ma-single-product .ma-single-tabs {
  display: inline-flex;
  max-width: 100%;
  margin-bottom: 28px;
  background: #fff;
  border-color: var(--single-border);
}

.ma-single-product .ma-single-tabs button { color: #6b7280; min-height: 44px; }
.ma-single-product .ma-single-tabs button.is-active { background: var(--single-accent); color: #fff; box-shadow: none; }

.ma-single-product .ma-single-description :is(.ma-single-content, .ma-single-changelog) {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--single-fg);
  font-family: var(--single-type);
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
  min-width: 0;
}

/* Equal rhythm for plain WordPress content and embedded Elementor text. */
.ma-single-product :is(.ma-single-content, .ma-single-changelog) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--single-ink);
  font-family: var(--font-title, "VAG Rundschrift D", "Inter Tight", sans-serif);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  text-transform: none;
  text-wrap: balance;
  border-left: 0;
  padding-left: 0;
  scroll-margin-top: 100px;
}

.ma-single-product :is(.ma-single-content, .ma-single-changelog) h1 { font-size: clamp(30px, 3vw, 36px); line-height: 1.2; margin: 48px 0 20px; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) h2 {
  font-size: 28px;
  line-height: 1.2;
  margin: 48px 0 16px;
  padding: 0;
  border-bottom: 0;
  border-left: 0;
}
.ma-single-product :is(.ma-single-content, .ma-single-changelog) h3 { color: #1a1a2e; font-size: 20px; margin: 32px 0 12px; letter-spacing: -0.005em; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) h4 { color: #1a1a2e; font-family: var(--single-type); font-weight: 600; font-size: 16px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.06em; margin: 28px 0 10px; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) :is(h5, h6) { color: #6b7280; font-family: var(--single-type); font-weight: 600; font-size: 14px; margin: 24px 0 8px; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) > :first-child { margin-top: 0; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) p { color: var(--single-fg); margin: 0 0 20px; text-wrap: pretty; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) strong { color: var(--single-ink); font-weight: 700; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) a { color: #3646be; text-decoration: underline; text-underline-offset: 4px; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) a:hover { color: #24318a; }

/* Normalize legacy editor indentation without rewriting stored product copy. */
.ma-single-product .ma-single-content :is(p, h1, h3, h4, h5, h6)[style*="padding-left"] { padding-left: 0 !important; }
.ma-single-product .ma-single-content h2[style*="padding-left"] { padding-left: 0 !important; }
.ma-single-product .ma-single-content .elementor-widget-text-editor { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; }

.ma-single-product :is(.ma-single-content, .ma-single-changelog) :is(ul, ol):not([class]) {
  margin: 0 0 24px;
  padding: 0 0 0 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  list-style-position: outside;
}
.ma-single-product :is(.ma-single-content, .ma-single-changelog) ul:not([class]) { list-style-type: disc; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) ol:not([class]) { list-style-type: decimal; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) li { color: var(--single-fg); font-size: 15px; line-height: 1.65; margin-bottom: 10px; padding-left: 0; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) li:last-child { margin-bottom: 0; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) li::marker { color: var(--single-accent); font-weight: 700; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) li :is(ul, ol):not([class]) { background: transparent; border: 0; padding: 10px 0 0 22px; margin: 0; }

.ma-single-product :is(.ma-single-content, .ma-single-changelog) blockquote {
  margin: 8px 0 28px;
  padding: 16px 20px;
  border-left: 4px solid var(--single-accent);
  border-radius: 0 10px 10px 0;
  background: rgba(84, 109, 255, 0.06);
  font-size: 15px;
  font-style: italic;
}
.ma-single-product :is(.ma-single-content, .ma-single-changelog) blockquote p:last-child { margin-bottom: 0; }

/* The wrapper keeps native table semantics, adds keyboard-accessible scrolling. */
.ma-single-product .ma-single-table-scroll { max-width: 100%; overflow-x: auto; margin: 8px 0 28px; border: 1px solid var(--single-border); border-radius: 10px; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) table {
  width: 100%;
  margin: 24px 0;
  border: 1px solid var(--single-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 12px;
  overflow: visible;
  font-size: 14.5px;
  line-height: 1.6;
}
.ma-single-product .ma-single-table-scroll table { min-width: 560px; margin: 0; border: 0; border-radius: 0; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) :is(th, td) { padding: 11px 13px; text-align: start; vertical-align: top; border: 0; border-bottom: 1px solid var(--single-border); }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) th { padding: 12px 13px; background: #15171f; color: #fff; font-family: var(--font-mono, monospace); font-size: 11px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) td { color: var(--single-fg); }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) tr:nth-child(even) td { background: #f6f7fb; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) tbody tr:hover td { background: #eef2ff; }
.ma-single-product :is(.ma-single-content, .ma-single-changelog) caption { padding: 14px 20px; text-align: start; color: var(--single-muted); }

.ma-single-product .ma-single-description :is(.ma-single-content, .ma-single-changelog) img {
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  margin: 8px auto 28px;
  border-radius: 14px;
  box-shadow: 0 18px 44px -22px rgba(15, 18, 40, 0.3);
}
.ma-single-product .ma-single-content :is(figure, .wp-caption) { max-width: 100%; margin: 28px 0; }
.ma-single-product .ma-single-content :is(figure, .wp-caption) img { margin-bottom: 12px; }
.ma-single-product .ma-single-content :is(figcaption, .wp-caption-text) { color: #6b7280; font-family: inherit; font-size: 13px; font-style: italic; text-align: center; }
.ma-single-product .ma-single-description :is(.ma-single-content, .ma-single-video) :is(video, iframe) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  margin: 24px 0;
  border: 1px solid var(--single-border);
  border-radius: 14px;
}
.ma-single-product .ma-single-content video { object-fit: contain; background: #172033; }
.ma-single-product .ma-single-content pre { max-width: 100%; overflow-x: auto; }
.ma-single-product .ma-single-content pre code { padding: 0; background: transparent; color: inherit; }
.ma-single-product .ma-single-description :is(a, button, [tabindex]):focus-visible { outline: 3px solid #546dff; outline-offset: 4px; }
.ma-single-product .ma-single-content hr { border: 0; height: 1px; background: #e6e8f0; margin: 48px 0; }

@media (max-width: 640px) {
  .ma-single-product .ma-single-description { padding: 40px 0; }
  .ma-single-product .ma-single-description .ma-single-doc-wrap { width: min(960px, calc(100% - 36px)); }
  .ma-single-product .ma-single-description :is(.ma-single-content, .ma-single-changelog) { padding: 0; border-radius: 0; font-size: 16px; }
  .ma-single-product .ma-single-tabs { width: 100%; }
  .ma-single-product .ma-single-tabs button { flex: 1; padding-inline: 12px; }

}

@media (prefers-reduced-motion: reduce) {
  .ma-single-product .ma-single-description *, .ma-single-product .ma-single-description *::before, .ma-single-product .ma-single-description *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
