/* STANDARD DISPLAYS FIRST - full width img @ 1920px  */

/*preload images*/
/*:root:before {
    content: 
        url('/images/promo/201608_fridge/MR-CX402EJ-W.jpg')
        url('/images/promo/201608_fridge/MR-CX402EJ-ST.jpg')
	    url('/images/promo/201608_fridge/MR-CX402EJ-R.jpg')
	    url('/images/promo/201608_fridge/MR-CX402EJ-OB.jpg')
        url('/images/promo/201608_fridge/main_bg.jpg');
    visibility: hidden;
    position: absolute;
    left: -999em;

}*/

/*
  grid-breakpoints: 
  xs: 0,        Extra small screen / phone
  sm: 576px,    mall screen / phone
  md: 768px,    Medium screen / tablet
  lg: 992px,    Large screen / desktop
  xl: 1200px    Extra large screen / wide desktop

}*/

#btn-cart {
    position: fixed;
    top: 130px;
    right: 20px;
    display: none;
    z-index: 1001;
    background-color: #030836c4;
    color: white;
    border: none;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

    #btn-cart:hover {
        background-color: #5e0414;
    }

    #btn-cart .cart-qty {
        display: none;
        position: absolute;
        left: auto;
        right: -0.6rem;
        top: 0.3rem;
        width: 1.4rem;
        height: 1.4rem;
        border-radius: 50%;
        border: 2px solid #007bff;
        background-color: #007bff;
        color: #fff;
        text-align: center;
        font-size: 0.8rem;
        line-height: 1.3rem;
        font-weight: 700;
        z-index: 2;
    }

    #btn-cart.has-items .cart-qty {
        display: inline-block;
    }

    #btn-cart .cart-qty {
        top: -0.6rem;
    }

/* #region SUB HEADER */

#topsection {
    height: min(520px, 80vh); /* Dynamic height with max of 500px */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #ffffff;
    position: relative;
    overflow: hidden; /* Prevent content overflow */
}

.text-overlay {
    position: absolute;
    inset: 0; /* Modern shorthand for top/right/bottom/left: 0 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient( to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.5) 100% );
    padding: clamp(1rem, 5vw, 3rem); /* Responsive padding */
}

.description_text {
    align-content: center;
    padding: 14px 14px 16px 14px;
    background: linear-gradient( to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0) 100% );
    color: #ffffff;
    border-radius: 6px;
}

.title-section {
    margin: 0 0 1.5rem 0;
    color: #ffffff;
    font-family: 'Roboto', sans-serif; /* Added fallback font */
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    letter-spacing: 0.02em; /* Using em for better scaling */
    text-align: left;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.2); /* Layered text shadow for better depth */
    line-height: 1.2; /* Improve readability */
}

/* Add responsive adjustments */
@media (max-width: 768px) {
    #topsection {
        height: min(400px, 70vh);
    }

    .text-overlay {
        padding: 1rem;
    }
}

/* Add support for reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .text-overlay {
        backdrop-filter: none;
    }
}

.description-text {
    font-family: 'Arial', sans-serif;
    line-height: 1.5;
    font-size: 21px;
    font-weight: 500;
    color: #ffffff;
    line-height: 1.5;
    text-shadow: 1px 1px 2px rgb(0 0 0);
}

/* Responsive styling */
@media (max-width: 768px) {

    #topsection {
        min-height: min(500px, 70vh);
        height: auto;
        padding: .3rem;
    }

    .title-section {
        font-size: 1.7rem; /* Increase font size for better visibility */
        letter-spacing: .5px; /* Reduce letter spacing */
        margin-bottom: .4rem;
        padding: 0px;
    }

    .description-text {
        font-size: 1rem;
        text-align: left;
    }
}

/* #endregion SUB HEADER */

/* #region LANDING PAGE */

.category-list .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px;
}

.category-list .col-lg-6,
.category-list .col-md-6 {
    padding: 12px;
    display: flex;
}

.category-list .card-link {
    display: flex;
    width: 100%;
}

/* #endregion LANDING PAGE */

/* #region SPLIT CARD */
/* TODO: Add to global styles */

