/** Shopify CDN: Minification failed

Line 1026:14 Expected identifier but found whitespace
Line 1026:16 Unexpected "{"
Line 1026:23 Expected ":"
Line 1026:66 Expected ":"
Line 1031:16 Expected identifier but found whitespace
Line 1031:18 Unexpected "{"
Line 1031:25 Expected ":"
Line 1031:69 Expected ":"
Line 1291:14 Expected identifier but found whitespace
Line 1291:15 Unexpected "100%"

**/
/*
    © 2023 EcomGraduates.com
    https://www.ecomgraduates.com
*/

/*
    CSS Variables for Product Horizontal Layout
    
    Browser Compatibility:
    - CSS Variables: Chrome 49+, Firefox 31+, Safari 9.1+, Edge 15+
    - All target browsers support CSS variables
    - Static fallbacks not required for target browser list
*/
:root {
    /* Font sizes */
    --font-size-small: 0.875rem;    /* 14px */
    --font-size-medium: 1rem;       /* 16px */
    --font-size-large: 1.25rem;     /* 20px */
    
    /* Horizontal layout proportions */
    --horizontal-image-width: 40%;
    --horizontal-info-width: 60%;
    
    /* Spacing */
    --horizontal-gap: 1rem;
    
    /* Responsive breakpoint */
    --breakpoint-tablet: 768px;
}

