
.filtro-precio .filtro-contenido {
    padding: 0 5%;
}

.filtro-precio #price-slider {
    margin: 6px;
}

.filtro-precio .price-slider-amount {
    text-align: center;
    color: #1a448d;
}

/* Estilos de la librería noUiSlider */
.noUi-connect {
    background: #0075ff; /* Usando el azul de tus filtros activos */
}

.noUi-handle {
    border-radius: 50%;
    background: #FFF;
    border: 2px solid #0075ff;
    box-shadow: none;
    cursor: pointer;
}

.noUi-handle:before, .noUi-handle:after {
    display: none;
}
.noUi-horizontal {
    height: 5px;
}
.noUi-horizontal .noUi-handle {
    width: 18px;
    height: 18px;
    right: -9px;
    top: -7px;
}


li.opcion-deshabilitada {
    opacity: 0.5;
    pointer-events: none;
}

li.opcion-deshabilitada label {
    cursor: not-allowed !important; 
}

a.filtros-toggle {
    display: flex;
}

a.filtros-toggle svg {
    width: 30px;
    height: 30px;
    color: #fff;
}
.product-actions-wrapper {
    flex: 1;
    display: flex;
}
.productos {
    padding: 3px 6px 6px 3px;
    transition: none;
}

.productos.loading {
    opacity: 0.8;
    transition: opacity 0.1s ease;
}

button#quitar-filtros {
    padding: 6px 12px;
    font-size: small;
    text-transform: unset;
    letter-spacing: normal;
    border-radius: 6px!important;
}

.pagination-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    padding: 3px 3px;
    background: #fff;
    border-radius: 6px;
    flex-direction: row-reverse;
}

nav.pagination {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 6px;
    padding: 3px 12px;
    color: gray;
    font-size: small;
    line-height: normal;
}

a.custom-cart-icon {
    display: flex;
    justify-content: flex-end;
}

.custom-cart-icon svg {
    width: 30px;
    height: 30px;
    stroke: white;
}

.cart-count {
    position: absolute;
    top: -3px;
    right: -3px;
    color: white;
    font-size: 12px;
    font-weight: bold;
    border-radius: 50%;
    padding: 3px 3px;
    text-align: center;
    line-height: 13px;
    min-width: 14px;
    transform: scale(1);
    transition: transform 0.3s ease-out;
}

.cart-count.animated {
    animation: pop 0.4s ease-in-out;
}

@keyframes pop {
    0% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.5); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

.btn-consultar {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    line-height: 1;
}

.consultar-icon {
    width: 16px;
    height: 16px;
}

.btn-mas-info {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    line-height: 1;
}

.info-icon {
    width: 16px;
    height: 16px;
}

.producto-acciones button {
    background: #fff;
    color: gray;
    border-right: 1px dotted lightgray;
    padding: 8px 12px;
    border: 1px solid lightgray;
    line-height: 0em;
    border-radius: 3px!important;
    text-transform: capitalize;
    font-weight: 400;
    transition-duration: unset;
}

.producto-acciones button:hover {
    color: #FFF!important;
    border: 1px solid #0075ff!important;
    background: #0075ff!important;
    box-shadow: none;
    transform: unset;
    transition: unset;
}

.mi-plugin-banner img {
    border-radius: 6px;
    width: 100%;
}

.layout-toggle {
    display: flex;
    gap: 10px;
    align-items: center;
}

.slick-slide .producto a {
    display: flex;
    flex-direction: column;
}

.layout-icon {
    cursor: pointer;
    padding: 5px;
    background: #f2f2f2;
    border-radius: 5px;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    color: gray;
}

.layout-icon svg {
    width: 20px;
    height: 20px;
}

.layout-icon.active {
    background: #0075ff;
    border-radius: 5px;
    color: #fff;
}

.productos-lista.layout-grid a.producto-link {
    order: 0;
    display: flex;
    flex-direction: column;
}
.productos-lista.layout-list .producto-item {
    display: block;
    margin-bottom: 6px;
}

li.producto-item {
    margin: 0;
}

.productos-lista.layout-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 6px;
    transition: none;
}

.productos-lista.layout-grid .producto {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: nowrap;
    height: 100%;
}

.productos-lista.layout-grid .producto-item {
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
}

.productos-lista.layout-grid .producto-imagen img {
    object-fit: cover;
}

.productos-lista.layout-grid .producto-atributos {
    padding: 10px;
}

.producto-compra-info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 12px;
    align-items: center;
    line-height: normal;
}

