.product-form, product-info {
    display: block
}

.product--no-media .product__info-wrapper, .product--no-media .product__media-wrapper, .product__media-wrapper {
    padding: 0
}

.product__title, .recipient-checkbox {
    word-break: break-word
}

.product {
    margin: 0
}

.product.grid {
    gap: 0
}

.product--no-media {
    max-width: 570px;
    margin: 0 auto
}

.product-form__error-message-wrapper:not([hidden]) {
    display: flex;
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 15px
}

.product-form__error-message-wrapper .svg-wrapper {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    margin-top: -1px
}

.product-form__input .form__label {
    padding-left: 0
}

.product-form__input .svg-wrapper {
    right: 15px
}

.product-form__submit, .slider-mobile-gutter {
    margin-bottom: 10px
}

.product-form__submit[aria-disabled=true] + .shopify-payment-button .shopify-payment-button__button[disabled], .product-form__submit[disabled] + .shopify-payment-button .shopify-payment-button__button[disabled] {
    cursor: not-allowed;
    opacity: .5
}

.product--no-media .share-button, .product__info-container iframe {
    max-width: 100%
}

a.product__text {
    display: block;
    text-decoration: none
}

.product__text.caption-with-letter-spacing {
    text-transform: uppercase
}

.product .price--sold-out .price__badge-sale, .product--stacked .thumbnail-list, .product--thumbnail .product__media-item:not(.is-active), .product--thumbnail_slider .product__media-item:not(.is-active), .product-media-modal__content > .product__media-item--variant.product__media-item--variant, .product:not(.featured-product) .product__view-details, .product__media-icon--none, .product__modal-opener--image .product__media-zoom-none, .product__modal-opener:not(.product__modal-opener--image), .product__title > a, .thumbnail-list_item--variant:not(:first-child) {
    display: none
}

.product__description-title {
    font-weight: 600
}

.product--no-media .price, .product--no-media .product__sku, .product--no-media .product__tax, .product--no-media .product__text, .product--no-media .product__title, .product--no-media shopify-payment-terms {
    text-align: center
}

.product__tax {
    margin-top: -14px
}

.product--no-media .product-form, .product--no-media .product-form__quantity, .product--no-media .product__pickup-availabilities, .product--no-media .product__view-details, .product--no-media .share-button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.product--no-media .product-form {
    flex-direction: column
}

.product--no-media .product-form > .form {
    max-width: 300px;
    width: 100%
}

.product--no-media .product-form__quantity {
    flex-direction: column;
    max-width: 100%
}

.product-form__quantity .form__label {
    margin-bottom: 5px
}

.price-per-item__label.form__label, .slider.slider--desktop .slider__slide {
    margin-bottom: 0
}

.product-form__quantity-top .form__label {
    margin-bottom: 12px
}

.product--no-media .product__info-container > modal-opener {
    display: block;
    text-align: center
}

.product--no-media .product-popup-modal__button {
    padding-right: 0
}

.product--thumbnail .slider-button {
    display: none !important
}

.product-media-modal__content > .product__media-item--variant:first-child {
    display: block
}

.product__media-icon .icon {
    width: 12px;
    height: 14px
}

.product__media-icon, .thumbnail__badge {
    border-radius: 50%;
    display: flex;
    background: #fff;
    border: 1px solid var(--bs-border-color);
    align-items: center;
    opacity: .7;
    justify-content: center;
    height: 30px;
    width: 30px;
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 1
}

.product__media-video .product__media-icon, .product__modal-opener:focus .product__media-icon, .product__modal-opener:hover .product__media-icon {
    opacity: 1
}

.image-magnify-hover, .product__modal-opener--image .product__media-toggle:hover {
    cursor: zoom-in
}

.grid__item.product__media-item--full {
    width: 100%
}

.product--large.product--columns .product__media-item--full .deferred-media__poster-button {
    height: 50px;
    width: 50px
}