/*
    Horizontal Layout Styles
    
    Browser Compatibility:
    - Flexbox: IE 11+, all modern browsers (excellent support)
    - All target browsers fully support Flexbox
    - Optional fallback provided for documentation purposes
*/
.product-card--horizontal {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.product-card--horizontal .product-card__image-wrapper {
    width: var(--horizontal-image-width);
    flex-shrink: 0;
}

.product-card--horizontal .product-card__info-wrapper {
    width: var(--horizontal-info-width);
    flex-shrink: 0;
    margin-left: var(--horizontal-gap);
}

/*
    Optional Flexbox Fallback
    For browsers that don't support Flexbox (extremely rare in target browsers)
    This is provided for completeness and documentation purposes
*/
@supports not (display: flex) {
    .product-card--horizontal {
        display: block;
        overflow: hidden; /* Clear floats */
    }
    
    .product-card--horizontal .product-card__image-wrapper {
        float: left;
        width: 40%;
    }
    
    .product-card--horizontal .product-card__info-wrapper {
        float: right;
        width: 58%; /* Slightly less than 60% to account for margin */
        margin-left: 2%;
    }
    
    /* Clearfix for float-based layout */
    .product-card--horizontal::after {
        content: "";
        display: table;
        clear: both;
    }
}

/*
    Font Size Variants
    These styles apply independently of layout mode (horizontal or vertical)
*/
.product-card__title--small {
    font-size: var(--font-size-small);
}

.product-card__title--medium {
    font-size: var(--font-size-medium);
}

.product-card__title--large {
    font-size: var(--font-size-large);
}

.product-card__price--small {
    font-size: var(--font-size-small);
}

.product-card__price--medium {
    font-size: var(--font-size-medium);
}

.product-card__price--large {
    font-size: var(--font-size-large);
}

/*
    Text Truncation Styles
    Supports dynamic line-clamp values via CSS custom property or data attribute
    
    Browser Compatibility:
    - -webkit-line-clamp: Chrome 6+, Safari 5+, Firefox (with -webkit- prefix), Edge 17+
    - Standard line-clamp: Chrome 113+, Safari 17+ (limited support)
    - Fallback provided for browsers without line-clamp support
*/
.product-card__title--truncate {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Default line clamp value, can be overridden via inline style or data attribute */
    -webkit-line-clamp: var(--title-line-clamp, 2);
    line-clamp: var(--title-line-clamp, 2); /* Standard property for future compatibility */
}

/* 
    Fallback for browsers that don't support line-clamp
    Provides single-line truncation as a graceful degradation
*/
@supports not (-webkit-line-clamp: 2) {
    .product-card__title--truncate {
        /* Fallback to single-line truncation */
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-box-orient: unset;
    }
}

/*
    Image Ratio Handling Styles
    Ensures product images maintain aspect ratio and display consistently
    in horizontal layout without distortion or stretching
    
    Browser Compatibility:
    - aspect-ratio: Chrome 88+, Firefox 89+, Safari 15+
    - object-fit: Chrome 32+, Firefox 36+, Safari 10+, Edge 16+
    - Fallback provided for older browsers using padding-bottom technique
*/
.product-card__image-wrapper {
    /* Set container aspect ratio for consistent sizing across different image ratios */
    aspect-ratio: 1 / 1; /* Square aspect ratio by default */
    overflow: hidden;
    position: relative;
}

.product-card__image-wrapper img {
    /* Ensure image fills container width */
    width: 100%;
    /* Maintain aspect ratio and cover container without distortion */
    object-fit: cover;
    /* Center the image within the container for balanced cropping */
    object-position: center;
    /* Set height to fill container */
    height: 100%;
}

/* 
    Fallback for browsers that don't support aspect-ratio
    Uses padding-bottom technique to maintain 1:1 aspect ratio
*/
@supports not (aspect-ratio: 1 / 1) {
    .product-card__image-wrapper {
        position: relative;
        padding-bottom: 100%; /* 1:1 aspect ratio (height = width) */
        height: 0;
    }
    
    .product-card__image-wrapper img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

/*
    Responsive Media Queries
    Ensures horizontal layout adapts to mobile devices by switching to vertical layout
    and provides smooth transitions between breakpoints
*/
@media (max-width: 767px) {
    /* Reset horizontal layout to vertical on mobile devices */
    .product-card--horizontal {
        flex-direction: column;
    }
    
    /* Reset image and info wrapper widths to full width on mobile */
    .product-card--horizontal .product-card__image-wrapper {
        width: 100%;
    }
    
    .product-card--horizontal .product-card__info-wrapper {
        width: 100%;
        margin-left: 0;
        margin-top: var(--horizontal-gap);
    }
    
    /* Ensure touch-friendly interaction areas (minimum 44x44px) */
    .product-card a,
    .product-card button {
        min-height: 44px;
        min-width: 44px;
    }
}

/* Add smooth transitions for responsive layout changes */
.product-card--horizontal {
    transition: flex-direction 0.3s ease-in-out;
}

.product-card--horizontal .product-card__image-wrapper,
.product-card--horizontal .product-card__info-wrapper {
    transition: width 0.3s ease-in-out, margin 0.3s ease-in-out;
}

/*
    Accessibility: Reduced Motion Support
    Respects user's motion preferences for better accessibility
*/
@media (prefers-reduced-motion: reduce) {
    .product-card--horizontal,
    .product-card--horizontal .product-card__image-wrapper,
    .product-card--horizontal .product-card__info-wrapper {
        transition: none;
    }
}

/*
    Image badges
*/
.img-badge-sale {
    background-color: var(--bs-success);
}

.img-badge-sold-out {
    background-color: var(--bs-secondary);
}

.img-badge-custom {
    background-color: var(--bs-primary);
}
img.img-badge-custom {
    background: none !important;
}



/*
    Product gallery
*/
.product-gallery {
    position: relative;
}

.product-gallery .img-badge-custom {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 1;
}

.product-gallery .main-splide a {
    cursor: zoom-in;
    display: block;
    position: relative;
}

.product-gallery .main-splide a::after {
    content: "";
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 32px;
    height: 32px;
    background-size: 60%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    opacity: .5;
    background-color: rgba(0, 0, 0, .25);
    border-radius: 50rem;
    transition: all .2s ease-out;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3Cline x1='11' y1='8' x2='11' y2='14'%3E%3C/line%3E%3Cline x1='8' y1='11' x2='14' y2='11'%3E%3C/line%3E%3C/svg%3E");
}

.product-gallery .main-splide a:hover::after {
    background-color: rgba(0, 0, 0, .5);
}

.product-gallery .main-splide .ratio {
    display: flex;
    justify-content: center;
    height: 100%;
    object-fit: cover;
    background: black;
}

.product-gallery .main-splide-adapt .splide__slide:not(.is-active) {
    height: 0;
}

.product-gallery .thumbs-splide .splide__slide.is-active {
    border: none;
}

.product-gallery .thumbs-splide img {
    transition: all .2s ease-out;
}

.product-gallery .thumbs-splide img:hover {
    opacity: .75;
}

.product-gallery .thumbs-splide .splide__slide.is-active img {
    border: 1px solid var(--bs-primary);
}

.product-gallery .thumbs-splide .splide__slide.is-video,
.product-gallery .thumbs-splide .splide__slide.is-model {
    position: relative;
}

.product-gallery .thumbs-splide .splide__slide.is-video::after,
.product-gallery .thumbs-splide .splide__slide.is-model::after {
    content: "";
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgba(0,0, 0, .5);
    border-radius: .25rem;
}

.product-gallery .thumbs-splide .splide__slide.is-video::after {
    background-size: 80%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-play-fill' viewBox='0 0 16 16'%3E%3Cpath d='m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z'/%3E%3C/svg%3E");
}

.product-gallery .thumbs-splide .splide__slide.is-model::after {
    background-size: 60%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' class='icon icon-3d-model' fill='none' viewBox='0 0 18 21'%3E%3Cpath d='M7.67998 20.629L1.28002 16.723C0.886205 16.4784 0.561675 16.1368 0.337572 15.731C0.113468 15.3251 -0.00274623 14.8686 -1.39464e-05 14.405V6.59497C-0.00238367 6.13167 0.113819 5.6755 0.33751 5.26978C0.561202 4.86405 0.884959 4.52227 1.278 4.27698L7.67796 0.377014C8.07524 0.131403 8.53292 0.000877102 8.99999 9.73346e-08C9.46678 -0.000129605 9.92446 0.129369 10.322 0.374024V0.374024L16.722 4.27399C17.1163 4.51985 17.4409 4.86287 17.6647 5.27014C17.8885 5.67742 18.0039 6.13529 18 6.59998V14.409C18.0026 14.8725 17.8864 15.3289 17.6625 15.7347C17.4386 16.1405 17.1145 16.4821 16.721 16.727L10.321 20.633C9.92264 20.8742 9.46565 21.0012 8.99999 21C8.53428 20.9998 8.07761 20.8714 7.67998 20.629V20.629ZM8.72398 2.078L2.32396 5.97803C2.22303 6.04453 2.14066 6.13551 2.08452 6.24255C2.02838 6.34959 2.00031 6.46919 2.00298 6.59003V14.4C2.00026 14.5205 2.02818 14.6396 2.08415 14.7463C2.14013 14.853 2.22233 14.9438 2.32298 15.01L7.99999 18.48V10.919C8.00113 10.5997 8.08851 10.2867 8.25292 10.0129C8.41732 9.73922 8.65267 9.51501 8.93401 9.36401L15.446 5.841L9.28001 2.08002C9.19614 2.02738 9.09901 1.99962 8.99999 2C8.90251 1.99972 8.8069 2.02674 8.72398 2.078V2.078Z' fill='white'%3E%3C/path%3E%3C/svg%3E");
}

.product-gallery .thumbs-splide .splide__arrow {
    width: 1.75rem;
    height: 1.75rem;
}

.product-gallery .thumbs-splide .splide__arrow--prev {
    left: -0.5rem;
}

.product-gallery .thumbs-splide .splide__arrow--next {
    right: -0.5rem;
}

@media (max-width: 575px) {
    .product-gallery .thumbs-splide .splide__slide.is-video::after {
        width: 24px;
        height: 24px;
    }
    .main-splide-mobile-full-width {
        margin: -1rem -1rem 0;
    }
    .main-splide-mobile-full-width img {
        border: none;
        padding: 0;
        border-radius: 0 !important;
    }
    .main-splide-mobile-full-width .splide__slide {
        padding-left: 0 !important;
    }
}

@media (max-width: 991px) {
    .product-gallery[data-show-thumbs-mobile="false"] .main-splide {
        margin-left: -1rem;
        margin-right: -1rem;
    }
    .product-gallery[data-show-thumbs-mobile="false"] .splide__slide {
        padding-left: 1rem;
    }
}


/*
    Product content
*/
.product-content .product-price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.product-price-compare + .product-price-final {
    color: var(--bs-success);
}

.product-content .product-price .price-badge-sale {
    background-color: var(--bs-success);
    font-size: .75rem;
    margin-left: .75rem;
}

.product-content .product-price .price-badge-sold-out {
    background-color: var(--bs-secondary);
    font-size: .75rem;
    margin-left: .75rem;
}

.product-content shopify-payment-terms {
    display: block;
    margin: -1rem 0 1.5rem;
    font-size: .875rem;
}


/*
    Product Form
*/
.shopify-product-form ul.color-swatches {
    display: flex;
    flex-wrap: wrap;
}

.shopify-product-form ul.color-swatches input + label {
    display: block;
    border-radius: 50%;
    border: 1px solid var(--bs-border-color);
    padding: .125rem;
    cursor: pointer;
    transition: all .2s ease-out;
}

.shopify-product-form ul.color-swatches input + label img {
    border-radius: 50%;
}

.shopify-product-form ul.color-swatches input + label:hover {
    opacity: .75;
}

.shopify-product-form ul.color-swatches input:focus-visible + label {
    box-shadow: 0 0 0 0.125rem rgba(var(--bs-body-color-rgb), .5)
}

.shopify-product-form ul.color-swatches input:checked + label {
    border-color: var(--bs-body-color);
}

.shopify-product-form ul.size-buttons {
    display: flex;
    flex-wrap: wrap;
}

.shopify-product-form ul.size-buttons input + label {
    border: 1px solid var(--bs-body-color);
    padding: .25rem .75rem;
    cursor: pointer;
    transition: all .2s ease-out;
}

.shopify-product-form ul.size-buttons input + label:hover {
    background-color: rgba(0, 0, 0, .1);
}

.shopify-product-form ul.size-buttons input:focus-visible + label {
    box-shadow: 0 0 0 0.125rem rgba(var(--bs-body-color-rgb), .5)
}

.shopify-product-form ul.size-buttons input:checked + label {
    background-color: var(--bs-body-color);
    color: var(--bs-body-bg);
}

.shopify-product-form ul.size-buttons input + label.disabled {
    opacity: .5;
    text-decoration: line-through;
}

.shopify-product-form .btn-wishlist-add-remove.is-wishlisted {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

.shopify-product-form .btn-wishlist-add-remove.is-wishlisted:hover,
.shopify-product-form .btn-wishlist-add-remove.is-wishlisted:focus {
    background-color: transparent;
}

.shopify-product-form button[aria-disabled="true"] {
    display: none;
}

.shopify-product-form .quantity-wrapper {
    max-width: 100px;
}

.shopify-product-form .qty-position-inline {
    display: flex;
}

.shopify-product-form .qty-position-inline .quantity-wrapper {
    margin-right: .75rem;
}

.shopify-product-form .qty-position-above .quantity-wrapper {
    margin-bottom: .75rem;
}


/*
    Purchase options (selling/subscription plans)
*/
#product-purchase-options {
}

#product-purchase-options .form-check {
    position: relative;
    padding: .2rem 0;
    margin: 0;
}

#product-purchase-options .form-check-label {
    background-color: var(--bs-light);
    padding: .75rem 1rem .75rem 3rem;
    margin: 0;
    width: 100%;
    cursor: pointer;
    transition: all .2s ease-out;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#product-purchase-options .form-check-label:hover,
#product-purchase-options .form-check-label:focus {
    background-color: var(--bs-light-darken-5);
}

