/* Shared comparison presentation. Facts stay visible with JavaScript disabled. */
.comparison-shell { --comparison-accent:#7c35ff; }
.comparison-hero { margin-inline:auto; padding:clamp(7.5rem,12vw,10rem) 0 2.5rem; text-align:left; }
.comparison-hero::before { left:20%; background:rgba(124,53,255,.16); }
.comparison-product-icon { display:block; width:4rem; height:4rem; margin-bottom:1.5rem; border-radius:.9rem; object-fit:contain; }
.comparison-eyebrow { color:#c5b0ee; letter-spacing:.06em; text-transform:none; font-size:.9rem; }
.comparison-hero h1 { max-width:58rem; margin:1rem 0 0; font-size:clamp(2.4rem,5vw,4rem); }
.comparison-hero p { max-width:48rem; margin:1.3rem 0 0; color:#c1bacd; }
.comparison-date { border-radius:.5rem; font-size:.8rem; padding:.45rem .65rem; }
.comparison-method { max-width:58rem; margin:0 0 1.5rem; color:#b9b2c6; font-size:.85rem; line-height:1.65; }
.comparison-method a,.comparison-facts a { color:#e1d0ff; text-underline-offset:3px; }
.comparison-jump-links { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:1.6rem; padding-block:1rem; border-block:1px solid rgba(180,151,235,.2); }
.comparison-jump-links a { color:#d8c7f5; font-size:.9rem; text-underline-offset:5px; }
.comparison-jump-links a:hover { color:#fff; }
#comparison-facts,#comparison-strengths,#comparison-sources { scroll-margin-top:6.5rem; }
.comparison-facts-wrap { border-color:rgba(124,53,255,.38); border-radius:1.25rem; background:#15121c; box-shadow:none; }
.comparison-facts caption { padding:1.3rem 1.5rem; text-align:left; color:#f7f4ff; font-size:1.15rem; font-weight:600; background:rgba(124,53,255,.08); }
.comparison-facts thead th { background:#211831; font-size:.9rem; letter-spacing:0; text-transform:none; }
.comparison-facts thead th:first-child { text-transform:none; }
.comparison-facts tbody td { color:#c8c0d3; }
.comparison-facts tbody td:nth-child(2) { background:rgba(124,53,255,.055); color:#e2dbe9; }
.comparison-facts tbody tr>* { transition:background-color .15s ease; }
.comparison-card { padding:1.7rem; background:#17131f; box-shadow:none; border-color:rgba(180,151,235,.21); }
.comparison-card:first-child { border-color:rgba(124,53,255,.5); }
.comparison-card:nth-child(2) { border-color:rgba(255,255,255,.28); }
.comparison-card li+li { margin-top:.9rem; }
.comparison-verdict { border-color:rgba(124,53,255,.45); background:rgba(124,53,255,.07); }
.comparison-sources a { color:#d8c7f5; text-underline-offset:3px; }
.comparison-shell a:focus-visible,#anbieter-vergleich a:focus-visible { outline:2px solid #7c35ff; outline-offset:4px; border-radius:3px; }
.comparison-sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
#anbieter-vergleich .oh-comparison-picker { padding:0; border:0; background:none; }
#anbieter-vergleich .oh-comparison-picker__label { text-transform:none; letter-spacing:0; font-size:.9rem; }
#anbieter-vergleich .oh-provider-tabs { position:relative; isolation:isolate; display:flex; gap:.4rem; padding:.35rem; width:fit-content; max-width:100%; border-radius:.85rem; background:#15111e; }
#anbieter-vergleich .oh-provider-tabs button { position:relative; z-index:1; min-height:2.75rem; padding:.65rem 1rem; border-radius:.55rem; background:transparent; box-shadow:none; font-weight:600; }
#anbieter-vergleich .oh-provider-tabs button[aria-selected="true"] { background:rgba(124,53,255,.23); color:#fff; }
#anbieter-vergleich .oh-provider-tabs.has-indicator button[aria-selected="true"] { background:transparent; }
.oh-provider-indicator { position:absolute; z-index:0; top:0; left:0; border:1px solid rgba(124,53,255,.75); border-radius:.55rem; background:rgba(124,53,255,.23); pointer-events:none; }
.has-indicator .oh-provider-indicator { transition:transform .25s ease,width .25s ease,height .25s ease; }
#anbieter-vergleich .oh-provider-tabs button:focus-visible { outline:2px solid #7c35ff; outline-offset:3px; }
#anbieter-vergleich .oh-provider-verdict { padding:1.5rem; border-color:rgba(124,53,255,.35); background:rgba(124,53,255,.07); }
#anbieter-vergleich .oh-provider-verdict>span { color:#e1d3f7; font-size:1.15rem; font-weight:600; }
#anbieter-vergleich .oh-provider-verdict p { color:#c8c0d3; }
#anbieter-vergleich .oh-provider-matrix-wrap { box-shadow:none; border-color:rgba(124,53,255,.35); background:#15121c; }
#anbieter-vergleich .oh-provider-matrix thead th { background:#211831; text-transform:none; font-size:.9rem; letter-spacing:0; }
#anbieter-vergleich .oh-table-brand { padding:0; background:none; color:#eee8f7; border-radius:0; }
#anbieter-vergleich .oh-provider-matrix tbody td { color:#c8c0d3; }
#anbieter-vergleich .oh-provider-matrix tbody td:nth-child(2) { color:#e2dbe9; background:rgba(124,53,255,.055); }
#anbieter-vergleich .oh-provider-note { font-size:.85rem; }
#anbieter-vergleich .oh-provider-note a { color:#d8c7f5; }
@media(max-width:720px) {
  .comparison-hero { padding-top:7.5rem; padding-bottom:2rem; }
  .comparison-hero p { font-size:1rem; line-height:1.65; }
  .comparison-jump-links { gap:.7rem 1.2rem; }
  .comparison-card { padding:1.4rem; }
  #anbieter-vergleich .oh-provider-tabs { display:grid; grid-template-columns:1fr; width:100%; box-sizing:border-box; }
  #anbieter-vergleich .oh-provider-tabs button { text-align:left; }
  .comparison-facts,.oh-provider-matrix { display:block; min-width:0; table-layout:auto; }
  .comparison-facts caption { display:block; }
  .comparison-facts thead,.oh-provider-matrix thead { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); }
  .comparison-facts tbody,.oh-provider-matrix tbody { display:block; }
  .comparison-facts tbody tr,.oh-provider-matrix tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-bottom:1px solid rgba(180,151,235,.22); }
  .comparison-facts tbody tr:last-child,.oh-provider-matrix tbody tr:last-child { border-bottom:none; }
  .comparison-facts tbody th,.oh-provider-matrix tbody th { grid-column:1/-1; padding:1rem; background:rgba(255,255,255,.035); font-size:.95rem; border:0; }
  .comparison-facts tbody td,.oh-provider-matrix tbody td { min-width:0; padding:1rem; border:0; font-size:.85rem; line-height:1.65; overflow-wrap:anywhere; }
  .comparison-facts tbody td+td,.oh-provider-matrix tbody td+td { border-left:1px solid rgba(180,151,235,.16); }
  .comparison-facts tbody td::before,.oh-provider-matrix tbody td::before { display:block; margin-bottom:.65rem; color:#e9e1f5; font-size:.8rem; font-weight:600; content:attr(data-label); }
}
@media(prefers-reduced-motion:reduce) { .has-indicator .oh-provider-indicator,.comparison-facts tbody tr>* { transition:none; } }
/* The section links replace the old decorative 01/02/03 overview. */
.comparison-shell .ve-comparison-summary { display:none; }
.comparison-hero .ve-comparison-product-icon { margin:0 auto 1.5rem; box-shadow:none; }