.product--medium.product--columns .product__media-item--full .deferred-media__poster-button {
    height: 42px;
    width: 42px
}

.product--medium.product--columns .product__media-item--full .deferred-media__poster-button .icon {
    width: 18px;
    height: 18px
}

.product--small.product--columns .product__media-item--full .deferred-media__poster-button {
    height: 36px;
    width: 36px
}

.product--small.product--columns .product__media-item--full .deferred-media__poster-button .icon {
    width: 16px;
    height: 16px
}

.product:not(.product--columns) .product__media-list .product__media-item--full, .product:not(.product--columns) .product__media-list .product__media-item:first-child {
    width: 100%;
    max-width: 100%
}

.product__modal-opener .product__media-icon {
    opacity: 0
}

.product-media-container .product__modal-opener, .product__media-item > * {
    display: block;
    position: relative
}

.product__media-toggle {
    display: flex;
    border: none;
    background-color: transparent;
    color: currentColor;
    padding: 0
}

.product__media-toggle:focus-visible {
    outline: 0;
    box-shadow: none
}

@media (forced-colors: active) {
    .product__media-toggle:focus-visible, .product__media-toggle:focus-visible:after {
        outline: transparent solid 1px;
        outline-offset: 2px
    }
}

.product__media-toggle.focused {
    outline: 0;
    box-shadow: none
}

.product-media-modal {
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: -1
}

.product-media-modal[open] {
    visibility: visible;
    opacity: 1;
    z-index: 101
}

.product-media-modal__dialog {
    display: flex;
    align-items: center;
    height: 100vh
}

.product-media-modal__content {
    max-height: 100vh;
    width: 100%;
    overflow: auto
}

.product-media-modal__content > :not(.active), .recipient-form > input[type=checkbox]:checked ~ .recipient-fields {
    display: block
}

.product__media-list .deferred-media {
    display: block;
    line-height: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.product-media-modal__content > * {
    display: block;
    height: auto;
    margin: auto
}

.product-media-modal__content .media {
    background: 0 0
}

.product-media-modal__content .deferred-media, .product-media-modal__model {
    width: 100%
}

.product-media-modal__toggle {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 12px;
    position: fixed;
    z-index: 2;
    width: 40px;
    right: 50px;
    top: 22px
}

.product-media-modal__content {
    padding: 20px 110px
}

.product-media-modal__content > * {
    width: 100%
}

.product-media-modal__content > * + * {
    margin-top: 20px
}

.product-media-modal__toggle .icon {
    height: auto;
    margin: 0;
    width: 22px
}

.product__media-list .media > * {
    overflow: hidden;
    width: 100%;
    height: 100%
}

.one_column .product__media-item.col {
    width: 100%;
    min-width: 100%
}

.mix_columns .product__media-item, .two_columns .product__media-item.col {
    flex: 0 0 auto;
    width: 50% !important
}

.three_columns .product__media-item.col {
    flex: 0 0 auto;
    width: 33.3333% !important
}

.mix_columns .product__media-item:nth-child(2), .mix_columns .product__media-item:nth-child(3), .mix_columns .product__media-item:nth-child(4) {
    flex: 0 0 auto;
    width: 33.3333% !important
}

.mix_columns .product__media-item:nth-child(5), .mix_columns .product__media-item:nth-child(6) {
    flex: 0 0 auto;
    width: 50% !important
}

.mix_columns .product__media-item.is-active, .three_columns .product__media-item.col.is-active, .two_columns .product__media-item.col.is-active {
    flex: 0 0 auto;
    width: 100% !important
}

@media (max-width: 767px) {
    .mix_columns .product__media-item, .three_columns .product__media-item.col {
        width: 50% !important
    }
}

.thumbnail-list {
    flex-wrap: wrap;
    grid-gap: 10px;
    display: grid;
    grid-template-columns:repeat(4, 1fr)
}

.slider--mobile.thumbnail-list:after {
    content: none
}

.product--medium .thumbnail-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.thumbnail-slider .thumbnail-list.slider--tablet-up {
    display: flex;
    padding: 5px;
    flex: 1;
    scroll-padding-left: 0;
    justify-content: start
}

.thumbnail-list .slider__slide {
    width: 20%
}

.product--small .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide, .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
    width: 70px;
    height: 70px
}


.thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
    width: 100%;
    padding: 0;
    cursor: pointer;
    background-color: transparent;
    border: 1px solid #eee
}

.recipient-checkbox, .recipient-form, .thumbnail-list__item {
    position: relative
}

.thumbnail[aria-current=true] {
    border-color: var(--bs-black);
    padding: 5px;
}

.thumbnail:hover {
    opacity: .7
}

.image-magnify-full-size {
    cursor: zoom-out;
    z-index: 1;
    margin: 0
}

.product__modal-opener > .loading__spinner {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    display: flex;
    align-items: center;
    height: 48px;
    width: 48px
}

.product__modal-opener .path {
    opacity: .75
}

@media (hover: hover) {
    .product__media-icon--hover, .product__media-zoom-hover {
        display: none
    }
}

.js .product__media {
    overflow: hidden !important
}

.thumbnail img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.thumbnail__badge .icon {
    width: 10px;
    height: 10px
}

.thumbnail__badge .icon-3d-model {
    width: 12px;
    height: 12px
}

.thumbnail__badge {
    height: 30px;
    width: 30px;
    left: auto;
    right: 5px;
    top: 5px
}

.thumbnail-list__item::before {
    content: '';
    display: block;
    padding-bottom: 100%
}

.product__view-details {
    display: block;
    text-decoration: none
}

.product__view-details .icon {
    width: 12px;
    margin-left: 12px;
    flex-shrink: 0
}

.product__sku.visibility-hidden::after {
    content: '#'
}

.product-media-container {
    position: relative;
    width: 100%;
    max-width: 100%
}

.product-media-container.constrain-height {
    --viewport-offset: 400px;
    --constrained-min-height: 300px;
    --constrained-height: max(var(--constrained-min-height), calc(100vh - var(--viewport-offset)));
    margin-right: auto;
    margin-left: auto;
    --viewport-offset: 170px;
    --constrained-min-height: 500px
}

.product-media-container.media-fit-cover, .product-media-container.media-fit-cover .media, .product-media-container.media-fit-cover .product__modal-opener {
    height: 100%
}

.product-media-container.media-fit-cover .deferred-media__poster img {
    object-fit: cover;
    width: 100%
}

.js .recipient-fields, .product-media-container .product__modal-opener:not(.product__modal-opener--image), .recipient-email-label, .recipient-form > input[type=checkbox]:not(:checked,:disabled) ~ .recipient-fields {
    display: none
}

.recipient-form {
    --recipient-checkbox-margin-top: 6.4px;
    display: block;
    max-width: 440px;
    margin-bottom: 25px
}

.recipient-form-field-label {
    margin: 6px 0
}

.recipient-form-field-label--space-between {
    display: flex;
    justify-content: space-between
}

.recipient-checkbox {
    flex-grow: 1;
    font-size: 16px;
    display: flex;
    align-items: flex-start;
    max-width: inherit;
    cursor: pointer
}

.recipient-form > input[type=checkbox] {
    position: absolute;
    width: 16px;
    height: 16px;
    margin: var(--recipient-checkbox-margin-top) 0;
    top: 0;
    left: 0;
    z-index: -1;
    appearance: none;
    -webkit-appearance: none
}

.recipient-fields__field {
    margin: 0 0 20px
}

.slider--desktop, .slider--everywhere {
    position: relative;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 10px
}

.recipient-fields .field__label {
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: calc(100% - 35px);
    overflow: hidden
}

.recipient-checkbox > svg {
    margin-top: var(--recipient-checkbox-margin-top);
    margin-right: 12px;
    flex-shrink: 0
}

