/* ==========================================================================
   CATEGORY LISTING — topdormitorios
   Reconstruido desde cero usando solo tokens de variables.css.
   ========================================================================== */

html {
    scroll-behavior: smooth;
}

#header .header-column {
    padding-left: 0;
    padding-right: 0;
}

#category #tpd-categoria-descripcion h2 {
    color: var(--tpd-color-text-secondary);
    font-weight: 600;
    font-size: 1.25rem;
    padding: 10px 0;
    line-height: 22px;
}

#category #tpd-categoria-descripcion h3,
#category #tpd-categoria-descripcion h3 span {
    font-weight: 600;
    text-transform: none;
    font-size: 18px;
    padding: 10px 0;
    line-height: 20px;
}

#category #tpd-categoria-descripcion h4 {
    font-size: 1.125rem;
    margin-bottom: .5rem;
    font-family: inherit;
    font-weight: 700;
    line-height: 1.1;
    color: inherit;
}

#category #tpd-categoria-descripcion a {
    color: #007DA3;
    font-family: "Poppins", poppins;
    font-size: 14px;
    text-decoration: underline;
}


/* ----- Cabecera de categoría (dos columnas, gap 64px = --tpd-spacing-lg) ----- */
.tpd-category__header {
    margin-bottom: var(--tpd-spacing-md);
    padding-bottom: var(--tpd-spacing-md);
    border-bottom: 1px solid var(--tpd-color-border);
}

.tpd-category__header-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tpd-spacing-lg);
    align-items: center;
}

@media (min-width: 768px) {
    .tpd-category__header:not(.tpd-category__header--no-media) .tpd-category__header-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    }
}

.tpd-category__header-media {
    min-width: 0;
}

.tpd-category__header-content {
    min-width: 0;
}

.tpd-category__title {
    margin: 0 0 var(--tpd-spacing-sm);
}

.tpd-category__header-teaser {
    margin: 0 0 var(--tpd-spacing-sm);
    font-family: var(--tpd-font-family);
    font-size: var(--font-size-base);
    line-height: 1.55;
    color: var(--tpd-color-grey-dark);
    white-space: normal;
    display: inline;
}

.tpd-category__header-readmore {
    display: inline-block;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
}

.tpd-category__header-readmore:hover,
.tpd-category__header-readmore:focus-visible {
    text-decoration: underline;
}

.tpd-category__cover {
    margin-bottom: 0;
    border-radius: 0;
    overflow: hidden;
    background: var(--tpd-color-grey);
    aspect-ratio: 2 / 1;
    max-width: 800px;
    max-height: 400px;
    width: 100%;
}

.tpd-category__cover picture {
    display: block;
    width: 100%;
    height: 100%;
}

.tpd-category__cover img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 800px;
    max-height: 400px;
    object-fit: cover;
    aspect-ratio: 2 / 1;
}

.tpd-category__description {
    font-family: var(--tpd-font-family);
    color: var(--tpd-color-grey-dark);
    font-size: 1rem;
    line-height: 1.55;
    max-width: 90ch;
}

.tpd-category__description p { margin: 0 0 0.75rem; }
.tpd-category__description p:last-child { margin-bottom: 0; }

/* Carrusel dentro de #products: scroll horizontal + barra visible */
.tpd-category-page__carousel-wrap {
    margin-bottom: var(--tpd-spacing-xl);
    width: 100%;
}

.tpd-category-carousel--in-products {
    margin: 0 0 var(--tpd-spacing-md);
    padding: 0;
}

.tpd-category-carousel--in-products .tpd-category-carousel__title,
.tpd-category-carousel--in-products .tpd-category-reco__title {
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    text-align: left;
    margin: 0 0 var(--tpd-spacing-sm);
    font-weight: 700;
    color: var(--tpd-color-primary);
}

/* Splide categoría (displayCategoriesCarousel); estilos de .custom-scrollbar inyectados en global.js */
.tpd-category-carousel--subs .custom-scrollbar {
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1));
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
}

.tpd-category-carousel--subs .custom-scrollbar-thumb,
.tpd-category-carousel--products .custom-scrollbar-thumb {
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
    border-radius: 10px;
}

.tpd-category-carousel--subs .custom-scrollbar-thumb {
    transition: none;
}

.tpd-category-carousel--in-products .js-tpd-cat-carousel.splide {
    margin: 0;
}

.tpd-category-carousel--in-products .js-tpd-cat-carousel .splide__slide {
    height: auto;
}

/* Subcategorías: miniaturas redondas en franja */
.tpd-category-carousel--in-products.tpd-category-carousel--subs .tpd-subcategories__card {
    display: flex;
    flex-direction: column;
    align-items: start;
    width: 100%;
    padding: var(--tpd-spacing-xs) 0;
    background: transparent;
    border: none;
    box-shadow: none;
    gap: var(--tpd-spacing-xs);
    text-decoration: none;
    color: inherit;
}

.tpd-category-carousel--in-products.tpd-category-carousel--subs .tpd-subcategories__media {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 2.25;
    background: var(--tpd-color-grey);
    overflow: hidden;
    position: relative;
}

.tpd-category-carousel--in-products.tpd-category-carousel--subs .tpd-subcategories__name {
    font-size: var(--font-size-sm);
    font-weight: 500;
    text-align: left;
    width: 100%;
}

/*.tpd-category-carousel--in-products.tpd-category-carousel--subs .tpd-subcategories__card:hover .tpd-subcategories__name,
.tpd-category-carousel--in-products.tpd-category-carousel--subs .tpd-subcategories__card:focus-visible .tpd-subcategories__name {
    color: var(--tpd-color-secondary);
}*/

/* Productos en franja (slides Splide) */
.tpd-category-carousel--products .splide__slide.tpd-category-carousel__slide--product {
    max-width: min(240px, 72vw);
}

.tpd-category-carousel--in-products.tpd-category-carousel--products .tpd-miniature {
    height: 100%;
    border-radius: var(--tpd-radius-default);
    box-shadow: var(--tpd-shadow-card-sm);
}

.tpd-category-carousel--in-products.tpd-category-carousel--products .tpd-miniature__title {
    min-height: 0;
    font-size: 0.9rem;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.tpd-category-carousel--in-products.tpd-category-carousel--products .tpd-miniature__price {
    font-size: 1.2rem;
}

/* Descripción de categoría (ancla #tpd-categoria-descripcion) */
.tpd-category-page__description-below {
    font-family: var(--tpd-font-family);
    color: var(--tpd-color-grey-dark);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 0;
    padding: var(--tpd-spacing-md) 0;
    scroll-margin-top: var(--tpd-spacing-md);
}

.tpd-category-page__description-below p { margin: 0 0 0.75rem; }
.tpd-category-page__description-below p:last-child { margin-bottom: 0; }

/* ----- Grid de subcategorías -------------------------------------------- */
.tpd-subcategories {
    margin: var(--tpd-spacing-md) 0;
}

.tpd-subcategories__grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--tpd-spacing-sm);
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 576px) { .tpd-subcategories__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .tpd-subcategories__grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1400px) { .tpd-subcategories__grid { grid-template-columns: repeat(6, 1fr); } }

.tpd-subcategories__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--tpd-spacing-xs);
    padding: var(--tpd-spacing-sm);
    background: var(--tpd-color-white);
    border: 1px solid var(--tpd-color-border);
    border-radius: var(--tpd-radius-default);
    color: var(--tpd-color-primary);
    text-decoration: none;
    transition: var(--tpd-transition);
}

/*.tpd-subcategories__card:hover,
.tpd-subcategories__card:focus-visible {
    border-color: var(--tpd-color-secondary);
    box-shadow: var(--tpd-shadow-card-sm);
    transform: translateY(-2px);
}*/

.tpd-subcategories__media {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--tpd-radius-default);
    overflow: hidden;
    background: var(--tpd-color-grey);
}

.tpd-subcategories__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: -100%;
    bottom: -100%;
    left: -100%;
    right: -100%;
    margin: auto;
}

