/* ───── Desktop Table ───── */

.spec-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #0d0d0d;
    table-layout: fixed;
    border: 1px solid #ffffff;
    margin: 0;
    display: table;
    vertical-align: top;
    line-height: 0;
}

/* Remove any extra spacing from the Elementor widget wrapper */
.elementor-widget-spec_table .elementor-widget-container {
    line-height: 0;
    font-size: 0;
}

.elementor-widget-spec_table .elementor-widget-container .spec-table,
.elementor-widget-spec_table .elementor-widget-container .spec-accordion {
    line-height: 1.5;
    font-size: 14px;
}

.spec-table tr {
    border: none;
}

.spec-table td {
    padding: 10px 15px;
    border-top: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    vertical-align: middle;
}

/* Remove double borders on outer edges */
.spec-table tr td:first-child {
    border-left: none;
}
.spec-table tr td:last-child {
    border-right: none;
}

/* Last row bottom border */
.spec-table tr:last-child td {
    border-bottom: 1px solid #ffffff;
}

/* Header column (label) */
.spec-table td.spec-header-cell {
    color: #00e5ff;
    font-weight: 700;
    white-space: nowrap;
}

/* Data cells */
.spec-table td.spec-data-cell {
    color: #ffffff;
    font-weight: 400;
    text-align: right;
}

/* ───── Mobile/Tablet Accordion (hidden on desktop) ───── */

.spec-accordion {
    display: none;
}

@media (max-width: 1024px) {
    .spec-desktop {
        display: none !important;
    }

    .spec-accordion {
        display: block;
        width: 100%;
    }

    /* Accordion item */
    .spec-acc-item {
        border: 1px solid #ffffff;
        margin-bottom: 6px;
        background-color: #0d0d0d;
    }

    .spec-acc-item:last-child {
        margin-bottom: 0;
    }

    /* Accordion header */
    .spec-acc-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 15px;
        cursor: pointer;
        user-select: none;
    }

    .spec-acc-header .spec-acc-label {
        color: #ffffff;
        font-weight: 700;
    }

    .spec-acc-header .spec-acc-value {
        color: #ffffff;
        font-weight: 700;
    }

    .spec-acc-arrow,
    .spec-accordion .spec-acc-arrow {
        display: inline-block;
        vertical-align: middle;
        width: 12px;
        height: 12px;
        fill: #ffffff !important;
    }

    /* Accordion body */
    .spec-acc-body {
        display: none;
    }

    .spec-acc-open .spec-acc-body {
        display: block;
    }

    /* Accordion rows */
    .spec-acc-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        border-top: 1px solid #ffffff;
    }

    .spec-acc-row .spec-acc-label {
        color: #ffffff;
        font-weight: 700;
    }

    .spec-acc-row .spec-acc-value {
        color: #ffffff;
        font-weight: 400;
    }

    /* Header row separator (line between header and first body row) */
    .spec-acc-open .spec-acc-body .spec-acc-row:first-child {
        border-top: 1px solid #ffffff;
    }
}
