.article-toc {
  margin: 2em 0;
  padding: 1.2em 1.6em;
  border: 1px solid #d8dee8;
  border-left: 5px solid #f15a45;
  border-radius: 10px;
  background: #f7f9fc;
  box-shadow: 0 3px 12px rgba(23, 32, 44, .07);
}

.article-toc > [role="heading"] {
  margin: 0 0 .65em;
  color: #21262d;
  font-size: 1.55em;
  font-weight: 700;
  line-height: 1.2;
}

.article-toc ul { margin: 0; padding-left: 1.25em; }
.article-toc a { color: #21262d; text-decoration-color: #f15a45; text-underline-offset: .18em; }

.article-quick-decision {
  margin: 1.5em 0 2em !important;
  padding: 1.1em 1.25em !important;
  border: 1px solid #eadbd6 !important;
  border-radius: 12px !important;
  background: #fffaf8 !important;
  box-shadow: 0 5px 16px rgba(33, 38, 45, .06) !important;
}

.article-quick-decision > :first-child { display: block; margin: 0 0 .55em; color: #21262d; font-size: 1.08em; }

.article-table-box {
  width: 100%;
  max-width: 100%;
  margin: 0 0 1.5em;
  padding: .45em;
  overflow-x: auto;
  border: 1px solid #eadbd6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(33, 38, 45, .08);
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

.article-table-box table { width: 100% !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; background: #fff !important; }
.article-table-box thead th { border-bottom: 3px solid #f15a45 !important; background: #21262d !important; color: #fff !important; }
.article-table-box th,
.article-table-box td { padding: .72em .78em !important; border-right: 1px solid #eadbd6 !important; border-bottom: 1px solid #eadbd6 !important; background: #fff !important; color: #21262d !important; vertical-align: top; }
.article-table-box tbody tr:nth-child(even) > * { background: #fffaf8 !important; }
.article-table-box tr > *:last-child { border-right: 0 !important; }
.article-table-box tbody tr:last-child > * { border-bottom: 0 !important; }
.article-table-box .article-product-links > * { padding-top: .8em !important; padding-bottom: .8em !important; background: #fff !important; vertical-align: middle; }
.article-table-cta {
  display: inline-block;
  padding: .62em .78em;
  border-radius: 7px;
  background: #f15a45 !important;
  color: #fff !important;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
}
.article-table-cta span { color: #fff !important; }
.article-table-cta:is(:hover,:focus-visible,:active) { background: #d94835 !important; color: #fff !important; }

.article-sources { margin-top: 2.4em !important; color: #6b7481 !important; font-size: .74em !important; line-height: 1.45 !important; }
.article-sources > :is(h2,h3,h4) { margin: 0 0 .45em !important; color: #566170 !important; font-size: 1em !important; font-weight: 700 !important; line-height: 1.35 !important; }
.article-sources > [role="heading"] { margin: 0 0 .45em !important; color: #566170 !important; font-size: 1em !important; font-weight: 700 !important; line-height: 1.35 !important; }

.affiliate-group-disclosure {
  margin: -.35em 0 1.8em !important;
  color: #687383 !important;
  font-size: .76em !important;
  line-height: 1.45 !important;
}

@media (max-width: 760px) {
  .article-toc { padding: 1.05em 1.1em; }
  .article-table-box { padding: .28em; border-radius: 11px; }
  .article-table-box th,
  .article-table-box td { min-width: 8.5rem; padding: .62em .66em !important; }

  /* Bis zu vier Produkte bleiben als echte Vergleichsspalten auf einen Blick
     erfassbar. Breitere Sondervergleiche können weiterhin im Container scrollen. */
  .article-table-box .article-product-comparison { min-width: 0 !important; table-layout: fixed !important; }
  .article-table-box .article-product-comparison th,
  .article-table-box .article-product-comparison td {
    min-width: 0 !important;
    padding: .52em .38em !important;
    font-size: clamp(.72rem, 2.8vw, .88rem) !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .article-table-box .article-product-comparison tr > :first-child { width: 23%; }
  .article-table-cta { width: 100%; padding: .55em .3em; box-sizing: border-box; font-size: .82em; }

  .affiliate-product-box {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: .8em !important;
    padding: .85em !important;
  }

  .affiliate-product-box > a:first-child {
    flex: 0 0 96px !important;
    width: 96px !important;
    max-width: 96px !important;
  }

  .affiliate-product-box > a:first-child img {
    width: 96px !important;
    max-width: 96px !important;
    max-height: 132px !important;
    object-fit: contain !important;
  }

  .affiliate-product-box > div { flex: 1 1 auto !important; min-width: 0 !important; }
  .affiliate-product-box > div p { overflow-wrap: anywhere; }
}