.tpd-subcategories__name {
    font-family: var(--tpd-font-family);
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
    color: var(--tpd-color-black);
}

/* ----- Barra superior (products-top) ------------------------------------ */
.tpd-products-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--tpd-spacing-sm);
    margin-bottom: var(--tpd-spacing-sm);
    padding: var(--tpd-spacing-xs) 0;
    border-bottom: 1px solid var(--tpd-color-border);
}

.tpd-products-top__count {
    font-family: var(--tpd-font-family);
    font-size: 0.9rem;
    color: var(--tpd-color-grey-dark);
}

.tpd-products-top__actions {
    display: flex;
    align-items: center;
    gap: var(--tpd-spacing-sm);
    flex-wrap: wrap;
    width: 100%;
}

.tpd-products-top__sort {
    display: block;
    width: 100%;
    position: relative;
}

.tpd-products-top__sort .products__sort-label { display: none; }

.products__sort-dropdown {
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: 1px solid var(--tpd-color-black);
    border-top: 1px solid var(--tpd-color-black);
}

.tpd-products-top__sort .dropdown-menu {
    width: 100%;
    inset: 12px auto auto 0px !important;
    border-radius: 0;
    border-color: var(--tpd-color-black);
}

.tpd-products-top__sort .products__sort-dropdown-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: none;
    padding: var(--tpd-spacing-xs) var(--tpd-spacing-md);
    padding-inline-end: calc(var(--tpd-spacing-md) + 1.1em);
    font-size: 15px;
}

.tpd-products-top__sort .products__sort-dropdown-button:hover  {
    color: var(--tpd-color-black);
}

.tpd-products-top__sort .products__sort-dropdown-button::after {
    position: absolute;
    inset-inline-end: var(--tpd-spacing-sm);
    top: 50%;
    margin-inline-start: 0;
    margin-left: 0;
    transform: translateY(-50%);
    vertical-align: 0;
}

.tpd-products-top__filter-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--tpd-spacing-xs);
    padding: 0.5rem 0.9rem;
    background: var(--tpd-color-primary);
    color: var(--tpd-color-white);
    border: none;
    border-radius: var(--tpd-radius-default);
    font-family: var(--tpd-font-family);
    font-weight: 600;
    cursor: pointer;
    transition: var(--tpd-transition);
}

.tpd-products-top__filter-btn .tpd-icons {
    --tpd-icon-color: var(--tpd-color-white);
    width: 18px;
    height: 18px;
}

.tpd-products-top__filter-btn:hover,
.tpd-products-top__filter-btn:focus-visible {
    background: var(--tpd-color-secondary);
}

@media (min-width: 1025px) {
    .tpd-products-top__filter-btn { display: none; }
}

/* ----- Grid de productos ------------------------------------------------- */
.tpd-products-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
    margin: 0 0 var(--tpd-spacing-md);
    padding: 0;
    list-style: none;
}

@media (min-width: 576px) { .tpd-products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .tpd-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1400px) { .tpd-products-grid { grid-template-columns: repeat(4, 1fr); } }

/* ----- Miniatura de producto -------------------------------------------- */
.tpd-miniature {
    display: flex;
    flex-direction: column;
    background: var(--tpd-color-white);
    overflow: hidden;
    transition: var(--tpd-transition);
    height: 100%;
    position: relative;
}

.tpd-miniature:hover {
    outline: none;
}

/*.tpd-miniature:hover,
.tpd-miniature:focus-within {
    border-color: var(--tpd-color-secondary);
    box-shadow: var(--tpd-shadow-card);
    transform: translateY(-2px);
}*/

.tpd-miniature__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--tpd-color-grey);
    padding: var(--tpd-spacing-sm);
    cursor: pointer;
    gap: 10px;
}

.tpd-miniature--grid .tpd-miniature__inner {
    padding-bottom: 56px;
}

.tpd-miniature__top {
    position: relative;
}

.tpd-miniature__media {
    display: block;
    aspect-ratio: 1 / 1;
    background: var(--tpd-color-grey);
    overflow: hidden;
}

