/* Inter 900: declarado en custom.css (self-hosted). */

.product {
    --weu-product-media-offset: 0px;
    --weu-product-col-gap: var(--weu-spacing-lg);
    --weu-product-gallery-chrome: 200px;
    column-gap: var(--weu-product-col-gap) !important;
    row-gap: var(--weu-spacing-md)!important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-areas:
        "product__left product__col"
        "product__info product__col";
    grid-template-columns: 1.3fr 1fr;
    grid-template-rows: auto auto;
}

/*
 * Escritorio estilo Pedalmoto (sandbox):
 * - aire entre imagen e info (~40–96px)
 * - galería limitada al viewport (producto entero a la vista)
 * - padding interno, sin scale/recorte
 */
@media (min-width: 992px) {
    .page-product .product.js-product-container {
        --weu-product-col-gap: clamp(40px, 5vw, 96px);
        grid-template-columns: minmax(0, 1.2fr) minmax(280px, 1fr);
        align-items: start;
    }

    .page-product .product__left {
        width: 100%;
        max-width: min(100%, calc(100dvh - var(--weu-product-gallery-chrome)));
        justify-self: start;
    }

    .page-product .product__images.js-images-container {
        width: 100%;
    }

    .page-product .product__images #product-images,
    .page-product .product__images #product-images .carousel-inner,
    .page-product .product__images #product-images .carousel-item,
    .page-product .product__images #product-images .product__image-wrap,
    .page-product .product__images #product-images .carousel-item picture {
        width: 100%;
        max-width: 100%;
    }

    .page-product .product__images #product-images .product__image-wrap {
        padding: clamp(8px, 1.5vw, 24px);
        box-sizing: border-box;
    }

    .page-product .product__images #product-images .carousel-item img {
        display: block;
        width: 100%;
        height: auto;
        max-height: calc(100dvh - var(--weu-product-gallery-chrome) - 40px);
        margin-inline: auto;
        object-fit: contain;
        object-position: center center;
        transform: none;
    }
}

.product.js-product-container > .product__left,
.product.js-product-container > .product__col,
.product.js-product-container > .product__info {
    padding-left: 0;
    padding-right: 0;
}

/* Evitar scroll horizontal: col-* de Bootstrap dentro del grid y carruseles Splide */
body#product .product.js-product-container.row > [class*="col-"] {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    flex: none !important;
}

body#product .product__col__content,
body#product .product__col__content__container,
body#product .product__info {
    min-width: 0;
    max-width: 100%;
}

body#product .product-additional__button.row {
    --bs-gutter-x: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body#product .product__images.js-images-container,
body#product #product-images,
body#product #product-images .carousel-inner {
    max-width: 100%;
    overflow-x: clip;
}

body#product .product__images .thumbnails__container.splide,
body#product .product__images .thumbnails__container .splide__track {
    max-width: 100%;
}

body#product .related-products .splide,
body#product .related-products .splide__track,
body#product #weuRelatedProductsSplide-list,
body#product #weuViewedProductsSplide-list,
body#product #weuDiscontinuedAlternativesSplide-list {
    max-width: 100%;
    overflow: hidden;
}

body#product #content-wrapper {
    overflow-x: clip;
}

body#product .product__description.rich-text,
body#product .product__description-short.rich-text {
    max-width: 100%;
    overflow-x: auto;
}

.page-product .product__images__modal-opener,
.page-product .product__images__zoom-btn.visually-hidden {
    display: none !important;
}

.product__images #product-images {
    background-color: #fff;
    isolation: isolate;
}

.product__images #product-images,
.product__images #product-images .carousel-inner {
    display: block;
    width: 100%;
    max-width: 100%;
}

.product__images #product-images .carousel-item picture,
.product__images #product-images .carousel-item img {
    width: 100%;
    max-width: 100%;
}

/* Fondo blanco en slides (fotos con lienzo claro) */
.product__images #product-images .carousel-inner,
.product__images #product-images .carousel-item,
.product__images #product-images .carousel-item picture {
    background-color: #fff;
}

.product__images #product-images .carousel-item {
    isolation: isolate;
}

.product__images #product-images .carousel-item picture {
    display: block;
    line-height: 0;
    isolation: isolate;
}

/* Clic en imagen principal abre Fancybox; arrastre horizontal cambia slide */
.product__images #product-images,
.product__images #product-images .carousel-inner {
    cursor: zoom-in;
    touch-action: pan-y;
}

.product__images #product-images:focus-visible {
    outline: 2px solid var(--weu-color-primary, #ea1e1c);
    outline-offset: 2px;
}

.product__images #product-images.is-grabbing,
.product__images #product-images.is-grabbing .carousel-inner {
    cursor: grabbing;
}

.product__images #product-images .carousel-item img {
    user-select: none;
    -webkit-user-drag: none;
}

.product__images .thumbnails__container .thumbnail {
    background-color: #fff;
    border-radius: var(--weu-radius-default);
    isolation: isolate;
    box-sizing: border-box;
    border: 2px solid transparent;
    cursor: zoom-in;
}

.product__images .thumbnails__container .thumbnail:focus-visible {
    outline: 2px solid var(--weu-color-primary, #ea1e1c);
    outline-offset: 2px;
}

.product__images .thumbnails__container .thumbnail.active {
    border-color: var(--weu-color-primary)!important;
}

.product__images .thumbnails__container .thumbnail.active img {
    border-color: transparent!important;
}

/* Tras AJAX de combinación: Splide aún no montado → no ocultar thumbs */
.product__images .thumbnails__container.splide:not(.is-initialized) {
    visibility: visible;
}

.product__images .thumbnails__container .splide__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Drag con ratón/dedo en miniaturas (horizontal y vertical) */
.product__images .thumbnails__container .splide__track {
    cursor: grab;
    touch-action: pan-y;
}

.product__images .thumbnails__container .splide__track:active {
    cursor: grabbing;
}

.product__images .thumbnails__container .thumbnail img {
    user-select: none;
    -webkit-user-drag: none;
}

.product__images img {
    mix-blend-mode: multiply;
    display: block;
}

@media (hover: hover) and (pointer: fine) {
    .product__images img {
        filter: contrast(1.1);
    }
}

@media (min-width: 992px) {
    .product .product__col__content {
        position: sticky;
        top: var(--weu-product-col-sticky-top, 12px);
        min-height: fit-content;
        overflow-x: clip;
        overflow-y: visible;
        overscroll-behavior: auto;
    }

    .product .product__col__content.is-scrollable {
        max-height: calc(100vh - var(--weu-product-col-sticky-top, 12px) - var(--weu-spacing-sm, 12px));
        overflow-y: auto;
        overscroll-behavior: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: rgba(0, 0, 0, 0.18) transparent;
    }
}

.page-product .product__name {
    margin-bottom: var(--weu-spacing-md);
    font-family: "Inter", sans-serif;
    font-weight: 900;
    font-size: var(--font-size-xl);
    line-height: var(--font-size-xxl);
    position: relative;
}

.page-product .product-price__wrapper {
    gap: var(--weu-spacing-xs);
    flex-wrap: wrap;
    align-items: baseline;
}

.page-product .product-taxons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--weu-spacing-xs);
    margin: var(--weu-spacing-sm) 0 0;
}

.page-product .product-taxons__chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: var(--font-size-sm);
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
    max-width: 100%;
    color: #1d1d1d;
    background: #ececec;
    border: 1px solid transparent;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.page-product .product-taxons__chip:hover,
