/**
Theme Name: BJ's Timber Flooring
Author: Inbound Marketing
Author URI: https://www.inboundmarketing.com.au/
Description: Based off Astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bjtf
Template: astra
*/

/* =================
	GLOBAL
================= */
:root {
    --font-heading: var(--e-global-typography-primary-font-family, "Playfair Display");
    --font-text: var(--e-global-typography-text-font-family, "Source Sans 3");
    --font-button: var(--e-global-typography-accent-font-family, "Source Sans 3");

    --clr-primary: var(--e-global-color-primary, #201a15);
    --clr-secondary: var(--e-global-color-secondary, #b9b2a7);
    --clr-accent: var(--e-global-color-accent, #e8a93a);
    --clr-text: var(--e-global-color-text, #39322d);

    --clr-beige: #f1efeb;
    --clr-light: #fff;
    --clr-charcoal-brown: #5B5652;
    --clr-charcoal-black: #1F1F1D;

    --clr-button__bd--outline: #bfbcba;
    --clr-button__bd: #e8a93a;
    --clr-button__bg: #e8a93a;
    --clr-button__txt: #201a15;

    --clr-button__bd-hover: #201a15;
    --clr-button__bg-hover: #201a15;
    --clr-button__txt-hover: #fff;

    --button-border-radius: 10px;

    --transition: all .3s ease-in-out;
}

html {
    scroll-behavior: smooth;
}

body.starter-style {
    font-size: 20px;
    line-height: 1.4;
    background-color: #fff;
}

/* =================
    CONTAINER
================= */
.elementor-element.e-con-boxed {
    padding-inline: clamp(20px, 5vw, 120px);
}


/* =================
    TYPOGRAPHY
================= */
.elementor-widget-heading .elementor-heading-title,
body.starter-style :where(h1, h2, h3, h4, h5, h6).elementor-heading-title {
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.starter-style h1,
body.starter-style h1.elementor-heading-title,
body.starter-style .elementor-widget-heading.h1 .elementor-heading-title {
    font-size: 64px;
}

body.starter-style h2,
body.starter-style h2.elementor-heading-title,
body.starter-style .elementor-widget-heading.h2 .elementor-heading-title {
    font-size: 64px;
}

body.starter-style h3,
body.starter-style h3.elementor-heading-title,
body.starter-style .elementor-widget-heading.h3 .elementor-heading-title {
    font-size: 40px;
}

body.starter-style h4,
body.starter-style h4.elementor-heading-title,
body.starter-style .elementor-widget-heading.h4 .elementor-heading-title {
    font-size: 28px;
}

body.starter-style h5,
body.starter-style h5.elementor-heading-title,
body.starter-style .elementor-widget-heading.h5 .elementor-heading-title {
    font-size: 20px;
    line-height: 1.167;
}

body.starter-style h6,
body.starter-style h6.elementor-heading-title,
body.starter-style .elementor-widget-heading.h6 .elementor-heading-title {
    font-size: .875rem;
    line-height: 1.167;
}

p:last-child,
.elementor-widget-text-editor .elementor-widget-container :last-child {
    margin-bottom: 0;
}

@media(max-width: 1280px) {

    body.starter-style h1,
    body.starter-style h1.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h1 .elementor-heading-title {
        font-size: 50px;
    }

    body.starter-style h2,
    body.starter-style h2.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h2 .elementor-heading-title {
        font-size: 50px;
    }

    body.starter-style h3,
    body.starter-style h3.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h3 .elementor-heading-title {
        font-size: 34px;
    }
}

@media(max-width: 767px) {

    body.starter-style h1,
    body.starter-style h1.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h1 .elementor-heading-title {
        font-size: 36px;
    }

    body.starter-style h2,
    body.starter-style h2.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h2 .elementor-heading-title {
        font-size: 36px;
    }

    body.starter-style h3,
    body.starter-style h3.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h3 .elementor-heading-title {
        font-size: 28px;
    }

    body.starter-style h4,
    body.starter-style h4.elementor-heading-title,
    body.starter-style .elementor-widget-heading.h4 .elementor-heading-title {
        font-size: 24px;
    }
}


/* ==================
    BUTTON
================= */
.bjtf-button,
.elementor-widget-button .elementor-button {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    width: max-content;
    max-width: 100%;
    min-height: 40px;
    height: auto;
    padding: 8px 18px;
    background-color: var(--clr-button__bg);
    font-family: var(--font-button);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .3px;
    text-align: center;
    color: var(--clr-button__txt);
    fill: var(--clr-button__txt);
    border: 1px solid var(--clr-button__bd);
    border-radius: var(--button-border-radius);
    outline: none !important;
    transition: var(--transition);
}

.bjtf-button.button--outline,
.elementor-widget-button.button--outline .elementor-button {
    border-color: var(--clr-button__bd--outline, currentColor);
    /* border-color: currentColor; */
    background-color: transparent;
}

.elementor-widget-button.button--blur .elementor-button {
    color: white;
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px)
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
    z-index: 2;
}

.bjtf-button:hover,
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button.button--outline .elementor-button:hover {
    color: var(--clr-button__txt-hover);
    fill: var(--clr-button__txt-hover);
    background-color: var(--clr-button__bg-hover);
    border-color: var(--clr-button__bg-hover);
}

.bjtf-button.button--outline:hover {
    color: var(--clr-primary);
    fill: var(--clr-primary);
    background-color: var(--clr-accent);
    border-color: var(--clr-accent);
}

.bjtf-button :where(svg, path),
.elementor-widget-button .elementor-button :where(svg, path) {
    /* fill: inherit; */
    stroke: currentColor;
    transition: var(--transition);
}


.elementor-widget-text-editor a:not([class]) {
    color: inherit;
    text-decoration: underline;
    transition: var(--transition);
}

.elementor-widget-text-editor a:not([class]):hover {
    color: var(--clr-accent);
}


/* ==================
    ACCORDION
================= */
.elementor-widget-n-accordion {
    --accordion-title-font-family: var(--font-text);
    --accordion-title-font-size: 20px;
    --accordion-title-font-weight: 500;
    --accordion-title-color: var(--clr-primary);
    --accordion-accent-color: var(--clr-primary);
    --accordion-divider-color: #bfbcba;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item {
    border-width: 0 0 1px;
    border-style: solid;
    border-color: var(--accordion-divider-color);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title {
    align-items: flex-start;
    justify-content: flex-start;
    column-gap: 12px;
    padding: 24px 12px;
    border-width: 0;
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
    color: var(--accordion-title-color);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-header {
    color: inherit;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-text {
    font-family: var(--accordion-title-font-family);
    font-size: var(--accordion-title-font-size, --n-accordion-title-font-size);
    font-weight: var(--accordion-title-font-weight);
    color: inherit;
    transition: var(--transition);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title:has(.e-n-accordion-item-title-header:hover),
.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title {
    color: var(--accordion-accent-color);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title .e-n-accordion-item-title-icon {
    margin-top: 2px;
    order: -1;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title .e-n-accordion-item-title-icon>span {
    justify-content: center;
    width: var(--n-accordion-icon-size);
    height: var(--n-accordion-icon-size);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-icon svg {
    transition: var(--transition);
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title:has(.e-n-accordion-item-title-header:hover) .e-n-accordion-item-title-icon svg,
.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-opened svg {
    fill: var(--accordion-accent-color);
}

/* accordion item's content */
.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item [role="region"] {
    border-width: 0;
    padding: 0 12px 24px 48px;
}


/* ==================
    CUSTOM
================= */

.elementor-widget-text-editor :first-child,
:where(.elementor-widget-text-editor, .elementor-widget-theme-post-content) .elementor-widget-container :first-child {
    margin-top: 0;
}

.elementor-widget-text-editor :last-child,
:where(.elementor-widget-text-editor, .elementor-widget-theme-post-content) .elementor-widget-container :last-child {
    margin-bottom: 0;
}

body.starter-style .elementor-widget-heading.h1 .elementor-heading-title span {
    font-size: 80px;
}

/* 
 * Header 
 */
.elementor-location-header .header-logo img {
    filter: brightness(0);
}
body.blog .header-logo img,
body.archive .header-logo img,
body.archive.category .header-logo img,
body.single-post .header-logo img,
body.has-transparent-header .header-logo img {
    filter: brightness(0) invert(1);
}
body.blog .header-main,
body.archive .header-main,
body.archive.category .header-main,
body.single-post .header-main,
body.has-transparent-header .header-main {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    width: calc(100% - 20px);
    z-index: 9999;
	background: linear-gradient(0deg, rgba(32, 26, 21, 0) 0%, rgba(32, 26, 21, 0.24) 35.94%, #201A15 100%);
	border-radius: 8px 8px 0 0;
}
body.blog .header-main .elementor-nav-menu__container>ul>li>a,
body.archive .header-main .elementor-nav-menu__container>ul>li>a,
body.archive.category .header-main .elementor-nav-menu__container>ul>li>a,
body.single-post .header-main .elementor-nav-menu__container>ul>li>a,
body.has-transparent-header .header-main .elementor-nav-menu__container>ul>li>a {
    color: #fff;
}
body.blog .header-main .elementor-widget-button.button--transparent .elementor-button:not(:hover),
body.archive .header-main .elementor-widget-button.button--transparent .elementor-button:not(:hover),
body.archive.category .header-main .elementor-widget-button.button--transparent .elementor-button:not(:hover),
body.single-post .header-main .elementor-widget-button.button--transparent .elementor-button:not(:hover),
body.has-transparent-header .header-main .elementor-widget-button.button--transparent .elementor-button:not(:hover) {
    color: #fff;
}

body.blog .header-main .elementor-widget-button.button--blur .elementor-button:not(:hover),
body.archive .header-main .elementor-widget-button.button--blur .elementor-button:not(:hover),
body.archive.category .header-main .elementor-widget-button.button--blur .elementor-button:not(:hover),
body.single-post .header-main .elementor-widget-button.button--blur .elementor-button:not(:hover),
body.has-transparent-header .header-main .elementor-widget-button.button--blur .elementor-button:not(:hover) {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.16)
}
@media(max-width: 767px) {
	body.blog .header-main,
	body.archive .header-main,
	body.archive.category .header-main,
	body.single-post .header-main,
	body.has-transparent-header .header-main {
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		border-radius: 0;
	}
}

/* Testimonial Carousel */

.default-swiper-button .elementor-swiper-button,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button {
    width: 48px;
    height: 48px;
    color: var(--clr-primary);
    background: var(--clr-accent);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    top: auto;
    bottom: 0;
    transform: none;
}

.default-swiper-button .elementor-swiper-button svg,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button svg {
    display: none;
}

.default-swiper-button .elementor-swiper-button::before,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button::before {
    content: "";
    width: 20px;
    height: 20px;
    color: inherit;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.default-swiper-button .elementor-swiper-button.elementor-swiper-button-prev,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button.elementor-swiper-button-prev {
    left: auto;
    right: 60px;
}

.default-swiper-button .elementor-swiper-button.elementor-swiper-button-prev::before,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button.elementor-swiper-button-prev::before {
    mask-image: url('assets/images/slider-prev.svg');
    -webkit-mask-image: url('assets/images/slider-prev.svg');
}

.default-swiper-button .elementor-swiper-button.elementor-swiper-button-next,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button.elementor-swiper-button-next {
    left: auto;
    right: 0;
}

.default-swiper-button .elementor-swiper-button.elementor-swiper-button-next::before,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button.elementor-swiper-button-next::before {
    mask-image: url('assets/images/slider-next.svg');
    -webkit-mask-image: url('assets/images/slider-next.svg');
}

.default-swiper-button .elementor-swiper-button:hover,
.elementor-element.elementor-widget-testimonial-carousel .elementor-swiper-button:hover {
    background: var(--clr-primary);
    color: #fff;
}

/* Gallery Multiple  */

.elementor-widget-gallery .elementor-gallery__titles-container.e--pointer-none .elementor-item {
    font-family: var(--font-text);
    font-size: 18px;
    line-height: 24px;
    text-decoration: none !important;
    color: var(--clr-charcoal-brown) !important;
    padding: 6px 20px;
    border-radius: 140px;
    background: #F1EFEB;
    border: 1px solid #F1EFEB;
    display: flex;
    align-items: center;
    gap: 20px;
}

.elementor-widget-gallery .elementor-gallery__titles-container.e--pointer-none .elementor-item::after {
    position: relative;
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    color: inherit;
    opacity: 1 !important;
    visibility: visible !important;
    background-color: currentcolor !important;
    -webkit-mask-image: url('https://bjstimberprod.wpenginepowered.com/wp-content/themes/bjtf-child/assets/images/add-icon-20x20.svg');
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
}

.elementor-widget-gallery .elementor-gallery__titles-container.e--pointer-none .elementor-item.elementor-item-active {
    color: var(--clr-primary) !important;
    border: 1px solid #bfbcba;
    background: #fff;
}

.elementor-widget-gallery .elementor-gallery__titles-container.e--pointer-none .elementor-item.elementor-item-active::after {
    -webkit-mask-image: url('https://bjstimberprod.wpenginepowered.com/wp-content/themes/bjtf-child/assets/images/check-icon-20x20.svg');
}
@media(max-width: 767px) {
    .elementor-widget-gallery .elementor-gallery__titles-container.e--pointer-none .elementor-item {
        font-size: 14px;
        line-height: 20px;
        padding: 4px 10px;
        gap: 10px;
    }
    .elementor-widget-gallery .elementor-gallery__titles-container.e--pointer-none .elementor-item::after {
        width: 16px;
        height: 16px;
    }
}

/* Content Product Loop */
.e-loop-item:has(.product-card) > .e-con,
.e-loop-item:has(.product-card) :where(.elementor-widget-shortcode, .elementor-shortcode) {
    height: 100%;
}

article.product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100%;
    border: 1px solid #E6E0D6;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.product-card__media {
    position: relative;
    display: block
}

.product-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 20px 16px;
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    max-width: 100%;
    z-index: 3;
}

.product-card__tag {
    display: block;
    font-family: var(--font-text);
    font-weight: 500;
    font-size: 16px;
    line-height: 18px;
    letter-spacing: -0.3px;
    color: var(--clr-charcoal-brown);
    padding: 4px 18px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 37px;
}

.product-card__featured-image img {
    width: 100%;
    aspect-ratio: 348/320;
    object-fit: cover;
}

.product-card__room-scene {
	display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    transition: 0.3s;
}

.product-card__room-scene img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-card__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(57, 50, 45, 0.5);
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    color: #fff;
    opacity: 0;
    transition: 0.3s;
}

article.product-card:hover .product-card__room-scene,
article.product-card:hover .product-card__overlay {
    opacity: 1;
}

.product-card__overlay-icon {
    transform: rotate(-45deg);
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.24);
    border-radius: 100%;
}

.product-card__overlay-icon svg {
    position: relative;
    width: 24px;
}

.product-card__overlay-text {
    font-size: 18px;
    font-weight: 500;
}

.product-card__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 20px;
    font-family: var(--font-text);
}

.product-card--related .product-card__content {
    padding: 20px 30px;
}

.product-card__title {
    color: var(--clr-primary);
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 28px;
    margin-bottom: 0;
}

.product-card__type {
    font-family: "Source Sans 3";
    font-size: 18px;
    color: var(--clr-charcoal-brown);
    font-weight: 400;
    line-height: 28px;
}

.product-card__title a {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    text-decoration: none !important;
}

.product-card__excerpt {
    margin-top: 8px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: -0.3px;
    color: var(--clr-charcoal-brown);
}

.product-card:not(.product-card--related) .product-card__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 20px;
}

.product-card__grade {
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: -0.3px;
    margin-top: 8px;
}

.product-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
}

.product-card.product-card--related .product-card__actions {
    margin-top: auto;
    padding-top: 20px;
}

.product-card__button {
    width: calc(50% - 5px);
    flex-grow: 1;
    min-width: 140px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
    font-family: var(--font-text);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    text-decoration: none !important;
    padding: 7px 10px;
    color: var(--clr-primary);
    border: 1px solid var(--clr-accent);
    background: var(--clr-accent);
    border-radius: 10px;
}

.product-card--related .product-card__button {
    width: 100%;
}

.product-card__button.button--outline {
    color: var(--clr-primary);
    border-color: #BFBCBA;
    background: #fff;
}

.product-card__button:hover {
    color: #fff;
    background-color: var(--clr-primary);
}

.product-card__button .button__icon,
.product-card__button svg {
    width: 20px;
    fill: currentColor;
}
.product-card__button svg path {
    fill: currentColor;
}

@media (max-width: 767px) {
    /* .product-card--related .product-card__content { */
    .product-card__content {
        flex-direction: row;
        flex-wrap: wrap;
        padding: 20px;
    }

    /* .product-card--related .product-card__content > * { */
    .product-card__content > * {
        width: 100%;
    }
    .product-card__featured-image img {
        aspect-ratio: 16/9;
    }
    .product-card__overlay {
        padding-top: 30px;
    }
}

/* Taxonomy Filter */

.elementor-widget-taxonomy-filter button.e-filter-item {
    font-family: var(--font-text);
    font-size: 18px;
    line-height: 24px;
    text-decoration: none !important;
    color: var(--clr-charcoal-brown) !important;
    padding: 6px 20px;
    border-radius: 140px;
    background: #F1EFEB;
    border: 1px solid #F1EFEB;
    display: flex;
    align-items: center;
    gap: 20px;
}

.elementor-widget-taxonomy-filter button.e-filter-item::after {
    position: relative;
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    color: inherit;
    opacity: 1 !important;
    visibility: visible !important;
    background-color: currentcolor !important;
    -webkit-mask-image: url('https://bjstimberprod.wpenginepowered.com/wp-content/themes/bjtf-child/assets/images/add-icon-20x20.svg');
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
}

.elementor-widget-taxonomy-filter button.e-filter-item[aria-pressed="true"] {
    color: var(--clr-primary) !important;
    border: 1px solid #bfbcba;
    background: #fff;
}

.elementor-widget-taxonomy-filter button.e-filter-item[aria-pressed="true"]::after {
    -webkit-mask-image: url('https://bjstimberprod.wpenginepowered.com/wp-content/themes/bjtf-child/assets/images/check-icon-20x20.svg');
}
@media(max-width: 767px) {
    .elementor-widget-taxonomy-filter button.e-filter-item {
        font-size: 14px;
        line-height: 20px;
        padding: 4px 10px;
        gap: 10px;
    }
    .elementor-widget-taxonomy-filter button.e-filter-item::after {
        width: 16px;
        height: 16px;
    }
}

/* ==========================================================
   Product Filter
========================================================== */
.product-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    margin-bottom: 30px;
}

.product-filter__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.product-filter__item.product-filter__item--search {
    margin-left: auto;
}

.product-filter__label {
    font-size: 14px;
    font-weight: 600;
    color: #222;
}

/* ==========================================================
   Key Features
========================================================== */
.product-key-features__grid {
    --icon-size: 120px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.product-key-features__item {
    padding: 24px;
    background: var(--clr-beige);
    display: flex;
    flex-direction: column;
    border-radius: 5px;
}

.product-key-features__icon {
    margin-bottom: 66px;
}

.product-key-features__icon img {
    width: var(--icon-size);
    height: var(--icon-size);
    object-fit: contain;
    box-shadow: none !important;
}

.product-key-features__title {
    font-family: var(--font-text);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: var(--clr-primary);
    margin-bottom: 12px;
    text-wrap: pretty;
    min-height: 62px;
}

.product-key-features__description p {
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: -0.3px;
    color: var(--clr-charcoal-brown);
}

@media (max-width: 1024px) {
    .product-key-features__grid {
        --icon-size: 100px;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .product-key-features__grid {
        --icon-size: 80px;
        grid-template-columns: repeat(1, 1fr);
    }
    .product-key-features__item {
        padding: 24px 20px;
    }
    .product-key-features__icon {
        margin-bottom: 0;
        position: absolute;
    }

    .product-key-features__title {
        min-height: 80px;
        display: flex;
        align-items: center;
        padding-left: 90px; 
    }
}

/* ==========================================================
   Toggle
========================================================== */
.product-filter__item.product-filter__item--search input,
.product-filter__item.product-filter__item--sort select,
.product-toggle {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: auto;
    height: 38px;
    padding: 8px 32px 8px 16px !important;
    border: 1px solid #DDD5C4 !important;
    border-radius: 24px !important;
    background: #fff !important;
    color: #241B12 !important;
    font-size: 13px !important;
    text-align: left;
    cursor: pointer;
}

.product-filter__item.product-filter__item--search input ::placeholder {
    color: #A79D8B;
}

.product-filter__item.product-filter__item--sort::after {
    content: "▾";
    position: absolute;
    top: 50%;
    font-size: 13px;
    right: 16px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
}

.product-filter__item.product-filter__item--sort select {
    appearance: none;
    -webkit-appearance: none;
}

.product-toggle__label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.product-toggle__arrow {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
}

.product-toggle__arrow svg {
    width: 1em;
    color: currentColor;
}

/* ==========================================================
   Dropdown
========================================================== */

.product-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 320px;
    display: none;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
    z-index: 1000;
}

.product-filter__item .product-dropdown.is-open {
    display: block;
}

/* ==========================================================
   List
========================================================== */

.product-dropdown-list {
    max-height: 280px;
    overflow: auto;
    padding: 14px;
}

.product-dropdown__option {
    font-size: 16px;
    font-family: var(--font-text);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    cursor: pointer;
    user-select: none;
}

.product-dropdown__option input {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.product-dropdown__option span {
    font-size: 15px;
}

.product-dropdown__option--all {
    padding-bottom: 14px;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
}

/* ==========================================================
   Footer
========================================================== */

.product-dropdown__footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border-top: 1px solid #eee;
}

.product-reset {
    text-decoration: underline;
    padding: 0;
    border: 0;
    background: none !important;
    color: var(--clr-primary);
}

.product-reset:hover {
    color: var(--clr-accent);
}

.product-apply {
    min-width: 90px;
    height: 40px;
    border-radius: 6px;
    cursor: pointer;
    transition: .2s;
    padding: 5px;
}

.product-apply {
    background: var(--clr-button__bg);
    color: var(--clr-button__txt);
    border: none;
}

.product-apply:hover {
    color: var(--clr-button__txt-hover);
    background-color: var(--clr-button__bg-hover);
}


/* ==========================================================
   Clear Filter
========================================================== */

.product-filter button.product-clear-filter {
    font-size: 13px;
    min-height: 38px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--clr-primary) !important;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .product-filter__item.product-filter__item--clear {
        order: 99;
    }

    .product-filter__item.product-filter__item--search,
    .product-filter__item input {
        width: 100%
    }
}

/* ==========================================================
   Scrollbar
========================================================== */

.product-dropdown-list::-webkit-scrollbar {
    width: 8px;
}

.product-dropdown-list::-webkit-scrollbar-track {
    background: transparent;
}

.product-dropdown-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 999px;
}

/* ==========================================================
   Responsive
========================================================== */

@media (max-width: 767px) {

    .product-filter {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .product-toggle {
        width: 100%;
        min-width: 0;
    }

    .product-dropdown {
        width: 100%;
    }
}

/* Swatch Color Filter */
.product-colour-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    align-items: center;
}

.product-colour-filter__label {
    font-size: 11px;
    text-transform: uppercase;
    color: var(--clr-secondary);
    flex-shrink: 0;
    letter-spacing: 1.5px;
}

.product-colour-filter__list {
    display: flex;
    flex-wrap: wrap;
    width: max-content;
    max-width: 100%;
    gap: 10px 22px;
}

.product-colour-filter__item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    color: #241B12 !important;
    padding: 7px 15px;
    background-color: transparent !important;
    border: 1px solid transparent;
    border-radius: 24px;
    outline: none;
    box-shadow: none;
    appearance: none;
}

.product-colour-filter__item:hover {
    border-color: var(--clr-accent);
}

.product-colour-filter__swatch {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: inline-block;
    border-radius: 100px;
    border: 1px solid rgba(36, 27, 18, 0.25);
}

/* Pagination */
.elementor-pagination .page-numbers {
    display: inline-flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    text-decoration: none !important;
    color: var(--clr-primary);
    background-color: transparent;
    border: 1px solid var(--clr-primary);
    border-radius: 4px;
}

.elementor-pagination .page-numbers.current,
.elementor-pagination .page-numbers:hover {
    color: var(--clr-primary);
    background-color: var(--clr-accent);
    border: 1px solid var(--clr-accent);
}

/* 
* Interactive Showcase Widget
*/
@property --mask-size {
    syntax: '<percentage>';
    initial-value: 0%;
    inherits: false;
}

.elementor-widget-interactive_showcase {
    width: 100%;
}

.interactive-showcase {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

.interactive-showcase__media::before {
    content: "";
    position: relative;
    display: block;
    padding-top: calc(100% * 640/469);
}

.interactive-showcase__media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.interactive-showcase__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    padding: 40px;
    background: linear-gradient(0deg, rgba(32, 26, 21, 0) 64.07%, rgba(32, 26, 21, 0.5) 100%),
        linear-gradient(180deg, rgba(32, 26, 21, 0) 74.83%, rgba(32, 26, 21, 0.5) 100%);
}

.interactive-showcase__title {
    font-family: var(--font-heading);
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 20px;
}

.interactive-showcase__variations {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.interactive-showcase__variation {
    width: 44px;
    height: 44px;
    padding: 3px;
    border-radius: 100%;
    border: 1px solid rgba(255, 255, 255, 0.6);
    background: transparent;
}

.interactive-showcase__variation img {
    width: 100%;
    height: 100%;
    border-radius: 100px;
    object-fit: cover;
}

.interactive-showcase__content-body {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}

.interactive-showcase__content-body .interactive-showcase__description {
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.3px;
    color: var(--clr-light);
}

.interactive-showcase__content-body .interactive-showcase__button {
    display: flex;
    gap: 12px;
    font-size: 20px;
    letter-spacing: 0;
    text-transform: capitalize;
    text-decoration: none;
    color: var(--clr-light);
    line-height: 1.2;
    width: 100%;
}

.interactive-showcase__content-body .interactive-showcase__button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
}

.interactive-showcase__content-body .interactive-showcase__button-icon svg {
    
    width: calc(1em *13/20);
    height: calc(1em *13/20);
}
.interactive-showcase__content-body .interactive-showcase__button-icon svg,
.interactive-showcase__content-body .interactive-showcase__button-icon svg path {
    fill: currentColor;
}

.interactive-showcase__overlay {
    position: absolute;
    inset: 0;
}

.interactive-showcase__overlay-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;

    opacity: 0;
    transition: opacity .35s ease;

    pointer-events: none;
}

.interactive-showcase__overlay-image.is-active {
    opacity: 1;
}

@media (max-width: 1365px) {
    .interactive-showcase {
        min-height: 460px;
    }
    .interactive-showcase__content {
        padding: 30px;
    }
}

@media (max-width: 991px) {
    .interactive-showcase__content {
        padding: 20px;
    }
}
@media(max-width: 767px) {
    .interactive-showcase {
        min-height: 400px;
    }
    .interactive-showcase__media::before {
        padding-top: 100%;
    }
}

/* ==========================================================
   Custom Accordion
========================================================== */
.custom-accordion {
    border-bottom: 1px solid #BFBCBA;
}

.custom-accordion__title {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    column-gap: 12px;
    padding: 24px 12px 12px;
    
    position: relative;
    cursor: pointer;

    font-family: var(--font-text);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.3px;
    color: var(--clr-primary);
}

.custom-accordion__title .custom-accordion__title-icon {
    --size: 24px;

    position: relative;
    display: flex;
    flex-shrink: 0;
    width: var(--size);
    height: var(--size);
    margin-top: 3px;
    transition: var(--transition);
}

.custom-accordion__title .custom-accordion__title {
    content: '';
    width: 100%;
    display: block;
    transition: var(--transition);
}

.custom-accordion.open .custom-accordion__title .custom-accordion__title-icon {
    transform: rotate(-90deg);
}

.custom-accordion__content {
    display: block;
    font-size: 16px;
    line-height: 1.5;
    padding-left: 48px;
    margin: 0 0 12px;
    overflow: hidden;
    max-height: 0;
    will-change: max-height;
    opacity: 0;
    transition: all .5s ease-in-out;
}

.custom-accordion.open .custom-accordion__content {
    margin-bottom: 24px;
    opacity: 1;
}

.custom-accordion__content ul {
    padding-left: 20px;
}

.custom-accordion__content ul li {
    margin-bottom: 8px;
    padding-left: 4px;
}

/* Product Image */

.product-main-slider{
    position:relative;
}

.product-main-slider__variation-overlay{
    position:absolute;
    inset:0;
    z-index:3;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s;
}

.product-main-slider__variation-overlay.is-active{
    opacity:1;
}

.product-main-slider__variation-overlay img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* Search & Filter - Product Filter */
.custom-search-filter-form form.searchandfilter,
form#search-filter-form-1581 {
    font-family: var(--font-text);
}

.custom-search-filter-form form.searchandfilter > ul,
form#search-filter-form-1581 > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 12px;
}

