/**
 * BW Technical Overview — label / value pairs lifted from the product
 * description and restyled. Scoped under the widget wrapper so the rules
 * outrank the Elementor global kit.
 */

.elementor-widget-bw-tech-overview {
    --bw-blue: #005eb8;
    --bw-orange: #f28120;
    --bw-ink: #101720;
    --bw-body: #5b6570;
    --bw-mute: #8a95a1;
    --bw-line: #e2e6ea;
    --bw-soft: #f7f9fb;
}

.elementor-widget-bw-tech-overview * {
    box-sizing: border-box;
}

.elementor-widget-bw-tech-overview .bw-to {
    background: #fff;
    border: 1px solid var(--bw-line);
    border-radius: 14px;
    overflow: hidden;
}

.elementor-widget-bw-tech-overview .bw-to-head {
    padding: 14px 20px;
    background: var(--bw-soft);
    border-bottom: 1px solid var(--bw-line);
    font: 800 11px/1 'Open Sans', Arial, sans-serif;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: var(--bw-ink);
}

.elementor-widget-bw-tech-overview .bw-to-grid {
    display: grid;
    gap: 0;
}

/* "Keep the source columns" — one grid column per .tech-overview block, so the
   rows read downward exactly as they do on the live page. The count comes from
   the markup via an inline custom property. */
.elementor-widget-bw-tech-overview .bw-to-grid.is-source {
    grid-template-columns: repeat(var(--bw-to-cols, 2), minmax(0, 1fr));
}

.elementor-widget-bw-tech-overview .bw-to-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* one continuous rule between columns beats a stack of per-row borders, which
   break up wherever two columns have different row counts */
.elementor-widget-bw-tech-overview .bw-to-col:not(:last-child) {
    border-right: 1px solid var(--bw-line);
}

/* "Reflow" — one flat list filling left to right */
.elementor-widget-bw-tech-overview .bw-to-grid.is-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.elementor-widget-bw-tech-overview .bw-to-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 20px;
    border-bottom: 1px solid var(--bw-line);
    min-width: 0;
}

.elementor-widget-bw-tech-overview .bw-to-col .bw-to-row:last-child {
    border-bottom: none;
}

.elementor-widget-bw-tech-overview .bw-to-grid.is-flow .bw-to-row {
    border-right: 1px solid var(--bw-line);
}

.elementor-widget-bw-tech-overview .bw-to-grid.is-flow .bw-to-row:nth-child(2n) {
    border-right: none;
}

.elementor-widget-bw-tech-overview .bw-to-grid.is-flow .bw-to-row:last-child,
.elementor-widget-bw-tech-overview .bw-to-grid.is-flow .bw-to-row:nth-last-child(2):nth-child(2n + 1) {
    border-bottom: none;
}

.elementor-widget-bw-tech-overview .bw-to-k {
    flex: 0 0 auto;
    font: 800 10.5px/1.4 'Open Sans', Arial, sans-serif;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--bw-mute);
}

.elementor-widget-bw-tech-overview .bw-to-v {
    flex: 1 1 auto;
    text-align: right;
    min-width: 0;
    font: 700 13.5px/1.45 'Open Sans', Arial, sans-serif;
    color: var(--bw-ink);
    word-break: break-word;
}

/* the runtime JSON sync writes into these spans - keep them inline */
.elementor-widget-bw-tech-overview .bw-to-v span {
    display: inline;
}

.elementor-widget-bw-tech-overview .bw-to-v a {
    color: var(--bw-blue);
    text-decoration: none;
}

@media (max-width: 767px) {
    .elementor-widget-bw-tech-overview .bw-to-grid.is-source,
    .elementor-widget-bw-tech-overview .bw-to-grid.is-flow {
        grid-template-columns: minmax(0, 1fr);
    }
    .elementor-widget-bw-tech-overview .bw-to-col:not(:last-child) {
        border-right: none;
    }
    .elementor-widget-bw-tech-overview .bw-to-grid.is-flow .bw-to-row {
        border-right: none;
    }
    /* stacked, only the very last row in the whole block loses its rule */
    .elementor-widget-bw-tech-overview .bw-to-col:not(:last-child) .bw-to-row:last-child {
        border-bottom: 1px solid var(--bw-line);
    }
    .elementor-widget-bw-tech-overview .bw-to-col:last-child .bw-to-row:last-child,
    .elementor-widget-bw-tech-overview .bw-to-grid.is-flow .bw-to-row:last-child {
        border-bottom: none;
    }
}