.tpd-miniature__media-link {
    display: block;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.tpd-miniature__image {
    width: 100%;
    height: auto;
    max-width: 400px;
    object-fit: contain;
}

.tpd-miniature__image-container:has(.js-tpd-hover-carousel.is-visible) .tpd-miniature__media-link {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.tpd-miniature__image-container {
    position: relative;
    overflow: hidden;
}

.tpd-category-shell .tpd-miniature__image-container {
    padding: 0;
}

.tpd-miniature__bg-icon {
    padding: 0 var(--tpd-spacing-sm);
    display: flex;
    justify-content: start;
    align-items: center;
}

.tpd-miniature__bg-icon img {
    width: 100%;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: contrast(1.1);
    background: transparent !important;
    display: block;
}

.tpd-miniature__image-container .tpd-miniature__media-link {
    position: relative;
    z-index: 2;
}

.tpd-miniature__hover-carousel {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--tpd-color-grey);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.tpd-miniature__hover-carousel.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.tpd-miniature__hover-carousel.is-hiding {
    transition: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.tpd-miniature-hover-splide {
    position: relative;
}

.tpd-miniature-hover-splide,
.tpd-miniature-hover-splide .splide__track,
.tpd-miniature-hover-splide .splide__list {
    width: 100%;
    height: 100%;
}

.tpd-miniature-hover-splide .splide__slide {
    width: 100%;
    height: 100%;
}

.tpd-miniature-hover-splide .splide__slide {
    background-color: var(--tpd-color-grey);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.tpd-miniature__hover-image {
    width: 100%;
    height: 100%;
    max-width: 400px;
    max-height: 400px;
    object-fit: contain;
    display: block;
}

.tpd-miniature-hover-pagination-viewport {
    --tpd-miniature-hover-dot-step: 14px;
    --tpd-miniature-hover-dot-visible: 5;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(var(--tpd-miniature-hover-dot-step) * var(--tpd-miniature-hover-dot-visible));
    max-width: 100%;
    overflow: hidden;
    z-index: 4;
    pointer-events: none;
    transition: width 0.2s ease;
}

.tpd-miniature-hover-splide .tpd-miniature-hover-pagination {
    position: relative !important;
    inset: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-start;
    width: max-content !important;
    margin: 0;
    padding: 0;
    transform: translateX(0);
    transition: transform 0.2s ease;
    pointer-events: auto;
    height: 10px;
}

.tpd-miniature-hover-splide .tpd-miniature-hover-pagination > li {
    flex: 0 0 var(--tpd-miniature-hover-dot-step, 14px);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 7px;
}

.tpd-miniature-hover-splide .tpd-miniature-hover-pagination__page,
.tpd-miniature-hover-splide .splide__pagination__page {
    width: 5px;
    height: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #000;
    opacity: 0.2;
    transform: scale(0.6);
    transform-origin: center center;
    flex-shrink: 0;
    transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.tpd-miniature-hover-splide .tpd-miniature-hover-pagination__page.is-active,
.tpd-miniature-hover-splide .splide__pagination__page.is-active {
    background: #000;
}

.tpd-miniature__body {
    display: flex;
    flex-direction: column;
    gap: var(--tpd-spacing-xs);
    padding: 0;
    flex: 1 1 auto;
}

@media (min-width: 576px) {
    .tpd-miniature__body { padding: 0; }
    .tpd-category-shell .tpd-miniature__body {
        padding: 0;
    }
}

.tpd-miniature__title {
    margin: 0;
    font-family: var(--tpd-font-family);
    font-weight: 600;
    line-height: 1.3;
    min-height: 2.4em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: var(--tpd-spacing-sm);
}

.tpd-miniature__title a {
    text-decoration: none;
    font-size: var(--font-size-md)!important;
    display: block;
}

.tpd-miniature--grid .tpd-miniature__title a {
    color: #000;
    font-size: var(--font-size-md);
    font-weight: 600;
    text-decoration: none;
    line-height: 1.25em;
    -webkit-text-stroke-color: #000;
    stroke: #000;
    text-align: left;
    min-height: 50px;
    height: 50px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tpd-miniature--grid .tpd-miniature__description-short {
    margin: 0 0 var(--tpd-spacing-xs);
    font-family: var(--tpd-font-family);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4;
    color: var(--tpd-color-grey-dark);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tpd-miniature__variants {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tpd-spacing-xxs);
}

.tpd-miniature__prices {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    row-gap: var(--tpd-spacing-xxs);
    column-gap: var(--tpd-spacing-xs);
    margin-top: auto;
}

.tpd-miniature__regular-price {
    order: 1;
    flex: 0 0 auto;
    font-weight: 400;
    font-size: var(--font-size-md);
    text-decoration: line-through;
}

.tpd-miniature__price {
    order: 2;
    font-weight: 600;
    font-size: 22px;
}

.tpd-miniature__discount-percent {
    order: 1;
    font-size: var(--font-size-md);
    display: inline-block;
    padding: .25rem 0.5rem;
    font-weight: 700;
    color: var(--tpd-color-white);
    background-color: var(--tpd-color-primary);
}

.tpd-miniature__financing {
    margin: 0;
    font-family: var(--tpd-font-family);
    font-weight: 400;
    font-size: 0.85rem;
    color: var(--tpd-color-black);
    line-height: 1.35;
    opacity: 0.85;
    min-height: 20px;
}

.tpd-miniature__stock {
    margin: 0;
    font-family: var(--tpd-font-family);
    font-size: 0.85rem;
    font-weight: 500;
}

.tpd-miniature__stock--available { color: var(--tpd-color-eco); }
.tpd-miniature__stock--unavailable { color: var(--tpd-color-danger); }
.tpd-miniature__stock--last_remaining_items { color: var(--tpd-color-warning); }

.tpd-miniature__actions {
    display: flex;
    align-items: stretch;
    margin-top: var(--tpd-spacing-xs);
}

.tpd-miniature__btn {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1rem;
    font-family: var(--tpd-font-family);
    font-weight: 600;
    text-decoration: none;
    background: var(--tpd-color-secondary);
    color: var(--tpd-color-white);
    border: 1px solid var(--tpd-color-secondary);
    border-radius: var(--tpd-radius-default);
    transition: var(--tpd-transition);
}

.tpd-miniature__btn:hover,
.tpd-miniature__btn:focus-visible {
    background: var(--tpd-color-primary);
    border-color: var(--tpd-color-primary);
    color: var(--tpd-color-white);
}

/* ----- Flags ------------------------------------------------------------- */
.tpd-flags {
    position: absolute;
    top: var(--tpd-spacing-xs);
    left: var(--tpd-spacing-xs);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--tpd-spacing-xxs);
    list-style: none;
    padding: 0;
    margin: 0;
}

.tpd-flag {
    display: inline-block;
    padding: 0.25rem 0.6rem;
    font-family: var(--tpd-font-family);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--tpd-color-white);
    background: var(--tpd-color-primary);
    border-radius: var(--tpd-radius-tag);
    line-height: 1.3;
}

.tpd-flag--new { background: var(--tpd-color-secondary); }
.tpd-flag--on-sale,
.tpd-flag--discount,
.tpd-flag--discount-percentage,
.tpd-flag--discount-amount { background: var(--tpd-color-danger); }
.tpd-flag--pack { background: var(--tpd-color-eco); }
.tpd-flag--online-only { background: var(--tpd-color-grey-dark); }

/* ----- Sidebar de facets ------------------------------------------------- */
.tpd-facets {
    font-family: var(--tpd-font-family);
}

.tpd-facets__heading {
    font-family: var(--tpd-font-family);
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--tpd-color-primary);
    margin: 0 0 var(--tpd-spacing-sm);
}

.tpd-facets__clear {
    position: absolute;
    top: 0;
    right: var(--tpd-spacing-sm);

}

.tpd-facets__clear button {
    border: none;
    padding: 0;
    line-height: normal;
    font-size: var(--font-size-base);
}

.tpd-facets__accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-border-color: var(--tpd-color-border);
}

.tpd-facet {
    border: none;
    border-bottom: 1px solid var(--tpd-color-border);
    background: transparent;
}

.tpd-facet__title-wrap {
    margin: 0;
}

.tpd-facet__title,
.tpd-facet__title.accordion-button {
    font-family: var(--tpd-font-family);
    font-weight: 600;
    font-size: 1rem;
    color: var(--tpd-color-primary);
    background: transparent;
    padding: var(--tpd-spacing-sm) 0;
    box-shadow: none;
}

.tpd-facet__title:not(.collapsed) {
    color: var(--tpd-color-primary);
    background: transparent;
}

/* ----- Tiles uniformes de facet ------------------------------------------ */
.tpd-facet__tiles {
    list-style: none;
    padding: 0 0 var(--tpd-spacing-sm);
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: var(--tpd-spacing-xs);
}

.tpd-facet__tile-wrap {
    display: block;
}

.tpd-facet__tile {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tpd-spacing-xxs);
    width: 100%;
    min-height: 44px;
    padding: var(--tpd-spacing-xs);
    background: var(--tpd-color-grey);
    color: var(--tpd-color-primary);
    border: 1px solid transparent;
    border-radius: var(--tpd-radius-default);
    font-family: var(--tpd-font-family);
    text-align: center;
    cursor: pointer;
    transition: var(--tpd-transition);
}

.tpd-facet__tile-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.tpd-facet__tile:hover,
.tpd-facet__tile-input:focus-visible + .tpd-facet__tile {
    background: var(--tpd-color-grey-hover);
    border-color: var(--tpd-color-border);
}

.tpd-facet__tile--active {
    background: var(--tpd-color-secondary);
    color: var(--tpd-color-white);
    border-color: var(--tpd-color-secondary);
}

.tpd-facet__tile--active .tpd-facet__tile-link { color: var(--tpd-color-white); }

.tpd-facet__tile--active:hover {
    background: var(--tpd-color-secondary);
    color: var(--tpd-color-white);
    opacity: 0.92;
}

.tpd-facet__tile--disabled {
    opacity: 0.4;
    pointer-events: none;
}

.tpd-facet__tile-count {
    font-size: 0.75rem;
    opacity: 0.7;
}

/* Swatches (color/texture) — se respetan, solo mejoramos estilo base */
.tpd-facet__swatches {
    list-style: none;
    padding: 0 0 var(--tpd-spacing-sm);
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--tpd-spacing-xs);
}

.tpd-facet__swatches .search-filters__item {
    padding: 0;
}

/* ----- Filters link de facet ------------------------------------------------- */
.active-filters__list {
    gap: var(--tpd-spacing-sm);
    margin-bottom: 0;
}

.active-filters {
    margin-bottom: 20px;
}

.active-filters__title {
    font-weight: 400;
}

.active-filters__link {
    border-radius: var(--tpd-radius-default);
}

/* ----- Carousel de recomendados ----------------------------------------- */
.tpd-category-reco {
    margin: var(--tpd-spacing-lg) 0 var(--tpd-spacing-md);
}

/* Variante usada en categorías principales (reemplaza al grid de subcategorías):
   aparece inmediatamente tras el header, por eso reducimos el margen superior. */
.tpd-category-carousel.tpd-category-reco {
    margin-top: var(--tpd-spacing-md);
}

.tpd-category-reco__title {
    font-family: var(--tpd-font-family);
    font-weight: 700;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    color: var(--tpd-color-primary);
    margin: 0 0 var(--tpd-spacing-sm);
    text-align: center;
}

.tpd-category-reco__slider .splide__arrow {
    background: var(--tpd-color-primary);
    opacity: 1;
}

.tpd-category-reco__slider .splide__arrow svg {
    fill: var(--tpd-color-white);
}

.tpd-category-reco__slider .splide__arrow:hover:not(:disabled) {
    background: var(--tpd-color-secondary);
}

.tpd-category-reco__slider .splide__slide {
    height: auto;
}

.tpd-category-reco__slider .splide__slide > .tpd-miniature {
    height: 100%;
}

