/* =====================================================================
   2026-11-12 | Claude | Vergleichsseite Contao oder WordPress – V1
   Muster wie /angebote/wordpress/ (kompakte Bänder, Text 860 px).
   ===================================================================== */
.vt-cms-vergleich > .vt-band { padding-block: clamp(28px, 3vw, 48px); }
.vt-cms-vergleich > .vt-band--hell + .vt-band--hell { padding-block-start: clamp(12px, 1.5vw, 24px); }

.vt-cms-vergleich__copy { max-width: 860px; }
.vt-cms-vergleich .vt-cms-vergleich__copy :where(p),
.vt-cms-vergleich :where(.vt-cms-vergleich__einleitung) { margin: 0 0 18px; font-size: 17px; line-height: 1.65; }
.vt-cms-vergleich .vt-cms-vergleich__copy :where(p:last-child) { margin-bottom: 0; }

/* Laptop-Paar: Contao links, WordPress rechts – Bildschirme rahmen die Mitte */
.vt-cms-vergleich__paar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.vt-cms-vergleich__paar img { display: block; width: 100%; height: auto; border-radius: 14px; }

/* Zwei Spalten „passt, wenn“ */
.vt-cms-vergleich__spalten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.vt-cms-vergleich__karte { display: flex; flex-direction: column; margin: 0; padding: 24px 26px; border: 1px solid #d6dde7; border-radius: 14px; background: #fff; }
.vt-cms-vergleich .vt-cms-vergleich__karte h3 { margin: 0 0 12px; color: #1d5fae; font-size: 20px; line-height: 1.3; text-transform: none; }
.vt-cms-vergleich .vt-cms-vergleich__karte ul { margin: 0 0 18px; padding-left: 20px; }
.vt-cms-vergleich .vt-cms-vergleich__karte li { margin: 0 0 8px; font-size: 17px; line-height: 1.55; }
.vt-cms-vergleich__karte li a { color: #1d5fae; }
.vt-cms-vergleich .vt-cms-vergleich__praxis { margin: 0 0 18px; padding: 12px 16px; border-left: 3px solid #1d5fae; border-radius: 0; background: #eef3fa; font-size: 15px; line-height: 1.55; }
.vt-cms-vergleich .vt-cms-vergleich__karte .vt-cms-vergleich__links { margin-top: auto; }
.vt-cms-vergleich__links { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0; }

/* Tabelle (dunkel) */
.vt-cms-vergleich__tabelle { overflow-x: auto; border: 1px solid rgba(94, 169, 255, .24); border-radius: 14px; }
.vt-cms-vergleich__tabelle table { width: 100%; margin: 0; border-collapse: collapse; color: #d5deeb; font-size: 16px; line-height: 1.5; }
.vt-cms-vergleich__tabelle :where(th, td) { padding: 14px 18px; border: 0; border-top: 1px solid rgba(94, 169, 255, .18); text-align: left; vertical-align: top; }
.vt-cms-vergleich__tabelle thead th { border-top: 0; background: rgba(255, 255, 255, .06); color: #fff; font-size: 17px; }
.vt-cms-vergleich__tabelle tbody th { width: 20%; color: #fff; font-weight: 600; }
.vt-cms-vergleich__tabelle td { width: 40%; }
.vt-cms-vergleich .vt-cms-vergleich__quelle { margin: 12px 0 0; color: #9fb3cf; font-size: 14px; }

/* Abschluss */
.vt-cms-vergleich__abschluss { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; }
.vt-cms-vergleich .vt-band--dunkel .vt-cms-vergleich__einleitung { max-width: 760px; color: #d5deeb; }
.vt-cms-vergleich .vt-band--dunkel .vt-textlink { color: #fff; }

@media (max-width: 767px) {
    .vt-cms-vergleich__spalten { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .vt-cms-vergleich__paar { gap: 8px; margin-top: 24px; }
    .vt-cms-vergleich__karte { padding: 20px; }
    /* Tabelle als Blöcke je Kriterium */
    .vt-cms-vergleich__tabelle thead { display: none; }
    .vt-cms-vergleich__tabelle :where(table, tbody, tr, th, td) { display: block; width: auto; }
    .vt-cms-vergleich__tabelle tbody th { padding-bottom: 4px; }
    .vt-cms-vergleich__tabelle td { padding-top: 4px; border-top: 0; }
    .vt-cms-vergleich__tabelle td::before { content: attr(data-label) ": "; color: #9fd0ff; font-weight: 600; }
}

/* V2 – Lead-Absatz: größer und breiter (ca. 80 Zeichen) */
.vt-cms-vergleich .vt-cms-vergleich__copy p.vt-cms-vergleich__lead { max-width: 1000px; margin-bottom: 22px; color: #12233e; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.55; }
.vt-cms-vergleich .vt-cms-vergleich__copy:has(.vt-cms-vergleich__lead) { max-width: 1000px; }
.vt-cms-vergleich .vt-cms-vergleich__copy:has(.vt-cms-vergleich__lead) p:not(.vt-cms-vergleich__lead) { max-width: 860px; }

/* V2 – Radien der Laptop-Bilder gegen Theme/Elementor-Regeln durchsetzen */
.vt-cms-vergleich .vt-cms-vergleich__paar img { border-radius: 14px; }

/* V2 – Tabelle: Theme-Rahmen zurücksetzen, nur waagerechte Linien */
.vt-cms-vergleich .vt-cms-vergleich__tabelle table,
.vt-cms-vergleich .vt-cms-vergleich__tabelle table :where(thead, tbody, tr) { border: 0; background: transparent; }
.vt-cms-vergleich .vt-cms-vergleich__tabelle table th,
.vt-cms-vergleich .vt-cms-vergleich__tabelle table td { border: 0; border-top: 1px solid rgba(94, 169, 255, .18); background: transparent; }
.vt-cms-vergleich .vt-cms-vergleich__tabelle table thead th { border-top: 0; background: rgba(255, 255, 255, .06); }

/* V2 – Abschluss: Abstand Überschrift → Text */
.vt-cms-vergleich .vt-cms-vergleich__abschluss .vt-band__title { margin-bottom: 14px; }
@media (max-width: 767px) {
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table td { border-top: 0; }
}

/* V3 – Linie unter dem Kopf: erstes Band oben mehr Luft */
.vt-cms-vergleich > .vt-band:first-child { padding-block-start: 64px; }

/* V3 – Überschrift → Tabelle wie Leitfaden (32 / 24 px) */
.vt-cms-vergleich .vt-cms-vergleich__tabelle { margin-top: 32px; }

@media (max-width: 767px) {
    .vt-cms-vergleich > .vt-band:first-child { padding-block-start: 48px; }
    .vt-cms-vergleich .vt-cms-vergleich__tabelle { margin-top: 24px; }
    /* V3 – Tabelle als Blöcke über die volle Breite (Spaltenbreiten 20/40 % aufheben) */
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table,
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table tbody,
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table tr,
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table th,
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table td { display: block; width: 100%; box-sizing: border-box; }
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table thead { display: none; }
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table tbody tr:first-child th { border-top: 0; }
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table tbody th { padding: 16px 18px 6px; font-size: 17px; }
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table td { padding: 4px 18px 10px; border-top: 0; }
    .vt-cms-vergleich .vt-cms-vergleich__tabelle table td:last-child { padding-bottom: 16px; }
}
