.elementor-676 .elementor-element.elementor-element-daf152a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:98px;--padding-bottom:98px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-676 .elementor-element.elementor-element-daf152a:not(.elementor-motion-effects-element-type-background), .elementor-676 .elementor-element.elementor-element-daf152a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(90deg, #D92674 22%, #1AA0E3 100%);}.elementor-676 .elementor-element.elementor-element-f6672a9{--display:flex;}.elementor-676 .elementor-element.elementor-element-618b268{text-align:center;}.elementor-676 .elementor-element.elementor-element-618b268 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-size:52px;font-weight:600;color:#FFFFFF;}.elementor-676 .elementor-element.elementor-element-745728ad:not(.elementor-motion-effects-element-type-background), .elementor-676 .elementor-element.elementor-element-745728ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-676 .elementor-element.elementor-element-745728ad > .elementor-container{max-width:1170px;}.elementor-676 .elementor-element.elementor-element-745728ad{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:15px 0px 152px 0px;}.elementor-676 .elementor-element.elementor-element-745728ad > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-676 .elementor-element.elementor-element-fe082d6 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-676 .elementor-element.elementor-element-fe082d6 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-676 .elementor-element.elementor-element-dfedb4b{--grid-columns:3;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-676 .elementor-element.elementor-element-daf152a{--content-width:1170px;}}@media(max-width:1024px){.elementor-676 .elementor-element.elementor-element-daf152a{--padding-top:70px;--padding-bottom:70px;--padding-left:30px;--padding-right:30px;}.elementor-676 .elementor-element.elementor-element-745728ad{padding:80px 30px 80px 30px;}.elementor-676 .elementor-element.elementor-element-dfedb4b{--grid-columns:2;}}@media(max-width:767px){.elementor-676 .elementor-element.elementor-element-daf152a{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;--z-index:0;}.elementor-676 .elementor-element.elementor-element-618b268 .elementor-heading-title{font-size:35px;}.elementor-676 .elementor-element.elementor-element-745728ad{margin-top:0px;margin-bottom:0px;padding:50px 20px 50px 20px;}.elementor-676 .elementor-element.elementor-element-dfedb4b{--grid-columns:1;}}/* Start custom CSS for loop-grid, class: .elementor-element-dfedb4b *//* 1. FORCE THE LAYOUT TO STAY IN ORDER */
/* This targets the individual item in your loop to ensure they stack vertically */
.elementor-676 .elementor-element.elementor-element-dfedb4b .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* 2. TARGET THE IMAGE WRAPPER (The actual fix for overlapping) */
/* We apply the aspect ratio to the WIDGET container, not just the image */
.elementor-676 .elementor-element.elementor-element-dfedb4b .elementor-widget-image, 
.elementor-676 .elementor-element.elementor-element-dfedb4b .elementor-widget-woocommerce-product-images {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    position: relative !important; /* Forces it to stay in the document flow */
    overflow: hidden !important;
    margin-bottom: 15px !important; /* Pushes the title down */
}

.elementor-676 .elementor-element.elementor-element-dfedb4b img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
}

/* 3. THE MAIN ADD TO CART BUTTON */
.elementor-676 .elementor-element.elementor-element-dfedb4b .add_to_cart_button, 
.elementor-676 .elementor-element.elementor-element-dfedb4b .button.product_type_simple,
.elementor-676 .elementor-element.elementor-element-dfedb4b .elementor-button.elementor-size-sm {
    background: linear-gradient(135deg, #29ABE2, #E91E63, #FBB03B) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-radius: 50px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: auto !important; /* Pushes button to bottom if titles are different lengths */
}

.elementor-676 .elementor-element.elementor-element-dfedb4b .add_to_cart_button:hover {
    transform: translateY(-3px) scale(1.02);
    filter: brightness(1.1);
    box-shadow: 0 10px 25px rgba(233, 30, 99, 0.4) !important;
}

/* 4. TITLE & PRICE SPACING */
.elementor-676 .elementor-element.elementor-element-dfedb4b .woocommerce-loop-product__title {
    text-align: center !important;
    display: block !important;
    margin-bottom: 10px !important;
    margin-top: 0 !important;
    padding: 0 10px !important;
    min-height: 2.4em; /* Ensures boxes stay aligned even if titles are 1 vs 2 lines */
}

.elementor-676 .elementor-element.elementor-element-dfedb4b .price {
    text-align: center !important;
    display: block !important;
    margin-bottom: 15px !important;
    color: #E91E63 !important;
    font-weight: 800 !important;
    font-size: 1.2rem !important;
}

/* 5. CLEANUP VIEW CART BUTTON */
.elementor-676 .elementor-element.elementor-element-dfedb4b .added_to_cart.wc-forward {
    background: transparent !important;
    color: #E91E63 !important;
    border: 2px solid #E91E63 !important;
    padding: 10px 20px !important;
    border-radius: 50px !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 10px !important;
    text-decoration: none !important;
    font-size: 13px !important;
}

.elementor-676 .elementor-element.elementor-element-dfedb4b .add_to_cart_button.added::after {
    display: none !important;
}/* End custom CSS */