/* Venira Mobile Sticky Cart 1.1: no external fonts, libraries or animations. */
:root {
    --vsc-buy-color: #242424;
    --vsc-cart-color: #d95866;
    --vsc-bg-color: #fff;
}

.vsc { display: none; }

@media (max-width: 767px) {
    .vsc,
    .vsc * { box-sizing: border-box; }

    .vsc {
        display: block;
        position: fixed;
        z-index: 99990;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: calc(65px + env(safe-area-inset-bottom, 0px));
        padding: 7px 10px calc(7px + env(safe-area-inset-bottom, 0px));
        background: var(--vsc-bg-color);
        border-top: 1px solid rgba(0, 0, 0, .08);
        box-shadow: 0 -3px 14px rgba(0, 0, 0, .08);
        transform: translateY(100%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: transform .18s ease, opacity .18s ease, visibility .18s ease;
        font-family: inherit;
    }

    .vsc.is-visible {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .vsc__inner {
        display: grid;
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) minmax(0, 1fr);
        gap: 6px;
        height: 100%;
        width: min(100%, 560px);
        margin: 0 auto;
        align-items: stretch;
    }

    .vsc__price {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        min-width: 0;
        line-height: 1.15;
    }

    .vsc__price-value,
    .vsc__price-value .woocommerce-Price-amount,
    .vsc__price-value .woocommerce-Price-currencySymbol {
        font-family: inherit;
        color: #151515;
        font-size: clamp(12px, 3.5vw, 17px);
        font-weight: 700;
        line-height: 1.15;
    }

    .vsc__price-value { overflow-wrap: anywhere; }

    .vsc__buy,
    .vsc__add {
        appearance: none !important;
        -webkit-appearance: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 4px 3px !important;
        border: 0 !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        color: #fff !important;
        text-align: center !important;
        font-family: inherit !important;
        font-size: clamp(11px, 2.9vw, 13px) !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        cursor: pointer;
        white-space: normal !important;
        text-decoration: none !important;
        transition: filter .12s ease;
    }

    .vsc__buy { background: var(--vsc-buy-color) !important; }
    .vsc__add { background: var(--vsc-cart-color) !important; }

    .vsc__buy:active, .vsc__add:active { filter: brightness(.93); }
    .vsc__buy:focus-visible, .vsc__add:focus-visible {
        outline: 2px solid #111 !important;
        outline-offset: 2px;
    }

    .vsc__message {
        display: none;
        position: absolute;
        right: 10px;
        bottom: calc(100% + 8px);
        max-width: calc(100vw - 20px);
        padding: 9px 12px;
        border-radius: 7px;
        color: #fff;
        background: #292929;
        font-size: 12px;
        font-family: inherit;
        box-shadow: 0 3px 12px rgba(0, 0, 0, .15);
    }
    .vsc__message.is-active { display: block; }

    /* Do not obscure the final product details when the bar is visible. */
    body.vsc-active { padding-bottom: calc(65px + env(safe-area-inset-bottom, 0px)) !important; }
}

@media (prefers-reduced-motion: reduce) {
    .vsc { transition: none !important; }
}
