/*
Theme Name: Fan Stage Blocksy Child
Theme URI: http://localhost/storeone
Description: Fan Stage customizations for the Blocksy WooCommerce theme.
Author: Fan Stage
Template: blocksy
Version: 1.0.4
Text Domain: blocksy-storeone
*/

.storeone-hero-carousel {
    touch-action: pan-y;
}

.storeone-hero-carousel.is-swiping {
    cursor: grabbing;
    user-select: none;
}
.storeone-topbar .storeone-language-switcher {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

.storeone-topbar .storeone-language-switcher a {
    color: inherit;
    opacity: 0.58;
    text-decoration: none;
}

.storeone-topbar .storeone-language-switcher a:hover,
.storeone-topbar .storeone-language-switcher a.is-active {
    opacity: 1;
    text-decoration: underline;
}

@media (max-width: 999px) {
    .storeone-topbar .storeone-language-switcher {
        margin-left: 0;
    }
}
/* Keep every WooCommerce product loop useful on phone-sized screens. */
@media (max-width: 689.98px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products[class*="columns-"],
    .wc-block-grid__products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 12px !important;
    }

    .woocommerce ul.products::before,
    .woocommerce ul.products::after,
    .woocommerce-page ul.products::before,
    .woocommerce-page ul.products::after {
        display: none !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    ul.products[class*="columns-"] li.product,
    .wc-block-grid__product {
        float: none !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0;
        margin: 0 !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .wc-block-grid__product-title {
        font-size: 14px !important;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price,
    .wc-block-grid__product-price {
        font-size: 14px !important;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button,
    .wc-block-grid__product-add-to-cart .wp-block-button__link {
        width: 100%;
        min-height: 40px;
        padding: 8px 6px;
        font-size: 12px;
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }
}
/* Keep the primary product gallery prominent without filling the mobile viewport. */
@media (max-width: 689.98px) {
    .single-product .product-entry-wrapper .woocommerce-product-gallery {
        width: min(100%, 380px);
        margin-inline: auto;
    }

    .single-product .woocommerce-product-gallery .ct-product-gallery-container,
    .single-product .woocommerce-product-gallery .ct-media-container {
        width: 100%;
    }

    .single-product .woocommerce-product-gallery .ct-media-container {
        aspect-ratio: 1 / 1 !important;
        margin: 0;
        background: #f1eadf;
    }

    .single-product .woocommerce-product-gallery .ct-media-container img {
        width: 100%;
        height: 100% !important;
        max-height: 380px;
        aspect-ratio: auto !important;
        object-fit: contain;
    }
}
/* Blocksy hides related products on smaller devices by default. Keep this useful product loop visible. */
@media (max-width: 999.98px) {
    .single-product .related.products.ct-hidden-sm.ct-hidden-md {
        display: block !important;
        margin-top: 48px;
    }

    .single-product .related.products .ct-module-title {
        margin-bottom: 22px;
    }
}
/* Colour-only circular swatches. */
/* The live value beside the label already includes the plugin's selection. */
.single-product .summary .variations .cfvsw-selected-label {
    display: none !important;
}
.single-product.cfvsw-product-page .summary table.variations tr th.label {
    display: block !important;
}
.single-product .summary .variations .label label {
    display: inline;
    font-weight: 600;
}
.single-product .storeone-variation-value {
    margin-left: 5px;
    font-weight: 400;
}
.single-product .summary .variations,
.single-product .summary .variations tbody,
.single-product .summary .variations tr,
.single-product .summary .variations th,
.single-product .summary .variations td {
    display: block;
    width: 100%;
    text-align: left;
}
.single-product .summary .variations tr {
    margin-bottom: 24px;
}
.single-product .summary .variations th,
.single-product .summary .variations td {
    padding: 0;
}
.single-product .summary .variations .label {
    margin-bottom: 12px;
}
.single-product .summary .cfvsw-product-container {
    width: 100%;
    justify-content: flex-start;
    margin: 0;
    gap: 12px;
}
.single-product .summary .cfvsw-swatches-option {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    transition: border-color 150ms, background-color 150ms;
}
.single-product .summary .cfvsw-label-option {
    flex-basis: 62px;
    width: 62px;
    border: 1px solid #bfc1c4;
    border-radius: 5px !important;
    color: #242424;
    font-size: 14px;
    font-weight: 600;
}
.single-product .summary .cfvsw-selected-swatch {
    outline: none;
    border-color: #242424 !important;
}
.single-product .summary [swatches-attr=attribute_colour] .cfvsw-selected-swatch .cfvsw-swatch-inner {
    border-color: transparent;
}
/* Touch browsers can retain simulated hover after tapping a swatch. */
@media (hover: none), (pointer: coarse) {
    .single-product .cfvsw-tooltip {
        display: none !important;
    }
}
.single-product .summary .cfvsw-label-option.cfvsw-selected-swatch {
    background-color: #f1f3f5;
}
.single-product .summary .reset_variations {
    margin-top: 12px;
}
.single-product [swatches-attr=attribute_colour] .cfvsw-swatches-option,
.single-product [swatches-attr=attribute_colour] .cfvsw-swatch-inner {
    border-radius: 50% !important;
}