.page-product .product-taxons__chip:focus {
    color: #1d1d1d;
    background: #e2e2e2;
    outline: none;
}

.page-product .product-taxons__chip:focus-visible {
    outline: 2px solid var(--weu-color-primary, #ea1e1c);
    outline-offset: 2px;
}

.page-product .product__current-price {
    font-size: var(--font-size-xl)!important;
    line-height: 1;
    color: var(--weu-color-black);
    font-weight: 700;
}

.page-product .product__tax-label {
    color: var(--bs-secondary-color);
    font-size: var(--font-size-sm);
    line-height: 1;
}

.product__images {
    position: relative;
}

.product-brand-logo {
    max-width: 168px;
    margin-bottom: var(--weu-spacing-sm);
    padding: 0;
    border-radius: 0;
    background-color: transparent;
}

@media (hover: none) {
    .product-brand-logo {
        isolation: isolate;
    }
}

.product-brand-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 40px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

@media (hover: hover) and (pointer: fine) {
    .product-brand-logo img {
        filter: contrast(1.1);
    }
}

@media (min-width: 992px) {
    .page-product .product__col__content.is-compact .product-brand-logo {
        margin-bottom: var(--weu-spacing-xs);
    }

    .page-product .product__col__content.is-compact .product__name {
        margin-bottom: var(--weu-spacing-sm);
    }

    .page-product .product__col__content.is-compact .product-additional__button {
        margin-top: var(--weu-spacing-sm);
        margin-bottom: var(--weu-spacing-sm);
    }

    .page-product .product__col__content.is-compact .tbc-product-financiacion-wrapper,
    .page-product .product__col__content.is-compact .tbc-product-delivery-wrapper {
        margin-top: var(--weu-spacing-sm);
    }

    .page-product .product__col__content.is-compact .tbc-product-financiacion-wrapper + .tbc-product-delivery-wrapper {
        margin-top: 8px;
    }

    .page-product .product__col__content.is-compact .product-availability__wrapper {
        margin-bottom: var(--weu-spacing-xs);
    }
}

.page-product .product-flags {
    position: absolute;
    top: var(--weu-spacing-sm);
    left: var(--weu-spacing-sm);
    right: auto;
    margin-bottom: 0;
    padding: 0!important;
    margin: 0!important;
    gap: 8px!important;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

@media (max-width: 991px) {
    /* Móvil: logo de marca a la izquierda → tags/descuento a la derecha */
    .page-product .product-flags {
        left: auto;
        right: var(--weu-spacing-sm);
        align-items: flex-end;
    }
}

.page-product .product-flags li {
    margin: 0!important;
}

.page-product .product-flags .badge {
    margin-top: 0;
    margin-bottom: 0;
}

.page-product .product-flags .badge.on-sale {
    --bs-badge-color: var(--weu-color-primary);
    background-color: var(--weu-color-grey) !important;
    color: var(--weu-color-primary) !important;
    border: 1.5px solid var(--weu-color-primary) !important;
    font-size: var(--font-size-sm);
    font-weight: 600;
    line-height: 1.2;
    text-transform: none;
}

@layer bs-base {
    .page-product .product-flags .badge.out_of_stock:not(.discount) {
        --bs-badge-color: #1d1d1d;
        background-color: #ededed !important;
        color: #1d1d1d !important;
        border: none !important;
        text-transform: none;
    }
}

.page-product .product__info__price__wrapper {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: var(--weu-spacing-xs);
    width: 100%;
    margin: 0;
}

.page-product .product__discount .product__price-regular-label {
    color: var(--bs-secondary-color);
    font-size: var(--font-size-sm);
    line-height: 1;
}

.page-product .product__discount {
    display: flex;
    flex-wrap: wrap;
    gap: var(--weu-spacing-xs);
    align-items: center;
    margin: 0;
    color: var(--bs-secondary-color) !important;
}

.page-product .product__price-custom-tags {
    display: contents;
    list-style: none;
    margin: 0;
    padding: 0;
}

.page-product .product__price-custom-tags .badge.weu-custom-tag {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 2px 8px;
    border-radius: 100px;
    font-size: var(--font-size-sm);
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.page-product .product__discount-percentage,
.page-product .product__discount-amount,
.page-product .product__discount .product-miniature__discount-badge {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border: 1.5px solid var(--weu-color-primary);
    border-radius: 100px;
    background-color: var(--weu-color-grey);
    color: var(--weu-color-primary) !important;
    font-size: var(--font-size-sm);
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.page-product .product__price-regular {
    font-weight: 700;
    text-decoration: none;
    position: relative;
    line-height: 1;
    font-size: var(--font-size-sm);
    color: var(--bs-secondary-color);
}

.page-product .product__price-regular::after {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    right: 0;
    border-top: 1px solid;
    border-color: inherit;
    transform: rotate(-7deg);
}

.page-product .product__infos .accordion-body .info__content {
    padding-bottom: var(--weu-spacing-md);
}

/**
sequra
**/
/* Modal sequra */
.page-product .product-price-stack {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tbc-product-financiacion-wrapper,
.tbc-product-delivery-wrapper {
    margin-top: var(--weu-spacing-sm);
    width: 100%;
}

.tbc-product-financiacion-wrapper + .tbc-product-delivery-wrapper {
    margin-top: 8px;
}

.product-info-card {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--weu-border-color, #d1d5db);
    border-radius: var(--weu-radius-default);
    background: var(--weu-white);
    color: var(--weu-color-black);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.product-info-card:hover,
.product-info-card:focus {
    border-color: #b8bec7;
    background: var(--weu-color-grey-light, #fafafa);
    color: var(--weu-color-black);
    text-decoration: none;
}

.product-info-card:focus-visible {
    outline: 2px solid var(--weu-color-primary, #ea1e1c);
    outline-offset: 2px;
}

.product-info-card--static {
    cursor: default;
}

.product-info-card--static:hover,
.product-info-card--static:focus {
    border-color: var(--weu-border-color, #d1d5db);
    background: var(--weu-white);
}

.product-info-card__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--weu-color-black);
}

.product-info-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.product-info-card__eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.product-info-card__primary {
    font-size: var(--font-size-base);
    font-weight: 400;
    line-height: 1.3;
    color: var(--weu-color-black);
}

.product-info-card__primary strong,
.tbc-product-financiacion__amount {
    font-weight: 700;
}

.product-info-card__secondary {
    font-size: var(--font-size-sm);
    font-weight: 400;
    line-height: 1.35;
    color: var(--bs-secondary-color);
}

.product-info-card__chevron {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-left: auto;
    color: var(--bs-secondary-color);
}

@media (max-width: 767px) {
    .tbc-product-financiacion-wrapper,
    .tbc-product-delivery-wrapper {
        width: 100%;
    }
}

#financiacionModal .modal-dialog {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
#financiacionModal .modal-content {
    border-radius: 16px;
}
#financiacionModal .modal-header {
    display: flex;
    -ms-flex-align: start;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1rem 1.725rem;
    border-bottom: none;
}
#financiacionModal .modal-header .close {
    opacity: 1;
    margin-top: 0;
}
#financiacionModal .modal-header .close  i {
    width: 22px;
    height: 22px;
    display: block;
}
#financiacionModal .modal-header::after {
    content:none;
}
#financiacionModal .modal-header .modal-title {
    text-transform: uppercase;
    font-weight: 700;
    color:#000;
    font-size: 18px;
}
#financiacionModal .modal-body {
    padding-left: 1.725rem;
    padding-right: 1.725rem;
}
#financiacionModal .modal-body p {
    color:#000;
    font-size: 16px;
}
#financiacionModal .tbc-product-modal-sequra {
    padding-top: 16px;
}
#financiacionModal .modal-body .tbc-intro-financiado {
    border-bottom: 1px solid rgba(0,0,0,.1);
}
#financiacionModal .modal-body .modal-subtitle {
    font-weight: 700;
    color:#000;
}
.tbc-product-modal-sequra {
    display: flex;
    justify-content: center;
}
.sequra-promotion-widget {
    width: 400px;
    max-width: 400px!important;
}

