/* bm/comparison — tabela porownawcza
   Konfigurator obramowania przez zmienne (inline z render.php):
   --ct-bw (grubosc), --ct-radius (zaokraglenie), --ct-border (kolor).
   Siatka: separatory rysowane na prawej/dolnej krawedzi komorek (bez
   ostatniej), zewnetrzne obramowanie daje wrapper .bm-compare--outer. */

.bm-compare__head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 48px;
}
.bm-compare__heading,
.bm-compare__lead {
    margin-left: auto;
    margin-right: auto;
}

/* Domyslny kolor obramowania = subtelny mix z koloru tekstu sekcji
   (adaptuje sie do jasnych/ciemnych sekcji). Nadpisywany przez --ct-border. */
.bm-compare__wrap {
    --ct-line: var(--ct-border, color-mix(in srgb, currentColor 18%, transparent));
    border-radius: var(--ct-radius, 8px);
    overflow: hidden; /* przycina rogi komorek do zaokraglenia */
}
.bm-compare--outer {
    border: var(--ct-bw, 1px) solid var(--ct-line);
}
.bm-compare__scroll {
    overflow-x: auto; /* przewijanie poziome na waskich ekranach */
    -webkit-overflow-scrolling: touch;
    line-height: 0; /* usuwa pusty "strut" z bialego znaku po </table> */
}

.bm-compare__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-family: var(--f-sans);
    font-size: 15px;
    line-height: 1.5;
}

.bm-compare__table th,
.bm-compare__table td {
    padding: 14px 18px;
    text-align: center;
    vertical-align: middle;
    border-right:  var(--ct-bw, 1px) solid var(--ct-line);
    border-bottom: var(--ct-bw, 1px) solid var(--ct-line);
}
/* Brak zewnetrznych krawedzi z komorek — outer daje wrapper. */
.bm-compare__table tr > *:last-child { border-right: 0; }
.bm-compare__table tbody tr:last-child > * { border-bottom: 0; }

/* Naglowki kolumn / wierszy / rog. Kolory tla i tekstu konfigurowalne osobno
   dla naglowkow kolumn (+rog) i naglowkow wierszy. Puste -> subtelny default. */
.bm-compare__colhead,
.bm-compare__rowhead,
.bm-compare__corner { font-weight: 700; }
.bm-compare__rowhead,
.bm-compare__corner { text-align: left; }

.bm-compare__colhead,
.bm-compare__corner {
    background: var(--ct-colhead-bg, color-mix(in srgb, currentColor 7%, transparent));
    color: var(--ct-colhead-text, inherit);
}
.bm-compare__rowhead {
    background: var(--ct-rowhead-bg, color-mix(in srgb, currentColor 7%, transparent));
    color: var(--ct-rowhead-text, inherit);
}

/* Separacja naglowkow od reszty — grubsza linia (toggle). */
.bm-compare--sep-head thead th {
    border-bottom-width: calc(var(--ct-bw, 1px) * 2 + 1px);
}
.bm-compare--sep-head tbody .bm-compare__rowhead,
.bm-compare--sep-head thead .bm-compare__corner {
    border-right-width: calc(var(--ct-bw, 1px) * 2 + 1px);
}

/* Tlo zawartosci — jednolite (cellBg) lub naprzemienne (zebra, gdy --stripe). */
.bm-compare__cell {
    background: var(--ct-cell-bg, transparent);
}
.bm-compare--stripe tbody tr:nth-child(even) .bm-compare__cell {
    background: var(--ct-cell-alt-bg, color-mix(in srgb, currentColor 4%, transparent));
}

@media (max-width: 600px) {
    .bm-compare__table { font-size: 14px; }
    .bm-compare__table th,
    .bm-compare__table td { padding: 10px 12px; }
}