.card-split {
    display: flex;
    background: #fff;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    height: 100%;
    width: 100%;
    transition: all 0.3s ease;
    overflow: hidden;
}

    .card-split .split-image-container {
        width: 35%;
        position: relative;
        overflow: hidden;
        flex-shrink: 0;
    }

    .card-split .split-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
        background: #f8f9fa;
    }

        .card-split .split-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .card-split .split-image .overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
        }

    .card-split .split-content {
        width: 65%;
        padding: 24px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .card-split .content-inner {
        display: flex;
        flex-direction: column;
        gap: 12px;
        height: 100%;
    }

    .card-split .title {
        font-size: 1.25rem;
        font-weight: 600;
        color: #1a1a1a;
        margin: 0;
        line-height: 1.3;
    }

    .card-split .description {
        font-size: 0.9375rem;
        color: #4b5563;
        line-height: 1.5;
        margin: 0;
        flex-grow: 1;
    }

    .card-split .learn-more {
        display: flex;
        align-items: center;
        gap: 8px;
        color: #ad974f;
        font-weight: 500;
        font-size: 0.9375rem;
        margin-top: auto;
    }

    .card-split .arrow-icon {
        fill: currentColor;
        transition: transform 0.3s ease;
    }

    /* Hover Effects */
    .card-split:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 24px -10px rgba(0, 0, 0, 0.15);
    }

        .card-split:hover .split-image img {
            transform: scale(1.05);
        }

        .card-split:hover .learn-more {
            color: #911313;
        }

        .card-split:hover .arrow-icon {
            transform: translateX(4px);
        }

/* Desktop to Tablet transition - Image on top */
@media (max-width: 1640px) {
    .card-split {
        flex-direction: column;
        min-height: 380px;
        height: auto;
    }

        .card-split .split-image-container {
            width: 100%;
            height: 180px;
            min-height: 180px;
        }

        .card-split .split-image {
            position: relative;
            clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
        }

        .card-split .split-content {
            width: 100%;
            padding: 20px;
            flex: 1;
        }

        .card-split .title {
            font-size: 1.125rem;
        }

        .card-split .description {
            font-size: 0.875rem;
        }
}

/* Small Mobile Breakpoint */
@media (max-width: 575px) {
    .card-split {
        min-height: 320px;
    }

        .card-split .split-image-container {
            height: 140px;
            min-height: 140px;
        }

        .card-split .split-content {
            padding: 12px;
        }
}

/* Responsive styling */
@media (max-width: 768px) {
    .card-split {
        min-height: 340px;
    }

        .card-split .split-image-container {
            height: 160px;
            min-height: 160px;
        }

        .card-split .split-content {
            padding: 16px;
        }
}

/* #endregion SPLIT CARD */

/* #region BREADCRUMBS */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin-top: .9rem;
    background-color: inherit;
}

.breadcrumb-item {
    font-size: .9rem; /* Smaller font size for a neat look */
    margin-right: 0.5rem;
}

    .breadcrumb-item a {
        text-decoration: none; /* Removes underlines */
        color: #4F7942; /* Default green color for links */
        transition: color 0.3s ease, text-decoration 0.3s ease;
    }

        .breadcrumb-item a:hover {
            color: #ec1c24; /* Change to a darker color on hover */
        }

    .breadcrumb-item.active {
        color: #474e55;
        font-weight: 600;
    }

    .breadcrumb-item i {
        margin-right: 0.25rem; /* Space between icon and text */
    }

    .breadcrumb-item::after {
        content: "\203A"; /* Separator symbol */
        color: #6c757d; /* Grey separator */
        font-size: 1.2rem;
        margin-left: 0.5rem;
    }

    .breadcrumb-item + .breadcrumb-item {
        padding-left: .3rem;
    }

        .breadcrumb-item + .breadcrumb-item::before {
            content: none;
        }

    .breadcrumb-item:last-child::after {
        content: ""; /* Remove separator for the last item */
    }

    .breadcrumb-item:last-child a {
        color: #343a40; /* Darker color for current page */
        font-weight: bold;
        pointer-events: none; /* Disable the last breadcrumb link */
    }

/* Responsive styling */
@media (max-width: 768px) {
    .breadcrumb {
        line-height: 1.25rem;
    }
}
/* #endregion BREADCRUMBS */

/* #region PRODUCT RESULTS */
#products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.25rem;
}

/* TODO: Move to global styles */
.alert:empty {
    display: none;
}

/* #region RANGE INPUT */