.single-product .producto-compra-info {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 21px;
}

.single-product .producto-atributos {
    border-collapse: initial;
    border-radius: 3px;
    overflow: hidden;
    line-height: 1.3em;
    font-size: smaller;
}

.zona-compra-restringida button.btn-registrarse {
    display: none;
}

.productos-lista.layout-grid .zona-compra {
    padding: 10px;
    order: 3;
}

.productos-lista.layout-grid a.producto-link {
    order: 1;
    display: flex;
    flex-direction: column;
}

.productos-lista.layout-grid .producto-imagen {
    min-height: 140px;
}

.productos-lista.layout-grid .producto-atributos {
    order: 3;
}

.productos-lista.layout-grid .zona-compra.registrado {
    order: 2;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

.category-card {
    background: #fff;
    padding: 10%;
    display: flex;
    flex-direction: column;
    align-content: space-between;
    align-items: center;
    border-radius: 6px;
}

.categories-grid .category-image {
    display: flex;
    vertical-align: middle;
    min-height: 240px;
    align-content: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.category-name {
    font-weight: bold;
    font-size: large;
    color: #000;
}

.category-image img {
    max-width: 100%!important;
    max-height: 180px;
}

.category-card:hover {
    background: #fafafa;
}

@media (max-width: 1024px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    span.layout-icon.layout-grid.active {
        display: none;
    }
    .filtros-productos {
        height: 100vh !important;
        background: #0f2b5c;
        min-width: initial!important;
        padding: 12px!important;
    }
    .module_column.tb-column.col4-2.tb_ax1d871.filtros-columna.first.active {
        width: 80vw !important;
    }
    .module_column.tb-column.col4-2.tb_ax1d871.filtros-columna.first {
        visibility: hidden;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 80vw!important;
        height: 100vh !important;
        z-index: 1000;
        max-width: none !important;
        transform: translateX(-100%);
        transition: transform 0.3s ease, visibility 0.3s ease;
    }
    .module_column.tb-column.col4-2.tb_ax1d871.filtros-columna.first.active {
        visibility: visible;
        transform: translateX(0);
    }
    .module_column.tb-column.col4-2.tb_kulu871.last {
        width: 100vw !important;
        margin-left: 0 !important;
    }
    .module_column.tb-column.col4-2.tb_kulu871.last.active {
        width: 100vw !important;
        margin-left: 0 !important;
    }
    .filter-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.2);
        z-index: 999;
    }
    .filter-overlay.active {
        display: block;
    }
}

.filtro-checklist label {
    display: flex;
    align-items: center;
}

.filtro-acordeon {
    display: block;
}

.filtro-vacio {
    display: none;
}

.category-image img {
    mix-blend-mode: multiply;
}

.product-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 3px 0px 6px 3px;
    padding: 3px 3px;
    background: #fff;
    border-radius: 6px;
    flex-direction: row-reverse;
}
.product-controls a:hover {
    color: #0075ff;
}

nav.breadcrumb {
    order: 1;
}
nav.breadcrumb span {
    font-size: medium;
    font-weight: 800;
    color: #1a448d;
}
.order-selector {
    order: 3;
}

.pagination-top {
    order: 2;
}

select#ordenar-productos {
    color: gray;
    border-radius: 3px!important;
    text-transform: capitalize;
    font-weight: 400;
    transition-duration: unset;
    padding: 6px 30px 6px 12px;
    margin: 0 12px;
    font-size: small;
    background-color: transparent;
    border: 1px solid lightgray;
}

.order-selector label {
    display: none;
}

.pagination a, .pagination span {
    padding: 2px 5px;
    margin: 0 2px;
    display: inline-block;
}

.pagination .disabled {
    opacity: 0.5;
}

ul.filtro-checklist.filtro-contenido.filtro-subcategory label {
    padding: 6px;
    min-height: 62px;
}

ul.filtro-checklist.filtro-contenido.filtro-subcategory img {
    mix-blend-mode: multiply;
}

ul.filtro-checklist.filtro-contenido.filtro-subcategory {
    display: flex;
    flex-direction: column;
}

.filtro-acordeon .category-image {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}

.filtro-acordeon .category-image img {
    max-width: 60px;
    height: auto;
}

.filtro-acordeon .filtro-checklist label {
    display: flex;
    align-items: center;
}

.popup-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

a.btn-mas-info {
    color: gray;
    border: 1px solid gray;
    border-radius: 3em;
    padding: 6px 21px;
}

.producto-acciones {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
}