.recipient-form .icon-checkmark {
    visibility: hidden;
    position: absolute;
    left: 2.8px;
    z-index: 5;
    top: 4px;
    width: 10px;
    height: 9px
}

.recipient-form > input[type=checkbox]:checked + label .icon-checkmark {
    visibility: visible
}

.recipient-fields hr {
    margin: 16px auto
}

.js .recipient-email-label.required, .recipient-form ul a {
    display: inline
}

.recipient-form ul {
    padding-left: 44px;
    text-align: left
}

.recipient-form .error-message::first-letter {
    text-transform: capitalize
}

slider-component {
    position: relative;
    display: block
}

slider-component.slider-component-full-width {
    --desktop-margin-left-first-item: 15px
}

@media screen and (max-width: 749px) {
    slider-component.page-width {
        padding: 0 15px
    }

    .slider.slider--mobile {
        position: relative;
        flex-wrap: inherit;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scroll-padding-left: 15px;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 10px
    }

    .slider.slider--mobile .slider__slide {
        margin-bottom: 0
    }

    .slider.slider--mobile.contains-card--standard .slider__slide:not(.collection-list__item--no-media) {
        padding-bottom: var(--focus-outline-padding)
    }

    .slider.slider--mobile.contains-content-container .slider__slide {
        --focus-outline-padding: 0
    }
}

@media screen and (min-width: 749px) and (max-width: 990px) {
    slider-component.page-width {
        padding: 0 50px
    }
}

.slider__slide {
    scroll-snap-align: start;
    flex-shrink: 0;
    padding-bottom: 0
}

.slider--everywhere {
    flex-wrap: inherit
}

.slider.slider--everywhere .slider__slide {
    margin-bottom: 0;
    scroll-snap-align: center
}

.slider-component-desktop.page-width {
    max-width: none
}

.slider--desktop {
    flex-wrap: inherit;
    scroll-padding-left: var(--desktop-margin-left-first-item)
}

.slider--desktop:after {
    content: '';
    width: 0;
    padding-left: 50px
}

.slider--desktop .slider__slide:first-child {
    margin-left: var(--desktop-margin-left-first-item);
    scroll-margin-left: var(--desktop-margin-left-first-item)
}

.slider-component-full-width .slider--desktop {
    scroll-padding-left: 15px
}

.slider-component-full-width .slider--desktop .slider__slide:first-child {
    margin-left: 15px;
    scroll-margin-left: 15px
}

.slider-component-full-width .slider--desktop:after {
    padding-left: 15px
}

.slider.slider--desktop.contains-card--standard .slider__slide:not(.collection-list__item--no-media) {
    padding-bottom: var(--focus-outline-padding)
}

.slider.slider--desktop.contains-content-container .slider__slide {
    --focus-outline-padding: 0
}

@media (prefers-reduced-motion) {
    .slider {
        scroll-behavior: auto
    }
}

.slider {
    -ms-overflow-style: none;
    scrollbar-width: none
}

.slider::-webkit-scrollbar {
    height: 4px;
    width: 4px;
    display: none
}

.slider::-webkit-scrollbar-thumb {
    background-color: var(--bs-body-color);
    border-radius: 4px;
    border: 0
}

.slider::-webkit-scrollbar-track {
    background: rgba(var(--bs-body-color-rgb), .04);
    border-radius: 4px
}

@media screen and (min-width: 750px) {
    .product__info-container .price--on-sale .price-item--regular {
        font-size: 16px
    }

    .product__info-container > :first-child {
        margin-top: 0
    }

    .slider.slider--tablet-up {
        position: relative;
        flex-wrap: inherit;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scroll-padding-left: 10px;
        -webkit-overflow-scrolling: touch
    }

    .slider.slider--tablet-up .slider__slide {
        margin-bottom: 0
    }

    .slider-counter--dots {
        margin: 0 12px
    }
}