.range-input-wrapper {
    display: grid;
    grid-template-columns: 5ch 1fr auto;
    align-items: center;
    gap: 0.5rem;
}

    .range-input-wrapper input[type=number] {
        width: 3ch;
        height: 3ch;
        box-sizing: content-box;
        text-align: center;
        padding: 0.125rem;
    }

    .range-input-wrapper input[type=number]::-webkit-outer-spin-button,
    .range-input-wrapper input[type=number]::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

/* Range input with fill effect */
.form-control-range {
    /* Custom property for the fill percentage */
    --fill-percent: 0%;
    
    -webkit-appearance: none;
    appearance: none;
    flex: 1 1 auto;
    width: auto;
    outline: none;
    padding: 0;
    border: none;
    margin: 0;
    opacity: 1;
    position: relative;
    
    /* Base track styling */
    height: 0.5em;
    background: #d5d5d5;
}

    .form-control-range:focus {
        background: #d5d5d5;
    }

/* Create fill effect with pseudo-element */
    .form-control-range::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: var(--fill-percent);
        max-width: 100%;
        height: 100%;
        background: currentColor;
        border-radius: inherit;
        z-index: 1;
    }

.form-control-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 1em;
    height: 1em;
    background: #ffffff;
    cursor: pointer;
    border-radius: 50%;
    border: 0.25em solid currentColor;
    position: relative;
    z-index: 2;
}

/* Firefox-specific styles */
.range-input-wrapper input[type=number] {
    -moz-appearance: textfield;
}

.form-control-range::-moz-range-track {
    background: #d5d5d5;
    border-radius: inherit;
    height: 100%;
}

.form-control-range::-moz-range-progress {
    background: currentColor;
    height: 100%;
    border-radius: inherit;
}

.form-control-range::-moz-range-thumb {
    width: 0.625em;
    height: 0.625em;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    border: 0;
    outline: 0.25em solid currentColor;
}

/* #endregion RANGE INPUT */

/* #region RADIO INPUT */

.shop-theme .custom-control.custom-radio {
    position: relative;
    display: block;
    min-height: 1.5em;
    padding-left: calc(1rem + 8px);
    margin-bottom: 0.5em;
}

    /* Hide the native radio button */
    .shop-theme .custom-control.custom-radio .custom-control-input {
        position: absolute;
        z-index: -1;
        opacity: 0;
    }

    /* Create the square custom radio appearance */
    .shop-theme .custom-control.custom-radio .custom-control-label::before {
        content: "";
        position: absolute;
        left: calc(-1rem - 8px);
        top: 0.25rem;
        display: block;
        width: 1rem;
        height: 1rem;
        border: 1px solid #adb5bd;
        background-color: #fff;
        border-radius: 50%;
    }

    /* Checked state */
    .shop-theme .custom-control.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
        border-color: currentColor;
        background-color: currentColor;
        box-shadow: inset 0 0 0 0.25em white;
    }

    /* Focus state */
    .shop-theme .custom-control.custom-radio .custom-control-input:focus-visible ~ .custom-control-label::before {
        box-shadow: 0 0 0 0.2em rgba(0, 0, 0, 0.25), inset 0 0 0 0.25em white;
    }

    /* Disabled state */
    .shop-theme .custom-control.custom-radio .custom-control-input:disabled ~ .custom-control-label {
        color: #6c757d;
    }

        .shop-theme .custom-control.custom-radio .custom-control-input:disabled ~ .custom-control-label::before {
            background-color: #e9ecef;
        }

    .shop-theme .custom-control.custom-radio .custom-control-input:checked:disabled ~ .custom-control-label::before {
        background-color: rgba(0, 0, 0, 0.5);
    }

    /* The label text */
    .shop-theme .custom-control.custom-radio .custom-control-label {
        position: relative;
        margin-bottom: 0;
        vertical-align: middle;
        cursor: pointer;
    }

    .shop-theme .custom-control.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
        content: none;
    }

/* #endregion RADIO INPUT */

.shop-theme .form-control-range {
    color: #000000;
}

.shop-theme .form-control:focus {
    box-shadow: none;
    border-color: #000000;
}

.shop-theme .form-control:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.25);
}

.shop-theme .input-group-text {
    color: #ffffff;
    background-color: #000000;
    border-color: #000000;
}

.shop-theme .btn-outline-primary {
    color: #000000;
    border-color: #000000;
}

    .shop-theme .btn-outline-primary:hover {
        color: #ffffff;
        background-color: #000000;
        border-color: #000000;
    }

    .shop-theme .btn-outline-primary:focus,
    .shop-theme .btn-outline-primary.focus {
        box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.5);
    }

    .shop-theme .btn-outline-primary:not(:disabled):not(.disabled):active,
    .shop-theme .btn-outline-primary:not(:disabled):not(.disabled).active {
        color: #ffffff;
        background-color: #000000;
        border-color: #000000;
    }

