/* Product detail UI: cacheable, scoped to .product-page. */
    .product-page {
        --product-blue: #1768d7;
        --product-blue-dark: #0f4f9c;
        --product-ink: #17243a;
        --product-muted: #66758a;
        --product-border: #dce6f3;
        --product-surface: #f7faff;
        color: var(--product-ink);
    }
    .product-page .page-body {
        padding: 0 0 2.25rem;
    }
    .product-page__container {
        max-width: 1240px;
    }
    .breadcrumb-seo {
        padding: 1rem 0 .8rem;
        font-size: .86rem;
    }
    .breadcrumb-seo .breadcrumb {
        margin: 0;
        flex-wrap: nowrap;
        overflow: hidden;
    }
    .breadcrumb-seo .breadcrumb-item {
        min-width: 0;
        white-space: nowrap;
    }
    .breadcrumb-seo .breadcrumb-item:last-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .breadcrumb-seo a {
        color: var(--product-blue);
        font-weight: 650;
        text-decoration: none;
    }
    .product-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "media heading"
            "media summary";
        column-gap: 1.25rem;
        row-gap: 1rem;
        align-items: flex-start;
    }
    .product-heading {
        grid-area: heading;
        padding: .15rem .2rem;
    }
    .product-media-column {
        grid-area: media;
        min-width: 0;
    }
    .product-summary-column {
        grid-area: summary;
        min-width: 0;
    }
    .product-media-card,
    .product-info-card {
        overflow: hidden;
        border: 1px solid var(--product-border);
        border-radius: 1.1rem;
        background: #fff;
        box-shadow: 0 8px 25px rgba(24, 55, 94, .055);
    }
    .product-media-card__body {
        padding: clamp(1rem, 2.6vw, 2rem);
    }
    .product-gallery {
        position: relative;
        display: grid;
        place-items: center;
        width: min(100%, 586px, 69.33vh);
        max-height: 440px;
        margin-inline: auto;
        aspect-ratio: 4 / 3;
        border-radius: .85rem;
        background: linear-gradient(145deg, #f8fbff, #eef4fb);
    }
    .product-gallery img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }
    .product-image-placeholder-label {
        position: absolute;
        right: .75rem;
        bottom: .75rem;
        padding: .32rem .6rem;
        border: 1px solid var(--product-border);
        border-radius: 999px;
        background: rgba(255, 255, 255, .92);
        color: var(--product-muted);
        font-size: .72rem;
        font-weight: 700;
    }
    .product-info-card .card-body {
        padding: clamp(1rem, 2.6vw, 1.75rem);
    }
    .product-kicker {
        display: flex;
        flex-wrap: wrap;
        gap: .45rem;
        margin-bottom: .8rem;
    }
    .product-kicker__item {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: .28rem .7rem;
        border: 1px solid #cfe0f6;
        border-radius: 999px;
        background: #f3f8ff;
        color: var(--product-blue-dark);
        font-size: .75rem;
        font-weight: 700;
        letter-spacing: .02em;
    }
    .product-title {
        margin: 0;
        color: var(--product-ink);
        font-size: clamp(1.45rem, 3vw, 2.15rem);
        line-height: 1.15;
        text-wrap: balance;
    }
    .product-title__reference {
        display: block;
        margin-top: .45rem;
        color: var(--product-muted);
        font-size: .88rem;
        font-weight: 600;
        letter-spacing: .01em;
    }
    .product-section {
        padding: 1rem;
        border: 1px solid var(--product-border);
        border-radius: .85rem;
        background: var(--product-surface);
    }
    .product-section__title {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin: 0 0 .75rem;
        color: #233650;
        font-size: .82rem;
        font-weight: 800;
        letter-spacing: .045em;
        text-transform: uppercase;
    }
    .product-specs dl {
        row-gap: .35rem;
    }
    .product-specs dt {
        color: var(--product-muted);
        font-size: .84rem;
        font-weight: 650;
    }
    .product-specs dd {
        margin-bottom: .25rem;
        color: var(--product-ink);
        font-weight: 650;
    }
    .product-availability {
        display: flex;
        align-items: flex-start;
        gap: .8rem;
        padding: .72rem .85rem;
        border: 0;
        border-left: 3px solid #65bd81;
        border-radius: .35rem;
        background: #f1fbf4;
        color: #176b38;
    }
    .product-availability.is-warning {
        border-left-color: #e6b74b;
        background: #fff9eb;
        color: #855e0b;
    }
    .product-availability.is-neutral {
        border-left-color: #b9c7d8;
        background: #f6f8fb;
        color: #506078;
    }
    .product-availability__icon {
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .8);
    }
    .product-price-panel {
        padding: .3rem 0 1.1rem;
        border: 0;
        border-bottom: 1px solid var(--product-border);
        background: transparent;
    }
    .product-price-panel__label {
        display: block;
        margin-bottom: .15rem;
        color: var(--product-muted);
        font-size: .8rem;
        font-weight: 650;
    }
    .product-price-panel__value {
        color: var(--product-blue);
        font-size: clamp(1.8rem, 4vw, 2.35rem);
        font-weight: 800;
        letter-spacing: -.035em;
        line-height: 1.1;
    }
    .product-wholesale {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-top: .9rem;
        padding: .65rem 0 0;
        border-top: 1px solid #e3ebe7;
        background: transparent;
        color: #1d6f3d;
    }
    .product-shipping {
        display: flex;
        align-items: center;
        gap: .85rem;
        padding: .2rem 0 .85rem;
        border-bottom: 1px solid var(--product-border);
        color: #4d6179;
    }
    .product-shipping i {
        color: #2380d7;
        font-size: 1rem;
    }
    .product-description {
        color: #46566d;
        line-height: 1.65;
    }
    .product-purchase {
        padding: .2rem 0 1rem;
        border: 0;
        border-bottom: 1px solid var(--product-border);
        background: transparent;
        box-shadow: none;
    }
    .product-purchase__title {
        margin: 0 0 .25rem;
        font-size: 1rem;
        font-weight: 750;
    }
    .product-quantity {
        width: fit-content;
        min-width: 152px;
        min-height: 48px;
        margin-left: auto;
        padding: .35rem .45rem;
        border-radius: 999px;
        background: linear-gradient(135deg, var(--product-blue), var(--product-blue-dark));
        box-shadow: 0 8px 18px rgba(23, 104, 215, .22);
    }
    .product-quantity .btn-circle {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        margin: 0 !important;
        border: 0;
        background: rgba(255, 255, 255, .13);
        color: #fff;
    }
    .product-quantity .btn-circle:hover {
        background: rgba(255, 255, 255, .24);
    }
    .product-quantity [id^="contadorHome"] {
        min-width: 32px;
        color: #fff;
        font-weight: 800;
        text-align: center;
    }
    .product-store-picker__notice {
        margin: 0 0 .8rem;
        color: var(--product-muted);
        font-size: .88rem;
        line-height: 1.45;
    }
    .product-store-picker {
        border: 1px solid #b7cdee;
        border-radius: .7rem;
        background: #fff;
    }
    .product-store-picker summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        min-height: 52px;
        padding: .7rem .9rem;
        color: var(--product-ink);
        cursor: pointer;
        list-style: none;
    }
    .product-store-picker summary::-webkit-details-marker { display: none; }
    .product-store-picker summary strong,
    .product-store-picker summary small { display: block; }
    .product-store-picker summary small { margin-top: .1rem; color: var(--product-muted); font-size: .76rem; }
    .product-store-picker[open] summary i { transform: rotate(180deg); }
    .product-store-picker summary:focus-visible,
    .product-store-picker__option:focus-visible { outline: 3px solid #85b9ff; outline-offset: -3px; }
    .product-store-picker__menu { max-height: 285px; overflow-y: auto; padding: .2rem .5rem .5rem; border-top: 1px solid var(--product-border); }
    .product-store-picker__group { margin: .75rem .45rem .35rem; color: var(--product-muted); font-size: .72rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
    .product-store-picker__option {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .65rem;
        width: 100%;
        min-height: 44px;
        margin-top: .25rem;
        padding: .55rem .7rem;
        border: 1px solid transparent;
        border-radius: .5rem;
        background: transparent;
        color: var(--product-ink);
        text-align: left;
        cursor: pointer;
    }
    .product-store-picker__option:hover { background: #f4f7fb; }
    .product-store-picker__option.is-available { border-color: #ccebd7; background: #ecf9f0; }
    .product-store-picker__option.is-available:hover { background: #ddf4e5; }
    .product-store-picker__option.is-available .product-store-picker__stock { color: #176b38; font-weight: 750; }
    .product-store-picker__stock { flex: 0 0 auto; color: var(--product-muted); font-size: .78rem; }
    .product-store-picker__option small { color: var(--product-muted); font-weight: 500; }
    .product-store-picker__help { margin: .55rem 0 0; color: var(--product-muted); font-size: .76rem; }
    .product-back-link {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        margin-top: 1rem;
        color: var(--product-blue-dark);
        font-weight: 700;
        text-decoration: none;
    }
    @media (min-width: 992px) {
        .product-media-column {
            position: sticky;
            top: calc(var(--tc-header-height, 142px) + 1rem);
        }
    }
    @media (max-width: 991.98px) {
        .product-layout {
            grid-template-columns: minmax(0, 1fr);
            grid-template-areas:
                "heading"
                "media"
                "summary";
        }
    }
    @media (max-width: 575.98px) {
        .product-layout {
            row-gap: .7rem;
        }
        .product-page .page-body {
            padding-bottom: 1.25rem;
        }
        .breadcrumb-seo {
            padding: .75rem 0 .65rem;
        }
        .product-media-card,
        .product-info-card {
            border-radius: .9rem;
        }
        .product-media-card__body,
        .product-info-card .card-body {
            padding: .8rem;
        }
        .product-media-card__body {
            padding: .45rem;
        }
        .product-gallery {
            width: 100%;
            max-height: 210px;
            aspect-ratio: 16 / 9;
        }
        .product-title {
            font-size: 1.35rem;
        }
        .product-wholesale {
            align-items: flex-start;
            flex-direction: column;
            gap: .35rem;
        }
        .product-quantity {
            margin: .85rem auto 0;
        }
    }
