/* =========================================================
   MR-MONEY NEUES DESIGN
   EINGABESEITE ÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ INSURBRO STYLE
   MIT URSPRÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂNGLICHEREN ABSTÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂNDEN
   ========================================================= */

:root {
    --hintergrund-farbe: #ffffff;

    --text-farbe: #6f6f6f;
    --text-farbe-ueberschrift: #2f2f2f;
    --text-farbe-zwischenueberschrift: #4a4a4a;
    --text-farbe-hilfe: #7d7d7d;

    --link-farbe: #ff6a00;
    --link-farbe-hover: #e45f00;

    --schaltflaeche-hintergrund-farbe: #90d02a;
    --schaltflaeche-hover-hintergrund-farbe: #7fbc1f;
    --schaltflaeche-text-farbe: #ffffff;

    --eingabefeld-text-farbe: #333333;
    --eingabefeld-hintergrund-farbe: #ffffff;
    --eingabefeld-rahmen-farbe: #dfe3e8;
    --eingabefeld-rahmen-hover-farbe: #90d02a;

    --leistungspunkte-inaktiv-farbe: #d8d8d8;
    --leistungspunkte-aktiv-farbe: #90d02a;

    --tarif-hintergrund-farbe: #ffffff;
    --tariftipps-kopfleiste-hintergrund-farbe: #f5f5f5;
    --tariftipps-kopfleiste-text-farbe: #333333;
    --tarif-telberatung-hintergrund-farbe: #fffbe8;
    --tarif-tipp-hintergrund-farbe: #fafafa;

    --fehler-text-farbe: #FF3B30;

    --text-groesse: 15px;
    --text-groesse-ueberschrift: 20px;
    --text-groesse-zwischenueberschrift: 18px;
    --text-groesse-unf-gliedertaxe: 13px;
    --text-groesse-hilfe: 13px;
    --text-groesse-tarifleistung: 13px;
    --text-groesse-tarifbeitrag: 22px;
}

/* Grundlayout */
html,
body,
#vvergleich {
    background: #ffffff !important;
    color: #6f6f6f !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

/* GroÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂe Mr-Money-ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂberschrift ausblenden */
#vvergleich .header_line,
#vvergleich .line.header_line,
#vvergleich h1.cell.sp1_6.header,
#vvergleich h1.header {
    display: none !important;
}

/* Text-Grundstil */
#vvergleich,
#vvergleich div,
#vvergleich p,
#vvergleich span,
#vvergleich label,
#vvergleich td,
#vvergleich th,
#vvergleich li {
    color: #6f6f6f;
    font-family: Arial, Helvetica, sans-serif !important;
}

/* ZwischenÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂberschriften */
#vvergleich strong,
#vvergleich b,
#vvergleich legend,
#vvergleich .subheadline,
#vvergleich [class*="section-title"] {
    color: #4a4a4a !important;
    font-weight: 700 !important;
}

/* Formularelemente */
#vvergleich input[type="text"],
#vvergleich input[type="email"],
#vvergleich input[type="tel"],
#vvergleich input[type="number"],
#vvergleich input[type="date"],
#vvergleich select,
#vvergleich textarea {
    background: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 3px !important;
    min-height: 40px !important;
    padding: 6px 12px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

#vvergleich input[type="text"]:focus,
#vvergleich input[type="email"]:focus,
#vvergleich input[type="tel"]:focus,
#vvergleich input[type="number"]:focus,
#vvergleich input[type="date"]:focus,
#vvergleich select:focus,
#vvergleich textarea:focus {
    border-color: #90d02a !important;
    box-shadow: 0 0 0 2px rgba(144, 208, 42, 0.10) !important;
}

/* Labels */
#vvergleich label {
    color: #5e5e5e !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

/* Tabellenstruktur ruhig lassen, AbstÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂ¬nde nah am Ursprung */
#vvergleich table {
    border-collapse: collapse !important;
    width: 100% !important;
}

#vvergleich td,
#vvergleich th {
    border: 0 !important;
    padding: 4px 8px !important;
    vertical-align: middle !important;
}

/* Keine zusÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂ¬tzlichen groÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂen AbstÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂ¬nde zwischen Zeilen */
#vvergleich form,
#vvergleich fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Radio Buttons und Checkboxen grÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂn */
#vvergleich input[type="radio"],
#vvergleich input[type="checkbox"],
#vvergleich input[type="radio"]:checked,
#vvergleich input[type="checkbox"]:checked {
    accent-color: #90d02a !important;
}

/* Links in Erstinformation / Beratungsgrundlage */
#vvergleich a {
    color: #ff6a00 !important;
    text-decoration: underline !important;
}

#vvergleich a:hover {
    color: #e45f00 !important;
}

/* Buttons */
#vvergleich input[type="submit"],
#vvergleich input[type="button"],
#vvergleich button,
#vvergleich .btn,
#vvergleich [class*="button"] {
    background: #90d02a !important;
    color: #ffffff !important;
    border: 1px solid #90d02a !important;
    border-radius: 3px !important;
    min-height: 44px !important;
    padding: 8px 20px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    width: auto !important;
    max-width: 280px !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    cursor: pointer !important;
}

