:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    margin:0;
    background:var(--ok-surface);
    border-radius:var(--ok-radius);
    overflow:visible;
    box-shadow:var(--ok-shadow);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table th,
:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table td {
    padding:var(--ok-gap);
    text-align:center;
    font-size:var(--okp-text-sm, 0.875rem);
    border-bottom:var(--ok-border-width) var(--ok-border-style) var(--ok-border);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table th {
    font-weight:var(--ok-font-weight-medium);
    font-size:var(--okp-text-md, 1rem);
    line-height:var(--okp-line-height-tight, 1.2);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table th.feature-col,
:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table td.feature-col {
    text-align:left;
    font-weight:var(--ok-font-weight-medium);
    color:var(--ok-text);
    min-width:calc(var(--okp-space-8, 48px) * 4 + var(--okp-space-1, 4px) * 2);
    background:color-mix(in srgb, var(--ok-bg) 88%, transparent);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table td {
    background:color-mix(in srgb, var(--ok-bg) 94%, transparent);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table tr:last-child td {
    border-bottom:none;
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table tbody tr:hover td {
    background:color-mix(in srgb, var(--ok-accent) 12%, transparent);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table tr.action-row td {
    border-top:var(--okp-border-width-2, 2px) var(--ok-border-style) var(--ok-border);
    padding:var(--okp-space-3, 12px) var(--ok-gap);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table .button {
    background:var(--ok-accent);
    color:var(--ok-accent-contrast);
    padding:var(--okp-space-2, 8px) var(--okp-space-5, 24px);
    border-radius:var(--ok-radius);
    font-weight:var(--ok-font-weight-medium);
    text-decoration:none;
    display:inline-block;
    transition:all var(--ok-transition);
    border:var(--okp-border-width-2, 2px) var(--ok-border-style) var(--ok-accent);
    cursor:pointer;
    font-size:var(--okp-text-sm, 0.875rem);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table .button:hover {
    background:color-mix(in srgb, var(--ok-accent) 85%, var(--ok-bg));
    border-color:var(--okp-border-hover, var(--ok-accent));
    transform:translateY(calc(var(--okp-space-1, 4px) * -0.5));
    box-shadow:var(--okp-shadow-md, 0 10px 20px color-mix(in srgb, var(--ok-accent) 35%, transparent));
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table thead {
    background:none;
    color:inherit;
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table thead tr.okrypta-header-row th.product-col {
    background:var(--okp-accent-1, var(--ok-accent));
    color:var(--okp-accent-contrast, var(--ok-accent-contrast));
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table thead tr.okrypta-header-row th.feature-col {
    background:color-mix(in srgb, var(--ok-bg) 92%, transparent);
    color:var(--ok-text);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table thead .okrypta-highlight-row th {
    background:transparent;
    border-bottom:none;
    padding:var(--okp-space-2, 8px) var(--okp-space-5, 24px) 0;
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table thead .okrypta-highlight-row th.okrypta-highlight-cell {
    background:var(--okp-status-positive, #0ea5e9);
    color:var(--okp-status-positive-contrast, #f8fbff);
    border-radius:var(--ok-radius-lg) var(--ok-radius-lg) 0 0;
    text-align:center;
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-highlight-label {
    display:inline-block;
    font-size:var(--okp-text-xs, 0.75rem);
    font-weight:var(--ok-font-weight-bold);
    background:color-mix(in srgb, var(--okp-status-positive, #0ea5e9) 92%, transparent);
    color:var(--okp-status-positive-contrast, #f8fbff);
    letter-spacing:var(--ok-letter-wide);
    padding:var(--okp-space-2, 8px) var(--okp-space-3, 12px);
    border-radius:999px;
}

:is(.okrypta-compare-horizontal, .okp-group-table) .product-header .okrypta-price-main {
    color:var(--okp-accent-contrast, var(--ok-accent-contrast));
}

:is(.okrypta-compare-horizontal, .okp-group-table) .product-header .okrypta-price-alt {
    color:color-mix(in srgb, var(--okp-accent-contrast, var(--ok-accent-contrast)) 75%, transparent);
}

@media (max-width:1024px) {
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table th,
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table td {
        padding:var(--okp-space-4, 16px) var(--okp-space-3, 12px);
        font-size:var(--okp-text-sm, 0.875rem);
    }
}

@media (max-width:768px) {
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table {
        font-size:var(--okp-text-xs, 0.75rem);
    }
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table th,
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table td {
        padding:var(--okp-space-3, 12px) var(--okp-space-2, 8px);
    }
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table td.feature-col,
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table th.feature-col {
        min-width:calc(var(--okp-space-7, 40px) * 3 + var(--okp-space-1, 4px) * 5);
    }
    :is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table .button {
        padding:var(--okp-space-2, 8px) var(--okp-space-4, 16px);
        font-size:var(--okp-text-xs, 0.75rem);
    }
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-table td.okrypta-empty-cell{background:transparent;border-bottom:none}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-option-detail {
    font-size:0.85em;
    font-weight:normal;
    margin-top:2px;
    color:var(--ok-muted);
    font-style:italic;
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-option-detail-html {
    font-size:0.9em;
    font-weight:normal;
    margin-top:4px;
    color:var(--ok-text);
    background:var(--ok-surface);
    padding:8px;
    border-radius:var(--ok-radius);
    border:1px solid var(--ok-border);
}

:is(.okrypta-compare-horizontal, .okp-group-table) .okrypta-separator-label {
    display:block;
    text-align:center;
    padding:8px;
    font-weight:var(--ok-font-weight-medium);
}
