/* =========================================
   Minto Gold Art Gallery Enhancer – Styles
   ========================================= */

:root {
	--minto-canvas: #f5f1e7;
	--minto-panel: #fffdf8;
	--minto-paper: #f8f2e7;
	--minto-ink: #1e1c18;
	--minto-muted: #5d5549;
	--minto-gold: #b48a3c;
	--minto-gold-deep: #8b6526;
	--minto-stroke: rgba(97, 78, 42, 0.25);
	--minto-shadow: 0 18px 34px rgba(26, 20, 11, 0.15);
}

.woocommerce {
	background:
		radial-gradient(circle at 10% 12%, rgba(208, 177, 110, 0.16), transparent 32%),
		radial-gradient(circle at 92% 84%, rgba(180, 138, 60, 0.11), transparent 36%),
		linear-gradient(180deg, #f7f4ec 0%, var(--minto-canvas) 100%);
}

ul.products.minto-category-masonry,
.woocommerce ul.products.minto-category-masonry {
	column-count: 4;
	column-gap: 1.7rem;
	display: block;
	margin: 0;
	padding: 0;
}

/* -- Category grid (for [product_categories]) -- */
ul.products.minto-category-masonry li.product-category,
.woocommerce ul.products.minto-category-masonry li.product-category {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.8), rgba(255, 251, 244, 0.92)),
		var(--minto-panel);
	border: 1px solid rgba(140, 106, 47, 0.28);
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(52, 35, 10, 0.1);
	overflow: hidden;
	position: relative;
	display: inline-block;
	width: 100%;
	float: none;
	margin: 0 0 1.7rem !important;
	break-inside: avoid;
	vertical-align: top;
	transform: translateY(10px);
	opacity: 0;
	transition: transform 0.65s cubic-bezier(0.2, 0.85, 0.3, 1), box-shadow 0.28s ease, opacity 0.5s ease;
}

ul.products.minto-category-masonry li.product-category::before,
.woocommerce ul.products.minto-category-masonry li.product-category::before {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid rgba(255, 245, 221, 0.68);
	pointer-events: none;
}

ul.products.minto-category-masonry li.product-category::after,
.woocommerce ul.products.minto-category-masonry li.product-category::after {
	content: '';
	position: absolute;
	inset: 12px;
	border: 1px solid rgba(180, 138, 60, 0.18);
	border-radius: 8px;
	pointer-events: none;
	opacity: 0.9;
}

ul.products.minto-category-masonry li.product-category.is-visible,
.woocommerce ul.products.minto-category-masonry li.product-category.is-visible {
	transform: translateY(0);
	opacity: 1;
}

ul.products.minto-category-masonry li.product-category:hover,
.woocommerce ul.products.minto-category-masonry li.product-category:hover {
	transform: translateY(-5px);
	box-shadow: var(--minto-shadow);
}

ul.products.minto-category-masonry li.product-category a,
.woocommerce ul.products.minto-category-masonry li.product-category a {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
	padding: 0;
	background: linear-gradient(180deg, rgba(255, 253, 248, 0.92) 0%, rgba(251, 247, 238, 1) 100%);
}

ul.products.minto-category-masonry li.product-category .minto-category-figure,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-figure {
	position: relative;
	margin: 14px 14px 0;
	padding: 10px;
	background:
		linear-gradient(135deg, rgba(196, 156, 84, 0.18), rgba(255, 247, 224, 0.5) 30%, rgba(124, 90, 35, 0.16) 100%),
		linear-gradient(180deg, #fcfaf5 0%, #efe4cf 100%);
	border: 1px solid rgba(164, 125, 55, 0.42);
	box-shadow:
		inset 0 0 0 1px rgba(255, 246, 223, 0.72),
		0 10px 18px rgba(70, 48, 15, 0.08);
}

ul.products.minto-category-masonry li.product-category .minto-category-figure::before,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-figure::before {
	content: '';
	position: absolute;
	inset: 4px;
	border: 1px solid rgba(255, 244, 209, 0.7);
	pointer-events: none;
}

ul.products.minto-category-masonry li.product-category img,
.woocommerce ul.products.minto-category-masonry li.product-category img {
	width: 100%;
	aspect-ratio: 4 / 5.35;
	object-fit: cover;
	display: block;
	filter: saturate(0.93) contrast(1.05);
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.1, 1), filter 0.5s ease;
	background: #e8dfce;
}

ul.products.minto-category-masonry li.product-category:nth-child(4n + 1) img,
.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n + 1) img {
	aspect-ratio: 4 / 5.85;
}