#vvergleich input[type="submit"]:hover,
#vvergleich input[type="button"]:hover,
#vvergleich button:hover,
#vvergleich .btn:hover,
#vvergleich [class*="button"]:hover {
    background: #7fbc1f !important;
    border-color: #7fbc1f !important;
    color: #ffffff !important;
}

/* Falls Berechnen als groÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂer Block gerendert wird, wieder normalisieren */
#vvergleich input[type="submit"],
#vvergleich button[type="submit"] {
    display: inline-block !important;
}

/* Hilfe-/Infoicons nicht verÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂ¬ndern, nur sauber sichtbar lassen */
#vvergleich img,
#vvergleich svg {
    max-width: 100%;
}

/* Fehlermeldungen */
#vvergleich .error,
#vvergleich .validation-error,
#vvergleich .field-validation-error,
#vvergleich [class*="error"] {
    color: #FF3B30 !important;
}

/* Mobile */
@media (max-width: 900px) {
    #vvergleich input[type="text"],
    #vvergleich input[type="email"],
    #vvergleich input[type="tel"],
    #vvergleich input[type="number"],
    #vvergleich input[type="date"],
    #vvergleich select,
    #vvergleich textarea {
        min-height: 40px !important;
        font-size: 15px !important;
        padding: 6px 10px !important;
    }

    #vvergleich input[type="submit"],
    #vvergleich input[type="button"],
    #vvergleich button,
    #vvergleich .btn,
    #vvergleich [class*="button"] {
        width: 100% !important;
        max-width: none !important;
        min-height: 44px !important;
        font-size: 16px !important;
    }
}

/* Sichere Variante fÃÂÃÂÃÂÃÂr Radio + Checkbox */
#vvergleich input[type="radio"],
#vvergleich input[type="checkbox"] {
    accent-color: #90d02a !important;
}

/* Etwas sauberere GrÃÂÃÂÃÂÃÂ¶ÃÂÃÂÃÂÃÂe ohne Neuaufbau */
#vvergleich input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
}

#vvergleich input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
}

/* =========================================================
   MR-MONEY – FINALE VERGLEICHSSEITE
   sauber neu aufgebaut, ohne alte Patch-Ketten
   ========================================================= */

/* ---------------------------------------------------------
   1) Basis Vergleichsseite
   --------------------------------------------------------- */
#vvergleich {
    background: #ffffff !important;
}

#vvergleich,
#vvergleich div,
#vvergleich span,
#vvergleich p,
#vvergleich a,
#vvergleich td,
#vvergleich th,
#vvergleich input,
#vvergleich button {
    box-sizing: border-box !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

#vvergleich .line,
#vvergleich .clear {
    background: transparent !important;
    box-shadow: none !important;
}

/* ---------------------------------------------------------
   2) Oberer Bereich
   --------------------------------------------------------- */
#vvergleich .vergleichbutton-box,
#vvergleich .vergleichbutton-box.abstand,
#vvergleich .vergleichen-button-box {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#vvergleich .vergleichbutton-box.abstand {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    clear: both !important;
}

/* Mail-Link */
#vvergleich .vergleichbutton-box.abstand .filter_email.button_send.btn_sendtoemail_default {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #ff6a00 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    white-space: nowrap !important;
}

#vvergleich .vergleichbutton-box.abstand .filter_email.button_send.btn_sendtoemail_default:hover {
    color: #e45f00 !important;
    background: transparent !important;
    border: 0 !important;
}

#vvergleich .vergleichbutton-box.abstand .btn_sendtoemail_mobile {
    display: none !important;
}

/* oberen Vergleichen-Button ausblenden */
#vvergleich .vergleichbutton-box.abstand .vergleichen-button-box,
#vvergleich #vergleichbuttonOben,
#vvergleich .vergleichbutton-box.abstand .vergleichbutton,
#vvergleich .vergleichbutton-box.abstand .lvg_pfeil_oben {
    display: none !important;
}

/* Suche */
#vvergleich .searchQueryBox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

#vvergleich .searchQueryBoxLabel {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#vvergleich #searchQuery {
    width: 220px !important;
    min-width: 220px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #666666 !important;
    font-size: 16px !important;
    box-shadow: none !important;
}

#vvergleich #btnSearchQueryStart,
#vvergleich #btnSearchQueryReset {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    width: auto !important;
}

#vvergleich #btnSearchQueryStart {
    background: #90d02a !important;
    color: #ffffff !important;
    border: 1px solid #90d02a !important;
}

#vvergleich #btnSearchQueryStart:hover {
    background: #7fbc1f !important;
    border-color: #7fbc1f !important;
}

#vvergleich #btnSearchQueryReset {
    background: #f3f3f3 !important;
    color: #666666 !important;
    border: 1px solid #dcdcdc !important;
}

#vvergleich #btnSearchQueryReset:hover {
    background: #ebebeb !important;
    border-color: #cfcfcf !important;
    color: #555555 !important;
}

/* ---------------------------------------------------------
   3) Suchergebnis verfeinern
   --------------------------------------------------------- */