#product-purchase-options input:checked + .form-check-label {
    background-color: var(--bs-light-darken-5);
}

#product-purchase-options .form-check-input {
    position: absolute;
    top: 50%;
    left: 1.25rem;
    transform: translateY(-50%);
    margin: 0;
}

#product-purchase-options .subscription-benefits ul {

}

#product-purchase-options .subscription-benefits ul li {
    line-height: normal;
    font-size: .925rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
}

#product-purchase-options .subscription-benefits ul li svg {
    margin-right: .5rem;
}



/*
    Store availability (local pickup)
*/


/*
    Inventory bar
*/
#inventory-bar {
    transition: all .2s ease-out;
}

#inventory-bar .progress {
    height: .5rem;
}


/*
    Product accordion
*/
.product-accordion .accordion-button {
    background-color: var(--bs-light);
    box-shadow: none;
}

.product-accordion .accordion-button:focus-visible {
    box-shadow: 0 0 0 0.125rem rgba(var(--bs-dark-rgb), .5);
} 


/*
    Bought Togehter
*/
#product-bought-together {
    padding: .5rem 0 1rem;
}

#bought-together-title {
    border-bottom: 1px solid var(--bs-border-color);
    padding: 0 0 .5rem;
    margin: 0 0 .25rem;
}

#product-bought-together .product-item {
    transition: all .2s ease-out;
}