/* #endregion PRODUCT RESULTS */

/* #region PRODUCT RESULT */

.qty-wrapper {
    flex-basis: calc((2ch + (0.75rem * 2)) * 3);
}

    .qty-wrapper .input-group {
        flex-wrap: nowrap;
        min-width: calc((2ch + (0.75rem * 2)) * 3);
    }

/* #endregion PRODUCT RESULT */
/* #region CART CHECKOUT ORDER */
.cart {
}

.cart-row,
.freight-row,
.note-row,
.header-row {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    margin: 0.5rem 0;
    border-top: 1px solid #dee2e6;
}

.header-row {
    border: 0;
}

.freight-row {
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

    .cart-row > div,
    .freight-row > div,
    .note-row > div,
    .header-row > div {
        padding: 0.5rem;
    }

.item-img {
    width: 7rem;
    flex: 0 0 7rem;
}

.item-desc {
    flex: 1 0;
}

    .item-desc p {
        margin: 0;
    }

.item-ctrl {
    display: flex;
    flex-direction: column;
    width: 10rem;
    flex: 0 0 10rem;
    text-align: right;
}

.item-price {
    display: flex;
    justify-content: flex-end;
}

.item-ctrl b,
.total-row b {
    font-size: 1.25rem;
}

.item-remove {
    display: inline-block;
    width: 2.5rem;
    flex: 0 0 2.5rem;
    text-align: center;
}

    .item-remove a,
    .item-remove a:hover {
        color: inherit;
    }

.item-qty {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.9rem;
}


.cart-row.cart-total {
    border-bottom: 1px solid #dee2e6;
    align-items: center;
}

.cart-row.cart-note {
    border: 0;
}

.cart-row.cart-add {
    border: 0;
}

.cart-summary .item-ctrl {
    width: 50%;
    flex: 0 0 50%;
    text-align: right;
    font-size: 1rem;
}


.checkout-nav {
    background-color: #fafafa;
    border-bottom: 1px solid #dee2e6;
    padding: .25rem 0;
}

    .checkout-nav ul {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        padding: 0;
    }

    .checkout-nav li {
        list-style: none;
        display: inline;
        color: #999999;
        margin: 0 1rem 0 0;
        padding: 0;
        line-height: 1.35rem;
        font-size: 0.9rem;
    }

        .checkout-nav li span.number {
            display: inline-block;
            width: 1.5rem;
            height: 1.5rem;
            text-align: center;
            border-radius: 50%;
            border: 1px solid #999999;
            margin-right: 1px;
        }

        .checkout-nav li.enabled {
            color: #5bb658;
            cursor: pointer;
        }

            .checkout-nav li.enabled span.number {
                color: #ffffff;
                background-color: #5bb658;
                border-color: #5bb658;
            }

        .checkout-nav li.active {
            color: #17a2b8;
        }

            .checkout-nav li.active span.number {
                color: #ffffff;
                background-color: #17a2b8;
                border-color: #17a2b8;
            }

.nav-cart {
    padding-right: 1rem;
}

.nav-cart .nav-cart-qty {
    display: none;
    position: absolute;
    left: auto;
    right: -0.6rem;
    top: 0.3rem;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    border: 2px solid #007bff;
    background-color: #007bff;
    color: #fff;
    text-align: center;
    font-size: 0.8rem;
    line-height: 1.3rem;
    font-weight: 700;
    z-index: 2;
}

.nav-cart.has-items .nav-cart-qty {
    display: inline-block;
}

.nav-cta .nav-cart .nav-cart-qty {
    top: -0.6rem;
    right: 0.25rem;
}


/*dataTables*/
.dataTables_filter,
.dataTables_info {
    display: none;
}

#addressData_wrapper {
    display: none;
}

.form_block div.row .dataTables_wrapper {
    display: inline-block;
    width: 70%;
    vertical-align: top;
    margin: 0 1px 0 3px;
}


.me-dropdown tbody tr:hover {
    background: #e4e4e4;
}

.me-dropdown .dataTables_empty {
    text-indent: -9999px;
}

.me-dropdown tbody tr:hover {
    background: #e4e4e4;
}

