/** Set theme variables */
:root {
    --primaryButtonsHover: var(--accentColor);
}


html {
    scroll-behavior: smooth;
}


/* Bootstrap spacing helpers */
.mt-0 {
    margin-top: 0 !important;
}

.mt-5 {
    margin-top: 5px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-15 {
    margin-top: 15px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-5 {
    margin-bottom: 5px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}


/* Changes to headlines */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--secondFontFamily);
    font-weight: var(--secondFontWeight);
    font-style: var(--secondFontStyle);
}

@media only screen and (max-width: 650px) {
    h1 {
        font-size: 1.6em;
    }

    h2 {
        font-size: 1.5em;
    }

    h3 {
        font-size: 1.4em;
    }

    h4 {
        font-size: 1.3em;
    }

    h5 {
        font-size: 1.2em;
    }
}


/** Changes to buttons */
.button,
input[type=submit],
button[type=submit],
#side-filters .et-close,
.nf-form-cont .nf-form-content .submit-wrap .ninja-forms-field,
.yith-wcwl-popup-footer a.button.wishlist-submit,
.wc-block-components-button,
.et-product-detail .single_add_to_cart_button,
.sticky-product-bar .single_add_to_cart_button,
.sticky-product-bar .add_to_cart_button,
.woocommerce-mini-cart__buttons .button.checkout,
.button.checkout-button,
#place_order.button,
.woocommerce .argmc-wrapper .argmc-nav-buttons .argmc-submit,
.wishlist_table .add_to_cart,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background-color: var(--primaryButtons);
}

.et-product-detail .single_add_to_cart_button:hover,
.sticky-product-bar .single_add_to_cart_button:hover,
.sticky-product-bar .add_to_cart_button:hover,
.woocommerce-mini-cart__buttons .button.checkout:hover,
.button.checkout-button:hover,
#place_order.button:hover,
.woocommerce .argmc-wrapper .argmc-nav-buttons .argmc-submit:hover,
.wishlist_table .add_to_cart:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-button__link:hover,
.wc-block-components-button:hover,
.wc-block-components-button:focus,
.nf-form-cont .nf-form-content .submit-wrap .ninja-forms-field:hover,
.nf-form-cont .nf-form-content .submit-wrap .ninja-forms-field:focus,
.button:hover,
.button:active,
.button:focus,
input[type=submit]:hover,
input[type=submit]:active,
input[type=submit]:focus,
button[type=submit]:hover,
button[type=submit]:active,
button[type=submit]:focus {
    background-color: var(--primaryButtonsHover);
}

.button.loading {
    position: relative;
    color: var(--primaryButtons);
    border-color: var(--primaryButtons);
    background: var(--primaryButtons);
    opacity: 1;
    pointer-events: none;
}

.button.loading .button__text {
    visibility: hidden;
}

.button.loading:hover {
    color: var(--primaryButtons);
    border-color: var(--primaryButtons);
    background: var(--primaryButtons);
    opacity: 1;
}

.button.loading:after {
    color: #ffffff;
    animation: button__spinner__animation 1s linear infinite;
    backface-visibility: hidden;
    border: .2em solid;
    border-left: .2em solid transparent;
    border-radius: 50%;
    box-sizing: border-box;
    content: " ";
    height: 1em;
    font-size: 20px;
    left: 50%;
    margin: -.5em 0 0 -.5em;
    position: absolute;
    top: 50%;
    transform: translateZ(0) scale(.5);
    transform-origin: 50% 50%;
    width: 1em;
}