.custom-search-filter-form form.searchandfilter :where(ul,li),
form#search-filter-form-1581 ul,
form#search-filter-form-1581 ul li {
    padding: 0;
}

.custom-search-filter-form form.searchandfilter li.sf-field-search,
form#search-filter-form-1581 li.sf-field-search {
    margin-left: auto;
}

.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"],
form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] {
    width: calc(100% - 340px);
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"],
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] {
    width: 100%;
}

.custom-search-filter-form form.searchandfilter li.sf-field-post-meta-about_product_featured,
form#search-filter-form-1581 li.sf-field-post-meta-about_product_featured {
	display: flex;
	align-items: center;
}

.custom-search-filter-form form.searchandfilter select,
form#search-filter-form-1581 select {
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    color: var(--clr-primary);
    padding: 5px 16px;
    border-radius: 10px;
    border: 1px solid #DDD5C4 !important;
    width: auto;
    height: 30px;
}

.custom-search-filter-form form.searchandfilter input[type="text"],
form#search-filter-form-1581 input[type="text"] {
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    color: var(--clr-primary);
    padding: 8px 15px;
    border-radius: 24px;
    border: 1px solid #DDD5C4 !important;
    width: auto;
    height: 38px;
}

.custom-search-filter-form form.searchandfilter input[type="text"]::placeholder,
form#search-filter-form-1581 input[type="text"]::placeholder {
    color: #A79D8B;
    opacity: 1;
}