#vvergleich .resultFilter_out {
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#vvergleich .resultFilter_out .resultFilter_legend {
    margin: 0 0 12px 0 !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 1px solid #dcdcdc !important;
    background: transparent !important;
}

#vvergleich .resultFilter_out .resultFilter_legend a {
    display: inline-flex !important;
    align-items: center !important;
    color: #ff6a00 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
}

#vvergleich .resultFilter_out .resultFilter_legend a:hover {
    color: #e45f00 !important;
}

/* standardmäßig zu */
#vvergleich .resultFilter_out .resultFilter {
    display: none !important;
}

/* geöffnet */
#vvergleich .resultFilter_out:has(.resultFilter_legend a.oben) .resultFilter {
    display: flex !important;
}

/* geschlossen */
#vvergleich .resultFilter_out:has(.resultFilter_legend a.unten) .resultFilter {
    display: none !important;
}

#vvergleich .resultFilter_out .resultFilter {
    flex-wrap: wrap !important;
    gap: 14px 18px !important;
    align-items: flex-start !important;
    background: transparent !important;
    padding: 2px 0 0 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

#vvergleich .resultFilter_out .slide_filterbox {
    flex: 1 1 240px !important;
    min-width: 220px !important;
    background: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 4px !important;
    padding: 12px 14px 14px 14px !important;
    margin: 0 !important;
    box-shadow: none !important;
}

#vvergleich .resultFilter_out .slide_filterbox .leftside {
    float: none !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #666666 !important;
}

#vvergleich .resultFilter_out .slide_filterbox .leftside strong {
    color: #2f2f2f !important;
    font-weight: 700 !important;
}

#vvergleich .resultFilter_out .slide_filterbox .leftside span {
    color: #666666 !important;
}

#vvergleich .resultFilter_out .ZahlweiseSlider,
#vvergleich .resultFilter_out .SBSlider,
#vvergleich .resultFilter_out .filterVerssummeSlider,
#vvergleich .resultFilter_out .SortierungSlider {
    position: relative !important;
    width: 100% !important;
    height: 8px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #e8e8e8 !important;
    box-shadow: none !important;
}

#vvergleich .resultFilter_out .ui-slider-handle {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    border: 2px solid #90d02a !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12) !important;
    top: -5px !important;
    margin-left: -9px !important;
    cursor: pointer !important;
}

#vvergleich .resultFilter_out .gefunden {
    flex: 1 1 100% !important;
    margin: 2px 0 0 0 !important;
    padding: 12px 0 0 0 !important;
    border-top: 1px solid #e7e7e7 !important;
    color: #666666 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

#vvergleich .resultFilter_out .gefunden #angezeigte_tarife {
    color: #2f2f2f !important;
    font-weight: 700 !important;
}

/* ---------------------------------------------------------
   4) Tipp-Header
   --------------------------------------------------------- */
#vvergleich .tipp_header {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

#vvergleich .tipp_header .tipp-header-caption {
    display: block !important;
    text-align: left !important;
    margin: 0 !important;
}

#vvergleich .tipp_header .tipp-header-caption a.infoiconAutoTipp {
    display: inline-block !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    background: #fff3e5 !important;
    color: #ff6a00 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: 0 !important;
    box-shadow: none !important;
    line-height: 1.2 !important;
}

/* ---------------------------------------------------------
   5) Ergebnisliste / Karten
   --------------------------------------------------------- */
#vvergleich .ergebnisBox,
#vvergleich .ergebnisBox-out,
#vvergleich .ergebnisBox .line,
#vvergleich .ergebnisBox .innerbox {
    background: transparent !important;
    box-shadow: none !important;
}

/* Headerzeile */
#vvergleich .ergebnisBox.ergebnisHeader .line {
    display: grid !important;
    grid-template-columns: 180px 330px 170px 175px 52px !important;
    align-items: center !important;
    column-gap: 0 !important;
    padding: 0 16px !important;
}

#vvergleich .ergebnisBox.ergebnisHeader .cell {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 8px 10px 8px !important;
}

#vvergleich .ergebnisBox.ergebnisHeader .cell.sp5 {
    border-left: 1px solid transparent !important;
}

/* Tarifkarten allgemein */
#vvergleich .ergebnisBox .line > .innerbox {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 180px 330px 170px 175px 52px !important;
    align-items: stretch !important;
    column-gap: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 4px !important;
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

#vvergleich .ergebnisBox .line > .innerbox:hover {
    box-shadow: 0 8px 18px rgba(0,0,0,0.08) !important;
    transform: translateY(-1px) !important;
}

/* nur Leistungstipp orange umrandet */
#vvergleich .ergebnisBox.tipp.preisTipp .line > .innerbox,
#vvergleich .ergebnisBox.tipp.preisleistungTipp .line > .innerbox,
#vvergleich .line#preisTipp > .innerbox,
#vvergleich .line#preisleistungTipp > .innerbox {
    border-color: #dcdcdc !important;
}

#vvergleich .ergebnisBox.tipp.leistungTipp .line > .innerbox,
#vvergleich .line#leistungTipp > .innerbox {
    border-color: #f2b36c !important;
}

