/* Oréa product cards and the product list. The merchant’s Elementor layout paints the card. */

.orea-products {
	display: grid;
	grid-template-columns: repeat(var(--orea-cols, 3), minmax(0, 1fr));
	gap: var(--orea-gap, 22px);
	margin: 0;
	padding: 0;
}

.orea-product-card {
	min-width: 0;
	position: relative;
}

.orea-product-image-wrap img,
.orea-product-image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: #e7e0d6;
}

.orea-product-title {
	font-family: "Cormorant Garamond", "Iowan Old Style", Palatino, serif;
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin: 0.75rem 0 0.25rem;
}

.orea-product-title a {
	color: #1b1814;
	text-decoration: none;
}

.orea-product-title a:hover,
.orea-product-title a:focus-visible {
	color: #7a5a30;
}

.orea-product-price {
	margin: 0.2rem 0 0.7rem;
	color: #1b1814;
}

.orea-product-excerpt,
.orea-product-description {
	color: #3c362f;
	font-size: 0.98rem;
}

.orea-product-badge {
	display: inline-block;
	background: #7a5a30;
	color: #fff;
	padding: 0.4rem 0.55rem;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1;
}

.orea-product-card .orea-product-badge {
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	z-index: 2;
}

.orea-product-cart .button,
.orea-product-cart a.button {
	display: inline-block;
	background: #1b1814;
	color: #fbf9f6;
	border: 1px solid #1b1814;
	border-radius: 0;
	font-family: "Source Sans 3", "Segoe UI", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.9rem 1.3rem;
}

.orea-product-placeholder {
	padding: 0.8rem 1rem;
	border: 1px dashed #c4a574;
	background: #fbf9f6;
	color: #1b1814;
	font-family: "Source Sans 3", "Segoe UI", sans-serif;
	font-size: 0.95rem;
}

.orea-products-pages {
	margin-top: 1.5rem;
}

@media (max-width: 1024px) {
	.orea-products {
		grid-template-columns: repeat(var(--orea-cols-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.orea-products {
		grid-template-columns: repeat(var(--orea-cols-mobile, 1), minmax(0, 1fr));
	}
}