@keyframes button__spinner__animation {
    0% {
        animation-timing-function: cubic-bezier(.5856, .0703, .4143, .9297);
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}


/**
 * Changes to Husky Product Filters
*/

.woof_container {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.woof_container:last-child {
    border: 0;
}

.woof_container_inner h4 {
    margin: 0;
    padding: 10px 4px;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 0.1rem;
    color: inherit !important;
    cursor: pointer;
}

.woof_container_inner .widget_price_filter h4 {
    cursor: default;
}

.woof_price_filter .woof_container_inner h4 {
    margin-bottom: 24px;
}

.woof_block_html_items {
    padding-top: 5px;
    max-height: 200px;
    overflow-y: auto;
}

ul.woof_list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

ul.woof_list li,
ul.woof_list_color li {
    position: relative;
    flex: 0 0 auto;
    display: inline-block !important;
    margin: 3px 0 0 0 !important;
    padding: 0 0 0 10px !important;
    cursor: pointer;
}

ul.woof_list li:has(.woof_checkbox_label_selected) {
    padding: 2px 30px 2px 10px !important;
    background: rgba(0, 0, 0, .08);
    border-radius: 15px;
}

ul.woof_list li:has(.woof_checkbox_label_selected)::after {
    position: absolute;
    top: 4px;
    right: 10px;
    content: "\e928";
    font-family: "et-icon";
    font-size: 14px;
    line-height: inherit;
    color: inherit;
    opacity: .5;
    transition: opacity 0.2s ease;
}

ul.woof_list li:hover:has(.woof_checkbox_label_selected)::after {
    color: #000;
    opacity: 1;
}

.woof_list_color .woof_tooltip {
    vertical-align: middle;
}

.woof_color_term,
.woof_color_term.checked {
    margin: 0 4px 0 0;
    width: 14px;
    height: 14px;
    -webkit-box-shadow: inset 0 0 1px 0 rgba(0, 0, 0, .5);
    box-shadow: inset 0 0 1px 0 rgba(0, 0, 0, .5);
    border: none;
    border-radius: 7px;
}

.woof_color_term:hover {
    -webkit-box-shadow: inset 0 0 1px 0 rgba(0, 0, 0, .5);
    box-shadow: inset 0 0 1px 0 rgba(0, 0, 0, .5);
    border: none;
}

.woof_price_filter .price_slider_wrapper {
    margin-left: 10px;
}

.widget_price_filter {
    padding-top: 0;
}

.woof_list label,
.woof_container label,
.woof_checkbox_label {
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: top;
}

.woof_color_title,
.woof_checkbox_label,
ul.woof_list_color .woof_checkbox_label_selected {
    color: #282828;
    font-weight: normal;
}

.woof_color_title:hover,
.woof_checkbox_label:hover,
ul.woof_list_color .woof_checkbox_label_selected:hover {
    color: #000000;
}

.woof_list_checkbox input[type=checkbox] {
    display: none;
}

.woof_products_top_panel li a:hover span:before,
.woof_products_top_panel li button:hover:before {
    opacity: 1;
}


/***
 * Use primary color for loading dots
 */
.yith-wcan-loading:after,
.blockUI.blockOverlay:after,
.easyzoom-notice:after,
.woocommerce-product-gallery__wrapper.slick:after,
.product-gallery .woo-variation-gallery-wrapper.loading-gallery:after,
.product-gallery .rtwpvg-wrapper.loading-rtwpvg:after,
.add_to_cart_button.loading:after,
.wcapf-before-update:after,
.woof_info_popup:after,
.tinv-wishlist .tinvwl_add_to_wishlist_button.inited-add-wishlist:after,
#side-filters.ajax-loader .side-panel-content:after,
.et-loader:after,
.dot-loader:after,
.zoo-cw-gallery-loading:after {
    background-color: var(--accentColor);
}


/***
 * Hide unnecessary 'All products have been loaded' element
 */
.et-infload-controls.button-mode.hide-btn {
    display: none;
}


/** Changes to form block components **/

.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: 1px #cccccc solid !important;
}

.wc-block-components-text-input input[type=email]:hover,
.wc-block-components-text-input input[type=number]:hover,
.wc-block-components-text-input input[type=password]:hover,
.wc-block-components-text-input input[type=tel]:hover,
.wc-block-components-text-input input[type=text]:hover,
.wc-block-components-text-input input[type=url]:hover,
.wc-blocks-components-select .wc-blocks-components-select__select:hover {
    border-color: var(--accentColor) !important;
}

.wc-block-components-text-input input[type=email]:focus,
.wc-block-components-text-input input[type=number]:focus,
.wc-block-components-text-input input[type=password]:focus,
.wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-text-input input[type=text]:focus,
.wc-block-components-text-input input[type=url]:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
    padding: 23px 8px 7px !important;
    border-color: var(--accentColor) !important;
    border-width: 2px !important;
}

.wc-blocks-components-select .wc-blocks-components-select__select:focus {
    padding: 16px 8px 0 !important;
}

.wc-block-components-text-input.has-error input[type=email],
.wc-block-components-text-input.has-error input[type=number],
.wc-block-components-text-input.has-error input[type=password],
.wc-block-components-text-input.has-error input[type=tel],
.wc-block-components-text-input.has-error input[type=text],
.wc-block-components-text-input.has-error input[type=url],
.wc-blocks-components-select.has-error .wc-blocks-components-select__select {
    border-color: #cc1818 !important;
}

.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: inset 0 0 0 2px var(--accentColor) !important;
    z-index: 1;
}

.wc-block-components-radio-control__option-checked:after,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted:after {
    display: none !important;
}

.wc-block-components-radio-control--highlight-checked:after {
    border: 1px #cccccc solid !important;
    z-index: 0;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input {
    border: 1px #cccccc solid !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
.wc-block-components-radio-control .wc-block-components-radio-control__input:hover {
    border-color: var(--accentColor) !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before {
    background-color: var(--accentColor) !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
    outline: none !important;
}

.wc-block-components-radio-control--highlight-checked.wc-block-components-radio-control--highlight-checked--first-selected:after {
    margin-top: 0 !important;
}

.wc-block-components-radio-control--highlight-checked.wc-block-components-radio-control--highlight-checked--last-selected:after {
    margin-bottom: 0 !important;
}

.wc-block-components-address-card {
    border: 1px #cccccc solid !important;
}

.wc-block-components-text-input input:focus-visible+label {
    outline: none !important;
}


/** Changes to mini-cart **/

.woocommerce-mini-cart__buttons .button:not(.checkout):hover {
    color: var(--accentColor) !important;
}


/** Changes to checkout **/

.wc-block-checkout__guest-checkout-notice {
    display: none;
}

.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label {
    font-weight: 400 !important;
}

.wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block {
    display: none;
}

@container ((min-width: 400px) and (max-width: 519px)) or (max-width: 399px) {
    .wc-block-checkout__actions {
        padding-top: 0 !important;
    }
}


/** Changes to dialogs (sweetalert2) **/

.swal2-container {
    --swal2-color: var(--mainFontColor);
}

.swal2-container .swal2-title {
    color: var(--headingColor);
}

.swal2-container .swal2-actions button {
    min-width: 100px;
    background-color: var(--primaryButtons);
    border-radius: 15px;
    border: 1px var(--primaryButtons) solid;
    box-shadow: 0px 1px 2px #e6e6e6 !important;
    transition: all .1s ease-in-out;
}

.swal2-container .swal2-actions button:hover {
    background-color: var(--primaryButtonsHover);
    border-color: var(--primaryButtonsHover);
}

.swal2-container .swal2-icon {
    border-color: var(--accentColor) !important;
    color: var(--accentColor) !important;
}