.product-availability__wrapper {
    display: flex;
    justify-content: center;
    margin: var(--weu-spacing-sm) 0 0;
}

.product-availability__wrapper:not(:has(.product-availability__line)):not(:has(.product-availability__submessage)) {
    display: none;
    margin: 0;
}

.product-delivery-eta.product-info-card {
    align-items: center;
}

.product-delivery-eta__primary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.product-delivery-eta__prefix {
    font-weight: 700;
    color: var(--weu-color-black);
}

.product-delivery-eta__date {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--weu-alert-success-bg, #eefaf1);
    color: var(--weu-alert-success-text, #1c6b3a);
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
}

.product-delivery-eta__countdown {
    font-weight: 700;
    color: inherit;
}

.product-delivery-eta__sep {
    opacity: 0.7;
}

.product-availability__submessage {
    margin: 6px 0 0;
    font-size: var(--font-size-sm);
    color: var(--bs-secondary-color);
}

.product-payment-methods {
    margin-bottom: var(--weu-spacing-md);
    max-width: 100%;
    overflow-x: clip;
}

.product-payment-methods__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: stretch;
    justify-content: space-between;
    list-style: none;
    padding: 12px 0 0;
    margin: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

.product-payment-methods__item {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 28px;
    padding: 4px 4px;
    border-radius: 4px;
    background: var(--weu-white);
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.product-payment-methods__trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: help;
    line-height: 0;
}

.product-payment-methods__item img {
    display: block;
    height: 16px;
    width: auto;
    max-width: 44px;
    object-fit: contain;
}

.product-availability__line {
    margin-bottom: 0;
    font-size: var(--font-size-secondary);
    line-height: 1.35;
}

.product-availability__line--alert {
    color: var(--weu-color-danger);
}

.product-availability__message {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1.35;
}

.product-availability__message .product-availability__message-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 1px;
    border-radius: 50%;
    flex-shrink: 0;
}

.product-availability__message .product-availability__message-icon.danger {
    background-color: var(--weu-color-danger);
}

.product-availability__message .tbc-heroicon {
    width: 12px;
    height: 12px;
    background-color: var(--weu-white);
}

.product-availability__message-text,
.product-availability__line .product__delivery__information {
    display: inline;
    font-size: inherit;
    color: inherit;
}

.page-product .product__variants .variant .radio-variants,
.page-product .product__variants .variant .color-variants {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--weu-spacing-sm);
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}

/* Tallas/radio: ancho fijo por opción y relleno al 100% (wrap en móvil y desktop) */
.page-product .product__variants .variant .radio-variants {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
    gap: 8px;
    width: 100%;
    align-items: stretch;
}

.page-product .product__variants .variant .radio-variants .radio-variant,
.page-product .product__variants .variant .color-variants .color-variant {
    padding-left: 0;
    margin: 0;
    width: auto;
    flex: 0 0 auto;
}

.page-product .product__variants .variant .radio-variants .radio-variant {
    flex: unset;
    min-width: 0;
    width: 100%;
}

.product__variants .radio-variant label {
    display: flex;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
}

.product__variants .radio-variant label input {
    display: none;
}

.product__variants  .form-label {
    font-weight: 400;
    margin-bottom: var(--weu-spacing-sm);
    color: var(--weu-color-black);
}

.product__variants .radio-variant label .radio-label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    height: 100%;
    padding: 8px 6px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    background-color: var(--weu-white);
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: normal;
    overflow-wrap: normal;
    font-size: var(--font-size-base);
    font-weight: 500;
    line-height: 1.2;
    color: var(--weu-color-black);
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
}

.product__variants .radio-variant label:hover .radio-label {
    border-color: #c9ced6;
}

.product__variants .radio-variant label input:checked + .radio-label {
    border-color: var(--weu-color-black);
    color: var(--weu-color-black);
    background-color: var(--weu-white);
    font-weight: 700;
}

.product__variants .radio-variant label input:focus-visible + .radio-label {
    outline: 2px solid var(--weu-color-primary, #ea1e1c);
    outline-offset: 2px;
}

.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta {
    width: 100%;
    min-height: 48px;
    font-size: 14px;
    font-weight: 600;
}

.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta:hover,
.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta:focus-visible,
.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta:active {
    color: var(--weu-white);
}

.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta__label {
    color: inherit;
}

.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta__icon {
    width: 26px;
    height: 26px;
}

.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta__icon .tbc-heroicon {
    width: 14px;
    height: 14px;
    background-color: var(--weu-white);
}

.page-product .product__add-to-cart .product-actions__button .weu-checkout-cta:disabled {
    cursor: not-allowed;
}

/* Bloque aviso de stock (ps_emailalerts) */
.page-product .product-mailalert {
    display: flex;
    flex-direction: column;
    gap: var(--weu-spacing-sm);
    padding: var(--weu-spacing-md);
    border-radius: var(--weu-radius-default);
    background-color: var(--weu-color-grey);
}

.page-product .product-mailalert__title {
    margin: 0;
    font-size: var(--font-size-secondary);
    font-weight: 600;
    line-height: 1.35;
    color: var(--weu-color-dark);
    text-align: center;
}

.page-product .product-mailalert__hint {
    margin: 0;
    font-size: var(--font-size-secondary);
    line-height: 1.35;
    color: var(--weu-color-dark);
    text-align: center;
    opacity: 0.85;
}

.page-product .product-mailalert__field.form-floating > .form-control {
    min-height: 52px;
    border: 1px solid var(--weu-color-form-control-border);
    border-radius: var(--weu-radius-default);
    background-color: var(--weu-white);
    font-size: var(--font-size-base);
}

.page-product .product-mailalert__field.form-floating > label {
    color: var(--weu-color-dark);
    font-size: var(--font-size-secondary);
}

.page-product .product-mailalert__field.form-floating > .form-control:focus {
    border-color: var(--weu-focus-border-color);
    box-shadow: var(--weu-focus-ring-shadow);
}

.page-product .product-mailalert__gdpr {
    display: flex;
    justify-content: center;
    width: 100%;
    font-size: var(--font-size-secondary);
}

.page-product .product-mailalert__gdpr [id^="gdpr_consent"],
.page-product .product-mailalert__gdpr .gdpr-consent,
.page-product .product-mailalert__gdpr .gdpr_consent {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
}

.page-product .product-mailalert__gdpr .form-check {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    margin: 0;
}

.page-product .product-mailalert__gdpr .form-check-label a,
.page-product .product-mailalert__gdpr .form-check-label .weu-cms-modal-link {
    color: var(--weu-color-primary);
    text-decoration: underline;
}

.page-product .product-mailalert__gdpr .form-check-label a:hover,
.page-product .product-mailalert__gdpr .form-check-label a:focus,
.page-product .product-mailalert__gdpr .form-check-label .weu-cms-modal-link:hover,
.page-product .product-mailalert__gdpr .form-check-label .weu-cms-modal-link:focus {
    color: #c91917;
}

.page-product .product-mailalert__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    padding: 0 var(--weu-spacing-sm);
    border: 0;
    border-radius: var(--weu-radius-default);
    background-color: var(--weu-color-success);
    color: var(--weu-white);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    transition: background-color 0.2s ease;
}

