/*! @version pwa-studio: 0.0.1, @magento/venia-ui: ~11.4.0, @magento/upward-security-headers: ~1.0.16, @magento/pwa-theme-venia: ~2.4.0, @magento/pwa-buildpack: ~11.5.3, @magento/peregrine: ~14.3.1, @magento/pagebuilder: ~9.3.1, @magento/eslint-config: ~1.5.0, @magento/babel-preset-peregrine: ~1.3.3, @apollo/client: ~3.5.0 */
.option-root-9Af {
}

.option-title-8KV {
}

.option-selection-2zF {
}

.option-selectionLabel-JfM {
}

.quantityStepper-root-vJR {
    --stroke: var(--venia-global-color-gray-600);
    grid-template-columns: 1fr 4rem 1fr;
}

.quantityStepper-wrap-lkv {
}

.quantityStepper-label-0V0:not(:focus):not(:active) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.quantityStepper-button-oVh {
    stroke: rgb(var(--stroke));
}

.quantityStepper-button-oVh:hover {
    --stroke: rgb(var(--venia-global-color-gray-900));
    border-color: rgb(var(--stroke));
}

.quantityStepper-button-oVh:disabled,
.quantityStepper-button-oVh:disabled:hover {
    --stroke: rgb(var(--venia-global-color-gray-400));
    --tw-border-opacity: 1;
    border-color: rgb(156 163 175 / var(--tw-border-opacity));
}

.quantityStepper-button_decrement-Ftt {
}

.quantityStepper-button_increment-aXa {
}

.quantityStepper-icon--ig {
    touch-action: manipulation;
}

.quantityStepper-input-tmo {
}

.productFullDetail-root-sXk {
}

@media (min-width: 960px) {
    .productFullDetail-root-sXk {
        grid-template-areas:
            'images title'
            'images errors'
            'images options'
            'images quantity'
            'images cart'
            'images .';
        grid-template-columns: minmax(0, 1.5625fr) minmax(0, 1fr);
        grid-template-rows: repeat(5, min-content) 1fr [fold];
    }

    .productFullDetail-title-DTm {
        grid-template-columns: 1fr max-content;
    }
}

.productFullDetail-section-4j9 {
}

.productFullDetail-sectionTitle-F7F {
}

.productFullDetail-title-DTm {
    padding-top: 1rem;
    padding-bottom: 1rem;
    grid-area: title;
}

.productFullDetail-productName-NAh {
}

.productFullDetail-productPrice-CnR {
}

.productFullDetail-imageCarousel-wxk {
    grid-area: images;
    grid-column: 1 / 2;
    grid-row: 1 / fold;
}

.productFullDetail-options-DBy {
    grid-area: options;
}

.productFullDetail-formErrors-PEC {
    grid-area: errors;
}

.productFullDetail-quantity-UBR {
    grid-area: quantity;
}

.productFullDetail-quantityTitle-Rkq {
}

.productFullDetail-actions-1o1 {
    grid-area: cart;
}

.productFullDetail-description-sec {
    grid-column: 1 / span 1;
    grid-row: fold / span 1;
}

.productFullDetail-descriptionTitle-5fX {
}

.productFullDetail-details-AGr {
    grid-column: 2 / span 1;
    grid-row: fold / span 1;
}

.productFullDetail-detailsPageBuilder-RnT {
    grid-column: 1 / span 2;
}

.productFullDetail-detailsPageBuilderList-WY1 {
    list-style: none;
}

@media (min-width: 1024px) {
    .productFullDetail-details-AGr {
        align-self: stretch;
        border-top-width: 1px;
        margin: 0;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.productFullDetail-detailsTitle-peO {
}

.productFullDetail-related-Wvk {
    border-bottom-width: 0px;
    grid-column: 1 / span 2;
}

.productFullDetail-relatedTitle-fMi {
}

.productFullDetail-quantityRoot-DXv {
    grid-template-columns: auto 4rem auto;
}

.productFullDetail-unavailableContainer-XB9 {
}
.productFullDetail-actButton-tFN {
}

.tileList-root-m4a {
    grid-template-columns: repeat(auto-fit, minmax(3rem, max-content));
}

.icon-root-cnm {
    touch-action: manipulation;
}

.icon-icon-P1l {
    fill: var(--fill, none);
    stroke: var(--stroke, rgb(var(--venia-global-color-text)));
}

.icon-icon_desktop-C0k {
}

.carousel-root-G3P {
    grid-template-areas:
        'main'
        'thumbs';
}

@media (min-width: 960px) {
    .carousel-root-G3P {
        grid-template-areas: 'thumbs main';
        /* These values are mirrored in JS for image sizes. Keep them in sync. */
        grid-template-columns: 17fr 80fr;
    }
}

.carousel-carouselContainer-JWL {
    grid-area: main;
    grid-template-columns: repeat(3, 1fr);
}

.carousel-imageContainer-q2Z {
    grid-area: 1 / 1 / 2 / 4;
}

.carousel-currentImage-XWe {
}

.carousel-currentImage_placeholder-3GU {
}

.carousel-previousButton-PyO,
.carousel-nextButton-vi9 {
}

.carousel-previousButton-PyO {
    grid-area: 1 / 1 / 2 / 2;
}

.carousel-nextButton-vi9 {
    grid-area: 1 / 3 / 2 / 4;
}

.carousel-chevron-g7e {
}

.carousel-nextButton-vi9:focus > .carousel-chevron-g7e,
.carousel-previousButton-PyO:focus > .carousel-chevron-g7e {
    box-shadow: 0 0 4px 2px rgb(var(--venia-global-color-teal));
    border-radius: 0.5rem;
}

.carousel-thumbnailList-mQJ {
}

/** The "thumbnail" is a round pil button below the product image in mobile or
 * as a thumbnail to the left of the product image in desktop.
 */
.thumbnail-root-sT1 {
    box-shadow: 0 0 0 1px #ffffff;
}

.thumbnail-rootSelected-Oac {
}

.thumbnail-image-m89 {
}

/* For desktop mode where buttons are an image... */
@media (min-width: 960px) {
    .thumbnail-rootSelected-Oac {

        box-shadow: 0 0 10px 0 rgb(var(--venia-global-color-teal));
    }

    .thumbnail-image-m89 {
        box-shadow: 0 0 0 1px white;
    }
}

.carousel-shimmer-thumbnailRoot-B1u {
}

.carousel-shimmer-thumbnailImage-mf- {
}