#product-bought-together .product-item-img-wrapper {
    overflow: hidden;
}

#product-bought-together .product-item:not(:last-child) .product-item-img-wrapper:after {
    content: "+";
    position: absolute;
    bottom: -1.8rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.25rem;
    font-weight: 300;
}

#product-bought-together .product-item select {
    max-width: fit-content;
}
 
@media (min-width: 1200px) {
    #product-bought-together .product-item .product-item-img-wrapper:after {
        display: none;
    }
}


/*
    Qty Breaks 
*/

#product-qty-breaks .form-check {
    position: relative;
    padding: 0.2rem 0;
    margin: 0;
}

#product-qty-breaks .form-check-input {
    position: absolute;
    top: 50%;
    left: 1.25rem;
    transform: translateY(-50%);
    margin: 0;
}

#product-qty-breaks label {
    background-color: var(--bs-light);
    padding: .75rem 1rem .75rem 3rem;
    margin: 0;
    width: 100%;
    cursor: pointer;
    transition: all .2s ease-out;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#product-qty-breaks .form-check-label:hover, 
#product-qty-breaks .form-check-label:focus {
    background-color: var(--bs-light-darken-5);
}

#product-qty-breaks input:checked + .form-check-label {
    background-color: var(--bs-light-darken-5);
}