.custom-search-filter-form form.searchandfilter [data-sf-field-input-type="select"] select,
form#search-filter-form-1581 [data-sf-field-input-type="select"] select {
    appearance: none;
    padding-right: 32px;
    width: auto;
    min-width: 0;
}

.custom-search-filter-form form.searchandfilter [data-sf-field-input-type="select"] label,
form#search-filter-form-1581 [data-sf-field-input-type="select"] label {
    position: relative;
}

.custom-search-filter-form form.searchandfilter [data-sf-field-input-type="select"] label::after,
form#search-filter-form-1581 [data-sf-field-input-type="select"] label::after {
    content: "▾";
    position: absolute;
    top: 50%;
    font-size: 13px;
    right: 16px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
}

.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] > ul,
form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] > ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 21px;
}

.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] input,
form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] input {
    display: none;
}

.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] label,
form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] label {
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    padding: 10px 16px;
    border-radius: 10px;
    border: 1px solid #DDD5C4;
    cursor: pointer;
    color: #241B12;
} 

.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] input:checked + label,
.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] label:hover,
form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] input:checked + label,
form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] label:hover {
    border-color: var(--clr-accent);
    background: rgba(232, 169, 58, 0.2);
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"],
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] > h4,
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] > h4 {
    padding: 0;
    font-weight: 400;
    font-size: 11px;
    line-height: 15px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #9A8F7B;
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] ul,
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] input,
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] input {
    display: none;
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] label,
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] label {
    padding: 5px 7px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 500;
    color: var(--clr-primary);
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 10px;
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] label::before,
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] label::before {
    content: "";
    display: block;
    width: 60px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid rgba(36, 27, 18, 0.25);
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] input[value=""] + label::before,
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] input[value=""] + label::before {
    background-color: #fff;
}