/* ----- Paginación ------------------------------------------------------- */
.products__pagination {
    margin-top: var(--tpd-spacing-md);
    display: flex;
    justify-content: center;
}

.products__pagination .pagination {
    display: flex;
    gap: var(--tpd-spacing-xxs);
}

.products__pagination .page-link {
    font-family: var(--tpd-font-family);
    font-weight: 500;
    color: var(--tpd-color-primary);
    border: 1px solid var(--tpd-color-border);
    border-radius: var(--tpd-radius-default);
    padding: 0.5rem 0.9rem;
    background: var(--tpd-color-white);
    transition: var(--tpd-transition);
}

.products__pagination .page-item.active .page-link,
.products__pagination .page-link:hover {
    background: var(--tpd-color-secondary);
    border-color: var(--tpd-color-secondary);
    color: var(--tpd-color-white);
}

/* ----- Off-canvas de filtros en móvil ----------------------------------- */
@media (max-width: 1024px) {
    #search_filters_wrapper #search_filters {
        display: none !important;
    }
}

/* Layout responsive de columnas principales desde <=1024px */
@media (max-width: 1024px) {
    #left-column,
    #center-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    #left-column {
        margin-bottom: var(--tpd-spacing-sm);
    }
}

#offcanvas-faceted .offcanvas-header {
    border-bottom: 1px solid var(--tpd-color-border);
    padding: var(--tpd-spacing-sm) var(--tpd-spacing-md);
}

#offcanvas-faceted .offcanvas-title {
    font-family: var(--tpd-font-family);
    font-weight: 700;
    color: var(--tpd-color-primary);
}

/* ==========================================================================
   LAYOUT LIST (topdormitorios) — tarjetas horizontales (referencia colchones)
   ========================================================================== */

.tpd-products-list {
    display: flex;
    flex-direction: column;
    gap: var(--tpd-spacing-md);
    margin: 0 0 var(--tpd-spacing-md);
    padding: 0;
    list-style: none;
}

.tpd-miniature--list {
    display: block;
    height: auto;
    border-radius: 0;
    border: none;
    overflow: visible;
}

.tpd-miniature--list:has(.tpd-size-vdrop.is-open) {
    position: relative;
    z-index: 40;
}

.tpd-miniature--list .tpd-miniature__inner--list,
.tpd-miniature--list .tpd-miniature__body--list,
.tpd-miniature--list .tpd-miniature__list-footer,
.tpd-miniature--list .tpd-miniature__list-buy,
.tpd-miniature--list .tpd-miniature__list-buy-col--size,
.tpd-miniature--list .tpd-size-field {
    overflow: visible;
}

.tpd-miniature--list:hover,
.tpd-miniature--list:focus-within {
    border:none;
    outline: none;
    box-shadow: none;
    transform: none;
}

.tpd-miniature__inner--list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tpd-spacing-sm);
    height: auto;
    align-items: stretch;
    border-radius: 3px;
    padding: 0;
}

@media (min-width: 768px) {
    .tpd-miniature__inner--list {
        grid-template-columns: minmax(140px, 1fr) minmax(0, 3fr);
        gap: var(--tpd-spacing-md);
    }
}

.tpd-miniature__top--list {
    position: relative;
    overflow: hidden;
    border-radius: var(--tpd-radius-default);
    background: var(--tpd-color-grey);
}

.tpd-miniature__image-container:has(.js-tpd-hover-carousel.is-visible),
.tpd-miniature__top--list:has(.js-tpd-hover-carousel.is-visible),
.tpd-miniature__media:has(.js-tpd-hover-carousel.is-visible) {
    overflow: visible;
}

.tpd-miniature--list .tpd-miniature__top--list .tpd-miniature__image-container,
.tpd-category-shell .tpd-miniature--list .tpd-miniature__image-container {
    padding: 0;
}

.tpd-miniature--list .tpd-miniature__top--list .tpd-miniature__media {
    aspect-ratio: 1 / 1;
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 768px) {
    .tpd-miniature__top--list .tpd-miniature__media {
        aspect-ratio: 4 / 5;
    }
}

.tpd-miniature__body--list {
    display: flex;
    flex-direction: column;
    gap: var(--tpd-spacing-sm);
    padding: var(--tpd-spacing-sm) var(--tpd-spacing-sm) var(--tpd-spacing-md);
}

@media (min-width: 992px) {
    .tpd-miniature__body--list {
        padding: 20px 20px 20px 20px;
    }
}

.tpd-miniature__list-head {
    display: flex;
    flex-direction: column;
    gap: var(--tpd-spacing-xxs);
}

.tpd-miniature__title--list {
    -webkit-line-clamp: initial;
    line-clamp: initial;
    min-height: 0;
    margin: 0;
    margin-bottom: var(--tpd-spacing-md);
    font-weight: 600;
    color: var(--tpd-color-grey-dark);
}

.tpd-miniature__title--list a {
    color: inherit;
    text-decoration: none;
    font-size: var(--font-size-sm);
}


.tpd-miniature__description-short--list,
.tpd-miniature__description-short--list * {
    margin: 0;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: unset;
    overflow: visible;
    font-size: var(--font-size-sm, 12px);
    line-height: 1.45;
    color: var(--tpd-color-grey-dark);
}

.tpd-miniature__description-short--list,
.tpd-miniature__description-short--list *:not(span) {
    display: block;
}

.tpd-miniature__trust-shipping {
    font-size: var(--font-size-sm);
}

/* Grupo 1: franja con metros (label + banda, barra azul, X/10); G2 = .tpd-list-g2-strip */
.tpd-list-g1-meters {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    padding: var(--tpd-spacing-sm) 0;
}

.tpd-g1-meter {
    position: relative;
    flex: 1 1 140px;
    min-width: min(100%, 9rem);
    padding: 0 var(--tpd-spacing-sm);
}

.tpd-g1-meter:first-child {
    padding-inline-start: 0;
}

.tpd-g1-meter:not(:first-child)::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 12%;
    bottom: 12%;
    width: 1px;
    background: var(--tpd-color-border);
}

.tpd-g1-meter__head {
    margin: 0 0 var(--tpd-spacing-xxs);
    font-family: var(--tpd-font-family);
    font-size: 12px;
    line-height: 1.35;
    color: var(--tpd-color-primary);
    text-align: start;
}

.tpd-g1-meter__label {
    margin-inline-end: 0.25em;
    font-weight: 600;
    font-size: 12px;
}

.tpd-g1-meter__band {
    font-weight: 400;
    color: var(--tpd-color-grey-dark);
    font-size: 12px;
}

.tpd-g1-meter__row {
    display: flex;
    align-items: center;
    gap: var(--tpd-spacing-sm);
    min-height: 6px;
}

.tpd-g1-meter__track {
    flex: 1 1 0;
    min-width: 2.5rem;
    width: 0;
    height: 6px;
    min-height: 6px;
    border-radius: 999px;
    background: var(--tpd-color-grey-hover);
    overflow: hidden;
    align-self: center;
}

.tpd-g1-meter__fill {
    display: block;
    width: 0;
    min-width: 0;
    max-width: 100%;
    height: 6px;
    min-height: 6px;
    border-radius: inherit;
    background: var(--tpd-color-secondary);
    transition: width var(--tpd-transition);
    box-sizing: border-box;
}

.tpd-g1-meter__score {
    flex-shrink: 0;
    margin: 0;
    font-family: var(--tpd-font-family);
    font-size: 0.8125rem;
    line-height: 1;
    white-space: nowrap;
}

.tpd-g1-meter__score-num {
    font-weight: 700;
    color: var(--tpd-color-primary);
}

.tpd-g1-meter__score-den {
    font-weight: 400;
    color: var(--tpd-color-grey-dark);
    opacity: 0.65;
}

/* Grupo 2: franja horizontal (etiqueta: valor) con separadores verticales cortos */
.tpd-list-g2-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
    gap: 0;
    margin: var(--tpd-spacing-xs) 0 0;
    padding: var(--tpd-spacing-sm) 0;
}