#product-qty-breaks [data-preferred-option="true"] label {
    border: 1px solid var(--bs-dark);
}


/*
    Prev/Next Products (within collection)
*/
#product-prev-next-prev,
#product-prev-next-next {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    transition: all .2s ease-out;
    z-index: 9;
}

#product-prev-next-prev {
    left: -2rem;
}

#product-prev-next-next {
    right: -2rem;
}

#product-prev-next-prev img {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

#product-prev-next-next img {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

#product-prev-next-prev:hover,
#product-prev-next-prev:focus {
    left: 0;
}

#product-prev-next-next:hover,
#product-prev-next-next:focus {
    right: 0;
}

@media (max-width: 1599px) {
    #product-prev-next-prev {
        left: -1.5rem;
        transform: translateX(-100%);
        transition: all .2s ease-out;
    }
    #product-prev-next-next {
        right: -1.5rem;
        transform: translateX(100%);
        transition: all .2s ease-out;
    }
    .show #product-prev-next-prev {
        transform: translateX(0);
    }
    .show #product-prev-next-next {
        transform: translateX(0);
    }
    #product-prev-next img {
        max-width: 60px;
    }
}

@media (min-width: 1600px) {
}


/*
    Limited Offer
*/
ul.countdown-timer li {
    color: currentColor;
    border-color: currentColor;
}


/*
    testimonial
*/
.product-block-testimonial {
    position: relative;
    padding: .5rem 1rem;
    line-height: normal;
}

.product-block-testimonial.has-testimonial-img {
    display: flex;
    align-items: center;
}

.product-block-testimonial img {
}

.product-block-testimonial-verified-icon {
    color: var(--bs-primary);
}

.product-block-testimonial-carousel .carousel-indicators {
    position: relative;
    top: auto;
    bottom: auto;
    margin: -.75rem 0 0;
}

.product-block-testimonial-carousel .carousel-indicators [data-bs-target] {
    opacity: .25;
    background-color: var(--bs-body-color);
}

