/*
 * ProdVars / CYBEXCSS10 / PREVIEWBUTTONFIX01
 * Theme-level visual layer for modus-26-cbx-v04.
 * Preview: real buttons + 2-3 visible rows + soft fade; full table remains in server HTML.
 */

.prodvars {
    margin: 22px 0 28px;
    color: #202428;
}

.prodvars__title,
.prodvars__summary-title,
.prodvars__preview-title {
    font-size: 18px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    color: #121820 !important;
}

.prodvars__title,
.prodvars__preview-title {
    margin: 0 0 12px !important;
}

/* Native details mode: only for the fully collapsed variant. */
.prodvars__details {
    margin: 0;
}

.prodvars__summary {
    display: block;
    cursor: pointer;
    margin: 0;
    padding: 2px 0;
    color: #121820;
    list-style: none;
    user-select: none;
}

.prodvars__summary::-webkit-details-marker {
    display: none;
}

.prodvars__summary::marker {
    content: "";
}

.prodvars__summary-title {
    display: block;
    margin: 0 !important;
}

/* Preview mode: the H6 remains semantic; a real button controls the visual expansion. */
.prodvars__preview-heading {
    appearance: none;
    -webkit-appearance: none;
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-align: left;
    cursor: pointer;
}

/* Chevron lives immediately after the heading text in both interactive modes. */
.prodvars__summary-title::after,
.prodvars__preview-heading::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 8px;
    vertical-align: -2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 7l6 6 6-6' fill='none' stroke='%23151b22' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 15px 15px;
    transform: rotate(0deg);
    transform-origin: 50% 50%;
    transition: transform .16s ease, opacity .16s ease;
    opacity: .88;
}

.prodvars__details[open] > .prodvars__summary .prodvars__summary-title::after,
.prodvars--preview.prodvars--expanded .prodvars__preview-heading::after {
    transform: rotate(180deg);
}

.prodvars__summary:hover .prodvars__summary-title::after,
.prodvars__summary:focus-visible .prodvars__summary-title::after,
.prodvars__preview-heading:hover::after {
    opacity: 1;
}

.prodvars__summary:focus {
    outline: none !important;
    box-shadow: none !important;
}

.prodvars__summary:focus-visible,
.prodvars__preview-heading:focus-visible {
    outline: 2px solid #aeb4ba !important;
    outline-offset: 3px;
    border-radius: 2px;
}

.prodvars__details[open] > .prodvars__summary {
    margin-bottom: 12px;
}

/*
 * LUX preview: complete table is already in the initial server HTML.
 * JavaScript only toggles .prodvars--expanded; the complete table is already in HTML.
 */
.prodvars--preview .prodvars__preview-window {
    display: block;
    position: relative;
    max-height: 182px;
    overflow: hidden;
}

.prodvars--preview .prodvars__preview-window::after {
    content: "";
    position: absolute;
    z-index: 5;
    left: 0;
    right: 0;
    bottom: 0;
    height: 58px;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, .38) 32%,
        rgba(255, 255, 255, .82) 72%,
        #fff 100%
    );
}

.prodvars--preview.prodvars--expanded .prodvars__preview-window {
    max-height: none;
    overflow: visible;
}

.prodvars--preview.prodvars--expanded .prodvars__preview-window::after {
    display: none;
}

.prodvars__table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.prodvars__table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: auto;
    background: #fff;
    border: 1px solid #cfd3d7 !important;
}

.prodvars__table th,
.prodvars__table td {
    padding: 9px 10px !important;
    border: 1px solid #d5d8dc !important;
    background: #fff !important;
    color: #202428 !important;
    text-align: left;
    vertical-align: middle;
}

.prodvars__table thead th {
    background: #e3e5e7 !important;
    color: #25292d !important;
    font-weight: 600 !important;
}

.prodvars__table tbody th {
    font-weight: 400 !important;
}

.prodvars__stock {
    white-space: nowrap;
    font-weight: 500 !important;
}

.prodvars__stock::before {
    display: inline-block;
    width: 1.15em;
    margin-right: 4px;
    text-align: center;
    font-weight: 700;
}

.prodvars__stock--in {
    color: #356b48 !important;
    font-weight: 600 !important;
}

.prodvars__stock--in::before {
    content: "✓";
    color: #356b48;
}

.prodvars__stock--out {
    color: #72787e !important;
}

.prodvars__stock--out::before {
    content: "×";
    color: #936363;
}

.prodvars__stock--hidden,
.prodvars__stock--unavailable {
    color: #858a8f !important;
}

.prodvars__stock--hidden::before,
.prodvars__stock--unavailable::before {
    content: "—";
    color: #858a8f;
}


/* Bottom duplicate control for LUX preview. */
.prodvars__preview-more {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 10px auto 0;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: #40484f;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    text-align: center;
    transition: color .16s ease, opacity .16s ease;
}

.prodvars__preview-more::after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-left: 6px;
    vertical-align: -2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 7l6 6 6-6' fill='none' stroke='%23555d64' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px 13px;
    transform: rotate(0deg);
    transition: transform .16s ease;
}

.prodvars__preview-more:hover {
    color: #121820;
}

.prodvars__preview-more:focus {
    outline: none;
}

.prodvars__preview-more:focus-visible,
.prodvars__preview-heading:focus-visible {
    outline: 2px solid #aeb4ba;
    outline-offset: 3px;
    border-radius: 2px;
}

.prodvars--preview.prodvars--expanded .prodvars__preview-more::after {
    transform: rotate(180deg);
}

.prodvars__preview-more-hide {
    display: none;
}

.prodvars--preview.prodvars--expanded .prodvars__preview-more .prodvars__preview-more-show {
    display: none;
}

.prodvars--preview.prodvars--expanded .prodvars__preview-more .prodvars__preview-more-hide {
    display: inline;
}


@media (max-width: 767px) {
    .prodvars {
        margin: 18px 0 22px;
    }

    .prodvars__title,
    .prodvars__summary-title,
    .prodvars__preview-title {
        font-size: 17px !important;
        line-height: 1.42 !important;
    }

    .prodvars__summary-title::after,
    .prodvars__preview-heading::after {
        width: 14px;
        height: 14px;
        margin-left: 6px;
        background-size: 14px 14px;
    }

    .prodvars--preview .prodvars__preview-window {
        max-height: 194px;
    }

    .prodvars--preview .prodvars__preview-window::after {
        height: 62px;
    }

    .prodvars__table th,
    .prodvars__table td {
        padding: 8px !important;
    }

    .prodvars__preview-more {
        margin-top: 8px;
        padding: 8px 10px;
        font-size: 15px;
    }
}