button.btn-registrarse {
    background: #1a448d!important;
    color: #fff;
    text-transform: inherit;
    letter-spacing: inherit;
}

.zona-compra.no-registrado {
    background: aliceblue;
    text-align: center;
    color: #1a448d;
    display: flex;
    align-content: center;
    align-items: center;
    padding: 12px;
    flex: 1;
    flex-direction: column;
    justify-content: center;
}

.datos-cliente {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 6px;
    text-align: left;
    background: #fff;
}

.datos-cliente img.avatar {
    border-radius: 50%;
    width: 60px;
    height: auto;
}

.info-cliente {
    line-height: 1.2;
}

.producto-info img {
    width: 60px;
    height: auto;
}

#enviar-consulta {
    background-color: #20b2aa;
}

.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 9998;
}

.popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 21px;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 600px;
    text-align: center;
    display: none;
    z-index: 9999;
}

p#mensaje-consulta {
    padding: 5%;
    margin: 0;
    font-size: large;
}

.popup .close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    cursor: pointer;
    font-weight: bold;
    color: #333;
}

.popup .close:hover {
    color: red;
}

button {
    border-radius: 5em!important;
}

.b2b-customer-header {
    border-radius: 3px;
}

.b2b-logged-in {
    background: #0f2b5c;
    color: #fff;
    border-radius: 2em;
    padding: 6px 16px 6px 6px;
    font-size: small;
}

.b2b-logged-in:hover {
    background: #3278fa;
}

.b2b-logged-out a {
    background: #0f2b5c;
    display: block;
    padding: 6px 12px;
    border-radius: 6px;
    color: #fff;
}

.b2b-logged-out a:hover {
    background: #0075ff;
    color: #fff;
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
    background: #0f2b5c;
}

.b2b-customer-header img {
    border-radius: 50%;
    width: 32px;
    height: 32px;
    border: 2px solid rgba(255, 255, 255, 0.5);
}

span.b2b-name-customer {
    max-width: 21ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: small;
}

.b2b-customer-header.b2b-logged-in a {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
}

.b2b-customer-header.b2b-logged-out a svg {
    width: 33px;
    height: 33px;
}

#woocommerce-ajax-search-form {
    position: relative;
    width: 100%;
    margin: 0 auto;
}

#search-field {
    width: 100%;
    padding: 10px 15px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    outline: none;
    transition: all 0.3s ease;
    margin: 0;
}

#search-field:focus {
    border-color: #0071a1;
    box-shadow: 0 0 5px rgba(0, 113, 161, 0.3);
}

#ajax-search-results {
    position: absolute;
    width: 100%;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    display: none;
    top: 100%;
    left: 0;
    max-height: 300px;
}

.search-alert {
    display: none;
    position: absolute;
    top: 50%;
    right: 98%;
    transform: translateY(-50%);
    background: #20b2aa;
    color: white;
    padding: 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: bold;
    white-space: nowrap;
    line-height: 1em;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.search-alert::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translateY(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent transparent #20b2aa;
}

.woocommerce-ajax-search-item {
    transition: background 0.3s ease, transform 0.1s ease;
    display: flex;
    align-items: flex-start;
    padding: 6px 12px;
    border-bottom: 1px solid #eee;
}

.woocommerce-ajax-search-item:last-child {
    border-bottom: none;
}

.woocommerce-ajax-search-item:hover {
    background: aliceblue;
    cursor: pointer;
}

.woocommerce-ajax-search-item a {
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none;
    color: #333;
}

.woocommerce-ajax-search-item img {
    mix-blend-mode: multiply;
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 5px;
    margin-right: 10px;
}

.woocommerce-ajax-search-details {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.woocommerce-ajax-search-title {
    font-weight: bold;
}

.woocommerce-ajax-search-meta {
    font-size: 12px;
    color: #666;
}

.woocommerce-ajax-search-price {
    font-size: smaller;
}

.filtros-columna {
    position: sticky !important;
    top: calc(var(--filtro-top) + var(--breadcrumb-height));
    height: calc(100vh - (var(--filtro-top) + var(--breadcrumb-height)));
}

.rango-precio {
    position: relative;
    width: 100%;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    cursor: pointer;
    margin: 20px 0;
}

.rango-precio::before,
.rango-precio::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: #007bff;
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.2s;
}

.rango-precio::before {
    left: var(--min-porcentaje, 0%);
    transform: translate(-50%, -50%);
}

.rango-precio::after {
    left: var(--max-porcentaje, 100%);
    transform: translate(-50%, -50%);
}

#precio-min-val,
#precio-max-val {
    display: inline-block;
    margin: 0 5px;
}

