/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.2.2
Updated: 2025-10-21 21:56:28

*/


/* ==========================================================================
   Elementor-style WooCommerce archive grid
   ========================================================================== */

/* Base grid layout (matches Elementor 4-up presentation) */
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.tax-product_type_custom ul.products,
body.tax-type ul.products,
body.tax-types ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	grid-column-gap: 20px !important;
	grid-row-gap: 40px !important;
	margin: 60px 0 80px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-shop ul.products:before,
body.post-type-archive-product ul.products:before,
body.tax-product_cat ul.products:before,
body.tax-product_tag ul.products:before,
body.tax-product_type_custom ul.products:before,
body.tax-type ul.products:before,
body.tax-types ul.products:before,
body.woocommerce-shop ul.products:after,
body.post-type-archive-product ul.products:after,
body.tax-product_cat ul.products:after,
body.tax-product_tag ul.products:after,
body.tax-product_type_custom ul.products:after,
body.tax-type ul.products:after,
body.tax-types ul.products:after {
	content: none !important;
}

/* Reset the legacy float/margins and mimic Elementor styling */
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product,
body.tax-product_type_custom ul.products li.product,
body.tax-type ul.products li.product,
body.tax-types ul.products li.product {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	float: none !important;
	clear: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	text-align: center !important;
	position: static !important;
}

/* Clickable area layout */
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_type_custom ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-type ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-types ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	flex: 1 1 auto;
	text-decoration: none;
	padding: 0 !important;
	color: #7a7a7a;
	font-family: "Montserrat", sans-serif;
	min-height: 340px;
	position: relative;
}

/* Reserve space for ratings when product has no reviews */
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link::after,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-product_type_custom ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-type ul.products li.product a.woocommerce-LoopProduct-link::after,
body.tax-types ul.products li.product a.woocommerce-LoopProduct-link::after {
	content: "";
	display: block;
	height: 22px;
}

body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link:has(.star-rating)::after,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link:has(.star-rating)::after,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link:has(.star-rating)::after,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link:has(.star-rating)::after,
body.tax-product_type_custom ul.products li.product a.woocommerce-LoopProduct-link:has(.star-rating)::after,
body.tax-type ul.products li.product a.woocommerce-LoopProduct-link:has(.star-rating)::after,
body.tax-types ul.products li.product a.woocommerce-LoopProduct-link:has(.star-rating)::after {
	display: none;
}