.tpd-miniature__body--list .tpd-list-g-item:last-child span {
    font-size:12px;
}

.tpd-miniature__body--list .tpd-list-g-item:last-child .tpd-list-g1-strip__label span,
.tpd-miniature__body--list .tpd-list-g-item:last-child .tpd-list-g2-strip__label span {
    font-weight: 600;
    color: var(--tpd-color-black);
}

.tpd-list-g2-strip__cell {
    position: relative;
    padding: 0 var(--tpd-spacing-sm);
    display: flex;
    align-items: center;
    width: 33.33%;
}

.tpd-list-g2-strip__cell:first-child {
    padding-inline-start: 0;
}

.tpd-list-g2-strip__cell:not(:first-child)::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 18%;
    bottom: 18%;
    width: 1px;
    background: var(--tpd-color-border);
}

.tpd-list-g2-strip__text {
    margin: 0;
    font-family: var(--tpd-font-family);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--tpd-color-primary);
    text-align: start;
}

.tpd-list-g2-strip__label {
    font-weight: 400;
    color: var(--tpd-color-black);
    margin-inline-end: 0.25em;
}

.tpd-list-g2-strip__value {
    font-weight: 500;
    color: var(--tpd-color-grey-dark);
}

/* Fallback pills si no hay barras */
.tpd-list-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--tpd-spacing-xs);
}

.tpd-list-features__item {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.65rem;
    font-family: var(--tpd-font-family);
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--tpd-color-primary);
    background: var(--tpd-color-grey);
    border: 1px solid var(--tpd-color-border);
    border-radius: var(--tpd-radius-tag);
    line-height: 1.3;
    width: 33.33%;
}

.tpd-list-features__item--g2 {
    background: rgba(0, 184, 241, 0.08);
    border-color: rgba(0, 184, 241, 0.25);
}

.tpd-miniature__list-footer {
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: space-between;
}

.tpd-miniature__footer--left {
    flex-grow: 1;
    width: 60%;
}

/* Fila compra: medida | precio | CTA */
.tpd-miniature__list-buy {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--tpd-spacing-xl);
    width: 40%;
    justify-content: end;
}

.tpd-miniature__list-buy-col--size {
    min-width: 140px;
    width: 100%;
    display: block;
    margin-bottom: 20px;
}

.tpd-miniature__list-buy-col--price {
    flex: 1 1 auto;
    min-width: 160px;
    margin-bottom: 20px;
}

.tpd-miniature__list-buy-col--cta {
    flex: 0 1 auto;
}

.tpd-miniature__list-footer .tpd-miniature__bg-icon {
    display: none;
}

@media (max-width: 767.98px) {
    .tpd-miniature__list-buy-col--cta {
        flex: 1 1 100%;
        margin-left: 0;
    }

    .tpd-miniature__list-buy-col--cta .tpd-miniature__btn-add-cart,
    .tpd-miniature__list-buy-col--cta .tpd-miniature__list-form {
        width: 100%;
    }

    .tpd-miniature__top--list .tpd-miniature__bg-icon {
        display: none;
    }

    .tpd-miniature__list-footer .tpd-miniature__bg-icon {
        display: block;
        padding: 0;
        position: absolute;
        bottom: 20px;
    }
}

.tpd-variants-native-hidden {
    display: none !important;
}

.tpd-size-field {
    position: relative;
    width: 100%;
}

.tpd-size-vdrop {
    position: relative;
    width: 100%;
}

.tpd-size-vdrop__trigger {
    display: flex;
    align-items: center;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: var(--tpd-input-border);
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}

.tpd-size-vdrop__trigger:focus-visible {
    outline: 2px solid var(--tpd-color-primary);
    outline-offset: 2px;
}

.tpd-size-field__label {
    flex: 0 0 auto;
    font-weight: 600;
    font-size: var(--font-size-sm);
    white-space: nowrap;
    line-height: 30.21px;
    padding-right: 10px;
}

.tpd-size-field__label::after {
    content: ':';
    font-size: var(--tpd-font-size-xs);
}

.tpd-size-vdrop__value {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 500;
    font-size: var(--tpd-font-size-xs);
    line-height: 30.21px;
    padding: var(--tpd-spacing-xxs) var(--tpd-spacing-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tpd-size-vdrop__chevron {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    background-image: linear-gradient(45deg, transparent 50%, var(--tpd-color-primary) 50%),
                      linear-gradient(135deg, var(--tpd-color-primary) 50%, transparent 50%);
    background-position: 0 50%, 6px 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    transition: transform .2s ease;
}

.tpd-size-vdrop.is-open .tpd-size-vdrop__chevron {
    transform: rotate(180deg);
}

.tpd-size-vdrop__panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 50;
    background: var(--tpd-color-white, #fff);
    border: 1px solid var(--tpd-color-grey-hover, #ddd);
    box-shadow: 2px 2px 2px 0 #ddd;
    overflow: hidden;
}

.tpd-size-vdrop__panel[hidden] {
    display: none !important;
}

.tpd-size-vdrop__list {
    list-style: none;
    margin: 0;
    padding: 20px 5px;
    max-height: 200px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.tpd-miniature__list-buy-col--size .tpd-size-vdrop__option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 10px;
    margin-bottom: 0.5rem;
    cursor: pointer;
    font-weight: 500;
    font-size: var(--tpd-font-size-xs);
    line-height: 1.35;
    color: var(--tpd-color-primary);
    transition: background-color .15s ease;
}

.tpd-miniature__list-buy-col--size .tpd-size-vdrop__option:last-child {
    margin-bottom: 0;
}

.tpd-miniature__list-buy-col--size .tpd-size-vdrop__option:hover {
    background-color: var(--tpd-color-grey, #f5f5f5);
}

.tpd-size-vdrop__radio {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid var(--tpd-color-grey-dark, #666);
    background: transparent;
    position: relative;
    transition: border-color .15s ease;
}

.tpd-size-vdrop__radio::after {
    content: '';
    position: absolute;
    inset: 0px;
    border-radius: 50%;
    background: var(--tpd-color-primary);
    transform: scale(0);
    transition: transform .15s ease;
}

.tpd-size-vdrop__option.is-active .tpd-size-vdrop__radio {
    border-color: var(--tpd-color-primary);
}

.tpd-size-vdrop__option.is-active .tpd-size-vdrop__radio::after {
    transform: scale(1);
}

.tpd-size-vdrop__label {
    flex: 1 1 auto;
}

.tpd-miniature__prices--list {
    margin-top: 0;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--tpd-spacing-sm);
    margin-bottom: var(--tpd-spacing-sm);
}

.tpd-miniature__prices--list .tpd-miniature__price-label {
    font-size: var(--font-size-sm);
}

.tpd-miniature__prices--list .tpd-miniature__price {
    font-size: 16px;
    font-weight: 700;
    color: var(--tpd-color-black);
    flex: 0 0 auto;
    order: 2;
}

.tpd-miniature__prices--list .tpd-miniature__regular-price {
    flex: 0 0 auto;
    order: -1;
    font-size: var(--font-size-base);
}

.tpd-miniature__prices--list .tpd-miniature__discount-percent {
    font-size: 14px;
}

.tpd-miniature__list-form {
    margin: 0;
}

.tpd-miniature__btn-add-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px 10px 15px;
    border-radius: 2px 2px 2px 2px;
    font-weight: 500;
    background: transparent;
    border: 2px solid var(--tpd-color-black);
    border-radius: 0;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: var(--tpd-transition);
}

.tpd-miniature__btn-add-cart:hover,
.tpd-miniature__btn-add-cart:focus-visible {
    background: var(--tpd-color-primary);
    border-color: var(--tpd-color-primary);
    color: var(--tpd-color-white);
}

.tpd-miniature__btn-add-cart--link {
    box-sizing: border-box;
}

/* Financiación bajo precio */
.tpd-miniature__financing-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
}

.tpd-miniature__financing-wrap .tpd-icons-sequra{
    width: 16px;
    height: 16px;
}

.tpd-miniature__financing--list {
    margin: 0;
    font-size: var(--font-size-sm);
    opacity: 1;
    padding: 0;
    background: none;
    border: none;
}

.tpd-miniature__financing {
}

.tpd-miniature__financing-wrap {
    font-family: var(--tpd-font-family);
    font-size: 0.9rem;
    color: var(--tpd-color-primary);
    height: 20px;
}

/* Confianza: envío + pago */
.tpd-miniature__list-trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--tpd-spacing-sm) var(--tpd-spacing-md);
    padding-top: var(--tpd-spacing-sm);
}