.me-dropdown thead {
    display: none;
}

table.me-dropdown.dataTable,
table.me-dropdown.dataTable.no-footer {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    width: 100%;
}



#checkoutEntry {
}

#checkoutCart {
    background-color: #fafafa;
    border-left: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
    min-height: calc(100vh - 10rem);
    margin-bottom: -5rem;
    padding: 5rem 1rem 1rem 1rem;
}

#order-summary-toggle {
    display: none;
}

    #order-summary-toggle .cart-row {
        justify-content: space-between;
        margin: 0;
        border: 0;
    }

    #order-summary-toggle .item-price {
        justify-content: center;
        flex-direction: column;
        text-align: right;
    }

        #order-summary-toggle .item-price i {
            font-size: 0.8rem;
        }




.order {
}

    .order table {
        border: 1px solid #58595b;
        width: 100%;
    }

    .order thead td {
        padding: 3px 5px 3px 5px;
        background-color: #58595b;
        color: white;
        border-bottom: 1px solid #58595b;
    }

    .order tbody td {
        padding: 3px 5px 3px 5px;
        border-bottom: 1px solid #58595b;
    }

    .order tfoot td {
        padding: 3px 5px 3px 5px;
        background-color: #e4e4e4;
        font-weight: bold;
    }


@media screen and (max-width: 575px) {
    .cart-row {
        flex-wrap: wrap;
    }

        .cart-row .item-desc {
            order: 1;
            flex: 1 0 100%;
        }

        .cart-row .item-ctrl {
            order: 3;
        }

        .cart-row .item-img {
            order: 2;
            flex: 1 0;
        }

    .note-row .item-ctrl,
    .freight-row .item-ctrl {
        width: auto;
        flex: 0 0;
    }
}

@media screen and (max-width: 767px) {
    .vd-hero {
        background-image: url('/images/shop/extractor-fans/banner-sm.jpg');
        min-height: 700px;
        background-size: cover
    }

    .bathroom-bg {
        background-image: url('/images/shop/extractor-fans/bathroom-sm.jpg');
        height: 740px;
    }

        .bathroom-bg p {
            font-size: 0.9rem;
        }

    .checkout-nav li {
        margin: 0 0.5rem 0 0;
        padding: 0;
        line-height: 1.35rem;
        font-size: 0.8rem;
    }

    #order-summary-toggle {
        display: block;
    }


    #checkoutCart {
        order: 1;
        border: 0;
        min-height: auto;
        margin-bottom: 0;
        padding: 1rem 15px;
        border-bottom: 1px solid #dee2e6;
    }

    #checkoutEntry {
        order: 2;
    }
}

@media (min-width: 768px) {
    #order-summary,
    #order-summary.collapse {
        display: block;
    }
}

/* #endregion CART CHECKOUT ORDER */