.custom-search-filter-form form.searchandfilter li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] input:checked + label,
form#search-filter-form-1581 li.sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] input:checked + label {
    border-color: var(--clr-accent);
    background: rgba(232, 169, 58, 0.2);
}

.custom-search-filter-form form.searchandfilter li.sf-field-sort_order li.sf-level-0.sf-item-0,
.custom-search-filter-form form.searchandfilter li.sf-field-sort_order input,
.custom-search-filter-form form.searchandfilter li.sf-field-post-meta-about_product_featured input,
form#search-filter-form-1581 li.sf-field-sort_order li.sf-level-0.sf-item-0,
form#search-filter-form-1581 li.sf-field-sort_order input,
form#search-filter-form-1581 li.sf-field-post-meta-about_product_featured input {
    display: none;
}

.custom-search-filter-form form.searchandfilter li.sf-field-sort_order label,
.custom-search-filter-form form.searchandfilter li.sf-field-post-meta-about_product_featured label,
form#search-filter-form-1581 li.sf-field-sort_order label,
form#search-filter-form-1581 li.sf-field-post-meta-about_product_featured label {
    font-size: 13px;
    font-weight: 400;
    padding: 8px 15px;
    border: 1px solid #DDD5C4;
    border-radius: 24px;
    cursor: pointer;
}