.page-product .product-mailalert__btn:hover,
.page-product .product-mailalert__btn:focus-visible {
    background-color: color-mix(in srgb, var(--weu-color-success) 88%, var(--weu-color-black));
    color: var(--weu-white);
}

.page-product .product-mailalert__btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.page-product .product-mailalert__btn-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
}

.page-product .product-mailalert__btn-icon .tbc-heroicon {
    width: 22px;
    height: 22px;
    background-color: var(--weu-white);
}

.page-product .product-mailalert__alerts:not(:empty) {
    margin-top: calc(var(--weu-spacing-xs) * -1);
}

.page-product .product-mailalert__alerts .alert {
    margin-bottom: 0;
    font-size: var(--font-size-secondary);
}

.page-product .product-mailalert__confirmed {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--weu-spacing-xs);
    padding: var(--weu-spacing-sm) 0;
    text-align: center;
}

.page-product .product-mailalert__confirmed-icon {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--weu-color-success);
}

.page-product .product-mailalert__confirmed-icon .tbc-heroicon {
    width: 18px;
    height: 18px;
    background-color: var(--weu-white);
}

.page-product .product-mailalert__confirmed-text {
    margin: 0;
    font-size: var(--font-size-secondary);
    font-weight: 600;
    color: var(--weu-color-dark);
}

.page-product .product__add-to-cart .product-actions__quantity {
    display: none;
}
.page-product .product__add-to-cart .product-actions__quantity #quantity_wanted {
    height: clamp(52px, calc(50px + .625vw), 60px);
}

.page-product .product-actions__sticky-summary {
    display: none;
}

.page-product .product-actions__button.add.is-fixed .product-actions__sticky-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "name name"
        "variants prices";
    align-items: center;
    column-gap: var(--weu-spacing-md);
    row-gap: 2px;
    max-height: none;
    overflow: visible;
    color: var(--weu-color-dark);
}

.page-product .product-actions__sticky-summary-name {
    grid-area: name;
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
    color: var(--weu-color-black);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.page-product .product-actions__sticky-prices-inner {
    grid-area: prices;
    justify-self: end;
}

.page-product .product-actions__sticky-prices-inner .product__tax-label {
    display: none;
}

.page-product .product-actions__sticky-summary-variants {
    grid-area: variants;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: #4b5563;
    padding-left: 0;
    margin: 0;
    min-width: 0;
}

.page-product .product-actions__sticky-summary-variants li + li {
    margin-top: 0.125rem;
}

.page-product .product-actions__sticky-prices-inner .prices__wrapper {
    margin-bottom: 0 !important;
    align-items: flex-end;
    gap: 0;
}

.page-product .product-actions__sticky-prices-inner .product-price__wrapper {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end !important;
    gap: 0 !important;
}

.page-product .product-actions__sticky-prices-inner .product__info__price__wrapper {
    width: auto !important;
    max-width: 100%;
    margin: 0 !important;
    justify-content: flex-end;
}

.page-product .product-actions__sticky-prices-inner .product__discount {
    justify-content: flex-end;
    width: 100%;
}

.page-product .product-actions__sticky-prices-inner .product__current-price,
.page-product .product-actions__sticky-prices-inner .product__price-regular {
    text-align: right;
}

.page-product .product-actions__sticky-prices-inner .product__current-price {
    font-size: var(--font-size-base)!important;
    line-height: 1.2;
}

.page-product .product-actions__sticky-prices-inner .product__price-regular,
.page-product .product-actions__sticky-prices-inner .product__tax-label,
.page-product .product-actions__sticky-prices-inner .product__unit-price {
    font-size: 0.6875rem;
    line-height: 1.2;
}

.product-additional__button {
    margin-bottom: var(--weu-spacing-md);
    margin-top: var(--weu-spacing-md);
    margin-left: 0;
    margin-right: 0;
    gap: 8px;
    align-items: stretch;
    max-width: 100%;
    overflow-x: clip;
}

.tbc-separate {
    width: 1px;
    height: 40px;
    background-color: var(--weu-color-grey);
    display: block;
    padding: 0;
    margin-top: auto;
    margin-bottom: auto;
}

.product-low-price-cta {
    position: relative;
    padding: var(--weu-spacing-xs) var(--weu-spacing-sm);
    display: flex;
    align-items: center;
    gap: .5rem;
    justify-content: center;
    border-radius: 0;
    width: calc(25% - 6px);
    background: transparent;
    border: 0;
    overflow: visible;
    isolation: isolate;
    transition: color .2s ease-in-out;
}

.product-low-price-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: var(--weu-color-grey);
    transform: skewX(-14deg);
    transition: background-color .2s ease-in-out;
}

.product-low-price-cta > * {
    position: relative;
    z-index: 1;
}

.product-low-price-cta * {
    color: var(--weu-color-black);
}

.product-additional__button .product-low-price-cta div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.product-low-price-cta:hover::before {
    background-color: var(--weu-color-primary-soft-hover);
}

.product-low-price-cta:hover {
    background-color: transparent;
    border-color: transparent;
}

.product-low-price-cta i {
    font-size: var(--font-size-xl);
}

.product-low-price-cta span {
    font-size: var(--font-size-base);
    line-height: 1.3;
    font-weight: 700;
    display: block;
    text-align: center;
}

.product-low-price-cta span:last-child {
    font-weight: 400;
    font-size: var(--font-size-sm);
}

/* Modal constraints */
#weuModalBody {
    padding: var(--weu-spacing-md);
    padding-top: var(--weu-spacing-sm);
}

#weuModalBody:has(#weuLowPriceForm) {
    padding-top: var(--weu-spacing-xs);
}

#weuDynamicModal .modal-dialog {
    width: 100%;
    max-width: 800px;
    margin: 1.75rem auto;
}

#weuDynamicModal .modal-header {
    border-bottom: none;
    padding: var(--weu-spacing-md) var(--weu-spacing-md) var(--weu-spacing-sm);
    align-items: center;
    gap: var(--weu-spacing-sm);
}

/* Formulario "Lo has visto más barato" — weu-auth-field */
#weuLowPriceForm {
    padding: 0;
}

.weu-low-price-title {
    margin-top: 0;
    margin-bottom: 12px;
}

#weuLowPriceForm .weu-low-price-contact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 12px;
}

#weuLowPriceForm .weu-auth-field {
    margin-bottom: 16px;
}

#weuLowPriceForm .weu-low-price-form__footer {
    margin-top: 4px;
}

#weuLowPriceForm .weu-low-price-form__submit {
    width: 100%;
    min-height: 48px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

#weuLowPriceForm .weu-auth-field__error {
    display: block;
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.35;
    color: #dc3545;
}

#weuLowPriceForm .weu-auth-field__error:empty {
    display: none;
    margin: 0;
}