.product-block-testimonial-carousel .carousel-indicators [data-bs-target].active {
    opacity: .75;
}


/*
    Product switcher
*/

#product-block-product-switcher ul.product-switcher-buttons {
}

#product-block-product-switcher ul.product-switcher-buttons input + label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    line-height: normal;
    font-size: .9rem
}

#product-block-product-switcher ul.product-switcher-buttons input + label img {
    border: 1px solid transparent;
    padding: .125rem;
    cursor: pointer;
    transition: all .2s ease-out;
}

#product-block-product-switcher ul.product-switcher-buttons input + label:hover img {
    opacity: .75;
}

#product-block-product-switcher ul.product-switcher-buttons input:focus-visible + label img {
    border-color: var(--bs-body-color);
}

#product-block-product-switcher ul.product-switcher-buttons input:checked + label img {
    border-color: var(--bs-body-color);
}

/*
    Product Promo Text (PDP - Image gallery)
*/
.product-gallery-promo-text {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--product-promo-bg-color, #ee1882); /* Fallback color */
    padding: .4rem 1rem;
    color: white;
    border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
    text-decoration: underline;
    font-size: smaller;
}

.product-gallery-promo-text-tooltip {
    text-align: center;
    width: 460px;
    max-width: 90vw;
    background: rgba(var(--bs-body-bg-rgb), .75);
    backdrop-filter: blur(10px);
}

@media (max-width: 575px) {
    [data-show-thumbs-mobile="true"] .product-gallery-promo-text {
    }
    [data-show-thumbs-mobile="false"] .product-gallery-promo-text {
        left: 1rem;
        width: calc(100% - 1rem);
        border-bottom-left-radius: var(--bs-border-radius);
        border-bottom-right-radius: var(--bs-border-radius);
    }
    .main-splide-mobile-full-width .product-gallery-promo-text {
        border-radius: 0;
        left: 0;
        width: 100%;
    }
}

