/** Custom **/

body .wc-block-mini-cart__badge {
    font-size: 12px;
    background-color: var(--wp--preset--color--accent-1) !important;
    color: var(--wp--preset--color--base-1) !important;
}

.woocommerce.wc-block-catalog-sorting select.orderby {
    text-align: right;
}

.wp-block-term .wp-block-image img {
    object-fit: contain !important;
}

.wp-block-term .wp-block-image {
    position: relative;
}

.wp-block-term .wp-block-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    pointer-events: none;
    z-index: 3;
}

/** WC Buttons **/
button.woocommerce-Button,
button[name="save_address"],
.wp-block-woocommerce-mini-cart-shopping-button-block {
    padding: 0.9375em 2.13em;
}

button.woocommerce-Button:hover,
button[name="save_address"]:hover,
.wp-block-woocommerce-mini-cart-shopping-button-block:hover {
    background-color: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--base-1);
    border-color: var(--wp--preset--color--accent-1);
}

.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward {
    font-size: var(--wp--preset--font-size--small)
}

.wc-block-components-button:not(.is-link).is-style-outline:not(:focus),
.wc-block-components-button:not(.is-link).outlined:not(:focus) {
    border-color: var(--wp--preset--color--contrast-1);
    box-shadow: none;
}

.wc-block-components-button:not(.is-link).is-style-outline:hover,
.wc-block-components-button:not(.is-link).outlined:hover {
    background-color: var(--wp--preset--color--contrast-1)
}

.wc-block-components-button:not(.is-link).is-style-outline:not(:focus),
.wc-block-components-button:not(.is-link).outlined:not(:focus),
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block,
.wc-block-cart__submit-button:not(.is-link),
.wc-block-components-checkout-place-order-button:not(.is-link),
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block:hover,
.wc-block-cart__submit-button:not(.is-link):hover,
.wc-block-components-checkout-place-order-button:not(.is-link):hover,
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover {
    background-color: transparent;
    color: var(--wp--preset--color--accent-1)
}

/** Mini cart **/
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions,
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions>.block-editor-inner-blocks>.block-editor-block-list__layout {
    gap: 9px;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block,
.wc-block-cart__submit-button:not(.is-link),
.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button--full-width {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--36-2);
    background-color: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--base-1);
    border-color: var(--wp--preset--color--accent-1);
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block:hover,
.wc-block-cart__submit-button:not(.is-link):hover,
.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button--full-width:hover {
    color: var(--wp--preset--color--contrast-1) !important;
    border-color: var(--wp--preset--color--contrast-1);
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block .wp-block-button__icon,
.wc-block-cart__submit-button:not(.is-link) .wp-block-button__icon,
.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button--full-width .wp-block-button__icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 14px;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 1px solid var(--wp--preset--color--base-1);
    background-color: var(--wp--preset--color--base-1);
    color: var(--wp--preset--color--contrast-1);
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block:hover .wp-block-button__icon,
.wc-block-cart__submit-button:not(.is-link):hover .wp-block-button__icon,
.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button--full-width:hover .wp-block-button__icon {
    background-color: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--base-1);
    border-color: var(--wp--preset--color--accent-1);
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block .wp-block-button__icon svg,
.wc-block-cart__submit-button:not(.is-link) .wp-block-button__icon svg,
.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button--full-width .wp-block-button__icon svg {
    display: block;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block {
    padding: 0;
    background-color: transparent !important;
    border: 0 !important;
}

body .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block:hover {
    color: var(--wp--preset--color--contrast-1-hover);
}

/** Collections Page **/
.wc-block-product-template__responsive {
    row-gap: var(--wp--preset--spacing--27);
    column-gap: var(--wp--preset--spacing--18)
}

.wp-posts-container {
    position: relative !important;
    overflow: hidden;
}

.wp-posts-container .wp-block-post-featured-image a>img {
    transition: transform 0.3s ease-in-out;
    -webkit-transition: transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out;
    -ms-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
}

.wp-posts-container .wp-block-post-featured-image a:hover>img {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
}

.wp-posts-container>.wp-posts-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: var(--wp--preset--spacing--36-2) var(--wp--preset--spacing--36-1);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.60) 100%);
    pointer-events: none;
}

/** Featured Categories **/
.wc-block-components-product-price {
    line-height: 1.1;
}