/* Product image sizing (slimmer, centered) */
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link img,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-product_type_custom ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-type ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-types ul.products li.product a.woocommerce-LoopProduct-link img {
	display: block;
	margin: 0 auto 10px !important;
	max-width: 70% !important;
	width: 160px;
	height: auto;
	object-fit: contain;
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Keep all thumbnails the same vertical footprint */
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link img,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-product_type_custom ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-type ul.products li.product a.woocommerce-LoopProduct-link img,
body.tax-types ul.products li.product a.woocommerce-LoopProduct-link img {
	min-height: 160px;
}

/* Product title */
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
body.tax-product_type_custom ul.products li.product .woocommerce-loop-product__title,
body.tax-type ul.products li.product .woocommerce-loop-product__title,
body.tax-types ul.products li.product .woocommerce-loop-product__title {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.3;
	color: #4b4b4b;
	margin: 8px 0 4px !important;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Rating */
body.woocommerce-shop ul.products li.product .star-rating,
body.post-type-archive-product ul.products li.product .star-rating,
body.tax-product_cat ul.products li.product .star-rating,
body.tax-product_tag ul.products li.product .star-rating,
body.tax-product_type_custom ul.products li.product .star-rating,
body.tax-type ul.products li.product .star-rating,
body.tax-types ul.products li.product .star-rating {
	min-height: 22px;
	display: flex;
	align-items: center;
	margin: 0 auto 6px !important;
	float: none !important;
}

/* Price */
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price,
body.tax-product_type_custom ul.products li.product .price,
body.tax-type ul.products li.product .price,
body.tax-types ul.products li.product .price {
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	color: #7a7a7a;
	margin-bottom: 8px !important;
}

/* Add to cart button */
body.woocommerce-shop ul.products li.product a.button,
body.post-type-archive-product ul.products li.product a.button,
body.tax-product_cat ul.products li.product a.button,
body.tax-product_tag ul.products li.product a.button,
body.tax-product_type_custom ul.products li.product a.button,
body.tax-type ul.products li.product a.button,
body.tax-types ul.products li.product a.button {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid #4b4b4b;
	border-radius: 999px;
	background: transparent;
	color: #4b4b4b;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	transition: all 0.25s ease;
	align-self: center;
}

body.woocommerce-shop ul.products li.product a.button:hover,
body.post-type-archive-product ul.products li.product a.button:hover,
body.tax-product_cat ul.products li.product a.button:hover,
body.tax-product_tag ul.products li.product a.button:hover,
body.tax-product_type_custom ul.products li.product a.button:hover,
body.tax-type ul.products li.product a.button:hover,
body.tax-types ul.products li.product a.button:hover {
	background: #4b4b4b;
	color: #fff;
}

/* Reset upsell/cross-sell grids to prevent stretched buttons */
.single-product .upsells ul.products,
.single-product .cross-sells ul.products {
	display: flex !important;
	flex-wrap: wrap;
	gap: 30px;
	margin: 0 0 40px !important;
	padding: 0 !important;
}

.single-product .upsells ul.products li.product,
.single-product .cross-sells ul.products li.product {
	display: block !important;
	flex: 1 1 calc(25% - 30px);
	max-width: calc(25% - 30px);
	min-height: auto !important;
	padding: 0 !important;
}

.single-product .upsells ul.products li.product .woocommerce-LoopProduct-link,
.single-product .cross-sells ul.products li.product .woocommerce-LoopProduct-link {
	min-height: auto !important;
}

.single-product .upsells ul.products li.product .button,
.single-product .cross-sells ul.products li.product .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: auto !important;
}

.elementor-widget-woocommerce-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 32px;
	margin: 40px 0;
	padding: 0;
	list-style: none;
}

.elementor-widget-woocommerce-products ul.products li.product {
	display: block !important;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 16px;
	padding: 20px;
	background: #fff;
	box-shadow: 0 12px 24px rgba(0,0,0,0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	text-align: center !important;
}

.elementor-widget-woocommerce-products ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px rgba(0,0,0,0.08);
}

.elementor-widget-woocommerce-products ul.products li.product .woocommerce-LoopProduct-link {
	display: block !important;
	padding: 0 !important;
	min-height: auto !important;
	color: inherit;
	text-decoration: none;
}

.elementor-widget-woocommerce-products ul.products li.product .woocommerce-LoopProduct-link img {
	margin: 0 auto 16px !important;
	width: 160px;
	height: auto;
	object-fit: contain;
}

.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title {
	min-height: auto;
	margin-bottom: 12px !important;
}

.elementor-widget-woocommerce-products ul.products li.product .star-rating {
	justify-content: center;
	margin-bottom: 12px !important;
}

.elementor-widget-woocommerce-products ul.products li.product a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: auto !important;
	padding: 10px 20px;
	border-radius: 999px;
	margin-top: 16px;
}

/* Responsive behaviour similar to Elementor defaults */
@media (max-width: 1024px) {
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.tax-product_type_custom ul.products,
body.tax-type ul.products,
body.tax-types ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 767px) {
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.tax-product_type_custom ul.products,
body.tax-type ul.products,
body.tax-types ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		grid-row-gap: 32px !important;
	}
}

@media (max-width: 479px) {
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.tax-product_type_custom ul.products,
body.tax-type ul.products,
body.tax-types ul.products {
		grid-template-columns: 1fr !important;
	}
}
