/* PDP / Quick View: sticky mobile ATC, variation alert, main-image video badge */

.pdp-variation-alert {
    margin: 0 0 12px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.45;
    color: #7a2e0e;
    background: #fff4ed;
    border: 1px solid #ffc9a8;
    border-radius: var(--radius-md, 8px);
}

.pdp-variation-alert[hidden] {
    display: none !important;
}

.pdp-variation-alert__missing {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #9a3412;
}

.pdp-gallery-play-badge {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 5;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
    transition: transform 0.15s ease, background 0.15s ease;
}

.pdp-gallery-play-badge:hover,
.pdp-gallery-play-badge:focus-visible {
    background: rgba(0, 0, 0, 0.72);
    transform: scale(1.05);
}

.pdp-gallery-play-badge .icon {
    width: 18px;
    height: 18px;
    margin-left: 2px;
}

.pdp-gallery-play-badge[hidden] {
    display: none !important;
}

#qv-main-image-wrap > .pdp-gallery-play-badge,
.quick-view__main-image > .pdp-gallery-play-badge,
.quick-view-modal .quick-view__main-image > .pdp-gallery-play-badge {
    z-index: 8;
    pointer-events: auto;
}

.quick-view-modal .quick-view__main-image {
    isolation: isolate;
}

.pdp-sticky-atc {
    display: none;
}

@media (max-width: 767px) {
    body.has-pdp-sticky-atc {
        padding-bottom: var(
            --sticky-atc-stack-height,
            calc(76px + env(safe-area-inset-bottom, 0px))
        );
    }

    body.has-pdp-sticky-atc #pdp-sticky-atc {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10010;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
        background: rgba(255, 255, 255, 0.98);
        border-top: 1px solid var(--color-border, #e8e8e8);
        box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
        backdrop-filter: blur(8px);
    }

    body.has-pdp-sticky-atc #pdp-sticky-atc > .pdp-variation-alert {
        margin: 0 0 10px;
    }

    .quick-view-modal.has-qv-sticky-atc #qv-sticky-atc > .pdp-variation-alert {
        margin: 0 0 10px;
    }

    body.has-pdp-sticky-atc,
    body:has(.quick-view-modal.is-open.has-qv-sticky-atc) {
        --mobile-chatbot-fab-size: 56px;
        --mobile-fab-stack-gap: 10px;
    }

    body.has-pdp-sticky-atc .back-to-top.is-visible,
    body:has(.quick-view-modal.is-open.has-qv-sticky-atc) .back-to-top.is-visible {
        bottom: calc(
            var(--qv-sticky-atc-stack-height, var(--sticky-atc-stack-height, 76px)) + 12px +
                var(--mobile-chatbot-fab-size, 56px) + var(--mobile-fab-stack-gap, 10px)
        );
        z-index: 10015;
    }

    @media (max-width: 480px) {
        body.has-pdp-sticky-atc,
        body:has(.quick-view-modal.is-open.has-qv-sticky-atc) {
            --mobile-chatbot-fab-size: 52px;
        }
    }

    .pdp-sticky-atc__inner {
        display: flex;
        align-items: center;
        gap: 12px;
        max-width: var(--container-max, 1280px);
        margin: 0 auto;
    }

    .pdp-sticky-atc__inner .pdp__qty-row,
    .pdp-sticky-atc__inner .quick-view__qty-row {
        margin: 0;
        flex-shrink: 0;
    }

    .pdp-sticky-atc__inner .pdp__qty-row .variation-group__label,
    .pdp-sticky-atc__inner .quick-view__qty-row .variation-group__label {
        display: none;
    }

    .pdp-sticky-atc__inner .btn--primary,
    .pdp-sticky-atc__inner .pdp__add-to-cart,
    .pdp-sticky-atc__inner .quick-view__add-to-cart {
        flex: 1;
        min-width: 0;
        margin: 0;
    }

    .quick-view-modal.is-open.has-qv-sticky-atc .quick-view__body {
        padding-bottom: var(
            --qv-sticky-atc-stack-height,
            calc(76px + env(safe-area-inset-bottom, 0px))
        );
    }

    .quick-view-modal.has-qv-sticky-atc #qv-sticky-atc {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10042;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
        background: rgba(255, 255, 255, 0.98);
        border-top: 1px solid var(--color-border, #e8e8e8);
        box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
    }

    .quick-view-modal.has-qv-sticky-atc .qv-sticky-atc__inner {
        display: flex;
        align-items: center;
        gap: 12px;
        max-width: min(920px, 94vw);
        margin: 0 auto;
    }

    .quick-view-modal.has-qv-sticky-atc .quick-view__add-to-cart {
        margin-bottom: 0;
    }
}

@media (min-width: 768px) {
    .qv-sticky-atc {
        display: none !important;
    }
}