/* product block notice */
.eg-notification {
    position: relative;
    padding: 1rem;
    margin-bottom: 1rem;
    border-width: 2px;
    border-style: var(--eg-notice-border-style, solid);
    background-color: var(--eg-notice-bg-color, #ffffff);
    color: var(--eg-notice-text-color, #000000);
    border-color: var(--eg-notice-border-color, #000000);
  }
  
  .eg-notification.rounded {
    border-radius: 8px;
  }
  
  .eg-notification-content {
    display: flex;
    align-items: flex-start;
  }
  
  .eg-notification-icon {
    flex-shrink: 0;
    margin-right: 1rem;
    color: var(--eg-notice-border-color, #000000);
  }
  
  .eg-notification-text p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
  }
  
  .eg-notification-subtitle {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    opacity: 0.8;
  }
  
  .eg-notification-close {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    padding: 0.25rem 0.5rem;
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.2s ease-in-out;
    color: var(--eg-notice-text-color, #000000);
  }
  
  .eg-notification-close:hover {
    opacity: 1;
  }
  
  .eg-fade-in {
    animation: egFadeIn 0.5s ease-out;
  }
  
  @keyframes egFadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }



  /* product-progress-block */

.product-progress-block .progress-circle-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  
  .product-progress-block .product-progress-circle {
    width: var(--circle-size);
    height: var(--circle-size);
    border-radius: 50%;
    position: relative;
    background: conic-gradient(from 0deg at 50% 50%, var(--progress-border-color) 0%, var(--progress-border-color) var(--percentage, 0%), #fff var(--percentage, 0%), #fff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
  }
  
  .product-progress-block .product-progress-circle::after {
    content: "";
    position: absolute;
    top: var(--border-thickness);
    bottom: var(--border-thickness);
    left: var(--border-thickness);
    right: var(--border-thickness);
    background: #fff;
    border-radius: 50%;
  }
  
  .product-progress-block .progress-value {
    position: relative;
    z-index: 2;
    font-size: calc(var(--circle-size) * 0.23);
    color: var(--progress-border-color);
  }
  
  .product-progress-block .progress-circle-text {
    flex: 1;
    margin: 0;
    font-size: {{ block.settings.description_font_size_mobile }}px;
  }
  
  @media (min-width: 768px) {
    .product-progress-block .progress-circle-text {
      font-size: {{ block.settings.description_font_size_desktop }}px;
    }
  }


/* ============================================
   ADD TO CART Button Styling for Horizontal Layout
   ============================================ */

/* Make ADD TO CART button smaller and more compact in horizontal layout */
.product-card--horizontal .btn-atc {
    font-size: 0.875rem; /* 14px - smaller font */
    padding: 0.375rem 0.75rem; /* Smaller padding */
}

/* Adjust dropdown button in horizontal layout */
.product-card--horizontal .btn-atc.dropdown-toggle {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
}

/* Ensure button doesn't take full width in horizontal layout on larger screens */
@media (min-width: 768px) {
    .product-card--horizontal .btn-atc {
        width: auto; /* Override w-100 class */
        min-width: 120px; /* Minimum width for usability */
    }
    
    .product-card--horizontal .dropup {
        width: auto !important; /* Override w-100 class */
    }
}

/* On mobile, keep full width for better touch targets */
@media (max-width: 767px) {
    .product-card--horizontal .btn-atc {
        width: 100%;
        font-size: 1rem; /* Standard size on mobile */
        padding: 0.5rem 1rem; /* Standard padding on mobile */
    }
}


/* ============================================
   横向布局改进 - 一排4个产品，每个产品内部横向
   适用于所有页面（Collection Page 和 Featured Products）
   ============================================ */

/* 产品列表容器：确保产品横向排列成一行 */
.product-list:has(.product-card--horizontal) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem; /* 产品之间的间距 */
    padding: 0 0.5rem; /* 两边添加间距 */
}

/* 单个产品项：占据1/4宽度（一排4个）- 桌面端 */
@media (min-width: 768px) {
    .product-list:has(.product-card--horizontal) > .product-item {
        flex: 0 0 calc(25% - 0.75rem); /* 1/4宽度减去间距 */
        max-width: calc(25% - 0.75rem);
        padding: 0 !important; /* 移除默认padding，使用gap代替 */
        margin-bottom: 1rem !important; /* 添加底部间距 */
        overflow: hidden; /* 防止产品项内容溢出 */
    }
}

/* 单个产品卡片：内部横向布局（图片左，信息右）- 仅桌面端 */
@media (min-width: 768px) {
    .product-card--horizontal {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start; /* 顶部对齐 */
        gap: 0.5rem; /* 图片和信息之间的间距 */
        width: 100%;
        height: 100%;
        overflow: hidden; /* 防止内容溢出产品卡片 */
    }

    /* 图片容器：占 30% 宽度（更小） */
    .product-card--horizontal .product-card__image-wrapper {
        flex: 0 0 30%;
        width: 30%;
        margin-bottom: 0 !important; /* 移除底部边距 */
    }

    /* 信息容器：占 70% 宽度 */
    .product-card--horizontal .product-card__info-wrapper {
        flex: 1 1 70%;
        min-width: 0; /* 允许内容缩小 */
        max-width: 70%; /* 限制最大宽度，防止溢出 */
        text-align: left !important; /* 左对齐 */
        display: flex;
        flex-direction: column;
        justify-content: flex-start; /* 默认上对齐 */
        align-items: flex-start; /* 左对齐 */
        overflow: hidden; /* 防止内容溢出 */
    }
    
    /* 当没有 ADD TO CART 按钮时，内容垂直居中 */
    .product-card--horizontal:not(:has(.btn-atc)) .product-card__info-wrapper {
        justify-content: center; /* 垂直居中 */
    }

    /* 标题：缩小字体，自动换行，防止溢出 */
    .product-card--horizontal .product-card__title {
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal !important; /* 允许换行 */
        line-height: 1.3;
        text-align: left !important; /* 左对齐 */
        font-size: 0.75rem !important; /* 12px - 更小的标题 */
        margin-bottom: 0.25rem !important;
        width: 100%; /* 占满容器宽度 */
        max-width: 100%; /* 确保不超过容器 */
    }
    
    /* 标题链接：防止溢出 */
    .product-card--horizontal .product-card__title a {
        display: inline; /* 改为 inline 以支持自动换行 */
        width: 100%;
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto; /* 启用连字符换行 */
    }

    /* 强制取消截断样式 */
    .product-card--horizontal .product-card__title--truncate {
        display: block !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /* 价格：缩小字体，左对齐 */
    .product-card--horizontal .product-card__price {
        text-align: left !important; /* 左对齐 */
        font-size: 0.75rem !important; /* 12px - 更小的价格 */
        margin-bottom: 0.25rem !important;
        width: 100%; /* 占满容器宽度 */
    }

    /* 按钮：和标题一样宽 */
    .product-card--horizontal .btn-atc {
        width: 100% !important; /* 和标题一样宽 */
        max-width: 100%;
        font-size: 0.65rem !important; /* 10px - 更小的按钮文字 */
        padding: 0.25rem 0.5rem !important; /* 更小的按钮内边距 */
        white-space: normal !important; /* 允许换行 */
        height: auto !important; /* 自适应高度 */
        line-height: 1.2;
        text-align: center;
    }
    
    /* Dropdown 按钮也和标题一样宽 */
    .product-card--horizontal .dropup {
        width: 100% !important;
    }

    /* 图片：保持比例，缩小尺寸 */
    .product-card--horizontal .product-item-img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 1 / 1;
    }
}

/* 大屏幕：一排4个产品 */
@media (min-width: 1200px) {
    .product-list:has(.product-card--horizontal) > .product-item {
        flex: 0 0 calc(25% - 0.75rem); /* 1/4宽度 */
        max-width: calc(25% - 0.75rem);
    }
}

/* 平板设备：一排3个产品 */
@media (max-width: 1199px) and (min-width: 768px) {
    .product-list:has(.product-card--horizontal) > .product-item {
        flex: 0 0 calc(33.333% - 0.67rem);
        max-width: calc(33.333% - 0.67rem);
    }
}

/* 移动端：完全恢复原样（图片在上，信息在下，一排2个产品） */
@media (max-width: 767px) {
    /* 移除横向布局的 flex 容器设置，但保持 flex 以支持一排2个 */
    .product-list:has(.product-card--horizontal) {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.5rem !important; /* 产品之间的间距 */
        padding: 0 0.25rem !important;
    }
    
    /* 移动端产品项：一排2个，各占约50% */
    .product-list:has(.product-card--horizontal) > .product-item {
        flex: 0 0 calc(50% - 0.25rem) !important;
        max-width: calc(50% - 0.25rem) !important;
        padding: 0 !important;
        margin-bottom: 0.5rem !important;
    }
    
    /* 产品卡片恢复默认垂直布局 */
    .product-card--horizontal {
        display: block !important;
        flex-direction: unset !important;
        gap: unset !important;
    }
    
    .product-card--horizontal .product-card__image-wrapper {
        flex: unset !important;
        width: 100% !important;
        margin-bottom: 1rem !important; /* 恢复默认间距 */
    }
    
    .product-card--horizontal .product-card__info-wrapper {
        flex: unset !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important; /* 恢复居中对齐 */
        display: block !important;
        justify-content: unset !important;
    }
    
    /* 恢复默认字体大小和对齐 */
    .product-card--horizontal .product-card__title {
        font-size: unset !important;
        text-align: center !important;
        margin-bottom: unset !important;
        line-height: unset !important;
        white-space: unset !important;
        width: 100% !important;
        overflow: unset !important;
    }
    
    .product-card--horizontal .product-card__title a {
        width: 100%;
    }
    
    .product-card--horizontal .product-card__price {
        font-size: unset !important;
        text-align: center !important;
        margin-bottom: unset !important;
        width: 100% !important;
    }
    
    .product-card--horizontal .btn-atc {
        width: 100% !important; /* 移动端按钮全宽 */
        font-size: unset !important;
        padding: unset !important;
        white-space: unset !important;
        height: unset !important;
    }
    
    .product-card--horizontal .dropup {
        width: 100% !important;
    }
}
        width: 100%;
        flex: 0 0 100%;
    }
}
