.ewds-grid{
	display:grid;
	grid-template-columns:repeat(var(--ewds-columns,3),minmax(0,1fr));
	column-gap:var(--ewds-column-gap,var(--ewds-gap,24px));
	row-gap:var(--ewds-row-gap,var(--ewds-gap,24px));
	align-items:stretch;
}
.ewds-grid.ewds-equal-height{grid-auto-rows:1fr}
.ewds-grid .ewds-item{
	box-sizing:border-box;
	min-width:0;
	min-height:var(--ewds-item-min-height,0px);
	display:flex;
	flex-direction:column;
	justify-content:var(--ewds-item-justify,space-between);
	align-self:stretch;
}
/* Elementor template output wrapper: let each template fill the complete card height. */
.ewds-grid .ewds-item > .elementor{
	box-sizing:border-box;
	width:100%;
	min-width:0;
	min-height:inherit;
	height:100%;
	display:flex;
	flex:1 1 auto;
	flex-direction:column;
	justify-content:var(--ewds-item-justify,space-between);
}
.ewds-grid .ewds-item > .elementor > .elementor-element,
.ewds-grid .ewds-item > .elementor > .elementor-section-wrap > .elementor-element{
	max-width:100%;
}
.ewds-grid .ewds-item img{max-width:100%;height:auto}
.ewds-grid .ewds-item > .ewds-fallback-title{display:block}
.ewds-grid .ewds-fallback-title img{display:block;width:100%;height:auto}
.ewds-grid .ewds-fallback-price,.ewds-grid .ewds-fallback-excerpt{margin-top:auto}
.ewds-grid.ewds-layout-masonry{
	display:block;
	column-count:var(--ewds-columns,3);
	column-gap:var(--ewds-column-gap,var(--ewds-gap,24px));
}
.ewds-grid.ewds-layout-masonry .ewds-item{
	display:inline-flex;
	vertical-align:top;
	width:100%;
	margin:0 0 var(--ewds-row-gap,var(--ewds-gap,24px));
	break-inside:avoid;
	min-height:0;
}
.ewds-grid.ewds-layout-masonry .ewds-item > .elementor{height:auto;min-height:0}
.ewds-pagination{display:flex;gap:8px;justify-content:center;margin-top:24px;flex-wrap:wrap}
.ewds-pagination a,.ewds-pagination span{padding:8px 12px;border:1px solid #ddd;text-decoration:none}
.ewds-pagination .current{font-weight:700}
.ewds-gallery{display:grid;grid-template-columns:repeat(var(--ewds-gallery-columns,3),minmax(0,1fr));gap:10px}
.ewds-gallery-item img{display:block;width:100%;height:auto}
.ewds-sale-badge{display:inline-block;padding:5px 10px;background:#d63638;color:#fff;border-radius:3px;font-weight:700}
.ewds-product-rating{display:flex;align-items:center;gap:6px}
.ewds-rating-count{font-size:.875em;opacity:.8}
.ewds-stock-outofstock{opacity:.75}
.ewds-empty{padding:16px 0}
.ewds-product-image{width:100%;min-width:0}
.ewds-product-image > a{display:block;width:100%;height:100%}
.ewds-product-image.ewds-image-cropped{aspect-ratio:var(--ewds-image-ratio,1 / 1);overflow:hidden}
.ewds-product-image.ewds-image-cropped img{display:block;width:100%;height:100%;object-fit:var(--ewds-image-fit,cover)}
.ewds-product-image.ewds-image-natural img{display:block;max-width:100%;height:auto}
@media (min-width:768px) and (max-width:1024px){
	.ewds-grid.ewds-layout-grid{grid-template-columns:repeat(var(--ewds-columns-tablet,2),minmax(0,1fr))}
	.ewds-grid.ewds-layout-masonry{column-count:var(--ewds-columns-tablet,2)}
}
@media(max-width:767px){
	.ewds-grid.ewds-layout-grid{grid-template-columns:repeat(var(--ewds-mobile-columns,1),minmax(0,1fr))}
	.ewds-grid.ewds-layout-masonry{column-count:var(--ewds-mobile-columns,1)}
}

.ewds-category-thumbnail-image{display:inline-block;max-width:100%;height:auto;vertical-align:middle}
.ewds-category-thumbnail-link{display:inline-block;max-width:100%}
.ewds-dynamic-category-thumbnail{line-height:0}
.ewds-dynamic-category-thumbnail img{line-height:normal}

.ewds-field-preview-notice{display:block;padding:8px 10px;border:1px dashed #dba617;background:#fff8dc;color:#6e5200;font-size:12px;line-height:1.45;}

/* SVG-safe category thumbnails: preserve aspect ratio and allow theme/widget sizing. */
.ewds-category-thumbnail-image{height:auto;max-width:100%;object-fit:contain}
.ewds-category-thumbnail-link{display:inline-block;max-width:100%}


/* Wrapper links: clearly indicate that the whole element is clickable. */
[data-ewds-wrapper-link="yes"][data-ewds-wrapper-href],
[data-ewds-wrapper-link="yes"][data-ewds-wrapper-href] * {
	cursor: pointer !important;
}
/* Keep the expected text-entry cursor inside editable form controls. */
[data-ewds-wrapper-link="yes"][data-ewds-wrapper-href] input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
[data-ewds-wrapper-link="yes"][data-ewds-wrapper-href] textarea,
[data-ewds-wrapper-link="yes"][data-ewds-wrapper-href] [contenteditable="true"] {
	cursor: text !important;
}