.custom-search-filter-form form.searchandfilter li.sf-field-sort_order input:checked + label,
.custom-search-filter-form form.searchandfilter li.sf-field-post-meta-about_product_featured input:checked + label,
form#search-filter-form-1581 li.sf-field-sort_order input:checked + label,
form#search-filter-form-1581 li.sf-field-post-meta-about_product_featured input:checked + label {
    border-color: var(--clr-accent);
    background: rgba(232, 169, 58, 0.2);
} 
@media(max-width: 1080px) {
	.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"],
    form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] {
        width: 100%;
    }
	
	.custom-search-filter-form form.searchandfilter li.sf-field-search,
    form#search-filter-form-1581 li.sf-field-search {
        order: 1;
        width: calc(100% - 122px);
    }
	
	.custom-search-filter-form form.searchandfilter li.sf-field-search label,
	.custom-search-filter-form form.searchandfilter li.sf-field-search input,
    form#search-filter-form-1581 li.sf-field-search label,
    form#search-filter-form-1581 li.sf-field-search input {
        width: 100%;
    }
	
	.custom-search-filter-form form.searchandfilter li.sf-field-sort_order,
    form#search-filter-form-1581 li.sf-field-sort_order {
        order: 2;
    }

	.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"],
	.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"],
    form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"],
    form#search-filter-form-1581 .sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] {
        width: 100%;
        max-width: 100%;
       
    }
	
	.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"],
    form#search-filter-form-1581 .sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] {
        padding-top: 10px;
        gap: 5px!important;
    }
	
	.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] > ul,
	.custom-search-filter-form form.searchandfilter .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] > ul,
    form#search-filter-form-1581 .sf-field-taxonomy-product_colour[data-sf-field-input-type="radio"] > ul,
    form#search-filter-form-1581 .sf-field-taxonomy-bjs_product_type[data-sf-field-input-type="radio"] > ul {
        flex-wrap: nowrap!important;
        white-space: nowrap;
        overflow-x: auto;
        gap: 10px;
    }
}
@media(max-width: 767px) {
	.custom-search-filter-form form.searchandfilter > ul,
    form#search-filter-form-1581 > ul {
        row-gap: 10px;
    }
    
	.custom-search-filter-form form.searchandfilter [data-sf-field-input-type="select"],
	.custom-search-filter-form form.searchandfilter [data-sf-field-input-type="select"] label,
	.custom-search-filter-form form.searchandfilter [data-sf-field-input-type="select"] select,
    form#search-filter-form-1581 [data-sf-field-input-type="select"],
    form#search-filter-form-1581 [data-sf-field-input-type="select"] label,
    form#search-filter-form-1581 [data-sf-field-input-type="select"] select {
        width: 100%;
    }
}