.tpd-miniature--grid.tpd-miniature__trust-item {
    display: block;
    align-items: center;
    gap: var(--tpd-spacing-xs);
    font-size: var(--font-size-sm)!important;
    color: var(--tpd-color-grey-dark);
    font-size: 12px;
    margin-bottom: 1rem;
    min-height: 70px;
}

.tpd-miniature__trust-item--available .tpd-miniature__trust-text {
    color: #0d5f00;
    font-weight: 400;
    font-size: 12px;
}

.tpd-miniature__trust-item--unavailable .tpd-miniature__trust-text {
    color: var(--tpd-color-danger);
    font-weight: 400;
}

.tpd-miniature__trust-text {
    font-weight: 400;
}

.tpd-miniature__trust-icon-card {
    width: 20px;
    height: 20px;
    color: var(--tpd-color-secondary);
    flex-shrink: 0;
}

/* Meta / stock al pie */
.tpd-miniature__meta--list {
    margin-top: 0;
    padding-top: var(--tpd-spacing-xs);
    border-top: none;
}

.tpd-miniature__stock--list {
    font-size: 0.8rem;
}

/* ==========================================================================
   FILTROS HORIZONTALES + COLOR COUNTER (layout GRID)
   ========================================================================== */

.tpd-filters--horizontal {
    margin-bottom: var(--tpd-spacing-sm);
    padding: var(--tpd-spacing-xs) 0;
    border-bottom: 1px solid var(--tpd-color-border);
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters--horizontal {
    padding: 0 0 var(--tpd-spacing-xs);
    border-top: 1px solid var(--tpd-color-border);
}

.tpd-filters__bar {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--tpd-spacing-xs);
}

.tpd-filters__item {
    position: relative;
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__item {
    display: inline-flex;
    align-items: center;
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__item + .tpd-filters__item::before {
    content: "";
    width: 1px;
    height: 1.25rem;
    background: var(--tpd-color-border);
    margin-right: var(--tpd-spacing-xs);
}

.tpd-filters__trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--tpd-spacing-xxs);
    padding: 0.5rem 0.9rem;
    font-family: var(--tpd-font-family);
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--tpd-color-primary);
    background: var(--tpd-color-white);
    border: 1px solid var(--tpd-color-border);
    border-radius: var(--tpd-radius-default);
    cursor: pointer;
    transition: var(--tpd-transition);
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__trigger {
    padding: var(--tpd-spacing-xs);
    border: 0;
    border-radius: 0;
    font-weight: 600;
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__trigger::after {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-right: 1px solid var(--tpd-color-primary);
    border-bottom: 1px solid var(--tpd-color-primary);
    transform: rotate(45deg);
    margin-left: var(--tpd-spacing-xxs);
}

.tpd-filters__trigger:hover,
.tpd-filters__trigger:focus-visible {
    border-color: var(--tpd-color-secondary);
    color: var(--tpd-color-secondary);
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__trigger:hover,
[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__trigger:focus-visible {
    border-color: transparent;
}

.tpd-filters__trigger--active {
    background: var(--tpd-color-primary);
    color: var(--tpd-color-white);
    border-color: var(--tpd-color-primary);
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__trigger--active {
    background: var(--tpd-color-white);
    color: var(--tpd-color-secondary);
    border-color: transparent;
}

.tpd-filters__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--tpd-color-primary);
    background: var(--tpd-color-white);
    border-radius: var(--tpd-radius-tag);
}

.tpd-filters__trigger--active .tpd-filters__badge {
    color: var(--tpd-color-primary);
    background: var(--tpd-color-white);
}

.tpd-filters__menu {
    min-width: 240px;
    max-height: 360px;
    overflow-y: auto;
    padding: var(--tpd-spacing-xs);
    border: 1px solid var(--tpd-color-border);
    border-radius: var(--tpd-radius-default);
    box-shadow: var(--tpd-shadow-card-sm);
    background: var(--tpd-color-white);
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__menu {
    margin-top: var(--tpd-spacing-xxs);
    min-width: 220px;
}

.tpd-filters__options {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--tpd-spacing-xxs);
}

.tpd-filters__option {
    display: inline-flex;
    align-items: center;
    gap: var(--tpd-spacing-xs);
    padding: 0.4rem 0.6rem;
    font-family: var(--tpd-font-family);
    font-size: 0.9rem;
    color: var(--tpd-color-primary);
    text-decoration: none;
    border-radius: var(--tpd-radius-tag);
    transition: var(--tpd-transition);
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__option {
    border: 1px solid transparent;
    border-radius: var(--tpd-radius-default);
}

.tpd-filters__option:hover,
.tpd-filters__option:focus-visible {
    background: var(--tpd-color-grey);
}

.tpd-filters__option.is-active {
    background: var(--tpd-color-secondary);
    color: var(--tpd-color-white);
}

.tpd-filters__option-count {
    margin-left: auto;
    opacity: 0.7;
    font-size: 0.8rem;
}

.tpd-filters__swatch {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid var(--tpd-color-border);
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.tpd-color-counter {
    display: inline-flex;
    align-items: center;
    gap: var(--tpd-spacing-xxs);
    padding: 0.4rem 0.75rem;
    font-family: var(--tpd-font-family);
    font-weight: 500;
    font-size: 0.85rem;
    color: var(--tpd-color-grey-dark);
    background: var(--tpd-color-grey);
    border-radius: var(--tpd-radius-default);
}

.tpd-color-counter__icon {
    font-size: 1.1rem;
    color: var(--tpd-color-secondary);
    line-height: 1;
}

.tpd-filters__item--counter {
    margin-left: auto;
}

[data-tpd-category-mode="not-in-list-tree"] .tpd-filters__item--counter::before {
    content: none;
}

/* ==========================================================================
   Layout categoría — ancho completo GRID (cabeceros)
   ========================================================================== */

.tpd-category-shell--not-in-list-tree > #left-column,
.tpd-category-shell--not-in-list-tree > #center-column {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
}

.tpd-category-shell--not-in-list-tree > #left-column {
    margin-bottom: var(--tpd-spacing-sm);
}

.tpd-category-layout--grid .tpd-products-grid-wrapper {
    width: 100%;
    max-width: none;
}

.tpd-category-layout--list .tpd-products-list-wrapper {
    width: 100%;
}

/* ----- LIST: valoraciones (estrellas módulo / tema) ---------------------- */

.tpd-miniature__reviews--list {
    margin: 0;
    font-family: var(--tpd-font-family);
    font-size: 0.9rem;
    color: var(--tpd-color-grey-dark);
}

.tpd-miniature__reviews--list:empty {
    display: none;
}

/* ----- GRID: opiniones, contador colores, financiación reforzada --------- */

.tpd-miniature--grid .tpd-miniature__title {
    min-height: 62px;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    margin-bottom: var(--tpd-spacing-xs);
}

.tpd-miniature--grid .tpd-miniature__description-short {
    font-size: var(--font-size-sm);
}

.tpd-miniature__reviews--grid:empty {
    display: none;
}

.tpd-miniature__color-count {
    margin: 0;
    font-weight: 600;
    color: var(--tpd-color-primary);
    letter-spacing: 0.02em;
}

.tpd-miniature__financing--grid {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--tpd-color-primary);
    margin-top: 0;
}

.tpd-miniature__stock--grid {
    margin-top: auto;
    font-size: 0.85rem;
}

.tpd-miniature--grid .tpd-miniature__prices {
    margin-top: 0;
    margin-bottom: var(--tpd-spacing-sm);
}

.tpd-miniature--grid:hover,
.tpd-miniature--grid:focus-within {
    border-color: var(--tpd-color-secondary);
}

/* ==========================================================================
   Shell página categoría — bloques bajo #products + extras (referencia web)
   ========================================================================== */

.tpd-category-page {
    font-family: var(--tpd-font-family);
}

.tpd-category-page__intro .tpd-category__title {
    margin-bottom: var(--tpd-spacing-sm);
}

.tpd-category-page__hero {
    margin-bottom: var(--tpd-spacing-md);
}

.tpd-category-page__products {
    margin-bottom: var(--tpd-spacing-sm);
}

.tpd-category-page__toolbar {
    margin-bottom: var(--tpd-spacing-sm);
}

.tpd-category-page__toolbar--list .tpd-products-top {
    border-bottom: none;
    padding-bottom: var(--tpd-spacing-xs);
    margin-bottom: 20px;
}

.tpd-category-page__toolbar--grid .tpd-products-top {
    margin-bottom: var(--tpd-spacing-xs);
}

#category .tpd-category-page__extras {
    display: flex;
    flex-direction: column;
    gap: var(--tpd-spacing-lg);
    margin-top: 0;
    padding-top: 0;
    padding-left: 0!important;
    padding-right: 0!important;
}

