/* RATGEBER */
section.content-section {
  padding: 56px 5vw;
  background: var(--gray-50);
}
.content-body { min-width: 0; }
/* VERGLEICH BOXES */
.vergleich-3col { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 18px 0; }
@media (max-width: 680px) { .vergleich-3col { grid-template-columns: 1fr; } }
.vergleich-col {
  border: 1.5px solid var(--gray-200); border-radius: 12px; padding: 16px;
  background: #fff;
}
.vergleich-col.yes { border-color: rgba(34,68,232,0.2); background: var(--blue-ultra); }
.vergleich-col.green-soft { border-color: rgba(16,163,74,0.15); background: #F0FBF4; }
.vergleich-col-title { font-size: var(--text-ui-size); font-weight: 800; color: var(--gray-800); margin-bottom: 12px; display: flex; align-items: center; gap: 7px; }
.vergleich-col ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.vergleich-col li { font-size: var(--text-ui-size); color: var(--gray-500); padding-left: 14px; position: relative; }
.vergleich-col li::before { content: '·'; position: absolute; left: 4px; color: var(--gray-300); font-size: var(--text-cta-title-size); line-height: 1; top: -1px; }

.konto-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 18px 0;
}

.konto-check-card,
.konto-check-card-blue {
  border: 1.5px solid var(--gray-200);
  border-radius: 12px;
  padding: 20px 22px;
}

.konto-check-card {
  background: #fff;
}

.konto-check-card-blue {
  background: var(--blue-ultra);
  border-color: rgba(34,68,232,0.2);
}

.konto-check-title {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--gray-800);
  font-weight: var(--font-weight-extrabold);
  margin-bottom: 14px;
}

.konto-check-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  list-style: none;
}

body.lp-comparison-page #kriterien + .content-section .vergleich-3col.u-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body.lp-comparison-page #kriterien + .content-section .vergleich-col,
body.lp-comparison-page #kriterien + .content-section .vergleich-col ul,
body.lp-comparison-page #kriterien + .content-section .vergleich-col li {
  min-width: 0;
}

body.lp-comparison-page #kriterien + .content-section .vergleich-col li {
  overflow-wrap: anywhere;
  hyphens: auto;
}

body.lp-comparison-page #kriterien + .content-section .vergleich-col ul li::before {
  content: '\2022';
  left: 0;
  width: 16px;
  color: var(--blue-dark);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

body.lp-comparison-page #kriterien + .content-section .vergleich-col-title svg {
  display: none;
}

body.lp-comparison-page #kosten + .content-section .editorial-table {
  table-layout: auto;
}

body.lp-comparison-page #kosten + .content-section .editorial-table th:first-child,
body.lp-comparison-page #kosten + .content-section .editorial-table td:first-child {
  width: 1%;
  min-width: 0;
}

body.lp-comparison-page #gmbh + .content-section .editorial-table {
  table-layout: auto;
}

body.lp-comparison-page #gmbh + .content-section .editorial-table th:first-child,
body.lp-comparison-page #gmbh + .content-section .editorial-table td:first-child {
  width: 1%;
  min-width: 0;
}

/* Vergleichstabelle: align this page with the current LP comparison component. */
body.lp-comparison-page .table-wrap table {
  min-width: 1180px;
}

body.lp-comparison-page .table-section {
  width: 100%;
  max-width: none;
  margin: 0;
}

body.lp-comparison-page .th-col-booking {
  width: 154px;
  min-width: 154px;
}

body.lp-comparison-page .th-col-suitable {
  width: 188px;
  min-width: 188px;
}

body.lp-comparison-page .th-col-datev,
body.lp-comparison-page .th-col-tax {
  width: 126px;
  min-width: 126px;
  text-align: center;
}

body.lp-comparison-page .table-wrap thead th.th-col-datev {
  text-align: center;
}

body.lp-comparison-page .th-col-provider {
  width: 128px;
  min-width: 128px;
  text-align: center;
}

body.lp-comparison-page .td-booking,
body.lp-comparison-page .td-provider {
  font-size: var(--text-caption-size);
  font-weight: 600;
  color: var(--gray-700);
}

body.lp-comparison-page .td-provider {
  text-align: center;
  white-space: nowrap;
}

body.lp-comparison-page .td-anbieter .highlight-badge {
  order: 0;
  margin-top: 6px;
  margin-bottom: 0;
}

body.lp-comparison-page .table-wrap tbody td:nth-child(5),
body.lp-comparison-page .table-wrap tbody td:nth-child(6) {
  text-align: center;
}

body.lp-comparison-page .table-wrap .td-bool svg {
  display: block;
  margin: 0 auto;
}

body.lp-comparison-page .preis-badge-td {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  font-size: 15px;
  font-weight: 600;
  color: var(--blue);
  background: var(--blue-light);
  padding: 5px 10px;
  border-radius: 20px;
  white-space: nowrap;
}

body.lp-comparison-page .preis-badge-td.kostenlos {
  font-size: 15px;
  font-weight: 600;
  color: var(--green);
  background: var(--green-light);
}

body.lp-comparison-page .mc-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

body.lp-comparison-page .mc-secondary {
  font-size: var(--text-caption-size);
  font-weight: 700;
  color: var(--blue);
  text-decoration: none;
}

body.lp-comparison-page .mc-secondary:hover {
  color: var(--blue-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.lp-comparison-page .mc-secondary.disabled {
  color: var(--gray-300);
  text-decoration: none;
}

@media (max-width: 768px) {
  body.lp-comparison-page .sort-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  body.lp-comparison-page .fd-sort {
    width: 100%;
    min-width: 0;
  }

  body.lp-comparison-page .vergleich-3col,
  body.lp-comparison-page .vergleich-3col.u-grid-2 {
    grid-template-columns: 1fr;
  }

  body.lp-comparison-page #kriterien + .content-section .vergleich-3col.u-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.lp-comparison-page .content-section > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.lp-comparison-page #kriterien + .content-section .vergleich-3col.u-grid-2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  body.lp-comparison-page .rechtsform-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.lp-comparison-page .rechtsform-card {
    padding: 18px;
  }

  body.lp-comparison-page .rechtsform-title {
    font-size: 15px;
    line-height: 1.3;
    hyphens: auto;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
}

@media (max-width: 640px) {
  body.lp-comparison-page .rechtsform-grid {
    grid-template-columns: 1fr;
  }
}
