/* ==========================================================
   ETO Table Widget – CSS completo FORZATO (desktop + mobile)
   ========================================================== */

/* ---------- Variabili ---------- */
.eto-table-wrap {
    --eto-header-bg: #0067b1;
    --eto-header-color: #ffffff;
    --eto-border: #c8c8c8;
    --eto-border-inner: #e2e2e2;
    --eto-highlight: #c0397a;
    --eto-thead-gap: 0px;
    width: 100%;
}

/* ---------- Titolo ---------- */
.eto-table-title {
    margin: 0 0 24px;
    text-align: center;
    font-weight: 700;
    color: #0067b1;
}

/* ---------- Contenitore ---------- */
.eto-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.eto-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    border: 1px solid var(--eto-border);
    margin: 0;
}

.eto-table .eto-col-2 {
    width: auto;
}

/* ---------- Intestazione desktop ---------- */
.eto-th {
    padding: 10px 16px;
    text-align: left;
    vertical-align: middle;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    background-color: var(--eto-header-bg);
    color: var(--eto-header-color);
    border: 0;
}

/* ---------- Spacer ---------- */
.eto-tr--spacer .eto-td-spacer {
    height: var(--eto-thead-gap);
    padding: 0;
    border: 0;
    line-height: 0;
}

/* ---------- Celle desktop ---------- */
.eto-td {
    padding: 16px;
    vertical-align: top;
    text-align: left;
    background: transparent;
    border-top: 1px solid var(--eto-border-inner);
    border-right: 1px solid var(--eto-border-inner);
    overflow-wrap: anywhere;
}

.eto-td:last-child {
    border-right: 0;
}

.eto-tr--spacer + .eto-tr--body .eto-td {
    border-top: 0;
}

/* ---------- Riga evidenziata desktop ---------- */
.eto-tr--highlight .eto-td {
    box-shadow:
        inset 0 2px 0 0 var(--eto-highlight),
        inset 0 -2px 0 0 var(--eto-highlight);
}
.eto-tr--highlight .eto-td:first-child {
    box-shadow:
        inset 2px 2px 0 0 var(--eto-highlight),
        inset 2px -2px 0 0 var(--eto-highlight);
}
.eto-tr--highlight .eto-td:last-child {
    box-shadow:
        inset -2px 2px 0 0 var(--eto-highlight),
        inset -2px -2px 0 0 var(--eto-highlight);
}


/* ==========================================================
   MOBILE (≤ 767px) – TUTTO FORZATO
   ========================================================== */
@media (max-width: 767px) {

    .eto-table-wrap .eto-table-scroll {
        overflow: visible !important;
        width: 100% !important;
    }

    /* struttura verticale */
    .eto-table-wrap .eto-table,
    .eto-table-wrap .eto-table tbody,
    .eto-table-wrap .eto-table tr,
    .eto-table-wrap .eto-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    .eto-table-wrap .eto-table {
        border: 0 !important;
        table-layout: auto !important;
        background: transparent !important;
    }

    /* nascondo header originale, colgroup, spacer */
    .eto-table-wrap .eto-table thead,
    .eto-table-wrap .eto-table colgroup,
    .eto-table-wrap .eto-table .eto-tr--spacer {
        display: none !important;
    }

    /* ogni riga = blocco con bordo */
    .eto-table-wrap .eto-table .eto-tr--body {
        margin: 0 0 24px 0 !important;
        border: 1px solid var(--eto-border) !important;
        background: transparent !important;
        padding: 0 !important;
    }

    /* celle: reset totale */
    .eto-table-wrap .eto-table .eto-td,
    .eto-table-wrap .eto-table .eto-td.eto-col-1,
    .eto-table-wrap .eto-table .eto-td.eto-col-2,
    .eto-table-wrap .eto-table .eto-td.eto-col-3 {
        position: static !important;
        left: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 16px 16px 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        text-align: left !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    /* barra blu con intestazione */
    .eto-table-wrap .eto-table .eto-td::before {
        content: attr(data-label) !important;
        display: block !important;
        width: auto !important;
        margin: 0 -16px 14px -16px !important;
        padding: 12px 16px !important;
        background: var(--eto-header-bg) !important;
        color: var(--eto-header-color) !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
        white-space: normal !important;
        word-break: normal !important;
        text-align: left !important;
    }

    /* riga evidenziata: bordo unico sul blocco */
    .eto-table-wrap .eto-table .eto-tr--highlight {
        border: 2px solid var(--eto-highlight) !important;
    }
    .eto-table-wrap .eto-table .eto-tr--highlight .eto-td,
    .eto-table-wrap .eto-table .eto-tr--highlight .eto-td:first-child,
    .eto-table-wrap .eto-table .eto-tr--highlight .eto-td:last-child {
        box-shadow: none !important;
    }
}