ul.products.minto-category-masonry li.product-category:nth-child(4n + 2) img,
.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n + 2) img {
	aspect-ratio: 4 / 4.9;
}

ul.products.minto-category-masonry li.product-category:nth-child(4n + 3) img,
.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n + 3) img {
	aspect-ratio: 4 / 5.45;
}

ul.products.minto-category-masonry li.product-category:nth-child(4n) img,
.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n) img {
	aspect-ratio: 4 / 6.1;
}

ul.products.minto-category-masonry li.product-category:hover img,
.woocommerce ul.products.minto-category-masonry li.product-category:hover img {
	transform: scale(1.05);
	filter: saturate(1) contrast(1.08);
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel {
	position: relative;
	margin: 0 14px 14px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	clear: both;
	background:
		radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.58), transparent 28%),
		repeating-linear-gradient(0deg, rgba(124, 96, 42, 0.03) 0, rgba(124, 96, 42, 0.03) 1px, transparent 1px, transparent 7px),
		linear-gradient(180deg, rgba(249, 243, 232, 0.98) 0%, rgba(244, 236, 222, 0.98) 100%);
	border-top: 1px solid rgba(180, 138, 60, 0.16);
	box-shadow: inset 0 1px 0 rgba(255, 250, 240, 0.7);
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-classic,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-classic {
	background:
		radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.58), transparent 28%),
		repeating-linear-gradient(0deg, rgba(124, 96, 42, 0.03) 0, rgba(124, 96, 42, 0.03) 1px, transparent 1px, transparent 7px),
		linear-gradient(180deg, rgba(249, 243, 232, 0.98) 0%, rgba(244, 236, 222, 0.98) 100%);
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-warm,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-warm {
	background:
		radial-gradient(circle at 18% 16%, rgba(255, 248, 227, 0.7), transparent 30%),
		repeating-linear-gradient(0deg, rgba(154, 108, 39, 0.03) 0, rgba(154, 108, 39, 0.03) 1px, transparent 1px, transparent 8px),
		linear-gradient(180deg, rgba(251, 239, 220, 0.98) 0%, rgba(239, 220, 190, 0.98) 100%);
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic {
	background:
		radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.08), transparent 30%),
		repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.02) 0, rgba(255, 255, 255, 0.02) 1px, transparent 1px, transparent 8px),
		linear-gradient(180deg, rgba(51, 39, 24, 0.98) 0%, rgba(28, 22, 15, 0.98) 100%);
	border-top-color: rgba(212, 177, 101, 0.28);
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene {
	background:
		radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.7), transparent 30%),
		repeating-linear-gradient(0deg, rgba(87, 110, 112, 0.03) 0, rgba(87, 110, 112, 0.03) 1px, transparent 1px, transparent 8px),
		linear-gradient(180deg, rgba(236, 241, 238, 0.98) 0%, rgba(217, 228, 223, 0.98) 100%);
	border-top-color: rgba(95, 120, 119, 0.22);
}

ul.products.minto-category-masonry li.product-category .woocommerce-loop-category__title,
.woocommerce ul.products.minto-category-masonry li.product-category .woocommerce-loop-category__title {
	font-family: 'Bodoni MT', 'Didot', 'Times New Roman', serif;
	font-size: clamp(1.08rem, 1.65vw, 1.5rem);
	letter-spacing: 0.04em;
	font-weight: 700;
	line-height: 1.3;
	color: var(--minto-ink);
	padding: 1.3rem 1.45rem 0;
	margin: 0 !important;
	position: static !important;
	float: none !important;
	display: block !important;
	width: 100% !important;
	clear: both !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
	text-transform: uppercase;
	text-wrap: balance;
}