/* ganz wichtig: Preis-Leistungs-Tipp exakt gleich behandeln */
#vvergleich .ergebnisBox.tipp.preisleistungTipp .line > .innerbox,
#vvergleich .line#preisleistungTipp > .innerbox,
#vvergleich .line#preisLeistungTipp > .innerbox {
    display: grid !important;
    grid-template-columns: 180px 330px 170px 175px 52px !important;
}

/* gemeinsame Zellenlogik */
#vvergleich .ergebnisBox .line > .innerbox > .cell {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    display: flex !important;
    box-sizing: border-box !important;
}

/* Position-Badge */
#vvergleich .line > .innerbox > .position.show_position {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 3 !important;
}

/* Spalte 1 */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp1 {
    align-items: center !important;
    padding: 22px 18px 22px 24px !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp1 .vertical {
    width: 100% !important;
}

#vvergleich .gesell_logo_sprite {
    max-width: 140px !important;
    height: auto !important;
}

#vvergleich .tarif_gesinfo .label {
    display: block !important;
    margin-top: 10px !important;
    color: #5a5a5a !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-decoration: underline !important;
}

/* Spalte 2 */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp2 {
    align-items: center !important;
    padding: 18px 18px 18px 8px !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp2 .settings-box-out {
    width: 100% !important;
    display: block !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp2 .setting,
#vvergleich .setting.setings_phv {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 0 7px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.25 !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp2 .setting_left,
#vvergleich .setting.setings_phv .setting_left {
    width: 145px !important;
    min-width: 145px !important;
    flex: 0 0 145px !important;
    color: #666666 !important;
    font-size: 14px !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp2 .setting_right,
#vvergleich .setting.setings_phv .setting_right {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    color: #2f2f2f !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Spalte 4 */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp4 {
    align-items: center !important;
    padding: 18px 18px 18px 18px !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp4 .tariflstg-box-out {
    width: 100% !important;
    min-height: 126px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: left !important;
}

#vvergleich .tariflstg-box-out .balken {
    display: inline-flex !important;
    gap: 3px !important;
    margin: 0 0 8px 0 !important;
    background: transparent !important;
}

#vvergleich .tariflstg-box-out .balken span {
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background: #d9d9d9 !important;
    display: inline-block !important;
}

#vvergleich .tariflstg-box-out .balken span.aktiv {
    background: #90d02a !important;
}

#vvergleich .punkte {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.15 !important;
}

#vvergleich .punkte > span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #666666 !important;
    font-size: 14px !important;
}

#vvergleich .punkte .prozentwert {
    color: #2f2f2f !important;
    font-weight: 700 !important;
}

#vvergleich .tarifdetails-box {
    margin-top: 10px !important;
}

#vvergleich .tarifdetails-box a {
    color: #ff6a00 !important;
    text-decoration: underline !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

#vvergleich .tarifdetails-box a:hover {
    color: #e45f00 !important;
}

/* Spalte 5 */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp5 {
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 16px !important;
    border-left: 1px solid #d9d9d9 !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp5 .beitrag-antrag-box-out {
    width: 100% !important;
    min-height: 126px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

#vvergleich .beitrag-antrag-box-out .betrag {
    display: block !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #2f2f2f !important;
}

#vvergleich .beitrag-antrag-box-out .betrag .betrag-wert {
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #2f2f2f !important;
}

#vvergleich .beitrag-antrag-box-out .zahlweise {
    display: block !important;
    margin: 6px 0 14px 0 !important;
    white-space: nowrap !important;
    color: #666666 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

#vvergleich .button-antrag-outer-box,
#vvergleich .button-antrag-outer-box:hover,
#vvergleich .button-antrag-outer-box:focus,
#vvergleich .button-antrag-outer-box:active {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#vvergleich .button-antrag-outer-box a.antrag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
    background: #90d02a !important;
    color: #ffffff !important;
    border: 1px solid #90d02a !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

#vvergleich .button-antrag-outer-box a.antrag:hover,
#vvergleich .button-antrag-outer-box a.antrag:focus {
    background: #7fbc1f !important;
    border-color: #7fbc1f !important;
    color: #ffffff !important;
}

/* Spalte 6 – Checkbox exakt gleich und mittig */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp6 {
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 10px !important;
    text-align: center !important;
}

#vvergleich .cell.sp6 input.chkleistungsvgl,
#vvergleich input.chkleistungsvgl {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    vertical-align: middle !important;
    accent-color: #90d02a !important;
}

/* ---------------------------------------------------------
   6) Detailboxen
   --------------------------------------------------------- */
#vvergleich .tl-box {
    display: none !important;
}

#vvergleich .tl-box[data-request="1"] {
    display: block !important;
    margin: -1px 0 18px 0 !important;
    border: 1px solid #dcdcdc !important;
    border-top: 0 !important;
    border-bottom-left-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    padding: 0 !important;
}

#vvergleich .tl-details-head {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    border-bottom: 0 !important;
    background: #ffffff !important;
    padding: 0 !important;
}

