/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

div.header-space {
    display: none;
}
.color-primary{
	color: var( --e-global-color-5520e67 );
}

/* body:not(.home) .site-header .row>div[class^="desktop-main-bar-"]{
	padding-top: 4px;
	padding-bottom: 4px;
} */


.mpl0 p:first-child {
    margin-top: 0;
}

.mpl0 p:last-child {
    margin-bottom: 0;
}

.site-header.dark-header {
    background-color: rgba(0, 0, 0, 0.3)
}

/* .logo-block img {
    max-width: 80px;
} */
nav.navigation>ul>li>a span {
    border-right: 1px solid transparent;
    padding-right: 10px;
}

nav.navigation>ul>li.current-menu-item>a span {
    border-right: 1px solid var(--e-global-color-5520e67);
    padding-right: 10px;
}

.home-product-link a.button-style1,
.home-product-link a.button-style2 {
    background-color: var(--e-global-color-5520e67);
}

.home-product-link .price-list .item .options .button-style1 span,
.home-product-link .price-list .item .options .button-style1 span::after {
    background-color: #fff !important;
}

.home-product-link .price-list .item {
    background-color: #00000066;
    background-blend-mode: overlay;
}

.home-product-link .price-list .item .price,
.home-banner .banner .swiper-slide .heading .h,
.home-banner .banner .swiper-slide .text {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.main-contact-form {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.main-contact-form .half {
    max-width: calc(50% - 15px);
    width: 100%;
}

nav.navigation .sub-menu,
nav.navigation .children {
    width: unset;
    min-width: 180px;
}

.main-contact-form .wpcf7-form-control {
    width: 100%;
    height: 48px;
    padding: 10px;
}

body.archive .pagination ul.page-numbers {
    justify-content: center;
}

.main-contact-form .full {
    width: 100%;
}

.main-contact-form .wpcf7-form-control:not(.wpcf7-checkbox) {
    border: 1px solid #ddd;
}

.main-contact-form .wpcf7-form-control span.wpcf7-list-item-label {
    color: #000;
}

.wpcf7-list-item {
    margin: 0;
}

.wpcf7-list-item input[type="checkbox"] {
    width: 20px;
    height: 20px;
    vertical-align: sub;
    margin-right: 6px;
}

.main-contact-form textarea.wpcf7-form-control {
    height: 108px;
}

.main-contact-form span.wpcf7-form-control-wrap[data-name="your-email"] {
    margin-bottom: 10px;
    display: block;
}

.main-contact-form .wpcf7-form-control[type="submit"] {
    height: 48px;
    padding: 10px 30px;
    background-color: #c48f56;
    color: #fff;
    font-weight: 600;
    width: auto;
}

.try-room artplacer button.artplacer-button {
    border-radius: 0 !important;
    background-color: var(--e-global-color-5520e67) !important;
    color: #FFF !important;
    border: 1px solid var(--e-global-color-5520e67) !important;
    font-weight: normal !important;
    font-size: 0 !important;
    text-transform: initial !important;
    padding: 10px 20px !important;
    line-height: 1.6 !important;
    letter-spacing: 0 !important;
    transition: all .3s ease;
}

.try-room artplacer button.artplacer-button:hover {
    color: #fff !important;
    background-color: #000 !important;
    border-color: #000 !Important;
}

.try-room artplacer button.artplacer-button::after {
    content: "View in a room";
    font-size: 16px;
}

.short-codes-3d>artplacer>button.artplacer-button {
    width: 100% !important;
    display: block;
    transition: all .3s ease;
    color: #c48f56 !important;
    border-color: #c48f56 !important;
}

.short-codes-3d>artplacer>button.artplacer-button:hover {
    background-color: #c48f56 !important;
    color: #fff !important;
    border-color: #c48f56 !important;
}

.woocommerce-MyAccount-content .woocommerce-info {
    border-top-color: #c48f56;
}

.woocommerce-MyAccount-content .woocommerce-info:before {
    color: #c48f56;
}

.variations_form table tbody>tr:nth-child(odd)>td,
.variations_form table tbody>tr:nth-child(odd)>th,
.variations_form table tbody tr:hover>td,
.variations_form table tbody tr:hover>th{
	background-color: transparent;
}

.variations_form table td,
.variations_form table th{
	padding-inline: 0;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button{
	border-radius: 0;
	overflow: hidden;
}

/* .elementor-widget-button .elementor-button, */
:root :where(.wp-element-button, .wp-block-button__link) {
    background-color: #c48f56;
    transition: all .3s ease;
}

.button {
    background-color: #c48f56 !important;
    color: #fff !important;
    padding: 12px;
    font-weight: normal;
    font-size: .875rem;
    line-height: 22px;
    letter-spacing: .2em;
    text-transform: uppercase;
    border: 1px solid #c48f56 !important;
    text-align: center;
    border-radius: 0;
    transition: all .3s ease;
}

a.woocommerce-MyAccount-downloads-file.button.alt,
.woocommerce table.my_account_orders .button,
section.woocommerce-order-details a.button,
form.woocommerce-EditAccountForm .woocommerce-Button {
    background-color: #c48f56 !important;
    color: #fff !important;
    padding: 12px;
    width: 100%;
    font-weight: normal;
    font-size: .875rem;
    line-height: 22px;
    letter-spacing: .2em;
    text-transform: uppercase;
    border: 1px solid #c48f56 !important;
    text-align: center;
    border-radius: 0;
    transition: all .3s ease;
}

:root :where(.wp-element-button, .wp-block-button__link),
.woocommerce table.my_account_orders .button,
section.woocommerce-order-details a.button,
form.woocommerce-EditAccountForm .woocommerce-Button {
    border: 1px solid #fff;
    color: #fff !important;
    transition: all .3s ease;
}

:root :where(.wp-element-button, .wp-block-button__link):hover,
a.woocommerce-MyAccount-downloads-file.button.alt:hover,
.woocommerce table.my_account_orders .button:hover,
section.woocommerce-order-details a.button:hover,
form.woocommerce-EditAccountForm .woocommerce-Button:hover,
.button:hover {
    border: 1px solid #000 !important;
    color: #fff !important;
    background-color: #000 !important;
}

.banner-btns a,
.elementor-button:not(.elementor-menu-cart__toggle_button),
.wc-block-components-button,
button.button,
.wc-block-components-button:not(.is-link),
a.woocommerce-MyAccount-downloads-file.button.alt,
.woocommerce table.my_account_orders .button,
section.woocommerce-order-details a.button,
form.woocommerce-EditAccountForm .woocommerce-Button,
.button {
    overflow: hidden;
    position: relative;
}

.banner-btns a::after,
.elementor-button:not(.elementor-menu-cart__toggle_button)::after,
.wc-block-components-button::after,
button:not(.wc-block-components-quantity-selector__button, .wc-block-cart-item__remove-link, .artplacer-button, .pswp__button)::after,
button.artplacer-button::before,
a.woocommerce-MyAccount-downloads-file.button.alt::after,
.woocommerce table.my_account_orders .button::after,
section.woocommerce-order-details a.button::after,
form.woocommerce-EditAccountForm .woocommerce-Button::after,
.button::after {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transform: skewX(-20deg);
}

.banner-btns a:hover::after,
.elementor-button:not(.elementor-menu-cart__toggle_button):hover::after,
.wc-block-components-button:hover::after,
button:not(.wc-block-components-quantity-selector__button):hover::after,
.button:hover::after,
a.woocommerce-MyAccount-downloads-file.button.alt:hover::after,
.woocommerce table.my_account_orders .button:hover::after,
section.woocommerce-order-details a.button:hover::after,
form.woocommerce-EditAccountForm .woocommerce-Button:hover::after,
button.artplacer-button:hover::before {
    animation: shimmer 1.2s forwards;
}

@keyframes shimmer {
    to {
        left: 125%;
    }
}


@media (max-width: 767px) {
    .num-box-items.row {
        flex-wrap: nowrap;
    }
}

body.tax-pt-portfolio-category .heading-decor.line,
.single-pt-portfolio .site-content .heading-decor {
    min-height: 300px;
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin-left: -50vw;
    box-sizing: border-box;
    background-image: url(/wp-content/uploads/2026/06/Title-bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: "Montserrat", sans-serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--e-global-color-5c44a91);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0;
    padding-top: 100px;
    padding-bottom: 48px;
}

body.tax-pt-portfolio-category .heading-decor.line::before,
.single-pt-portfolio .site-content .heading-decor:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .5;
    top: 0;
    left: 0;
}

.single-pt-portfolio .site-content .heading-decor .h2 {
    position: relative;
}

body.tax-pt-portfolio-category .heading-decor.line h2 {
    font-size: 0 !important;
    position: relative;
}

body.tax-pt-portfolio-category .heading-decor.line h2 span {
    font-size: 48px;
}

.itw-wc-product-gallery-pswp .pswp__caption__center,
.itw-wc-product-gallery-pswp .pswp__caption__action {
    text-align: center;
}

.itw-wc-product-gallery-pswp .pswp__caption__action {
    margin: 10px 0;
}

.itw-wc-product-gallery-pswp .pswp__ui--fit .pswp__caption {
    background: transparent;
    text-align: center;
    will-change: auto;
}

.itw-wc-product-gallery-pswp .pswp__ui--fit .pswp__caption .pswp__caption__center {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25;
    color: #fff;
    position: relative;
    z-index: 1;
    border-radius: 10px;
}

.itw-wc-product-gallery-pswp .pswp__ui--fit .pswp__caption .pswp__caption__center::before {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    z-index: -1;
}

.itw-wc-product-gallery-pswp .wc-product-gallery-pswp__action {
    display: inline-block;
}

.wc-product-gallery-tabs {
    display: flex;
    justify-content: center;
    margin: 35px 0;
    flex-wrap: wrap;
}

.wc-product-gallery-tabs button.tab-btn {
    border: none;
    background: none;
    padding: 0 8px;
    text-decoration: none;
    line-height: normal;
    font-size: 12px;
    color: inherit;
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
    margin-bottom: 10px !important;
}

.wc-product-gallery-tabs button.tab-btn:after {
    content: "";
    width: 4px;
    box-shadow: inset 0 -9px 0 0;
    position: absolute;
    z-index: -1;
    transition: all 0.3s ease;
    color: #c48f56;
    height: 4px;
    border-radius: 50%;
    left: 50%;
    bottom: -10px;
    margin-left: -2px;
    opacity: 0;
}

.wc-product-gallery-tabs button.tab-btn.active:after {
    opacity: 1;
    visibility: visible;
}

.wc-product-gallery-tabs button.tab-btn:not(.active):hover {
    color: #c48f56;
}

.wc-product-gallery-wp {
    text-align: center;
}

.wc-product-gallery-wp .loader {
    --color-1: #e3e3e3;
    --color-2: #c48f56;
    --size: 1px;

    width: calc(48 * var(--size));
    height: calc(48 * var(--size));
    border: calc(5 * var(--size)) solid var(--color-1);
    border-bottom-color: var(--color-2);
    border-radius: 50%;
    display: inline-block;
    margin: 30px;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.wc-product-gallery-no-images {
    text-align: center;
    font-size: 1.25rem;
    font-weight: 500;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.galley-img-wp {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

/* .wc-product-gallery-wp .row {
    margin: -15px;
} */
.wc-product-gallery-img img {
    width: 100%;
    display: block;
    transition: transform 0.3s ease;
    height: auto;
}

.slice-border {
    border-image-source: linear-gradient(90deg, rgba(233, 233, 238, 0) 0%, rgb(190 155 91) 40.97%, rgb(190 155 91) 66.23%, rgba(233, 233, 238, 0) 100%);
    border-image-slice: 1;
}

.wc-product-gallery-wp .wc-product-gallery-info {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease;
    text-align: center;
    padding: 15px;
}

.wc-product-gallery-wp .wc-product-gallery-info h5 {
    font-size: 24px;
    position: relative;
}

.wc-product-gallery-wp .wc-product-gallery-info h5::after {
    content: "";
    display: block;
    width: 25px;
    height: 1px;
    margin: 10px auto;
    background: #fff;
}

/* .wc-product-gallery-wp .wc-product-gallery-info a {
    color: #fff;
    text-decoration: underline;
    font-size: 14px;
    text-decoration: none;
    background-color: #c48f56;
    padding: 5px 8px;
    position: unset !important;
} */

.owl-carousel.price-list .item .o-row:not(:last-of-type):after {
    margin: 10px 0;
}

.home-product-link .owl-carousel.price-list .item {
    padding-bottom: 320px !important;
}

.galley-img-wp:hover .wc-product-gallery-info {
    opacity: 1;
    visibility: visible;
}

.load-more-link {
    position: relative;
}

.load-more-link::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 0;
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-right: 1px solid #c48f56;
    border-bottom: 1px solid #c48f56;
    transition: 0.3s;
}

.load-more-wp {
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
    margin-top: 30px;
}

a.load-more-link {
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #c48f56;
    padding-right: 20px;
}

/* .load-more-link:hover,
.load-more-link:hover::after {
    color: #fff;
    border-color: #fff;
} */

.wc-product-gallery-wp .wc-product-gallery-info {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease;
    text-align: center;
    padding: 15px;

    pointer-events: none;
}

.wpcf7-spinner {
    background-color: #c48f56;
}

.wc-product-gallery-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.wc-product-gallery-tabs .tab-btn {
    display: inline-block;
    padding: 6px 15px;
}

.wc-product-gallery-tabs .tab-btn.active {
    background-color: #c48f56;
    color: #fff;
}

.icon-date-boxes .icon-box-block .icon-box .title {
    margin-bottom: 5px;
}

.icon-date-boxes .icon-box-block .row {
    gap: 20px;
}

.icon-date-boxes .icon-box-block .row>div:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

.skill-item .chart figcaption {
    color: #000;
}

.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .image-variable-item:not(.radio-variable-item) {
    width: 50px;
    height: 50px;
    border: 1px solid #ffffff;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
}

.woocommerce.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item) {
    border-radius: 0;
    min-height: 52px;
    padding: 5px;
    min-width: 100px;
}

.woo-variation-swatches .summary .wvs-style-squared.variable-items-wrapper .variable-item.selected:not(.radio-variable-item) {
    background-color: #C48F56;
    color: #fff;
}

.product-icon-box-row.row,
.woocommerce div.product .categories,
.site-footer.custom .scroll-up-button {
    display: none;
}

.woocommerce div.product .summary .product-top,
.woocommerce div.product .summary form.cart .variations,
body.woocommerce div.product form.cart .variations {
    margin-top: 0;
}


body.woocommerce div.product form.cart .variations tr {
    display: block;
}

body.woocommerce div.product form.cart .variations tr:not(:last-child) {
    margin-bottom: 15px;
}

body.woocommerce div.product form.cart .variations {
    margin-bottom: 20px;
}

.woocommerce .quantity a:before {
    /* 	color:#fff; */
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
    background-color: #000;
    color: #fff;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description {
    margin-bottom: 15px;
}

.woocommerce div.product .summary form.cart .variations td.label {
    padding-top: 0;
    padding-bottom: 0;
}

.woocommerce div.product .summary form.cart .variations td.value {
    padding-top: 0;
}

.single_variation_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    flex-direction: column;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    color: #000;
}

.woocommerce div.product form.cart {
    align-items: center;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity,
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity-label,
.woocommerce div.product form.cart .quantity-label {
    margin: 0;
    color: #000;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart button {
    order: 0;
}

.woocommerce-checkout .wc-block-components-checkbox__label a {
    color: #c48f56 !important;
    font-weight: 500 !important;
}

.new-form-section .main-contact-form .half {
    /*     max-width: 100%; */
}

/* .product-image-block.popup-gallery.adaptive {
    flex-wrap: wrap;
    flex-direction: column;
}

.product-image-block.popup-gallery.adaptive .slider {
    order: 1;
}

.product-image-block.popup-gallery.adaptive .thumbs {
    order: 2;
} */

.site-header .container-fluid {
    transition: all .3s ease;
}

.ti-widget.ti-goog .ti-reviews-container-wrapper .ti-review-item>.ti-inner {
    border-radius: 0 !important;
}

.wpc-filter-title {
    font-weight: bold;
    font-size: 20px;
}

@media(max-width:767px) {
    .main-contact-form .half {
        max-width: 100%;
    }

    body.tax-pt-portfolio-category .heading-decor.line h2 span {
        font-size: 36px;
    }
}

@media(min-width:1024px) {
    .site-header.fixed .container-fluid {
        max-width: 1140px;
        padding-left: 15px;
        padding-right: 15px;
    }
}


/* FAQ Accordion Start */
.custom-after-cart {
    width: 100%;
}

.faq-accordion-box:not(:last-child) {
    margin-bottom: 12px;
}

.faq-accordion-title {
    padding: 10px 16px 10px 10px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #d2d2d1;
    background-color: transparent;
    gap: 20px;
    transition: .3s;
}

.single-product .faq-accordion-title .h5-title {
    font-size: 14px !important;
    font-weight: 400;
    flex: 1;
    line-height: 1.2;
    margin: 0;
    transition: .3s;
}

.faq-accordion-box .faq-accordion-title.active-faq,
.faq-accordion-box:hover .faq-accordion-title {
    background-color: #000000;
    border-color: #000000;
}

.faq-accordion-box .faq-accordion-title.active-faq .h5-title,
.faq-accordion-box:hover .faq-accordion-title .h5-title {
    color: #fff;
}

.faq-accordion-title .icon {
    flex: 0 0 auto;
    --size: 12px;
    width: var(--size);
    height: var(--size);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotate(0deg);
    transition: .3s;
}

.faq-accordion-title .icon::before {
    content: "";
    --svg: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.333984 11.9993C0.333984 11.7341 0.439341 11.4798 0.626877 11.2922C0.814413 11.1047 1.06877 10.9993 1.33398 10.9993L11.0007 10.9993L11.0007 1.33268C11.0007 1.06746 11.106 0.81311 11.2935 0.625574C11.4811 0.438037 11.7354 0.332681 12.0007 0.332681C12.2659 0.332681 12.5202 0.438037 12.7078 0.625574C12.8953 0.81311 13.0007 1.06746 13.0007 1.33268L13.0007 10.9993L22.6673 10.9993C22.9325 10.9993 23.1869 11.1047 23.3744 11.2922C23.562 11.4798 23.6673 11.7341 23.6673 11.9993C23.6673 12.2646 23.562 12.5189 23.3744 12.7065C23.1869 12.894 22.9325 12.9993 22.6673 12.9993L13.0007 12.9993L13.0007 22.666C13.0007 22.9312 12.8953 23.1856 12.7078 23.3731C12.5202 23.5607 12.2659 23.666 12.0007 23.666C11.7354 23.666 11.4811 23.5607 11.2935 23.3731C11.106 23.1856 11.0007 22.9312 11.0007 22.666L11.0007 12.9993L1.33398 12.9993C1.06877 12.9993 0.814413 12.894 0.626877 12.7065C0.439341 12.5189 0.333984 12.2646 0.333984 11.9993Z" fill="%23221E1F"/></svg>');
    background-color: #000000;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    mask-size: cover;
    width: 12px;
    height: 12px;
    pointer-events: none;
    transition: .3s;
}

.faq-accordion-title.active-faq .icon::before {
    transform: rotate(45deg);
    background-color: #fff;
}

.faq-accordion-box:hover .faq-accordion-title .icon::before {
    background-color: #fff;
}

.faq-accordion-content {
    overflow: hidden;
    margin-top: 6px;
    padding: 15px;
    background-color: transparent;
    border: 1px solid #d2d2d1;
    transition: max-height .3s ease-out;
}

.faq-accordion-content p {
    font-size: 14px;
    margin: 0 0 10px 0;
}

.faq-accordion-content p:last-of-type {
    margin-bottom: 0;
}

.single-product .woocommerce-variation-add-to-cart.variations_button {
    flex-wrap: wrap !important;
}

.single-product :is(.elementor-widget-woocommerce-product-add-to-cart, .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart, .elementor-widget-wc-add-to-cart, .woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {
    flex-wrap: wrap;
    gap: 10px;
}

/* FAQ Accordion End */
.custom-related-products ul.products {
    display: flex;
    flex-wrap: wrap;
}

.custom-related-products ul.products li.product {
    width: 25%;
}

/* ************************************************************************** */

/* WooCommerce Product Gallery CSS Grid */
.wc-product-gallery-grid {
    --wc-product-gallery-items-to-show: 1;
}
.wc-product-gallery-grid:not(.masonry) {
    display: grid;
    grid-template-columns: repeat(var(--wc-product-gallery-items-to-show, 1), 1fr);
    gap: 10px;
}

.wc-product-gallery-grid:not(.masonry) .grid-item {
    position: relative;
    margin-bottom: 30px;
}

.wc-product-gallery-grid.masonry-init > .grid-item {
    position: unset !important;
    display: inline-block;
    vertical-align: top;
}

.wc-product-gallery-grid.masonry .grid-item {
    margin-bottom: var(--masonry-gutter, 10px); /* Match the gutter in JS or default to 10px */
    /* Calculate width based on the number of items to show and defined gutter */
    width: calc((100% - (var(--wc-product-gallery-items-to-show) - 1) * var(--masonry-gutter, 10px)) / var(--wc-product-gallery-items-to-show));
}

@media (min-width: 567px) {
    .wc-product-gallery-grid {
        --wc-product-gallery-items-to-show: 2;
    }
}

@media (min-width: 768px) {
    .wc-product-gallery-grid {
        --wc-product-gallery-items-to-show: 3;
    }
}

@media (min-width: 1100px) {
    .wc-product-gallery-grid {
        --wc-product-gallery-items-to-show: 4;
    }
}

/* End WooCommerce Product Gallery CSS Grid */

/* Hide N/A swatches because those aren't supposed to be displayed */
.woo-variation-swatches .variable-items-wrapper .variable-item[data-value*="not-applicable"] {
    display: none;
}

/* Added a delay to prevent the cross from appearing and then disappearing quickly */
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) .variable-item-contents:before {
    opacity: 0;
    content: " ";
    transition: opacity 0.5s ease;
    transition-delay: 0.25s;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled .variable-item-contents:before {
    opacity: 1;
}

/* ************************************************************************** */