.tpd-category-personalization {
    background: linear-gradient(
        135deg,
        rgba(0, 184, 241, 0.07) 0%,
        rgba(20, 36, 66, 0.05) 100%
    );
    border: 1px solid var(--tpd-color-border);
    border-radius: var(--tpd-radius-default);
    padding: var(--tpd-spacing-md);
    box-shadow: var(--tpd-shadow-card-sm);
}

.tpd-category-personalization__title {
    margin: 0 0 var(--tpd-spacing-xs);
    font-family: var(--tpd-font-family);
    font-weight: 700;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    color: var(--tpd-color-primary);
    line-height: 1.2;
}

.tpd-category-personalization__lead {
    margin: 0 0 var(--tpd-spacing-sm);
    font-family: var(--tpd-font-family);
    color: var(--tpd-color-grey-dark);
    line-height: 1.55;
    max-width: 62ch;
}

.tpd-category-personalization__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tpd-spacing-sm);
}

.tpd-category-personalization__cta {
    border-radius: var(--tpd-radius-default);
    font-weight: 600;
}

.tpd-category-page__extras #tpd-reassurance {
    margin-bottom: 0;
    padding: 20px 20%;
}

.tpd-category-page__extras #tpd-reassurance .container {
    padding-left: 0;
    padding-right: 0;
}

.tpd-category-page__extras #tpd-reassurance .tpd-reassurance-suptitle {
    margin-bottom: 0;
}

.tpd-category-page__extras #tpd-reassurance .tpd-reassurance-title {
    font-size: 29px;
}

.tpd-category-page__extras #tpd-block-reassurance .h6 {
    font-size: var(--font-size-md);
    font-weight: 600!important;
}

.tpd-category-page__extras #tpd-block-reassurance .tpd-reassurance-item-desc {
    padding: 10px 0px 30px 0px;
}

.tpd-category-page__extras #tpd-block-reassurance .tpd-collapse-group.collapse {
    margin-bottom: 19px!important;
}

.tpd-category-page__extras #tpd-block-reassurance .tpd-reassurance-item-title[aria-expanded="true"] .tpd-rotate-icon {
    transform: rotate(180deg);
}

.tpd-category-page__extras #tpd-block-reassurance .border-bottom {
    border-bottom: none!important;
}

.tpd-products-top__filter-btn {
    font-weight: normal;
}

@media (min-width: 1025px) {
    .tpd-category-page[data-tpd-category-layout="list"] .tpd-category-page__toolbar--list {
        position: sticky;
        top: 0;
        z-index: 3;
        background: var(--tpd-color-white);
        padding-top: var(--tpd-spacing-xs);
        margin-top: calc(-1 * var(--tpd-spacing-xs));
    }
}

@media (max-width: 1024px) {
    .tpd-facets .tpd-facet {
        border-bottom: none!important;
    }

    .tpd-filters-title {
        display: none!important;
    }

    .tpd-products-top__actions {
        gap: 0;
    }

    #search_filter_toggler,
    .tpd-products-top__sort {
        width:50%;
    }

    #search_filter_toggler {
        height: 40px;
        background-color: white;
        border-top: 1px solid #000000;
        border-bottom: 1px solid #000000;
        border-right: 1px solid #000000;
        padding-top: 0;
        padding-bottom:0;
        border-radius: 0;
        text-align: center;
        justify-content: center;
        flex-direction: row-reverse;
    }

    .tpd-products-top__filter-btn .tpd-icons {
        --tpd-icon-color: var(--tpd-color-black);
    }

    .tpd-facets__heading {
        display: none!important;
    }

    #search-filters {
        padding: 0;
    }
}

@media (min-width: 576px) and (max-width: 1024px) {
    .tpd-list-g2-strip {
        flex-wrap: nowrap;
    }

    .tpd-list-g2-strip__cell {
        width: 33.33%;
    }
}

@media (max-width: 767px) {
    .tpd-miniature__list-buy {
        gap: 0;
        display: none;
    }

    .tpd-miniature__footer--left {
        width: 100%;
        padding-bottom: 40px;
    }

    .tpd-miniature__list-buy-col--cta {
        display: none;
    }

    .tpd-miniature__list-buy-col--price {
        margin-top: var(--tpd-spacing-xs);
    }
}

@media (max-width: 575px) {
    .tpd-miniature__top--list {
        display: flex;
        flex-direction: column;
        gap: var(--tpd-spacing-sm);
    }

    .tpd-miniature-hover-splide .splide__track {
        padding-bottom: var(--tpd-spacing-sm);
    }

    .tpd-list-g2-strip {
        gap: var(--tpd-spacing-sm);
        padding-top: 0;
    }

    .tpd-list-g2-strip__cell {
        width: 100%;
        padding: 0;
    }

    .tpd-list-g2-strip__cell:not(:first-child)::before {
        content: none;
    }

    .tpd-list-g1-meters {
        gap: var(--tpd-spacing-sm);
        padding-top: 0;
    }

    .tpd-g1-meter {
        flex: 1 1 100%;
        padding: 0;
    }

    .tpd-g1-meter:not(:first-child)::before {
        content: none;
    }
}

/*********************************************
 Categoría en GRID
 ********************************************/
 .tpd-category-shell > #left-column {
    display: flex;
    gap: var(--tpd-spacing-md);
    align-items: center;
    border-bottom: 1px solid var(--tpd-color-black);
    border-top: 1px solid var(--tpd-color-black);
    height: 62px;
}