/* Product Variation */

.product-variations {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 7px;
}
.product-variation__box {
    width: 125px;
    background: transparent!important;
    outline: none!important;
    padding: 0!important;
    border: 0!important;
    box-shadow: none!important;
}
.product-variation__image {
    display: block;
    width: 100%;
    height: 80px;
    padding: 2px;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: 0.3s ease;
}
.product-variation__box:hover .product-variation__image,
.product-variation__box.product-variation__box--active .product-variation__image{
    border-color: #000;
}
.product-variation__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}
.product-variation__name {
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0;
    text-align: center;
    color: #000;
}
@media(max-width: 767px) {
    .product-variations {
        row-gap: 8px;
    }
    .product-variation__box {
        width: calc(25% - 6px);
        max-width: 125px;
    }
    .product-variation__image {
        height: 60px;
    }
    .product-variation__name {
        font-size: 16px;
    }
}

/* Product Benefit */

.product-benefit-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 17px 30px;
}
.product-benefit-box__icon {
    width: 60px;
    height: 60px;
}
.product-benefit-box__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    box-shadow: none!important;
}
.product-benefit-box__content {
    text-align: center;
}
.product-benefit-box__title,
.product-benefit-box__description {
    font-family: "Source Sans 3";
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    line-height: 24px;
    letter-spacing: -2%;
}
.product-benefit-box__title {
    color: var(--clr-primary);
}
.product-benefit-box__description {
    color: #B2B2B2;
}
@media(min-width: 1280px) and (max-width: 1365px) {
    .product-benefit-box {
        padding-inline: 20px;
    }
    .product-benefit-box__title,
    .product-benefit-box__description {
        font-size: 16px;
    }
}