li.producto-item .marca-logo {
    max-width: 100px;
    margin-bottom: 12px;
}

.product-description li::marker {
    font-size: 1.3em;
    padding: 0px;
    margin: 0px;
}



.filtro-precio-wrap .filtro-titulo {
    background: #13326a;
    color: #fff;
}

.filtro-precio input {
    background: slategray!important;
    padding: 0!important;
    margin: 0!important;
    border: unset!important;
    width: 100%!important;
    height: 1px!important;
}

.breadcrumb-wrap {
    top: calc(var(--filtro-top));
    position: sticky!important;
    z-index: 1;
}

.filtro {
    top: calc(var(--filtro-top) + var(--breadcrumb-height));
    position: sticky!important;
}

.filtros-productos {
    min-width: min-content;
    overflow-y: auto;
    height: calc(100vh - (var(--filtro-top) + var(--breadcrumb-height) + var(--subcategorias-height) + var(--categoria-actual-height)));
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 6px;
    font-size: 0.85em;
    padding: 6px 3px 6px 6px;
    transition: none;
}

.precio-valores {
    text-align: center;
    color: #173d7f;
}

.filtros-productos {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.filtros-productos::-webkit-scrollbar {
    display: none;
}

.filtros-productos::-webkit-scrollbar-track {
    display: none;
}

.filtros-productos::-webkit-scrollbar-thumb {
    display: none;
}

.filtros-productos::-webkit-scrollbar-thumb:hover {
    display: none;
}

.filtros-productos {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

.filtros-productos::-webkit-scrollbar {
    width: 4px;
}

.filtros-productos::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
}

.filtros-productos::-webkit-scrollbar-track {
    background: transparent;
}

.filtro-acordeon {
    background: #fff;
    border-radius: 6px;
}

.filtros-atributos {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 6px;
    margin-bottom: 10%;
}

.filtro-titulo {
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: initial;
    padding: 12px;
    color: #1a448d;
    font-size: smaller;
    font-weight: 500;
    letter-spacing: 0.05em;
    border-radius: 6px;
}

label.filtro-titulo.open {
    background: #fff;
    color: #1a448d;
}

label.filtro-titulo:hover {
    background: aliceblue;
    color: #1a448d;
    border-radius: 6px;
}

.filtro-contenido {
    transition: max-height 0.2s ease;
}

.filtro-contenido.open {
    max-height: 500px;
}

.filtro-acordeon ol, .filtro-acordeon ul {
    margin: 0;
}

.filtro-checklist {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
    max-height: fit-content;
    padding: 6px;
}



.filtro-checklist li {
    margin: 0;
}

.filtro-checklist label {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 6px;
    color: #1a448d;
    text-transform: uppercase;
    font-weight: bold;
    font-size: smaller;
    border-radius: 6px;
    line-height: 1.6em;
    background: #1a448d0d;
}

.filtro-checklist input {
    margin-right: 5px;
}

.filtro-checklist label:hover {
    background: #1a448d;
    color: #fff;
}

.filtro-checklist::-webkit-scrollbar {
    width: 6px;
}

.filtro-checklist::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.filtro-checklist::-webkit-scrollbar-thumb:hover {
    background: #999;
}

a.producto-link {
    display: flex;
    flex: 2;
    pointer-events: auto;
}

.producto {
    display: flex;
    flex-direction: row;
    width: 100%;
    flex-wrap: nowrap;
    align-items: stretch;
}

.productos-lista {
    width: 100%;
}

.producto-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
}

a li.producto-item {
    color: #000;
}

#ordenar-productos {
    margin: 0;
}

#ordenar-productos:hover {
    background-color: #fff;
}

.filtro-checklist li:hover {
    opacity: 1!important;
}

ul.productos-lista {
    margin: 0;
    padding: 0px;
}

label.filtro-activo {
    background-color: #0075ff;
    color: white;
}

li.filtro-disabled label {
    background: #f2f2f2;
    color: lightslategray;
}

li.filtro-disabled label:hover {
    background: aliceblue;
    color: #1a448d;
}

label.filtro-activo:hover {
    background-color: #144073;
    color: #fff;
}

.zona-compra.registrado {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1;
    align-content: space-between;
    align-items: stretch;
    margin-bottom: 12px;
    max-width: 480px;
    padding: 6px 12px;
}