#weuLowPriceForm .weu-field-invalid .weu-auth-field__control {
    border-color: #dc3545;
}

#weuLowPriceForm .weu-field-invalid .weu-auth-field__control:focus-within {
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.12);
}

#weuLowPriceForm .weu-field-invalid .weu-auth-field__label {
    color: #dc3545;
}

@media (max-width: 575px) {
    #weuLowPriceForm .weu-low-price-contact {
        grid-template-columns: 1fr;
    }
}

/* Variantes sin stock: apagadas visualmente pero seleccionables para el aviso */
.product__variants .radio-variant.out-of-stock,
.product__variants .color-variant.out-of-stock {
    pointer-events: auto;
    background: none;
    opacity: 1;
    border-radius: 0;
}

.product__variants .radio-variant.out-of-stock label,
.product__variants .color-variant.out-of-stock label {
    position: relative;
    cursor: pointer;
}

.product__variants .radio-variant.out-of-stock .radio-label {
    color: #9ca3af;
    border-color: #e5e7eb;
    background-color: var(--weu-color-grey-light, #fafafa);
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.product__variants .radio-variant.out-of-stock label input:checked + .radio-label {
    border-color: var(--weu-color-black);
    color: var(--weu-color-black);
    background-color: var(--weu-white);
    font-weight: 700;
}

.product__variants .radio-variant.out-of-stock .radio-label::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 8%;
    width: 84%;
    height: 1px;
    background-color: #b0b7c3;
    transform: rotate(-12deg);
    pointer-events: none;
}

.product__variants .color-variant.out-of-stock .color,
.product__variants .color-variant.out-of-stock .texture {
    opacity: 0.45;
}

.product__variants .color-variant.out-of-stock label::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: linear-gradient(
        to top right,
        transparent 44%,
        #b0b7c3 48%,
        #b0b7c3 52%,
        transparent 56%
    );
    pointer-events: none;
}

.product__variants select option.out-of-stock,
.product__variants select option:disabled {
    color: #9ca3af;
}

/* Modal Envíos / Ajustado text styling */
.weu-shipping-info {
    color: var(--weu-color-black, #000);
}

.weu-shipping-info .weu-shipping-title {
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 14px;
    color: #222;
}

.weu-shipping-intro {
    font-size: var(--font-size-base);
    line-height: 1.5;
    margin-bottom: 16px;
    color: #333;
}

.weu-shipping-section {
    border: 1px solid var(--weu-color-border, #e5e7eb);
    border-radius: var(--weu-radius-default, 8px);
    padding: 14px 16px;
    margin-bottom: 12px;
    background-color: var(--weu-white);
}

.weu-shipping-section__title {
    font-size: var(--font-size-secondary);
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--weu-color-black);
}

.weu-shipping-section__text {
    font-size: var(--font-size-base);
    line-height: 1.45;
    color: #333;
}

.weu-shipping-list {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--font-size-base);
    line-height: 1.45;
    color: #333;
}

.weu-shipping-list li {
    padding-left: 0;
}

.weu-shipping-list li::before {
    content: "•";
    display: inline-block;
    width: 0.65em;
    margin-right: 0.35em;
}

.weu-shipping-list li + li {
    margin-top: 6px;
}

.weu-return-info .weu-shipping-list__link {
    color: var(--weu-color-primary);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.weu-return-info .weu-shipping-list__link:hover,
.weu-return-info .weu-shipping-list__link:focus-visible {
    color: var(--weu-color-black);
    text-decoration-thickness: 2px;
}

.weu-shipping-section--important {
    border-color: var(--weu-color-primary);
    background-color: rgba(234, 30, 28, 0.04);
}

.weu-shipping-section--important .weu-shipping-section__title {
    color: var(--weu-color-primary);
}

.weu-shipping-rates {
    --bs-gutter-x: 10px;
    margin-bottom: 8px;
    align-items: stretch;
}

.weu-shipping-rates > [class*="col-"] {
    display: flex;
    min-width: 0;
}

.weu-shipping-rates .weu-shipping-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-height: 100%;
}

.weu-shipping-rates-note {
    margin: 0 0 16px;
    font-size: var(--font-size-secondary);
    font-weight: 600;
    color: rgba(29, 29, 29, 0.72);
    text-align: center;
}

.weu-shipping-info .weu-shipping-subtitle,
.weu-low-price-title,
.weu-ajusted-video-title {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 12px;
    color: #222;
}

.weu-shipping-card {
    border-radius: var(--weu-radius-default, 8px);
    padding: 12px 14px;
    margin-bottom: 0;
    border: 1px solid #e5e7eb;
    border-left-width: 4px;
    text-align: left;
}

.weu-shipping-card.is-green {
    background-color: #f2fcf5;
    border-color: #d1f1da;
    border-left-color: #2fb15c;
}

.weu-shipping-card.is-orange {
    background-color: #fff9f2;
    border-color: #ffe6cc;
    border-left-color: #ffb12b;
}

.weu-shipping-card .weu-shipping-card-title {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #111;
    line-height: 1.3;
    min-height: calc(1.3em * 2);
}

.weu-shipping-card .weu-shipping-card-price {
    font-size: 15px;
    margin-bottom: 0;
    line-height: 1.2;
    color: #333;
}

.weu-shipping-card p {
    font-size: 15px;
    margin-bottom: 0;
    line-height: 1.5;
    color: #333;
}

.weu-shipping-info .weu-shipping-text {
    font-size: var(--font-size-base);
    line-height: 1.45;
    margin-bottom: 10px;
    color: #333;
}

/** Acordeon ficha producto — bordes uniformes expandido/colapsado */
.page-product #product-infos-accordion.accordion-flush > .accordion-item,
.page-product .product__infos.accordion-flush > .accordion-item {
    border: none;
    border-radius: 0 !important;
    background-color: transparent;
    overflow: visible;
}

.page-product #product-infos-accordion .accordion-button,
.page-product .product__infos .accordion-button {
    font-size: var(--font-size-md);
    margin-bottom: 0;
    padding: 12px 0;
    border: 0;
    border-radius: 0 !important;
    border-bottom: 1px solid var(--weu-color-grey);
    background-color: transparent;
    box-shadow: none !important;
    color: var(--weu-color-black);
    font-weight: 900;
    line-height: 1.25;
    text-transform: none;
}

.page-product #product-infos-accordion .accordion-button:not(.collapsed),
.page-product #product-infos-accordion .accordion-button.collapsed,
.page-product .product__infos .accordion-button:not(.collapsed),
.page-product .product__infos .accordion-button.collapsed {
    border-bottom: 1px solid var(--weu-color-grey);
    box-shadow: none !important;
}

.page-product #product-infos-accordion .accordion-button:focus,
.page-product .product__infos .accordion-button:focus {
    box-shadow: none !important;
    border-color: transparent;
    border-bottom-color: var(--weu-color-grey);
}

.page-product .product__info .accordion-collapse,
.page-product .product__col .accordion-collapse {
    padding: var(--weu-spacing-sm) 0;
    border-bottom: 1px solid var(--weu-color-grey);
}

.page-product #product-infos-accordion.accordion-flush > .accordion-item:last-child .accordion-collapse,
.page-product .product__infos.accordion-flush > .accordion-item:last-child .accordion-collapse {
    border-bottom: none;
}