@media(min-width: 1366px) and (max-width: 1540px) {
    .product-benefit-box__title,
    .product-benefit-box__description {
        font-size: 16px;
    }
}

@media(min-width: 1025px) {
    .product-benefit-slider .swiper-wrapper {
        display: flex;
        flex-wrap: wrap;
    }
    .product-benefit-slider .swiper-wrapper .swiper-slide {
        flex: 1 1 auto;
        width: auto!important;
    }
    .product-benefit-slider .swiper-wrapper .swiper-slide:not(:last-child) {
        border-right: 1px solid #DCDCDC;
    }
    .product-benefit-slider .swiper-wrapper .swiper-slide:first-child .product-benefit-box {
        padding-left: 0;
    }
    .product-benefit-slider .swiper-wrapper .swiper-slide:last-child .product-benefit-box {
        padding-right: 0;
    }
}
@media(max-width: 1024px) {
    .product-benefit-slider {
        padding-bottom: 30px;
    }
    .product-benefit-slider .swiper-pagination {
        bottom: 0;
    }
    .product-benefit-box {
        padding: 0;
    }
}

/* Product download accordion */

.product-downloads__list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.product-downloads__accordion-item.is-open
.product-downloads__list {
    /* max-height được set bằng JS */
}

.product-downloads__accordion-heading {
    width: 100%;
    cursor: pointer;
}

