    /* Search Table Toggle */
    .trivino-search-toggle {
        display: none; /* shown by JS when hits present */
        gap: 6px; margin: 0 0 12px 0; justify-content: flex-end;
    }
    .trivino-search-toggle.visible { display: flex; }
    /* 18-oct-2026 (RONDA4 M4): el conmutador Grid/Tabla (58 px + 12 de margen) se mete delante de la lista al
       llegar los resultados y la empujaba hacia abajo (salto medido en móvil). Mientras no existe, la lista guarda
       ese hueco; en cuanto el conmutador se inserta, el selector deja de cumplirse y el hueco lo ocupa él. */
    @media (max-width: 849px) { #searchbox + #hits-area, .agt-wa-fila + #hits-area, .trivino-search-toggle:not(.visible) + .trivino-search-table-wrap + #hits-area { margin-top: 70px; } }
    .trivino-stgl-btn {
        display: inline-flex; align-items: center; gap: 5px;
        padding: 6px 14px; border: 1px solid #dee2e6;
        background: #fff; border-radius: 6px; cursor: pointer;
        font-size: 13px; color: #6c757d; transition: all .2s;
    }
    .trivino-stgl-btn.active {
        background: #008555; color: #fff; border-color: #008555;
    }
    .trivino-stgl-btn svg { stroke: currentColor; width: 16px; height: 16px; }

    /* Search Table */
    .trivino-search-table-wrap { display: none; }
    .trivino-search-table-wrap.active { display: block; }
    /* En escritorio solo la tabla (miniaturas). Las tarjetas grandes son SOLO para móvil
       (se muestran vía @media max-width:768px). Sin esto se duplicaba la vista en desktop. */
    .trivino-st-mobile { display: none; }

    .trivino-search-table {
        width: 100%; border-collapse: separate; border-spacing: 0;
        font-size: 13px; background: #fff;
        border: 1px solid #e9ecef; border-radius: 8px;
        overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.08);
    }
    .trivino-search-table thead { background: #f8f9fa; }
    .trivino-search-table th {
        padding: 10px 8px; text-align: left; font-weight: 600;
        font-size: 11px; text-transform: uppercase; letter-spacing: .3px;
        color: #495057; border-bottom: 2px solid #008555;
        white-space: nowrap; user-select: none; cursor: pointer;
    }
    .trivino-search-table th:hover { background: #e9ecef; }
    .trivino-search-table th .sort-arrow { font-size: 9px; opacity: .3; margin-left: 2px; }
    .trivino-search-table th.asc .sort-arrow,
    .trivino-search-table th.desc .sort-arrow { opacity: 1; color: #008555; }

    .trivino-search-table td {
        padding: 8px; border-bottom: 1px solid #e9ecef; vertical-align: middle;
    }
    .trivino-search-table tbody tr:nth-child(even) { background: #f8f9fa; }
    .trivino-search-table tbody tr:hover { background: #e8f5ee; }

    .trivino-st-img {
        width: 55px; height: 55px; object-fit: contain;
        border-radius: 6px; border: 1px solid #e9ecef; background: #fff;
    }
    .trivino-st-name {
        color: #212529; text-decoration: none; font-weight: 500;
        font-size: 13px; line-height: 1.3; display: block;
    }
    .trivino-st-name:hover { color: #008555; }
    .trivino-st-sku { color: #6c757d; font-size: 11px; }
    .trivino-st-price { font-weight: 700; color: #008555; white-space: nowrap; }
    .trivino-st-spec { white-space: nowrap; color: #495057; font-size: 12px; }

    .trivino-st-cart {
        display: flex; align-items: center; gap: 4px;
    }
    .trivino-st-qty {
        display: flex; align-items: center;
        border: 1px solid #dee2e6; border-radius: 6px; overflow: hidden;
    }
    .trivino-st-qty button {
        width: 26px; height: 30px; border: none; background: #f8f9fa;
        cursor: pointer; font-size: 15px; color: #495057;
        display: flex; align-items: center; justify-content: center;
    }
    .trivino-st-qty button:hover { background: #e9ecef; }
    .trivino-st-qty input {
        width: 32px; height: 30px; border: none; text-align: center;
        font-size: 13px; font-weight: 600; -moz-appearance: textfield;
        border-left: 1px solid #dee2e6; border-right: 1px solid #dee2e6;
    }
    .trivino-st-qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
    .trivino-st-add {
        width: 34px; height: 30px; border: none; background: #008555;
        color: #fff; border-radius: 6px; cursor: pointer;
        display: flex; align-items: center; justify-content: center;
        transition: all .2s;
    }
    .trivino-st-add:hover { background: #006b44; }
    .trivino-st-add.added { background: #2e7d32; }

    /* Mobile: cards layout for search table */
    @media (max-width: 768px) {
        .trivino-search-table { display: none; }
        .trivino-search-table-wrap.active .trivino-st-mobile { display: block; }
        .trivino-st-mobile { display: none; }

        .trivino-st-mcard {
            display: flex; gap: 10px; padding: 12px;
            background: #fff; border: 1px solid #e9ecef;
            border-radius: 8px; margin-bottom: 10px;
            box-shadow: 0 1px 3px rgba(0,0,0,.08);
        }
        .trivino-st-mcard-img {
            flex-shrink: 0; width: 65px; height: 65px;
        }
        .trivino-st-mcard-img img {
            width: 65px; height: 65px; object-fit: contain;
            border-radius: 6px; border: 1px solid #e9ecef;
        }
        .trivino-st-mcard-body {
            flex: 1; min-width: 0; display: flex; flex-direction: column;
        }
        .trivino-st-mcard-title {
            font-size: 13px; font-weight: 600; color: #212529;
            text-decoration: none; line-height: 1.3;
            display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
        }
        .trivino-st-mcard-title:hover { color: #008555; }
        .trivino-st-mcard-sku { font-size: 11px; color: #6c757d; }
        .trivino-st-mcard-specs {
            display: flex; flex-wrap: wrap; gap: 3px 10px; margin-top: 5px;
        }
        .trivino-st-mcard-spec { font-size: 11px; }
        .trivino-st-mcard-spec-label { color: #6c757d; }
        .trivino-st-mcard-spec-label::after { content: ':'; }
        .trivino-st-mcard-spec-val { color: #212529; font-weight: 600; }
        .trivino-st-mcard-bottom {
            display: flex; align-items: center; justify-content: space-between;
            margin-top: 8px; padding-top: 8px; border-top: 1px solid #e9ecef; gap: 8px;
        }
        .trivino-st-mcard-price { font-weight: 700; color: #008555; font-size: 15px; }
    }

    /* ===== Comparador ===== */
    .trivino-cmp-chk { width: 17px; height: 17px; cursor: pointer; accent-color: #008555; margin: 0; }
    .trivino-st-cmpcell { width: 30px; text-align: center; }
    .trivino-cmp-mcard-chk { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #6c757d; cursor: pointer; margin-top: 6px; user-select: none; }
    .trivino-cmp-bar {
        position: fixed; left: 50%; bottom: 20px; z-index: 9998;
        transform: translateX(-50%) translateY(160%);
        display: flex; align-items: center; gap: 14px;
        background: #0f1f17; color: #fff; padding: 9px 12px 9px 18px; border-radius: 999px;
        box-shadow: 0 10px 30px rgba(0,0,0,.28); transition: transform .26s cubic-bezier(.34,1.56,.64,1); font-size: 14px;
    }
    .trivino-cmp-bar.visible { transform: translateX(-50%) translateY(0); }
    .trivino-cmp-bar__count { font-weight: 600; white-space: nowrap; }
    .trivino-cmp-bar__go { background: #008555; color: #fff; border: none; border-radius: 999px; padding: 8px 18px; font-weight: 700; font-size: 14px; cursor: pointer; }
    .trivino-cmp-bar__go:disabled { background: #3a4a42; color: #b9c4be; cursor: not-allowed; }
    .trivino-cmp-bar__clear { background: none; border: none; color: #b9c4be; cursor: pointer; font-size: 13px; text-decoration: underline; padding: 4px; }
    .trivino-cmp-overlay { position: fixed; inset: 0; background: rgba(15,31,23,.55); z-index: 9999; display: none; align-items: center; justify-content: center; padding: 16px; }
    .trivino-cmp-overlay.open { display: flex; }
    .trivino-cmp-modal { background: #fff; border-radius: 16px; max-width: 1000px; width: 100%; max-height: 88vh; overflow: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
    .trivino-cmp-modal__head { position: sticky; top: 0; background: #fff; display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 2px solid #008555; z-index: 2; }
    .trivino-cmp-modal__title { font-size: 17px; font-weight: 700; color: #0f1f17; }
    .trivino-cmp-modal__close { background: none; border: none; font-size: 26px; line-height: 1; color: #6c757d; cursor: pointer; padding: 0 4px; }
    .trivino-cmp-table { width: 100%; border-collapse: collapse; font-size: 13px; }
    .trivino-cmp-table td { padding: 10px 12px; border-bottom: 1px solid #e9ecef; text-align: left; vertical-align: top; }
    .trivino-cmp-rowlabel { font-weight: 600; color: #495057; background: #fafbfc; white-space: nowrap; width: 150px; position: sticky; left: 0; }
    .trivino-cmp-prod-img { width: 90px; height: 90px; object-fit: contain; border: 1px solid #e9ecef; border-radius: 8px; background: #fff; }
    .trivino-cmp-prod-name { font-weight: 600; color: #212529; text-decoration: none; }
    .trivino-cmp-prod-name:hover { color: #008555; }
    .trivino-cmp-prod-price { font-weight: 700; color: #008555; }
    .trivino-cmp-diff { background: #fff8e6; }
    @media (max-width: 600px) { .trivino-cmp-rowlabel { width: 92px; } .trivino-cmp-prod-img { width: 62px; height: 62px; } .trivino-cmp-table td { padding: 8px; } }

    /* ===== Badge disponibilidad ===== */
    .trivino-st-avail { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap; line-height: 1.35; }
    .trivino-st-avail svg { width: 13px; height: 13px; flex-shrink: 0; }
    .trivino-st-avail--green { background: #e7f6ee; color: #0a7a43; }
    .trivino-st-avail--blue  { background: #e8f1fe; color: #1761c4; }
    .trivino-st-avail--grey  { background: #f1f3f5; color: #6c757d; }
    .trivino-st-avail.is-checking { opacity: .65; }
    .trivino-st-mcard-avail { margin-top: 4px; }