#vvergleich .tl-details-elem {
    border: 1px solid #dcdcdc !important;
    border-bottom: 1px solid #dcdcdc !important;
    margin: 0 8px 0 0 !important;
    background: #ffffff !important;
    position: relative !important;
    padding: 12px 16px !important;
    color: #666666 !important;
}

#vvergleich .tl-details-elem.tl-active {
    border-bottom-color: #ffffff !important;
    margin-bottom: -1px !important;
    z-index: 2 !important;
    background: #ffffff !important;
}

#vvergleich .tl-details-elem.tl-active .tl-details-elem-two {
    color: #2f2f2f !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-color: #90d02a !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

#vvergleich .tl-details-close {
    border: 0 !important;
    background: transparent !important;
    padding: 12px 12px !important;
    line-height: 1 !important;
}

#vvergleich .tl-details-content {
    padding: 14px 16px 18px 16px !important;
    background: #ffffff !important;
}

#vvergleich .tl-details-tbl-tr {
    border-top: 1px solid #dcdcdc !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    background: #ffffff !important;
}

#vvergleich .tl-details-tbl-tr:hover {
    background: #fafafa !important;
}

#vvergleich .tl-details-tbl-tr:has(.tl-subheader),
#vvergleich .tl-details-tbl-tr:has(.tl-subheader):hover {
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
}

#vvergleich .tl-details-tbl-td,
#vvergleich .tl-details-tbl-td-q,
#vvergleich .tl-details-tbl-td-a {
    border: 0 !important;
    background: transparent !important;
    padding: 6px 0 !important;
}

#vvergleich .tl-details-tbl-td-q a.tl-details-q,
#vvergleich .tl-details-tbl-td-q .tl-details-q {
    color: #666666 !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    border: 0 !important;
    box-shadow: none !important;
}

#vvergleich .tl-details-tbl-td-q a.tl-details-q:hover {
    color: #4f4f4f !important;
    text-decoration: underline !important;
    background: transparent !important;
}

/* ---------------------------------------------------------
   7) Mobile
   --------------------------------------------------------- */
@media (max-width: 900px) {
    #vvergleich .vergleichbutton-box.abstand {
        display: block !important;
    }

    #vvergleich .vergleichbutton-box.abstand .filter_email.button_send.btn_sendtoemail_default {
        display: block !important;
        margin: 0 0 10px 0 !important;
    }

    #vvergleich .searchQueryBox {
        flex-wrap: wrap !important;
        display: flex !important;
    }

    #vvergleich #searchQuery {
        width: 100% !important;
        min-width: 0 !important;
    }

    #vvergleich .resultFilter_out:has(.resultFilter_legend a.oben) .resultFilter {
        display: block !important;
    }

    #vvergleich .resultFilter_out .slide_filterbox {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 12px 0 !important;
    }

    #vvergleich .ergebnisBox.ergebnisHeader .line,
    #vvergleich .ergebnisBox .line > .innerbox {
        display: block !important;
        grid-template-columns: none !important;
    }

    #vvergleich .ergebnisBox .line > .innerbox > .cell.sp1,
    #vvergleich .ergebnisBox .line > .innerbox > .cell.sp2,
    #vvergleich .ergebnisBox .line > .innerbox > .cell.sp4,
    #vvergleich .ergebnisBox .line > .innerbox > .cell.sp5,
    #vvergleich .ergebnisBox .line > .innerbox > .cell.sp6 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        border-left: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    #vvergleich .beitrag-antrag-box-out .betrag .betrag-wert {
        font-size: 30px !important;
    }

    #vvergleich .cell.sp6 input.chkleistungsvgl,
    #vvergleich input.chkleistungsvgl {
        margin: 0 !important;
    }

    #vvergleich .button-antrag-outer-box a.antrag {
        width: auto !important;
    }

    #vvergleich .tl-details-head {
        display: block !important;
    }

    #vvergleich .tl-details-elem {
        margin: 0 0 8px 0 !important;
    }
}

/* =========================================================
   FINALE KORREKTUR NACH DEM NEUEN BLOCK
   ========================================================= */

/* ---------------------------------------------------------
   1) Spalten 4/5: Trennlinie nicht volle Höhe, sondern ca. 80%
   --------------------------------------------------------- */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp5 {
    position: relative !important;
    border-left: 0 !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp5::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 10% !important;
    height: 80% !important;
    width: 1px !important;
    background: #d9d9d9 !important;
}

/* ---------------------------------------------------------
   2) Alle Karten: Checkbox wirklich mittig und gleich groß
   auch bei Preis-/Leistungs-/Preis-Leistungs-Tipp
   --------------------------------------------------------- */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp6,
#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp6,
#vvergleich .line#preisTipp > .innerbox > .cell.sp6,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp6,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp6,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp6 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    padding: 18px 10px !important;
    min-height: 100% !important;
    position: relative !important;
}

#vvergleich .ergebnisBox .line > .innerbox > .cell.sp6 input.chkleistungsvgl,
#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp6 input.chkleistungsvgl,
#vvergleich .line#preisTipp > .innerbox > .cell.sp6 input.chkleistungsvgl,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp6 input.chkleistungsvgl,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp6 input.chkleistungsvgl,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp6 input.chkleistungsvgl {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    transform: none !important;
    display: block !important;
    position: static !important;
}