ul.products.minto-category-masonry li.product-category .woocommerce-loop-category__title .count,
.woocommerce ul.products.minto-category-masonry li.product-category .woocommerce-loop-category__title .count {
	display: none;
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic .woocommerce-loop-category__title,
ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic .minto-category-description,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic .woocommerce-loop-category__title,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic .minto-category-description {
	color: #f4ead1;
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene .woocommerce-loop-category__title,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene .woocommerce-loop-category__title {
	color: #243332;
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene .minto-category-description,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene .minto-category-description {
	color: #4a5d5a;
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-warm .minto-category-description,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-warm .minto-category-description {
	color: #6d5330;
}

ul.products.minto-category-masonry li.product-category .minto-category-description,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-description {
	margin: 0;
	padding: 0.85rem 1.45rem 1.6rem;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 0.97rem;
	line-height: 1.65;
	letter-spacing: 0.01em;
	color: var(--minto-muted);
	text-align: center;
	text-wrap: pretty;
	text-decoration: none !important;
	flex-grow: 1;
	position: relative;
	float: none !important;
	display: block !important;
	width: 100% !important;
	clear: both !important;
}

ul.products.minto-category-masonry li.product-category .minto-category-description::before,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-description::before {
	content: '';
	display: block;
	width: 44px;
	height: 1px;
	margin: 0 auto 0.9rem;
	background: linear-gradient(90deg, transparent 0%, rgba(180, 138, 60, 0.9) 50%, transparent 100%);
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic .minto-category-description::before,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-dramatic .minto-category-description::before {
	background: linear-gradient(90deg, transparent 0%, rgba(233, 204, 139, 0.9) 50%, transparent 100%);
}

ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene .minto-category-description::before,
.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel.minto-tone-serene .minto-category-description::before {
	background: linear-gradient(90deg, transparent 0%, rgba(103, 134, 129, 0.82) 50%, transparent 100%);
}

@media (max-width: 782px) {
	ul.products.minto-category-masonry,
	.woocommerce ul.products.minto-category-masonry {
		column-count: 1;
		column-gap: 0;
	}

	ul.products.minto-category-masonry li.product-category,
	.woocommerce ul.products.minto-category-masonry li.product-category {
		border-radius: 8px;
	}

	ul.products.minto-category-masonry li.product-category .minto-category-figure,
	.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-figure {
		margin: 10px 10px 0;
		padding: 7px;
	}

	ul.products.minto-category-masonry li.product-category img,
	ul.products.minto-category-masonry li.product-category:nth-child(4n + 1) img,
	ul.products.minto-category-masonry li.product-category:nth-child(4n + 2) img,
	ul.products.minto-category-masonry li.product-category:nth-child(4n + 3) img,
	ul.products.minto-category-masonry li.product-category:nth-child(4n) img,
	.woocommerce ul.products.minto-category-masonry li.product-category img,
	.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n + 1) img,
	.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n + 2) img,
	.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n + 3) img,
	.woocommerce ul.products.minto-category-masonry li.product-category:nth-child(4n) img {
		aspect-ratio: 4 / 5.1;
	}

	ul.products.minto-category-masonry li.product-category .minto-category-caption-panel,
	.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-caption-panel {
		margin: 0 10px 10px;
	}

	ul.products.minto-category-masonry li.product-category .woocommerce-loop-category__title,
	.woocommerce ul.products.minto-category-masonry li.product-category .woocommerce-loop-category__title {
		font-size: 1.04rem;
		padding: 0.95rem 0.9rem 0;
	}

	ul.products.minto-category-masonry li.product-category .minto-category-description,
	.woocommerce ul.products.minto-category-masonry li.product-category .minto-category-description {
		padding: 0.65rem 1rem 1rem;
		font-size: 0.9rem;
	}
}

@media (min-width: 783px) and (max-width: 1024px) {
	ul.products.minto-category-masonry,
	.woocommerce ul.products.minto-category-masonry {
		column-count: 3;
	}
}

@media (min-width: 1025px) and (max-width: 1280px) {
	ul.products.minto-category-masonry,
	.woocommerce ul.products.minto-category-masonry {
		column-count: 4;
	}
}

/* -- Art Card (shop loop) -- */
.minto-art-card {
	background: #fff;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	display: flex;
	flex-direction: column;
}

.minto-art-card:hover {
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
	transform: translateY(-3px);
}

.minto-art-card img {
	width: 100%;
	height: auto;
	display: block;
}

/* -- Short description under title -- */
.minto-art-desc {
	font-size: 0.875rem;
	color: #666;
	line-height: 1.5;
	margin: 0.4rem 0 0.8rem;
	padding: 0 0.5rem;
}

/* -- Custom Add to Cart button -- */
.woocommerce a.button,
.woocommerce button.button {
	background-color: #b8972e;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 0.65rem 1.4rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	transition: background-color 0.2s ease;
	cursor: pointer;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background-color: #9a7a22;
	color: #fff;
}

/* -- Trust badges (single product) -- */
.minto-trust-badges {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
	margin: 1rem 0;
}

.minto-trust-badges .badge {
	display: inline-block;
	background: #f5f0e6;
	color: #7a5c1e;
	border: 1px solid #d4b96a;
	border-radius: 20px;
	padding: 0.3rem 0.9rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