.product-downloads__accordion {
    border: 1px solid #F1EFEB; 
}
button.product-downloads__accordion-heading {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    font-family: var(--font-text);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    color: #241B12;
    padding: 19px 20px;
    border: 1px solid #F1EFEB;
    background: #f7f7f7;
    border-radius: 0;
    cursor: pointer;
}
.product-downloads__accordion-icon {
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}
.product-downloads__accordion-icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: 0.3s;
}
.product-downloads__accordion-icon svg path {
    fill: currentColor;
}
.product-downloads__accordion-item.is-open .product-downloads__accordion-icon svg {
    transform: rotate(-180deg);
}
.product-downloads__download {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 24px;
    justify-content: space-between;
    padding: 20px;
    border-bottom: 1px solid #F1EFEB;
}
.product-downloads__download-content {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
}
.product-downloads__download-icon {
    width: 33px;
    flex-shrink: 0;
}
.product-downloads__download-title {
    font-family: var(--font-text);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.3px;
    color: var(--clr-primary);
}
.product-downloads__download-description {
    font-family: var(--font-text);
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0;
    color: #A99E8B;
}
.product-downloads__download-action {
    width: max-content;
    flex: 0 0 auto;
    max-width: 100%;
}
.product-downloads__download-action a {
    display: block;
    font-family: var(--font-text);
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    padding: 12px 30px;
    border: 1px solid #BFBCBA;
    border-radius: 10px;
    color: var(--clr-primary);
    transition: 0.3s ease;
    cursor: pointer;
}
.product-downloads__download-action a:hover {
    color: #fff;
    background: var(--clr-primary);
    border-color: var(--clr-primary);
}

@media(max-width: 767px) {
    .product-downloads__download {
        flex-wrap: wrap;
    }
    .product-downloads__download-content {
        align-items: flex-start;
    }
}

/* Product Variation Group */

.variation-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px 4px;
}
.variation-list .variation-item {
    position: relative;
    display: block;
    padding: 2px;
    border-radius: 8px;
    border: 1px solid transparent;
    height: 85px;
    width: 100%;
}
.variation-list .variation-item.variation-item-active,
.variation-list .variation-item:hover {
    border-color: #000;
}
.variation-list .variation-item img {
    display: block;
    border-radius: 8px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.variation-item__tooltip {
    visibility: hidden;
    width: max-content;
    max-width: 100px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: calc(100% + 12px);
    left: 50%;
    transform: translatex(-50%);
    font-family: var(--font-text);
    font-size: 12px;
    font-weight: 400;
}
.variation-item__tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -1px);
    width: 12px;
    height: 6px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: inherit;
}
.variation-item:hover .variation-item__tooltip {
    visibility: visible;
}
@media(max-width: 767px) {
    .variation-list {
        grid-template-columns: repeat(4, 1fr);
    }
    .variation-list .variation-item {
        height: 60px;
    }
}