.page-product .product__description.rich-text h3,
.page-product .product__description.rich-text .h3 {
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--weu-color-black);
    line-height: 1.3;
    margin: var(--weu-spacing-md) 0 var(--weu-spacing-sm);
    padding: 0 0 var(--weu-spacing-xs);
    border-bottom: 1px solid var(--weu-color-grey);
}

.page-product .product__description.rich-text h3:first-child,
.page-product .product__description.rich-text .h3:first-child {
    margin-top: 0;
}

.page-product .product__description-short.rich-text h4,
.page-product .product__description-short.rich-text .h4 {
    color: var(--weu-color-black);
    font-weight: 600;
}

.rich-text .h3, .rich-text h3 {
    font-size: var(--font-size-lg);
}

.product__details, .product__features {
    background-color: transparent;
}

/* Detalles del producto / ficha técnica — tabla alineada */
.page-product .details__list {
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: var(--weu-white);
    border: 1px solid var(--weu-color-border);
    border-radius: var(--weu-radius-default);
    overflow: hidden;
}

.page-product .details__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--weu-color-border);
}

.page-product .details__item:last-child {
    border-bottom: none;
}

.page-product .details__item:nth-child(even) {
    background-color: var(--weu-color-grey-light);
}

.page-product .details__left {
    flex: 0 0 42%;
    max-width: 42%;
    min-width: 0;
}

.page-product .details__right {
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    color: var(--weu-color-dark);
    word-break: break-word;
}

.page-product .details__title {
    margin: 0;
    font-size: var(--font-size-base);
    font-weight: 600;
    color: var(--weu-color-dark);
}

.page-product .details__right a {
    color: var(--weu-color-black);
    font-weight: 600;
    text-decoration: none;
}

.page-product .details__right a:hover,
.page-product .details__right a:focus {
    color: var(--weu-color-primary);
}

.page-product .details__manufacturer-logo {
    max-height: 32px;
    width: auto;
}

@media (max-width: 575px) {
    .page-product .details__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .page-product .details__left,
    .page-product .details__right {
        flex: none;
        max-width: 100%;
        width: 100%;
        text-align: left;
    }
}

.accordion-item {
    position: relative;
    clear: both;
    overflow-y: auto;
}

.accordion-item a {
    color: var(--weu-color-black);
}

.accordion-item a:hover {
    color: var(--weu-color-primary);
}

.detail {
    border-color: var(--weu-color-grey);
}

#weuRelatedProductsSplide-list,
#weuViewedProductsSplide-list,
#weuDiscontinuedAlternativesSplide-list {
    position: relative;
}

#weuRelatedProductsSplide-list .splide__track,
#weuViewedProductsSplide-list .splide__track,
#weuDiscontinuedAlternativesSplide-list .splide__track {
    cursor: grab;
}

#weuRelatedProductsSplide-list.is-dragging .splide__track,
#weuViewedProductsSplide-list.is-dragging .splide__track,
#weuDiscontinuedAlternativesSplide-list.is-dragging .splide__track {
    cursor: grabbing;
}

#weuRelatedProductsSplide-list .splide__list,
#weuViewedProductsSplide-list .splide__list,
#weuDiscontinuedAlternativesSplide-list .splide__list {
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

#weuRelatedProductsSplide-list .splide__slide,
#weuViewedProductsSplide-list .splide__slide,
#weuDiscontinuedAlternativesSplide-list .splide__slide {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
    margin-right: 0;
    box-sizing: border-box;
}

.related-products.viewed-products #weuViewedProductsSplide-list {
    height: auto;
}

.related-products.viewed-products #weuViewedProductsSplide-list .splide__track,
.related-products.viewed-products #weuViewedProductsSplide-list .splide__list,
.related-products.viewed-products #weuViewedProductsSplide-list .splide__slide {
    height: auto;
}

.related-products.viewed-products #weuViewedProductsSplide-list .splide__track {
    user-select: none;
}

@media (hover: none) and (pointer: coarse) {
    .related-products.viewed-products #weuViewedProductsSplide-list .splide__track {
        touch-action: pan-y pinch-zoom;
    }
}

@media (hover: hover) and (pointer: fine) {
    .related-products.viewed-products #weuViewedProductsSplide-list .splide__track {
        touch-action: pan-x;
    }
}

.related-products.viewed-products #weuViewedProductsSplide-list.is-dragging a {
    pointer-events: none;
}

.related-products article {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.related-products article .card {
    height: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.related-products .product-miniature > .card {
    padding: var(--weu-spacing-xs);
}

.related-products .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
}

.related-products .product-miniature__infos {
    gap: 8px;
    justify-content: flex-start;
}

.related-products .product-miniature__title {
    min-height: 0;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
}

.related-products .product-miniature__prices {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    max-width: 100%;
}

.related-products .product-miniature__price {
    font-size: var(--font-size-base);
    font-weight: 700;
    line-height: 1.2;
    word-break: break-word;
}

.related-products .product-miniature__discount-price {
    margin-bottom: 0;
    min-width: 0;
    max-width: 100%;
}

.related-products .product-miniature__regular-price {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--bs-tertiary-color, rgba(33, 37, 41, 0.75));
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    max-width: 100%;
}

@media (min-width: 1024px) {
    .product .product__left {
        padding: 0;
        width: 100%;
        grid-area: product__left;
    }

    .product .product__col {
        padding: 0;
        width: 100%;
        grid-area: product__col;
    }

    .product__info {
        padding: 0;
        width: 100%;
        grid-area: product__info;
        margin-top: 0;
    }
}

@media (min-width:1201px) {
    .product__images:has(.thumbnails__container) {
        --weu-product-thumb-width: 100px;
        --weu-product-gallery-gap: var(--weu-spacing-sm);
        --weu-product-media-offset: calc(var(--weu-product-thumb-width) + var(--weu-product-gallery-gap));
        display: grid;
        grid-template-columns: var(--weu-product-thumb-width) minmax(0, 1fr);
        column-gap: var(--weu-product-gallery-gap);
        align-items: start;
        position: relative;
        overflow: hidden;
    }

    .product.js-product-container:has(.thumbnails__container) {
        --weu-product-media-offset: calc(var(--weu-product-thumb-width, 100px) + var(--weu-product-gallery-gap, var(--weu-spacing-sm)));
    }

    .product__images:has(.thumbnails__container) .thumbnails__container {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        position: relative;
        top: auto;
        left: auto;
        overflow-y: auto;
        overflow-x: hidden;
        height: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
        margin-top: 0;
        margin-bottom: 0;
        cursor: grab;
    }

    .product__images:has(.thumbnails__container) #product-images:not(.no-thumbnails) {
        grid-column: 2;
        grid-row: 1;
        margin-left: 0;
        width: 100%;
    }

    .product__images .thumbnails__container.is-grabbing {
        cursor: grabbing;
    }

    /* Sin mount de Splide: evitar que splide.min.css oculte las miniaturas */
    .product__images .thumbnails__container.weu-thumbs--vertical-native,
    .product__images .thumbnails__container.splide:not(.is-initialized) {
        visibility: visible;
    }

    /* Modo vertical nativo (Splide destruido en JS): el track crece con el contenido */
    .product__images:has(.thumbnails__container) :is(.splide__list, .thumbnails__list) {
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        gap: var(--weu-product-gallery-gap) !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
    }

    .product__images .thumbnails__container.weu-thumbs--vertical-native .splide__track {
        height: auto !important;
        overflow: visible !important;
    }

    .product__images:has(.thumbnails__container) .thumbnail {
        width: 100%;
        flex: 0 0 auto;
        margin: 0 !important;
    }

    .product__images:has(.thumbnails__container) .thumbnail img {
        width: 100%;
        height: auto;
        display: block;
    }

    .product__images .thumbnails__container::-webkit-scrollbar {
        display: none;
    }

    .product .product__info {
        padding-left: var(--weu-product-media-offset);
    }

    .product-additional__button .col-md-4 {
        width: calc(25% - 12px);
    }

    .related-products {
        margin-bottom: var(--weu-spacing-lg);
    }
}