.tpd-category-shell .active-filters {
    padding-bottom: 40px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.tpd-category-shell .active-filters__list {
    margin-bottom: 0;
}

.tpd-category-shell .active-filters__list .active-filters__link {
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    background-color: rgba(2, 1, 1, 0);
    border-color: #DDD;
    border-width: 1px;
    padding: 10px 10px 10px 10px;
    line-height: 13px;
    color: var(--tpd-color-black);
}

.tpd-category-shell .active-filters__clear button {
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    background-color: rgba(2, 1, 1, 0);
    border-color: #DDD;
    border-width: 1px;
    padding: 10px 10px 10px 10px;
    line-height: 13px;
    color: var(--tpd-color-black);
}

.tpd-category-shell .active-filters__clear button:hover {
    color: var(--tpd-color-black);
}

.tpd-category-shell .products__sort-dropdown {
    border-bottom: none;
    border-top: none;
}

.tpd-category-shell .tpd-category-page__toolbar--grid {
    order: 3;
    margin-left: auto;
    margin-bottom:0;
    height: fit-content;
 }

 .tpd-category-shell .active-filters__list {
    gap: var(--tpd-spacing-sm);
 }

 .tpd-category-shell .active-filters__list .active-filters__item:first-of-type {
    margin-right: 30px;
 }

 .tpd-category-shell .active-filters__list .active-filters__item .tpd-icons {
    width: 13px;
    height: 13px;
 }

 .tpd-category-shell .tpd-filters-title {
    margin-bottom:0;
    display: flex;
    gap: 8px;
    align-items: center;
 }

 .tpd-category-shell .tpd-category-page__products {
    padding-top: 20px;
 }

 .tpd-category-shell #search_filters_wrapper {
    margin-bottom:0;
    padding-bottom: 0;
    height: fit-content;
 }

 .tpd-category-shell .tpd-category-page__toolbar--grid .tpd-products-top {
    margin-bottom:0;
    border-bottom: none;
    padding: 0;
 }

 .tpd-category-shell #search-filters {
    display: flex;
    width: 100%;
    flex-direction: row-reverse;
 }

 .tpd-category-shell #search-filters .search-filters__clear {
    margin-bottom: 0;
 }

 .tpd-category-shell .active-filters__clear button .tpd-icons {
    width: 13px;
    height: 13px;
 }

 .tpd-category-shell .search-filters .accordion {
    display: flex;
    gap: var(--tpd-spacing-md);
 }

 .tpd-category-shell .search-filters .accordion-button::after {
    content: none;
 }

 .tpd-category-shell .search-filters .accordion .accordion-item {
    border-block-end: none;
    position: relative;
 }



 .tpd-category-shell .search-filters .accordion .accordion-button {
    font-weight: 600;
    gap: var(--tpd-spacing-sm);
    color: var(--tpd-color-black);
 }

 .tpd-category-shell .tpd-products-top__sort .products__sort-dropdown-button {
    font-weight: 600;
    width: 250px;
 }

 .tpd-category-shell .search-filters .accordion .accordion-collapse {
    position: absolute;
    top: calc(100% + 0px);
    z-index: 4;
    background: var(--tpd-color-white);
    padding: var(--tpd-spacing-sm) var(--tpd-spacing-sm);
    border: 1px solid var(--tpd-color-border);
    width: 400px;
    height: 350px!important;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--tpd-color-grey-dark) var(--tpd-color-grey);
    scrollbar-width: 1px!important;
 }

 /* WebKit (Chrome, Edge, Safari, Opera) */
 .tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar {
    width: 1px!important;
    background-color: transparent;
    border-radius: 12px;
}

.tpd-category-page[data-tpd-category-layout="list"] .active-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.tpd-category-page[data-tpd-category-layout="list"] .active-filters__item:first-of-type {
    margin-right: 30px;
}

.tpd-category-page[data-tpd-category-layout="list"] .active-filters__link, .tpd-category-page[data-tpd-category-layout="list"] .active-filters__clear button {
    padding: 10px;
    font-size: 13px;
    line-height: 13px;
}

.tpd-category-page[data-tpd-category-layout="list"] .active-filters__link .tpd-icons, .tpd-category-page[data-tpd-category-layout="list"] .active-filters__clear button .tpd-icons {
    width: 13px;
    height: 13px;
}

/* Eliminacion total de botones/flechas */
.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-button,
.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-button:start,
.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-button:end,
.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-button:vertical:decrement,
.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-button:vertical:increment,
.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-button:single-button {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-track {
    background-color: var(--tpd-color-grey-dark);
    border-radius: var(--tpd-radius-default);
}

.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-thumb {
    background-color: var(--tpd-color-grey-dark);
    border-radius: var(--tpd-radius-default);
    transition: background-color var(--tpd-transition);
}

.tpd-category-shell .search-filters .accordion .accordion-collapse::-webkit-scrollbar-thumb:hover {
    background-color: var(--tpd-color-grey-dark);
}

.tpd-category-shell .search-filters .accordion .accordion-collapse .search-filters__form-check {
    padding-top: 4px;
    padding-bottom: 4px;
    align-items: start;
}
.tpd-category-shell .search-filters .accordion .accordion-collapse .search-filters__form-check .form-check-input {
    display: none;
}

.tpd-category-shell .search-filters .accordion .accordion-collapse .search-filters__form-check .search-filters__link {
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 30px;
    color: var(--tpd-color-black);
}
.tpd-category-shell .search-filters .accordion .accordion-collapse .search-filters__form-check .color {
    width:20px;
    height: 20px;
    border: 1px solid var(--tpd-color-black);
    border-radius: 50%;
    display: inline-block;
}

.tpd-category-shell .tpd-miniature__trust-item {
    display: block;
}
.tpd-category-shell .tpd-miniature__trust-text,
.tpd-category-shell .tpd-miniature__trust-shipping {
    display: inline;
    font-size: var(--font-size-sm);
}

.tpd-category-shell .tpd-facet__tile-wrap--choice .tpd-facet__tile-label {
    position: relative;
    padding: var(--tpd-spacing-sm) 0;
    line-height: 1.35;
    display: flex;
    align-items: center;
    
}

.tpd-category-shell .tpd-facet__tile-label-point {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid var(--tpd-color-black);
    background: var(--tpd-color-white);
    padding: 2px;
    transform: translateX(-50%);
    transition: var(--tpd-transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tpd-category-shell .tpd-facet__tile-label-point::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--tpd-color-white);
    display: inline-block;
}

.tpd-category-shell .search-filters__item.active .tpd-facet__tile-label-point::before {
    background: var(--tpd-color-secondary);
}


/* start */
.tpd-miniature__reviews--grid {
    min-height: 53.5px;
}
.tpd-miniature .skeepers_product__stars {
    margin: 0!important;
    height: 20px!important;
    width: 100%!important;
} 

.tpd-miniature--grid .skeepers_product__stars {
    min-height: 43.5px;
    margin-bottom: 10px !important;
}

.tpd-miniature .skeepers_product__stars p {
    margin-bottom: 0!important;
}

.tpd-miniature--list .skeepers_product__stars {
    margin: 0!important;
    margin-top: -16px!important;
    height: 20px!important;
} 

.tpd-miniature--list .skeepers_product__stars p {
    margin-bottom: 0!important;
}


@media (min-width: 992px) {
    #category #left-column.tpd-category-list__left {
        flex: 0 0 auto;
        width: 20%;
    }

    #category #left-column.tpd-category-list__left  ~ #center-column {
        flex: 0 0 auto;
        width: 80%;
    }
}

@media (max-width: 1024px) {
    .tpd-products-top__sort {
        position: unset;
    }

    .tpd-products-top__actions {
        position: relative;
    }

    .tpd-category-shell .tpd-category-page__toolbar--grid {
        margin-left: 0;
        width: 100%;
    }

    .ps-facetedsearch--mobile .offcanvas-body {
        height: calc(100vh - 57px);
        overflow-y: auto;
    }

    .tpd-category-shell #search_filter_toggler {
        border-top: none;
        border-bottom: none;
    }

    .tpd-category-shell #search-filters {
        padding: var(--tpd-spacing-sm);
    }

    .tpd-category-shell .search-filters .accordion .accordion-button {
        font-weight: 600;
    }

    .tpd-category-shell .search-filters .accordion {
        flex-direction: column;
        gap: var(--tpd-spacing-sm);
    }

    .tpd-category-shell .tpd-facet__title.accordion-button {
        background: transparent;
        box-shadow: none;
        color: var(--tpd-color-primary);
    }

    .tpd-category-shell .accordion-button:after {
        content: none;
    }

    .tpd-category-shell .search-filters .accordion .accordion-collapse {
        display: block;
        top: 0;
        position: relative;
        width: 100%;
        border: none;
        height: auto !important;
        max-height: 350px;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    .tpd-category-shell .search-filters .accordion .accordion-button {
        border-bottom: 1px solid var(--tpd-color-border);
    }

    #left-column .tpd-products-top__sort .products__sort-dropdown {
        text-align: center;
    }

    .tpd-category-shell .tpd-facet__tile-label-point {
        transform: translateX(0);
    }
}

@media (max-width: 575px) {
    .tpd-list-g2-strip  {
        width: 100%;
    }
}