/* SWIPER */
.swiper {
    width: 100%;
    height: auto;
    min-height: 350px;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    flex-direction: column;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

    .swiper-slide div {
        width: 250%;
        opacity: 0;
        height: 180px;
    }

.swiper-slide-active div {
    opacity: 1;
    z-index: 100;
}


.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

    .swiper-slide img::after {
        content: "test";
    }

/* SPECS */
.specs__row {
    display: flex;
    justify-content: space-between;
}

    .specs__row .text-right {
        max-width: 220px;
    }

/* IMG / BACKGROUNDS */
.image-group {
    position: relative;
}

.image-overlay {
    position: absolute;
    color: white;
    z-index: 100;
    padding: 32px;
    width: 250px;
    background: linear-gradient(108.05deg, #77B1CC 3.84%, rgba(8, 99, 141, 0.82) 87.47%);
    right: 16px;
    top: 16px;
}

.background-clip-bb {
    background-clip: border-box;
}

.background-clip-cb {
    background-clip: content-box;
}

/* QUOTE */
.quote {
    position: absolute;
    color: white;
    padding: 16px;
    right: 16px;
    height: 100%;
    background: rgba(24, 56, 99, 0.7);
    display: flex;
    align-items: center;
    mix-blend-mode: normal;
    border-radius: 8px;
}

    .quote h5 {
        line-height: 140%;
    }

/* BUY BTN */
.btn-buy-container {
    display: inline-block !important;
    max-width: 50vw !important;
}


x.cta-btn-container {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    background-color: white;
    height: 64px;
    box-shadow: 3.4px 0.9px 4.9px rgba(0, 0, 0, 0.04), 11.4px 3.1px 16.5px rgba(0, 0, 0, 0.06), 51px 14px 74px rgba(0, 0, 0, 0.1);
    transition: all 0.4s;
    transform: translateY(-100px);
}

.cta-btn-container {
    position: -webkit-sticky;
    position: sticky;
    color: white;
    top: 0;
    right: 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 0 1rem;
    align-items: center;
    z-index: 1000;
    min-height: 4.5rem;
    box-shadow: 3.4px 0.9px 4.9px rgba(0, 0, 0, 0.04), 11.4px 3.1px 16.5px rgba(0, 0, 0, 0.06), 51px 14px 74px rgba(0, 0, 0, 0.1);
    transition: all 0.4s;
}

    .cta-btn-container.is-stuck {
        box-shadow: 3.4px 0.9px 4.9px rgba(0, 0, 0, 0.04), 11.4px 3.1px 16.5px rgba(0, 0, 0, 0.06), 51px 14px 74px rgba(0, 0, 0, 0.1);
        transition: all 0.4s;
    }

#cta {
    background: #4DACCA;
    border-color: #4DACCA;
}

.caveat {
    font-size: 12px;
}

/* ANIMATIONS / FADE 

    -webkit-transition: all 0.8s ease-in-out;
    -moz-transition: all 0.8s ease-in-out;
    -o-transition: all 0.8s ease-in-out;

    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);

*/

.fade-in {
    transition: 0.8s all;
}

@media screen and (min-width: 576px) { /* sm */
    .vd-hero {
        background-image: url('/images/shop/extractor-fans/banner-sm.jpg');
    }
}

@media screen and (min-width: 768px) { /* md */


    /* ANIMATIONS / FADE */

    .fade-in {
        transition: 0.8s all;
    }

    .faded-left {
        transform: translateX(-16px);
        opacity: 0;
    }

    .faded-right {
        transform: translateX(16px);
        opacity: 0;
    }

    .show-horizontal {
        transform: translateX(0px);
        opacity: 1;
    }


    .fade-in-section {
        opacity: 0;
        transform: translateY(20vh);
        visibility: hidden;
        transition: opacity 0.6s ease-out, transform 1.2s ease-out;
        will-change: opacity, visibility;
    }

        .fade-in-section.is-visible {
            opacity: 1;
            transform: none;
            visibility: visible;
        }

    .is-ie .fade-in,
    .is-ie .faded-left,
    .is-ie .faded-right,
    .is-ie .show-horizontal,
    .is-ie .fade-in-section {
        -ms-transform: none;
        transform: none;
        opacity: 1;
    }

    /* NEW */
    .vd-hero {
        background-image: url('/images/shop/extractor-fans/banner-lg.jpg'); /* Replace with your background image */
        background-size: cover;
        background-position: 50% 25%;
        height: 760px; /* Full height of the viewport */
    }

    .test::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: inherit; /* Inherit the background image */
        filter: blur(25px); /* Apply the blur effect */
        z-index: 1; /* Ensure the blur stays behind the content */
    }

    .btn {
        transition: all 0.14s ease; /* Apply transition for all properties */
    }

    .test {
        /*background: linear-gradient(102deg, #D2D2D2 1.69%, rgba(201, 201, 201, 0.00) 85.77%);*/
    }

        .test h1, .test p, .test a {
            position: relative; /* Ensure content is above the pseudo-element */
            z-index: 2; /* Make sure content stays above the blurred background */
        }
}

    @media screen and (min-width: 576px) { /* sm */

    }

    @media screen and (min-width: 768px) { /* md */

        .image-overlay h6 {
            font-size: 1.3rem;
        }

        .section {
            min-height: 760px;
        }

        .quote {
            padding: 32px;
            right: 64px;
            top: 40%;
            width: 50%;
            height: auto;
            display: flex;
            align-items: center;
            max-width: 600px;
        }
    }

    @media screen and (min-width: 992px) { /* lg */
        .product-view__image {
            min-height: 600px;
        }
    }

    @media screen and (min-width: 1200px) { /* xl */

    }

    @media screen and (min-width: 1930px) { /* very large displays - full width img @ 2880px  */
        .product-view__image {
            min-height: 800px;
        }

        .cta-btn-container {
            padding-left: calc((100vw - 1920px) / 2);
            padding-right: calc((100vw - 1920px) / 2);
        }
    }