.slider-counter__link {
    padding: 10px
}

.slider-counter__link--dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid rgba(var(--bs-body-color-rgb), .5);
    padding: 0;
    display: block
}

.slider-counter__link--active.slider-counter__link--dots .dot {
    background-color: var(--bs-body-color)
}

@media screen and (forced-colors: active) {
    .product-form__submit[aria-disabled=true] {
        color: Window
    }

    .recipient-checkbox > svg {
        background-color: inherit
    }

    .recipient-form > input[type=checkbox]:checked + label .icon-checkmark {
        border: none
    }

    .slider-counter__link--active.slider-counter__link--dots .dot {
        background-color: CanvasText
    }
}

.slider-counter__link--dots:not(.slider-counter__link--active):hover .dot {
    border-color: var(--bs-body-color)
}

.slider-counter__link--dots .dot, .slider-counter__link--numbers {
    transition: transform .2s ease-in-out
}

.slider-counter__link--active.slider-counter__link--numbers, .slider-counter__link--dots:not(.slider-counter__link--active):hover .dot, .slider-counter__link--numbers:hover {
    transform: scale(1.1)
}

.slider-counter__link--numbers {
    color: rgba(var(--bs-body-color-rgb), .5);
    text-decoration: none
}

.slider-button, .slider-button:not([disabled]):hover {
    color: var(--bs-primary)
}

.slider-counter__link--numbers:hover {
    color: var(--bs-body-color)
}

.slider-counter__link--active.slider-counter__link--numbers {
    text-decoration: underline;
    color: var(--bs-body-color)
}

.slider-buttons {
    display: flex;
    align-items: center;
    justify-content: center
}

.featured-product-single .slider__slide, .slider--mobile + .slider-buttons, .slider:not(.slider--everywhere):not(.slider--desktop) + .slider-buttons {
    display: none
}

.slider-button {
    background: 0 0;
    border: none;
    cursor: pointer;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 9;
    font-size: 20px
}

.slider-button .icon {
    height: 6px
}

.slider-button[disabled] .icon {
    cursor: not-allowed;
    color: var(--bs-primary)
}

.product--thumbnail_slider .slider-mobile-gutter .slider-button[disabled] {
    opacity: 0;
    visibility: hidden
}

.slider-button--next .icon {
    transform: rotate(-90deg)
}

.slider-button--prev .icon {
    transform: rotate(90deg)
}

.slider-button--next:not([disabled]):hover .icon {
    transform: rotate(-90deg) scale(1.1)
}

.slider-button--prev:not([disabled]):hover .icon {
    transform: rotate(90deg) scale(1.1)
}

.slider-button--prev {
    top: 50%;
    transform: translateY(-50%);
    left: -15px
}

.slider-button--next {
    top: 50%;
    transform: translateY(-50%);
    right: -15px
}

.media-type-model .deferred-media {
    padding-top: 100%
}

.shopify-model-viewer-ui {
    display: block;
    max-width: 100%;
    position: absolute !important;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%
}

@media only screen and (min-width: 1200px) {
    .product--vertical_thumbnail .thumbnail-slider .thumbnail-list.slider--tablet-up {
        padding: 0
    }

    .product--vertical_thumbnail .product__media-wrapper slider-component.thumbnail-slider {
        position: absolute;
        top: 0;
        left: -10px;
        transform: rotate(90deg);
        width: 400px;
        transform-origin: left top;
        height: 70px
    }

    .product--vertical_thumbnail .product__media-wrapper {
        position: relative;
        padding-left: 80px
    }

    .product--vertical_thumbnail .thumbnail-list.slider--tablet-up li.thumbnail-list__item.slider__slide {
        transform: rotate(-90deg);
        width: 70px;
        height: 70px;
        left: 32px
    }

    .slider-button--next {
        right: 0
    }

    .slider-button--prev {
        left: -15px
    }
}

.featured-product-single .slider__slide.is-active {
    display: block
}