.single-product .zona-compra.registrado {
    padding: 0px;
}

.producto-carrito button.btn-anadir {
    background: #3278fa!important;
}

a.added_to_cart.wc-forward {
    color: gray;
    display: none!important;
}

.producto-carrito {
    display: flex;
}

.producto-carrito button.btn-ver {
    background: transparent;
    color: #1a448d;
    border: 1px solid #1a448d;
}

form.cart {
    width: fit-content;
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

.cart-count {
    background: #0075ff!important;
}

.btn-anadir:hover {
    background: #0075ff;
    transform: unset;
    box-shadow: unset;
}

.producto-imagen {
    flex: 1;
    background: #fafafa;
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 12px;
}

.producto-item .producto-imagen img {
    mix-blend-mode: multiply;
    width: auto;
    margin: auto;
    max-height: 70px;
}

.subcategory-info {
    color: #000;
    font-weight: bold;
    letter-spacing: 0.04em;
}
nav.breadcrumb a {
    color: gray;
}

.grid-order-zone {
    display: flex;
    gap: 12px;
}

.breadcrumb-zone {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 12px;
    padding: 3px 12px;
    color: gray;
    font-size: small;
    line-height: normal;
}

.producto-item .producto-info {
    flex: 1.5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3px 12px;
}

.producto-item .producto-atributos {
    flex: 1;
    display: flex;
    background: #fafafa;
    align-items: center;
}

.zona-compra-restringida p {
    margin: 6px;
    font-size: medium;
    line-height: normal;
}

.producto-item .tabla-atributos-producto td:nth-child(2) {
    max-height: 30px;
    overflow-y: auto;
}

.producto-info h3 {
    font-weight: 500;
    font-size: medium;
    margin: 0;
}

.producto-item:hover {
}

.producto-item .tabla-atributos-producto {
    width: 100%;
    border-collapse: initial;
    border-radius: 3px;
    overflow: hidden;
    line-height: 1.1em;
    font-size: small;
    padding: 3px 6px;
}

.tabla-atributos-producto td {
    padding: 3px;
    text-align: left;
    border-bottom: 1px solid #eaeaea;
    color: #555;
    vertical-align: top;
    word-wrap: break-word;
    white-space: normal;
}

.tabla-atributos-producto tr:last-child td {
    border-bottom: none;
}

.links-categorias li a {
    transition: box-shadow 0.3s ease-out;
}

.links-categorias li a:hover {
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
    background: aliceblue;
}

.tabla-atributos-producto td:first-child {
    font-weight: bold;
    color: #333;
    width: 50%;
}

.tabla-atributos-producto td:last-child {
    overflow-y: auto;
    height: 100%;
    word-break: break-word;
    text-transform: uppercase;
}

.tabla-atributos-producto td:last-child::-webkit-scrollbar {
    width: 6px;
}

.tabla-atributos-producto td:last-child::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
}

.tabla-atributos-producto td:last-child::-webkit-scrollbar-thumb:hover {
    background-color: #999;
}

.skuclass {
    font-size: small;
    color: darkgray;
}

.filtro-bloque {
    display: flex;
    flex-direction: column;
    min-width: 150px;
}