/* ---------------------------------------------------------
   3) Tippkarten exakt gleiche Grid-Geometrie wie normale Karten
   --------------------------------------------------------- */
#vvergleich .ergebnisBox.tipp .line > .innerbox,
#vvergleich .line#preisTipp > .innerbox,
#vvergleich .line#leistungTipp > .innerbox,
#vvergleich .line#preisleistungTipp > .innerbox,
#vvergleich .line#preisLeistungTipp > .innerbox {
    display: grid !important;
    grid-template-columns: 180px 330px 170px 175px 52px !important;
    align-items: stretch !important;
}

#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp1,
#vvergleich .line#preisTipp > .innerbox > .cell.sp1,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp1,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp1,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp1 {
    width: auto !important;
    min-width: 0 !important;
}

#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp2,
#vvergleich .line#preisTipp > .innerbox > .cell.sp2,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp2,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp2,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp2 {
    width: auto !important;
    min-width: 0 !important;
}

#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp4,
#vvergleich .line#preisTipp > .innerbox > .cell.sp4,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp4,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp4,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp4 {
    width: auto !important;
    min-width: 0 !important;
}

#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp5,
#vvergleich .line#preisTipp > .innerbox > .cell.sp5,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp5,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp5,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp5 {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp6,
#vvergleich .line#preisTipp > .innerbox > .cell.sp6,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp6,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp6,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp6 {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* ---------------------------------------------------------
   4) Unten Vergleichsleiste: X wieder kleiner
   --------------------------------------------------------- */
#vvergleich #vergleichen-button-center-box .tarif-item .remove-btn,
#vergleichen-button-center-box .tarif-item .remove-btn {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    font-size: 14px !important;
    line-height: 18px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    top: -5px !important;
    right: -5px !important;
}

/* ---------------------------------------------------------
   5) Detailansicht: Subheader wieder klar als Überschrift
   --------------------------------------------------------- */
#vvergleich .tl-details-tbl-tr:has(.tl-subheader) .tl-details-tbl-td-q .tl-details-q,
#vvergleich .tl-details-tbl-tr:has(.tl-subheader) .tl-details-tbl-td-q span.tl-details-q,
#vvergleich .tl-details-tbl-td.tl-subheader .tl-details-q,
#vvergleich .tl-details-tbl-td-q.tl-subheader .tl-details-q {
    font-weight: 700 !important;
    color: #2f2f2f !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

#vvergleich .tl-details-tbl-tr:has(.tl-subheader) .tl-details-tbl-td,
#vvergleich .tl-details-tbl-tr:has(.tl-subheader) .tl-details-tbl-td-q,
#vvergleich .tl-details-tbl-tr:has(.tl-subheader) .tl-details-tbl-td-a {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
}

/* ---------------------------------------------------------
   6) Detailansicht: Schließen-X oben optisch sauberer
   --------------------------------------------------------- */
#vvergleich .tl-details-close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    border-top: 1px solid #dcdcdc !important;
    border-right: 1px solid #dcdcdc !important;
    border-bottom: 1px solid #dcdcdc !important;
    background: #ffffff !important;
    font-weight: 700 !important;
    color: #666666 !important;
}

/* ---------------------------------------------------------
   7) Unerwünschte alte Rundungen / Alt-Stile neutralisieren
   --------------------------------------------------------- */
#vvergleich .ergebnisBox .line > .innerbox,
#vvergleich .ergebnisBox.tipp .line > .innerbox,
#vvergleich .tl-details-box,
#vvergleich .tl-details-elem,
#vvergleich .slide_filterbox,
#vvergleich .searchQueryBox input,
#vvergleich .searchQueryBox button {
    border-radius: 4px !important;
}

/* ---------------------------------------------------------
   8) Spalte 4 Text wieder kompakter
   --------------------------------------------------------- */
#vvergleich .tariflstg-box-out .punkte,
#vvergleich .tariflstg-box-out .punkte > span {
    line-height: 1.1 !important;
}

#vvergleich .tariflstg-box-out .punkte .prozentwert {
    display: inline !important;
}

/* ---------------------------------------------------------
   9) Falls alte Flex-Regeln aus früheren Patches noch greifen
   --------------------------------------------------------- */
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp4,
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp5,
#vvergleich .ergebnisBox .line > .innerbox > .cell.sp6 {
    flex: initial !important;
}

/* =========================================================
   LETZTER FEINSCHLIFF: Außenlinien entfernen + sp6 angleichen
   ========================================================= */

/* 1) Zusätzliche Außenlinien ober-/unterhalb der Tarifkarten entfernen */
#vvergleich .ergebnisBox,
#vvergleich .ergebnisBox-out,
#vvergleich .line,
#vvergleich .line.hover,
#vvergleich .line.hover_effect,
#vvergleich .line#preisTipp,
#vvergleich .line#leistungTipp,
#vvergleich .line#preisleistungTipp,
#vvergleich .line#preisLeistungTipp {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* Falls der Außenrahmen vom umgebenden Tipp-Container kommt */
#vvergleich .ergebnisBox.tipp,
#vvergleich .ergebnisBox.tipp_preis,
#vvergleich .ergebnisBox.tipp_leistung,
#vvergleich .ergebnisBox.tipp_preisleistung {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background-image: none !important;
}

