.elementor-19360 .elementor-element.elementor-element-425804c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}.elementor-19360 .elementor-element.elementor-element-9bff5ce{--spacer-size:50px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-19360 .elementor-element.elementor-element-c85a321{text-align:center;}.elementor-19360 .elementor-element.elementor-element-c85a321 .elementor-heading-title{color:var( --e-global-color-astglobalcolor2 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-19360 .elementor-element.elementor-element-164575f{color:var( --e-global-color-astglobalcolor3 );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-19360 .elementor-element.elementor-element-fc60a3d{--grid-columns:3;}.elementor-19360 .elementor-element.elementor-element-6a80caa{--spacer-size:50px;}@media(max-width:1024px){.elementor-19360 .elementor-element.elementor-element-fc60a3d{--grid-columns:2;}}@media(max-width:767px){.elementor-19360 .elementor-element.elementor-element-fc60a3d{--grid-columns:1;}}/* Start custom CSS *//* Reset Elementor's masonry inline styles and create uniform grid */
.elementor-loop-container.elementor-posts-masonry .e-loop-item {
    margin-top: 0 !important; /* Override inline margin-top styles */
    margin-bottom: 2rem; /* Add consistent bottom spacing */
}

/* Ensure consistent heights for the product title containers */
.elementor-16669 .elementor-element.elementor-element-1c61fcca .elementor-widget-container {
    min-height: 3em; /* Adjust based on your typical title height */
    display: flex;
    align-items: flex-start; /* Align titles to top */
}

.elementor-16669 .elementor-element.elementor-element-1c61fcca .elementor-heading-title {
    line-height: 1.2;
    margin: 0; /* Remove default margins */
}

/* Make each loop item the same height */
.elementor-16669 .e-loop-item {
    display: flex !important;
    flex-direction: column;
}

.elementor-16669 .e-loop-item .elementor-section {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.elementor-16669 .e-loop-item .elementor-container {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.elementor-16669 .e-loop-item .elementor-column {
    flex-grow: 1;
    display: flex;
}

.elementor-16669 .e-loop-item .elementor-widget-wrap {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important; /* Override center justification */
}

/* Alternative: If you want to keep masonry but fix title heights */
.elementor-loop-container.elementor-posts-masonry.fixed-titles .e-loop-item {
    margin-top: 0 !important;
}

.elementor-loop-container.elementor-posts-masonry.fixed-titles .elementor-element-1c61fcca .elementor-heading-title {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Limit to 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2.4em; /* Height for exactly 2 lines */
    line-height: 1.2;
}

/* Option 3: Create a true CSS Grid layout (most consistent) */
.elementor-loop-container.elementor-posts-masonry.css-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    align-items: start;
}

.elementor-loop-container.elementor-posts-masonry.css-grid .e-loop-item {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.elementor-loop-container.elementor-posts-masonry.css-grid .elementor-section {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.elementor-loop-container.elementor-posts-masonry.css-grid .elementor-container {
    height: 100%;
    display: flex;
}

.elementor-loop-container.elementor-posts-masonry.css-grid .elementor-column {
    height: 100%;
    display: flex;
}

.elementor-loop-container.elementor-posts-masonry.css-grid .elementor-widget-wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important;
}/* End custom CSS */