@media (max-width: 1024px) {
    .product {
        flex-direction: column-reverse;
    }

    .product .product__left {
        width: 100%;
    }

    .product .product__col {
        width: 100%;
    }
}

@media (max-width: 991px) {
    .product {
        grid-template-areas:
        "product__left"
        "product__col"
        "product__info";
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        position: relative;
    }

    .product--discontinued {
        grid-template-areas:
            "product__left"
            "product__col"
            "alternatives";
        grid-template-columns: 1fr;
    }

    .product--discontinued .product-discontinued-alternatives-wrap {
        grid-column: auto;
    }

    /* Bootstrap .row/.g-4 aplica márgenes negativos que desbordan en móvil */
    body#product .product.row.g-4,
    body#product .product.js-product-container.row {
        --bs-gutter-x: 0 !important;
        --bs-gutter-y: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body#product .product__images .thumbnails__container.splide,
    body#product .product__images .thumbnails__container .splide__track {
        overflow: hidden;
    }

    .product .product__col__content {
        position: static;
        max-height: none;
        overflow: visible;
        overscroll-behavior: auto;
    }

    /* Móvil: logo marca en overlay sobre la galería, a la izquierda */
    .product-brand-logo {
        position: absolute;
        top: 16px;
        left: 12px;
        right: auto;
        z-index: 3;
        max-width: 180px;
        margin-bottom: 0;
        padding: 0;
        background-color: transparent;
        isolation: isolate;
    }

    .product-brand-logo a {
        display: block;
        line-height: 0;
    }

    .product-brand-logo img {
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 44px;
        object-fit: contain;
        mix-blend-mode: multiply;
        filter: contrast(1.1);
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    .product-additional__button {
        gap: 16px;
        margin-bottom: 0;
    }

    .product-low-price-cta {
        width: calc(25% - 12px);
        max-width: none;
    }

    .product-actions__button.add.is-fixed {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: auto;
        max-width: 100%;
        box-sizing: border-box;
        background-color: var(--weu-white);
        padding: var(--weu-spacing-sm);
        padding-bottom: calc(var(--weu-spacing-sm) + max(12px, env(safe-area-inset-bottom, 0px)));
        z-index: 999;
        box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.05);
        border-top: 1px solid var(--weu-color-grey-hover);
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
        margin: 0 !important;
    }

    /* Hueco bajo el ATC fijo: el footer es hermano de #wrapper, no basta con padding en el wrapper */
    body#product.weu-product-atc-fixed #wrapper {
        padding-bottom: var(--weu-product-fixed-atc-offset, calc(160px + env(safe-area-inset-bottom, 0px)));
    }

    body#product.weu-product-atc-fixed #footer {
        margin-bottom: var(--weu-product-fixed-atc-offset, calc(160px + env(safe-area-inset-bottom, 0px)));
    }

    body.offcanvas-open .product-actions__button.add.is-fixed {
        display: none !important;
    }

    body.offcanvas-open:has(#weuCartOffcanvas.show) .product-additional__button {
        display: none !important;
    }

    .product-actions__button.add.is-fixed .product-price__wrapper {
        gap: 0!important;
    }

    .product-actions__button.add.is-fixed .product__info__price__wrapper {
        width: auto;
        margin-left: 0;
    }

    .related-products {
        margin-bottom: var(--weu-spacing-md);
    }
}