.filtro-bloque select {
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.categoria-actual {
    background-color: #1a448d;
    color: #fff;
    padding: 6px 12px;
    border-radius: 6px 6px 6px 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

button.btn-ver-producto {
    BACKGROUND: #1a448d;
}

.current-categoria {
    font-size: medium;
    text-transform: uppercase;
    font-weight: 500;
}

.filtro-acordeon .category-image img {
    max-width: 50px!important;
    max-height: 50px;
}

.links-categorias a::after {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px;
    background-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%23ffffff' stroke-width='1.5' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m8.25 4.5 7.5 7.5-7.5 7.5'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
}

.filtro-vesa, .filtro-peso-maximo, .filtro-tamano, .filtro-resolucion {
    grid-template-columns: repeat(3, 1fr);
}

span.stock-text {
    color: #3278fa;
    font-size: small;
}

.producto-stock {
    display: flex;
    align-items: center;
    gap: 3px;
    line-height: initial;
}

.producto-stock.no-hay-stock span {
    color: lightseagreen;
}

.stock-icon {
    display: inline-block;
    width: 21px;
    height: 21px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill=%22none%22 stroke=%22currentColor%22 stroke-width=%221.5%22><path stroke-linecap=%22round%22 stroke-linejoin=%22round%22 d=%22M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12%22></path></svg>');
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill=%22none%22 stroke=%22currentColor%22 stroke-width=%221.5%22><path stroke-linecap=%22round%22 stroke-linejoin=%22round%22 d=%22M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12%22></path></svg>');
    background-color: currentColor;
    color: #3278fa;
}

.single-product .btn-descarga {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
}

.single-product .marca-logo {
    max-width: 100px;
}

.single-product .descargar-ficha a {
    display: flex;
    justify-content: center;
    padding: 12px;
    margin: 6px;
    font-weight: 600;
    border-radius: 6px;
    background: #f2f2f2;
    color: gray;
    pointer-events: auto;
}

.single-product .descargar-ficha a:hover {
    background: #3379fa;
    color: #fff;
}

.single-product .icono-descarga {
    width: 24px;
    height: 24px;
    max-width: 30px;
    max-height: 30px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3"></path></svg>');
    filter: invert(0);
}

.single-product .descargar-ficha a:hover .icono-descarga {
    filter: invert(1);
}

.single-product .product-description ul {
    line-height: 1em;
}

.single-product .btn-anadir {
    font-size: large!important;
}

.single-product table.tabla-atributos-producto {
    width: 100%;
    padding: 6px;
    border: 1px dotted lightgrey;
    border-radius: 6px;
}

.single-product .product-description ul li {
    line-height: 1.1em;
    margin-bottom: 0.5em;
}

.product-description li {
    list-style: none;
    position: relative;
    padding-left: 30px;
}

.product-description li::before {
    content: "";
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg fill="none" stroke-width="1.5" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5"></path></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

.tabla-atributos-producto td:first-child {
    font-weight: 500;
    color: #333;
}

.product-description ul {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
}

@media (max-width: 767px) {
    .layout-icon.layout-list {
        display: none !important;
    }
    .layout-icon.layout-grid {
        display: inline-block;
    }
}

@media (min-width: 480px) {
    .product-description ul:has(li:nth-child(4)) {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }
}

@media (max-width: 768px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
    .category-card {
        padding: 12px;
    }
    .category-image img {
        max-height: 120px;
        width: auto;
    }
    .categories-grid .category-image {
        min-height: 150px;
    }
    .category-name {
        font-size: medium;
    }
    .b2b-logged-out {
        background: transparent;
    }
    .producto-item .producto-imagen img {
        max-height: 20vh;
    }
    .producto-atributos {
        display: none !important;
    }
    .filtros-productos {
        height: 100vh !important;
    }
    .module_column.tb-column.col4-2.tb_ax1d871.filtros-columna.first {
        visibility: hidden;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 90vw;
        height: 100vh !important;
        z-index: 1000;
        max-width: none !important;
        transform: translateX(-100%);
        transition: transform 0.3s ease, visibility 0.3s ease;
    }
    .module_column.tb-column.col4-2.tb_ax1d871.filtros-columna.first.active {
        visibility: visible;
        transform: translateX(0);
        width: 90vw !important;
    }
    .module_column.tb-column.col4-2.tb_kulu871.last {
        width: 100vw !important;
        margin-left: 0 !important;
    }
    .module_column.tb-column.col4-2.tb_kulu871.last.active {
        width: 100vw !important;
        margin-left: 0 !important;
    }
    .productos {
        padding: 6px;
    }
}

.ui-slider {
    position: relative;
    text-align: left;
    background: #e0e0e0;
    border-radius: 4px;
    height: 8px;
    margin: 20px 0;
}

.ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 16px;
    height: 16px;
    background: #007bff;
    border-radius: 50%;
    cursor: pointer;
    top: -4px;
}

.ui-slider .ui-slider-range {
    background: #007bff;
    position: absolute;
    z-index: 1;
    height: 8px;
    border-radius: 4px;
}



.precio-valores {
    text-align: center;
    color: #173d7f;
    margin-top: 10px;
}

.grid-order-zone {
    display: flex;
    align-items: center;
    gap: 24px;
}

.no-price-toggle label {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #444;
    cursor: pointer;
    user-select: none;
}

.no-price-toggle input[type="checkbox"] {
    display: none;
}

.no-price-toggle label::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    border: 1px solid #b0b0b0;
    border-radius: 3px;
    background: #fff;
    transition: background-color 0.2s, border-color 0.2s;
}

.no-price-toggle input[type="checkbox"]:checked + label::before {
    background-color: #2a6df4;
    border-color: #2a6df4;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
}

.no-price-toggle label:hover::before {
    border-color: #2a6df4;
}