.wp-featured-categories .wp-block-image a::after,
.wp-block-woocommerce-product-image a::after,
.wc-block-cart-item__image a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    pointer-events: none;
    z-index: 3;
}

.wp-featured-categories .wp-block-image a,
.wc-block-components-product-image a,
.wc-block-cart-item__image a {
    overflow: hidden;
    position: relative;
    display: block;
}

.wp-featured-categories .wp-block-image a img,
.wc-block-components-product-image a img {
    object-fit: contain !important;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.wp-featured-categories .wp-block-image a:hover img,
.wc-block-components-product-image a:hover img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}

/** Cart **/
.wc-block-components-product-badge {
    letter-spacing: 0.05em;
    background-color: var(--wp--preset--color--accent-1);
    border-color: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--base-1)
}

.wc-block-components-product-name {
    font-weight: 500;
}

a.wc-block-components-product-name:hover {
    color: var(--wp--preset--color--accent-1)
}

/** Checkout **/
.wc-block-checkout__actions {
    padding-bottom: 18px;
}

.wc-block-components-form .wc-block-checkout__order-notes.wc-block-components-checkout-step {
    margin-bottom: 27px;
}


/** Checkout Radio **/
.wc-block-components-radio-control--highlight-checked.wc-block-components-radio-control--highlight-checked--first-selected:after,
.wc-block-components-radio-control--highlight-checked.wc-block-components-radio-control--highlight-checked--last-selected:after {
    content: none;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input {
    display: none;
}

.wc-block-checkout__shipping-option .wc-block-components-radio-control__option {
    padding-left: 0.875em;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
    padding-left: 0.75em;
}

.wc-block-components-radio-control__option-checked {
    background-color: var(--wp--preset--color--base-2);
}

.wc-block-components-radio-control-accordion-content {
    padding: 1em;
    background-color: var(--wp--preset--color--base-3);
    border: 1px solid hsla(0, 0%, 7%, .11)
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    box-shadow: none;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.wc-block-components-radio-control>.wc-block-components-radio-control-accordion-option:not(:first-child) {
    margin-top: -1px;
}

.wc-block-components-radio-control__option,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
    border: 1px solid hsla(0, 0%, 7%, .11);
}

.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted .wc-block-components-radio-control__option {
    border: 1px solid var(--wp--preset--color--accent-1);
}

.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control>.wc-block-components-radio-control__option:first-child,
.wc-block-checkout__payment-method .wc-block-components-radio-control>.wc-block-components-radio-control-accordion-option:first-child .wc-block-components-radio-control__option {
    border-radius: 4px 4px 0 0;
    -webkit-border-radius: 4px 4px 0 0;
    -moz-border-radius: 4px 4px 0 0;
    -ms-border-radius: 4px 4px 0 0;
    -o-border-radius: 4px 4px 0 0;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control>.wc-block-components-radio-control-accordion-option:not(.wc-block-components-radio-control-accordion-option--checked-option-highlighted):last-child .wc-block-components-radio-control__option,
.wc-block-checkout__payment-method .wc-block-components-radio-control>.wc-block-components-radio-control-accordion-option:last-child .wc-block-components-radio-control-accordion-content,
.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control>.wc-block-components-radio-control__option:last-child {
    border-radius: 0 0 4px 4px;
    -webkit-border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    -ms-border-radius: 0 0 4px 4px;
    -o-border-radius: 0 0 4px 4px;
}

.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control>.wc-block-components-radio-control__option:last-child:first-child {
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
}

/** Form Border Colours **/
.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__select {
    border-color: #dedede
}

/** Product Page **/
.specification-row iframe {
    max-width: 100% !important;
}


.woocommerce-page label {
    margin: 0;
}

:where(.wc-block-add-to-cart-with-options__quantity-selector) .wc-block-components-quantity-selector.wc-block-components-quantity-selector {
    width: 100%;
    justify-content: space-around;
    background-color: #F7F7F7;
    border-radius: 100px;
    color: var(--wp--preset--color--contrast-1);
    border: 0;
}

.wp-block-woocommerce-product-gallery {
    gap: 18px;
}

.wc-block-product-gallery-thumbnails__thumbnail__image {
    border: 1px solid transparent;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.wc-block-product-gallery-thumbnails__thumbnail__image--is-active {
    filter: brightness(.97);
    -webkit-filter: brightness(.97);
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
}

.wc-block-product-gallery:not(.is-vertical):not(:has(.is-vertical)) :where(.wc-block-product-gallery-thumbnails__scrollable) {
    padding-right: 2px;
}

/** Cart Button **/
:where(.wc-block-add-to-cart-with-options-grouped-product-item-selector) :where(.wc-block-components-quantity-selector) :where(input[type=number].qty),
:where(.wc-block-add-to-cart-with-options__quantity-selector) :where(.wc-block-components-quantity-selector) :where(input[type=number].qty) {
    padding: 0.9375em 0;
}

.woocommerce-page .input-text {
    font-size: var(--wp--preset--font-size--h-6)
}

/** Product Filters **/
.woocommerce-page .search-filter-label {
    font-weight: 500;
    border-bottom: 1px solid var(--wp--preset--color--contrast-1);
    cursor: pointer;
    font-size: var(--wp--preset--font-size--h-5);
    padding-bottom: var(--wp--preset--spacing--18);
    margin-bottom: var(--wp--preset--spacing--18)
}

.woocommerce-page .search-filter-input-radio * {
    font-size: var(--wp--preset--font-size--h-6)
}

.woocommerce-page .search-filter-checkable-button__label {
    margin-bottom: 0;
}

.woocommerce-page .search-filter-component-combobox-base.search-filter-input-text {
    border: 0;
    border-bottom: 1px solid var(--wp--preset--color--contrast-1);
    border-radius: 0;
    padding-left: 0;
}

.woocommerce-page .search-filter-input-text input[type=text].search-filter-input-text__input,
.woocommerce-page .search-filter-input-text input[type=text].search-filter-input-text__input::placeholder {
    font-size: var(--wp--preset--font-size--h-6) !important;
    padding-bottom: 13px;
    padding-top: 13px;
}

/** Categories Slider **/
#wp-categories-slider {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

/** Gallery Dialog **/
:where(.wc-block-product-gallery-dialog) {
    z-index: 99999;
    border: 0;
    background-color: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
}

:where(.wc-block-product-gallery-dialog__content) {
    padding-top: var(--wp--preset--spacing--72-2);
    height: calc(100vh - var(--wp--preset--spacing--72-2) - 20px)
}

:where(.wc-block-product-gallery-dialog__images-container) {
    padding: var(--wp--preset--spacing--36-2) var(--wp--preset--spacing--36-1);
}

:where(.wc-block-product-gallery-dialog__close-button) {
    fill: var(--wp--preset--color--base-1)
}

@media (min-width: 481px) {
    body .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions {
        align-items: center;
    }
}

@media (max-width: 1024px) {
    #wp-product-filters {
        transition: all 0.4s;
        position: fixed;
        opacity: 0;
        visibility: hidden;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var(--wp--preset--color--base-1);
        z-index: 99999;
        max-height: 100vh;
        padding: var(--wp--preset--spacing--36-2) var(--wp--preset--spacing--36-1) 104px;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
        -ms-transition: all 0.4s;
        -o-transition: all 0.4s;
    }

    #wp-product-filters+.wp-block-column {
        flex-basis: 100% !important;
    }

    .filters-opened {
        overflow: hidden;
    }

    .filters-opened #wp-product-filters {
        opacity: 1;
        visibility: visible;
    }

    #wp-product-filters>.wp-block-group {
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 0 9px;
    }

    #wp-product-filters-config-row {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: var(--wp--preset--spacing--36-1) var(--wp--preset--spacing--36-1) var(--wp--preset--spacing--36-2);
        background-color: var(--wp--preset--color--base-1)
    }

    #wp-product-filters-close {
        width: fit-content;
        margin-left: auto;
    }

    .search-filter-input-button.search-filter-field__input {
        height: 100%;
    }

    #wp-categories-slider {
        display: flex !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        /* optional */
        -webkit-overflow-scrolling: touch;
        padding-bottom: 27px;
    }

    #wp-categories-slider>.wp-block-group {
        min-width: calc((100% - 54px) / 4);
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .wp-featured-categories .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: calc((100% / 3) - 36px) !important;
    }
}

@media (max-width: 767px) {
    #wp-categories-slider>.wp-block-group {
        min-width: calc((100% - 36px) / 2.5);
    }

    .wp-featured-categories .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: calc((100% / 2) - 18px) !important;
    }
}

@media (min-width: 1024px) {
    .wp-posts-container .wp-block-post-featured-image {
        aspect-ratio: 21/9 !important;
    }
}