/* 2) Nur die eigentliche Tarifkarte soll sichtbar eingerahmt sein */
#vvergleich .line > .innerbox,
#vvergleich .line#preisTipp > .innerbox,
#vvergleich .line#leistungTipp > .innerbox,
#vvergleich .line#preisleistungTipp > .innerbox,
#vvergleich .line#preisLeistungTipp > .innerbox {
    border: 1px solid #d9d9d9 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background-clip: padding-box !important;
}

/* Leistungstipp darf orange bleiben */
#vvergleich .line#leistungTipp > .innerbox,
#vvergleich .ergebnisBox.tipp_leistung .line > .innerbox {
    border-color: #f4a259 !important;
}

/* Preis-Tipp und Preis-Leistungs-Tipp NICHT orange umranden */
#vvergleich .line#preisTipp > .innerbox,
#vvergleich .line#preisleistungTipp > .innerbox,
#vvergleich .line#preisLeistungTipp > .innerbox,
#vvergleich .ergebnisBox.tipp_preis .line > .innerbox,
#vvergleich .ergebnisBox.tipp_preisleistung .line > .innerbox {
    border-color: #d9d9d9 !important;
}

/* 3) Die unsichtbare/zusätzliche Detail-Linie unter der Karte ausblenden,
      solange Tarifdetails nicht geöffnet sind */
#vvergleich .tl-box {
    border: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#vvergleich .tl-box .tl-details-box {
    border-top: 0 !important;
}

/* Nur wenn wirklich geöffnet, bekommt die Detailbox oben ihre Linie */
#vvergleich .tl-box .tl-details-box[style*="display: block"],
#vvergleich .tl-box .tl-details-box[style*="display:block"] {
    border-top: 1px solid #d9d9d9 !important;
}

/* 4) sp6 bei Empfehlungstarifen exakt wie normale Karten */
#vvergleich .line#preisTipp > .innerbox > .cell.sp6,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp6,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp6,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp6,
#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp6,
#vvergleich .ergebnisBox.tipp_preis .line > .innerbox > .cell.sp6,
#vvergleich .ergebnisBox.tipp_leistung .line > .innerbox > .cell.sp6,
#vvergleich .ergebnisBox.tipp_preisleistung .line > .innerbox > .cell.sp6 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    padding: 0 10px !important;
    min-height: auto !important;
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
}

/* Checkbox bei Empfehlungstarifen genauso wie bei normalen Karten */
#vvergleich .line#preisTipp > .innerbox > .cell.sp6 input,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp6 input,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp6 input,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp6 input,
#vvergleich .ergebnisBox.tipp .line > .innerbox > .cell.sp6 input {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: block !important;
}

/* 5) Falls auf Empfehlungskarten noch Alt-Regeln die Checkbox nach unten drücken */
#vvergleich .line#preisTipp > .innerbox > .cell.sp6 *,
#vvergleich .line#leistungTipp > .innerbox > .cell.sp6 *,
#vvergleich .line#preisleistungTipp > .innerbox > .cell.sp6 *,
#vvergleich .line#preisLeistungTipp > .innerbox > .cell.sp6 * {
    vertical-align: middle !important;
}

/* 6) Sicherheitsnetz gegen zusätzliche schwache outlines um Tippkarten */
#vvergleich .line#preisTipp,
#vvergleich .line#leistungTipp,
#vvergleich .line#preisleistungTipp,
#vvergleich .line#preisLeistungTipp {
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

/* =========================================================
   FINAL PATCH: Tipp-Header Linien weg, Hover zurück,
   Außenlinien komplett weg und nach Toggle wieder sauber
   ========================================================= */

/* 1) Tipp-Header: keine Rahmen-/Outline-Linien */
#vvergleich .tipp_header,
#vvergleich .tippheader,
#vvergleich .tipp_head,
#vvergleich .line#preisTipp .tipp_header,
#vvergleich .line#leistungTipp .tipp_header,
#vvergleich .line#preisleistungTipp .tipp_header,
#vvergleich .line#preisLeistungTipp .tipp_header {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}

/* 2) Hover-Schatten bei Empfehlungstarifen wieder aktiv */
#vvergleich .line#preisTipp > .innerbox:hover,
#vvergleich .line#leistungTipp > .innerbox:hover,
#vvergleich .line#preisleistungTipp > .innerbox:hover,
#vvergleich .line#preisLeistungTipp > .innerbox:hover,
#vvergleich .ergebnisBox.tipp .line > .innerbox:hover,
#vvergleich .ergebnisBox.tipp_preis .line > .innerbox:hover,
#vvergleich .ergebnisBox.tipp_leistung .line > .innerbox:hover,
#vvergleich .ergebnisBox.tipp_preisleistung .line > .innerbox:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.08) !important;
    transition: box-shadow 0.2s ease !important;
}