@media (max-width: 1200px) {
    /*
     * La lista Splide con ancho intrínseco grande no debe ensanchar la columna del grid:
     * min-width: 0 en hijos de grid evita scroll horizontal en toda la página.
     */
    .product .product__left {
        min-width: 0;
    }

    .product .product__col {
        min-width: 0;
    }

    .product__images.js-images-container {
        min-width: 0;
        max-width: 100%;
        overflow-x: hidden;
    }

    .product__images .thumbnails__container.splide {
        max-width: 100%;
        min-width: 0;
    }

    .product__images .thumbnails__container {
        margin-top: var(--weu-spacing-sm);
        padding-bottom: 6px;
    }

    /*
     * No usar overflow-x: auto en .splide__track: choca con el movimiento por transform de Splide
     * y genera scrollWidth enorme / hueco en blanco al final. Splide controla el desplazamiento.
     */
    .product__images .thumbnails__container .splide__track {
        overflow: hidden;
        cursor: grab;
        max-width: 100%;
        height: 142px!important;
    }

    .product__images .thumbnails__container .splide__track:active {
        cursor: grabbing;
    }

    /* Si el track sigue en modo ttb, Splide pone la lista en block: forzamos fila horizontal. */
    .product__images .thumbnails__container .splide__track > .splide__list {
        display: flex !important;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        height: auto !important;
        justify-content: flex-start;
    }

    .product__images .thumbnails__container .thumbnails__list {
        gap: var(--weu-spacing-sm);
    }
    .product__images .thumbnails__container .thumbnail {
        width: 140px;
        height: 140px;
        flex: 0 0 auto;
    }
    .product__images .thumbnails__container .thumbnail img {
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 767px) {

    .page-product .product__name {
        font-size: var(--font-size-lg);
        line-height: var(--font-size-xl);
    }
    
    .product-additional__button {
        row-gap: var(--weu-spacing-xs);
    }
    .product-low-price-cta {
        width: 100%;
    }

    .tbc-separate {
        width: 100%;
        height:1px;
    }

    .product .product__left,
    .product__col,
    .product__info {
        padding-left: 0;
        padding-right: 0;
    }

    .product .product__col {
        margin-top: 0;
    }

    .page-product .product__discount {
        flex-wrap: wrap;
    }

    .page-product .product__info__price__wrapper {
        flex-wrap: wrap;
        min-width: 0;
    }

    .page-product .product__images {
        margin-bottom: 0;
    }

    .product__images .thumbnails__container {
        padding-bottom: 0;
    }

    .product__images .thumbnails__container .thumbnail.active img {
        width: 100%;
        height: 100%;
    }
}


/* Modal Ajustado Video Wrapper */
.weu-adjusted-info .video-responsive {
    position: relative;
    padding-bottom: 56.25%; /* Relación de aspecto 16:9 */
    height: 0;
    overflow: hidden;
    width: 100%;
    border-radius: var(--weu-radius-default, 8px);
}

.weu-adjusted-info .video-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (min-width: 1550px) {
    .product-low-price-cta i {
        display:block;
    }
}

@media (max-width: 1549px) and (min-width: 1260px) {
    .product-additional__button .product-low-price-cta {
        width: calc(25% - 6px);
    }
    .product-low-price-cta i {
        display:none;
    }
}

@media (max-width: 1259px) and (min-width: 992px) {
    .product-low-price-cta  {
        width: 100%;
    }

    .tbc-separate {
        width: 100%;
        height:1px;
    }
}

/* Características Destacadas - We Utilities */
.weu-featured-features {
    padding: var(--weu-spacing-md) 0;
    border-top: 1px solid var(--weu-color-grey);
}

.weu-featured-features .row {
    gap: var(--weu-spacing-sm);
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.weu-feature-item {
    padding: var(--weu-spacing-sm);
    background-color: var(--weu-color-grey);
    transition: all .2s ease-in-out;
    border-radius: var(--weu-radius-default);
    width: calc(33.33% - 12px);
}

.weu-feature-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.weu-feature-icon svg {
    width: 100%;
    height: 100%;
    fill: var(--weu-color-primary);
}

.weu-feature-text {
    display: flex;
    flex-direction: column;
}

.weu-feature-name {
    line-height: 1.2;
    margin-bottom: 2px;
}

.weu-feature-value {
    font-size: var(--font-size-sm);
    line-height: 1.2;
}

@media (max-width: 767px) {
    .weu-featured-features .weu-feature-item {
        padding: var(--weu-spacing-sm);
        margin-top: 0;
        width: calc(50% - 8px);
    }
}

@media (max-width: 575px) {
    .weu-featured-features .weu-feature-item {
        width: 100%;
    }
}

/* --- Producto descatalogado --- */
.product-discontinued-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding: 10px 14px;
    border: 1px solid #f5c2c2;
    border-left: 4px solid var(--weu-color-primary, #EA1E1C);
    border-radius: 8px;
    background: #fce8e8;
}

.product-discontinued-banner__icon {
    flex-shrink: 0;
    color: var(--weu-color-primary, #EA1E1C);
    font-size: 20px;
    line-height: 1;
}

.product-discontinued-banner__message {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35em;
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    color: #444;
}

.product-discontinued-banner__label {
    color: #1D1D1D;
    font-weight: 700;
    white-space: nowrap;
}

.product-discontinued-banner__text {
    flex: 1 1 auto;
    min-width: 0;
}

.product-discontinued-banner__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    color: var(--weu-color-primary, #EA1E1C);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.product-discontinued-banner__link .tbc-heroicon {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}

.product-discontinued-banner__link:hover,
.product-discontinued-banner__link:focus {
    color: #c41816;
    text-decoration: underline;
}

@media (min-width: 1200px) {
    .product-discontinued-banner__message {
        flex-wrap: nowrap;
    }
}

.product--discontinued .product__images--discontinued {
    background: #f5f5f5;
    border-radius: 8px;
}

.product__images--discontinued #product-images .carousel-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    padding: 24px 16px;
}

.product__images--discontinued .product__image-wrap {
    position: relative;
    width: min(92%, 280px);
    margin: 0 auto;
}

.product__images--discontinued .product__image-wrap picture,
.product__images--discontinued .product__image-wrap img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    opacity: 0.55;
    filter: grayscale(0.35);
}

.product__discontinued-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    padding: 0.4em 0.9em;
    border: 3px solid rgba(234, 30, 28, 0.8);
    background: rgba(255, 255, 255, 0.72);
    color: rgba(234, 30, 28, 0.92);
    font-size: clamp(1.25rem, 3.5vw, 2rem);
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    transform: translate(-50%, -50%) rotate(-24deg);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.product-discontinued-actions {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 12px;
    width: 100%;
}

.product-discontinued-actions__btn {
    flex: 1 1 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: none !important;
    transform: none !important;
    text-transform: none;
}

.product-discontinued-actions__btn::before {
    display: none !important;
}

.product-discontinued-actions__btn .tbc-heroicon {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}

.product-discontinued-actions__primary,
.product-discontinued-actions__primary:hover,
.product-discontinued-actions__primary:focus,
.product-discontinued-actions__primary:active {
    color: #fff !important;
}

.product-discontinued-actions__secondary,
.product-discontinued-actions__secondary:focus {
    color: var(--weu-color-primary, #EA1E1C) !important;
}

.product-discontinued-actions__secondary:hover,
.product-discontinued-actions__secondary:active {
    color: #fff !important;
}

.product-discontinued-actions__btn:hover,
.product-discontinued-actions__btn:focus,
.product-discontinued-actions__btn:active {
    transform: none !important;
}

.product-discontinued-alternatives-wrap {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.product--discontinued {
    grid-template-areas:
        "product__left product__col"
        "alternatives alternatives";
    grid-template-columns: minmax(0, 30%) minmax(0, 70%);
}

.product--discontinued .product-discontinued-alternatives-wrap {
    grid-area: alternatives;
}

.product-discontinued-alternatives {
    margin: 32px 0 24px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    width: 100%;
    scroll-margin-top: 24px;
}

.product-discontinued-alternatives__header {
    margin-bottom: 24px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
}

.product-discontinued-alternatives__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 10px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--weu-alert-success-border);
    background: var(--weu-alert-success-bg);
    color: var(--weu-color-success);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    animation: weu-discontinued-eyebrow-text 2s ease-in-out infinite;
}

.product-discontinued-alternatives__status {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--weu-color-success);
    flex-shrink: 0;
    animation: weu-discontinued-eyebrow-pulse 2s ease-in-out infinite;
}

@keyframes weu-discontinued-eyebrow-pulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 color-mix(in srgb, var(--weu-color-success) 45%, transparent);
        transform: scale(1);
    }

    50% {
        box-shadow: 0 0 0 5px color-mix(in srgb, var(--weu-color-success) 0%, transparent);
        transform: scale(1.1);
    }
}

@keyframes weu-discontinued-eyebrow-text {
    0%,
    100% {
        color: var(--weu-color-success);
        border-color: var(--weu-alert-success-border);
        background: var(--weu-alert-success-bg);
        text-shadow: 0 0 0 transparent;
    }

    50% {
        color: color-mix(in srgb, var(--weu-color-success) 72%, var(--weu-color-black));
        border-color: color-mix(in srgb, var(--weu-color-success) 35%, var(--weu-white));
        background: color-mix(in srgb, var(--weu-color-success) 14%, var(--weu-white));
        text-shadow: 0 0 10px color-mix(in srgb, var(--weu-color-success) 35%, transparent);
    }
}

@media (prefers-reduced-motion: reduce) {
    .product-discontinued-alternatives__eyebrow,
    .product-discontinued-alternatives__status {
        animation: none;
    }

    .product-discontinued-alternatives__status {
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--weu-color-success) 25%, transparent);
    }
}

.product-discontinued-alternatives__title.weu-products-section-title {
    margin-bottom: 12px;
}

.product-discontinued-alternatives__subtitle {
    margin: 0;
    max-width: 62ch;
    font-size: 15px;
    line-height: 1.5;
    color: var(--weu-color-dark);
}

.product-discontinued-alternatives__carousel {
    position: relative;
}

/* Fallback visible antes de montar Splide (splide.min.css oculta .splide hasta is-initialized) */
#weuDiscontinuedAlternativesSplide-list:not(.is-initialized) {
    visibility: visible;
}

#weuDiscontinuedAlternativesSplide-list:not(.is-initialized) .splide__list {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

#weuDiscontinuedAlternativesSplide-list:not(.is-initialized) .splide__slide {
    flex: 0 0 auto;
    scroll-snap-align: start;
}

.product-discontinued-alternatives__carousel.is-dragging a {
    pointer-events: none;
}

.product__infos--discontinued {
    margin-top: 24px;
}

.product--discontinued .product__col .product__infos--discontinued {
    width: 100%;
}
