/* Karten: Bild, Text, Aufzählung — je Karte eine Einheit. */
.oos-fs .ooc-cards{display:grid;gap:clamp(1rem,2vw,1.5rem);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2rem}
/* Je Karte EIN Rasterkind. Lagen Überschrift, Bild, Text und Liste flach im Raster,
   füllte es zeilenweise und die Karten fielen unter 900 px auseinander. */
.oos-fs .ooc-cards>*{margin-block-start:0}
.oos-fs .ooc-card{background:#fff;border:1px solid #e2eceb;border-radius:16px;min-width:0;padding:1.5rem}
.oos-fs .ooc-card>*+*{margin-block-start:0}
@media (max-width:900px){.oos-fs .ooc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.oos-fs .ooc-cards{grid-template-columns:minmax(0,1fr)}}
.oos-fs .ooc-card-t{color:var(--navy);font-size:1.05rem;font-weight:600;line-height:1.35;margin:0 0 .6rem}
.oos-fs .ooc-card-img{margin:0 0 .9rem}
.oos-fs .ooc-card-img img{border-radius:12px;display:block;height:auto;width:100%}
.oos-fs .ooc-card-p{font-size:.95rem;line-height:1.65;margin-bottom:.75rem}
.oos-fs .ooc-list{list-style:none;margin:0;padding:0}
.oos-fs .ooc-list li{font-size:.925rem;margin-bottom:.4rem;padding-left:1.4rem;position:relative}
.oos-fs .ooc-list li:before{color:var(--teal);content:"\2713";font-weight:700;left:0;position:absolute}

/* Zitat-Band mit CTA — steht oben und unten auf der Seite. */
.oos-fs .ooc-quote{text-align:center}
.oos-fs .ooc-quote .oos-lead{margin-inline:auto;max-width:44rem}
.oos-fs .ooc-quote .wp-block-buttons{display:flex;flex-wrap:wrap;justify-content:center;margin-top:1.6rem}

/* Überleitungen vor der Vergleichstabelle und vor den Karten. */
.oos-fs .ooc-lead-in{text-align:center}
.oos-fs .ooc-lead-in>p{margin-inline:auto;max-width:44rem}

/* Vergleichstabelle: aus dem eingebetteten Dokument hierher gezogen (Task 5). */
.ce-comparison * { box-sizing: border-box; margin: 0; padding: 0; }
  .ce-comparison {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px; color: #464646; margin-top: 48px;
  }
  .ce-comparison__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 48px; }
  .ce-comparison-table { width: 100%; border-collapse: collapse; text-align: center; font-size: 15px; }
  .ce-comparison-table thead.ce-sticky th {
    position: sticky; top: 0; background: #fff; z-index: 10;
    box-shadow: 0 3px 10px rgba(0,0,0,.10);
  }
  .ce-comparison-table thead th {
    padding: 20px 12px 24px; vertical-align: bottom;
    border-bottom: 2px solid #e5e5e5; font-weight: 600;
  }
  .ce-comparison-table thead th:first-child { text-align: left; min-width: 220px; }
  .ce-comparison-table thead th:not(:first-child) { width: calc((100% - 220px) / 2); min-width: 160px; }
  .ce-comparison-table thead th img { display: block; margin: 0 auto 8px; max-height: 56px; width: auto; }
  .ce-comparison-table thead th .provider-name {
    display: block; font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em; color: #464646; margin-bottom: 10px;
  }
  .ce-btn {
    display: inline-block; padding: 8px 14px; border-radius: 4px; font-size: 11px;
    font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    text-decoration: none; cursor: pointer; border: none; line-height: 1.4;
    transition: background .15s, transform .1s;
  }
  .ce-btn:hover { transform: translateY(-1px); }
  .ce-btn--primary { background: #1fbe9a; color: #2d3748 !important; }
  .ce-btn--primary:hover { background: #19a884; }
  .ce-btn--outline { background: transparent; color: #1fbe9a; border: 1px solid #1fbe9a; }
  .ce-btn--outline:hover { background: #1fbe9a; color: #2d3748; }
  .ce-comparison-table tbody tr:not(.section-header):hover td,
  .ce-comparison-table tbody tr:not(.section-header):hover th { background: #f8fffe; }
  .ce-comparison-table tbody td,
  .ce-comparison-table tbody th {
    padding: 12px 12px; border-bottom: 1px solid #e5e5e5;
    vertical-align: middle; transition: background .1s;
  }
  .ce-comparison-table tbody td:first-child { text-align: left; font-size: 14px; color: #464646; }
  .ce-comparison-table .section-header th {
    background: #2d3748; text-align: left; font-size: 11px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .14em; color: #fff;
    padding: 11px 14px; border-bottom: none; border-top: 3px solid #1fbe9a;
  }
  .ce-comparison-table .fa-check { color: #1fbe9a; font-size: 1.2em; }
  .ce-comparison-table .fa-times { color: #d0d0d0; font-size: 1.2em; }
  .ce-comparison-table .fa-lock { color: #1fbe9a; margin-right: 4px; }
  .ce-comparison-table .fa-exclamation-triangle { color: #e74c3c; margin-right: 4px; }
  .ce-comparison-table .value-text { font-size: 13px; font-weight: 600; color: #464646; }
  .ce-comparison-table td:nth-child(2),
  .ce-comparison-table th:nth-child(2) { background: rgba(31, 190, 154, .04); }
  .ce-comparison__footnote { margin-top: 16px; font-size: 12px; color: #999; text-align: center; }
  .ce-comparison__footnote a { color: #1fbe9a; text-decoration: none; }
  @media (max-width: 768px) {
    .ce-comparison-table { font-size: 13px; }
    .ce-comparison-table thead th:first-child { min-width: 130px; }
    .ce-comparison-table thead th:not(:first-child) { min-width: 110px; }
    .ce-btn { font-size: 10px; padding: 6px 10px; }
  }