/* Leseseiten bleiben auf main begrenzt; der gemeinsame Rahmen gehört site.css. */
@layer marketing {
.product-page main { font-family: var(--body); line-height: 1.65; }
.product-page main a:not(.btn) { color: var(--action-text); text-decoration: underline; text-underline-offset: .2em; }
.product-page main a:not(.btn):hover { color: var(--ink); }
.product-page main a:focus-visible, .product-page main summary:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
.product-page main.reading { max-width: 768px; margin-inline: auto; padding: 36px 24px 72px; overflow-wrap: break-word; }
.product-page main .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--ink-soft); }
.product-page main .breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.product-page main h1, .product-page main h2, .product-page main h3 { font-family: var(--display); line-height: 1.2; }
.product-page main h1 { font-size: clamp(2rem, 4.5vw, 3.25rem); margin: 0 0 24px; }
.product-page main h2 { font-size: clamp(1.4rem, 3vw, 1.8rem); margin: 0 0 20px; }
.product-page main h3 { font-size: 1.15rem; margin: 0 0 8px; }
.product-page main p { margin: 0 0 18px; }
.product-page main .lead { font-size: 1.2rem; color: var(--ink-soft); }
.product-page main .microcopy { color: var(--ink-soft); font-size: .95rem; margin: 12px 0 0; }
.product-page main .toc { margin-block: 36px 48px; padding-block: 20px; border-block: 1px solid var(--line); }
.product-page main .toc ul { display: flex; flex-wrap: wrap; gap: 0 24px; list-style: none; padding: 0; margin: 0; }
.product-page main .toc a { display: inline-flex; align-items: center; min-height: 44px; }
.product-page main section { margin-top: 48px; }
.product-page main .steps { padding-left: 24px; }
.product-page main .steps li { padding-left: 8px; margin-bottom: 24px; }
.product-page main .steps li::marker { color: var(--teal-text); font-family: var(--display); font-weight: 600; }
.product-page main .example { margin-block: 28px; padding: 24px; border-left: 3px solid var(--teal); background: var(--surface); }
.product-page main .example h3 { margin-bottom: 16px; }
.product-page main .example dl { margin: 0; }
.product-page main .example dt { font-weight: 700; margin-top: 16px; }
.product-page main .example dd { margin: 4px 0 0; color: var(--ink-soft); }
.product-page main .example > :last-child { margin-bottom: 0; }
.product-page main .product-shot { margin: 28px 0 0; }
.product-page main .product-shot img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--radius); }
.product-page main figcaption { color: var(--ink-soft); font-size: .95rem; margin-top: 12px; }
.product-page main .checklist { padding-left: 24px; }
.product-page main .checklist li { margin-bottom: 12px; }
.product-page main details { border-top: 1px solid var(--line); }
.product-page main details:last-child { border-bottom: 1px solid var(--line); }
.product-page main summary { display: list-item; cursor: pointer; min-height: 44px; padding: 16px 4px; font-family: var(--display); font-weight: 600; }
.product-page main details p { padding: 0 4px 12px; color: var(--ink-soft); }
.product-page main .next-step { padding-top: 32px; border-top: 1px solid var(--line); }
.product-page main .template-download { padding-block: 24px; border-top: 1px solid var(--line); }
.product-page main .template-download:last-child { border-bottom: 1px solid var(--line); }
.product-page main .template-download-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 20px; }
.product-page main .template-download-actions a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; }
@media (max-width: 639.98px) {
  .product-page main.reading { padding-top: 20px; }
  .product-page main .breadcrumbs { margin-bottom: 16px; }
  .product-page main .example { padding: 20px; }
}
.product-page main .resource-list { list-style: none; margin: 0; padding: 0; }
.product-page main .resource-list > li { padding-block: 16px; border-top: 1px solid var(--line); }
.product-page main .resource-list > li:last-child { border-bottom: 1px solid var(--line); }
.product-page main .resource-list h3 { margin: 0; }
.product-page main .resource-list a { display: inline-flex; align-items: center; min-height: 44px; }
.product-page main .resource-list p { margin: 4px 0 0; color: var(--ink-soft); }
/* Einzelne Testverfahren: kompakte Liste mit Kurzname und Gegenstand. */
.product-page main .instrument-list-title { margin: 28px 0 8px; font-size: 1rem; }
.product-page main .instrument-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.product-page main .instrument-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; padding-block: 6px; border-top: 1px solid var(--line); }
.product-page main .instrument-list a { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--display); font-weight: 600; }
.product-page main .instrument-list span { color: var(--ink-soft); font-size: .9375rem; }
@media (max-width: 639.98px) { .product-page main .instrument-list { grid-template-columns: minmax(0, 1fr); } }
}