/* 3) Bei ALLEN Karten nur die eigentliche Kartenlinie,
      keine zusätzlichen seitlichen/äußeren Wrapper-Linien */
#vvergleich .ergebnisBox,
#vvergleich .ergebnisBox-out,
#vvergleich .line,
#vvergleich .line > div:not(.innerbox),
#vvergleich .line::before,
#vvergleich .line::after,
#vvergleich .ergebnisBox::before,
#vvergleich .ergebnisBox::after,
#vvergleich .ergebnisBox-out::before,
#vvergleich .ergebnisBox-out::after {
    border-left: 0 !important;
    border-right: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* 4) Die eigentliche Tarifkarte bekommt wieder den kompletten Rahmen */
#vvergleich .line > .innerbox {
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: #fff !important;
}

/* Leistungstipp orange */
#vvergleich .line#leistungTipp > .innerbox,
#vvergleich .ergebnisBox.tipp_leistung .line > .innerbox {
    border-color: #f4a259 !important;
}

/* Preis- und Preis-Leistungs-Tipp neutral grau */
#vvergleich .line#preisTipp > .innerbox,
#vvergleich .line#preisleistungTipp > .innerbox,
#vvergleich .line#preisLeistungTipp > .innerbox,
#vvergleich .ergebnisBox.tipp_preis .line > .innerbox,
#vvergleich .ergebnisBox.tipp_preisleistung .line > .innerbox {
    border-color: #d9d9d9 !important;
}

/* 5) Detailbox im geschlossenen Zustand komplett linienlos */
#vvergleich .tl-box,
#vvergleich .tl-box .tl-details-box {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 6) Nur geöffnete Detailbox bekommt oben eine Linie */
#vvergleich .tl-box.is-open .tl-details-box,
#vvergleich .tl-box.open .tl-details-box,
#vvergleich .line.tl-open .tl-box .tl-details-box,
#vvergleich .line.details-open .tl-box .tl-details-box,
#vvergleich .tl-box .tl-details-box[style*="display: block"],
#vvergleich .tl-box .tl-details-box[style*="display:block"] {
    border-top: 1px solid #d9d9d9 !important;
}

/* 7) Wenn Details wieder geschlossen sind: Linie wieder sicher weg */
#vvergleich .tl-box .tl-details-box[style*="display: none"],
#vvergleich .tl-box .tl-details-box[style*="display:none"] {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* 8) Sicherheit: auch nach JS-Toggle keine stehenbleibenden Linien */
#vvergleich .tl-box:not(.is-open):not(.open) .tl-details-box {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* 9) Falls Wrapper nach Toggle Inline-Border bekommt */
#vvergleich .tl-box[style],
#vvergleich .tl-box .tl-details-box[style] {
    border-left: 0 !important;
    border-right: 0 !important;
}
/* =========================================================
   FINAL MICRO PATCH
   - tl-box dauerhaft ohne Border
   - Close-Feld ohne Rahmen
   - Spalte 2 linksbündig
   ========================================================= */

/* 1) tl-box immer komplett ohne Rahmen */
#vvergleich .tl-box,
#vvergleich .tl-details-loading,
#vvergleich .tl-details-box,
#vvergleich .tl-details-globalcontent,
#vvergleich .tl-details-content {
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* auch nach inline-style / toggle keine Rahmenlinie */
#vvergleich .tl-box[style],
#vvergleich .tl-box .tl-details-box[style],
#vvergleich .tl-box .tl-details-content[style] {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* 2) Close-Feld ohne Rahmen */
#vvergleich .tl-details-close {
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* 3) Spalte 2 in allen Tarifkarten linksbündig */
#vvergleich .line > .innerbox > .cell.sp2,
#vvergleich .line > .innerbox > .cell.sp2 .settings-box-out,
#vvergleich .line > .innerbox > .cell.sp2 .setting,
#vvergleich .line > .innerbox > .cell.sp2 .setting_left,
#vvergleich .line > .innerbox > .cell.sp2 .setting_right {
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

/* falls setting als flex läuft */
#vvergleich .line > .innerbox > .cell.sp2 .setting {
    display: flex !important;
    gap: 12px !important;
}

/* rechter Wert nicht mehr rechts ausrichten */
#vvergleich .line > .innerbox > .cell.sp2 .setting_right {
    min-width: 0 !important;
}
/* =========================================================
   Vergleichs-Checkbox mit weißem Haken
   ========================================================= */

#vvergleich input.chkleistungsvgl {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid #8f8f8f !important;
    border-radius: 3px !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    vertical-align: middle !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Hover */
#vvergleich input.chkleistungsvgl:hover {
    border-color: #8bcf26 !important;
}

/* Aktiv */
#vvergleich input.chkleistungsvgl:checked {
    background: #8bcf26 !important;
    border-color: #8bcf26 !important;
}

/* Weißer Haken */
#vvergleich input.chkleistungsvgl:checked::after {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    top: 2px !important;
    width: 5px !important;
    height: 10px !important;
    border: solid #fff !important;
    border-width: 0 3px 3px 0 !important;
    transform: rotate(45deg) !important;
}