/* Luzrosa — product cards (site-wide) + shop header and momento filters */

:root{
	--lzt-accent:#D1567E;
	--lzt-accent-deep:#A83A5C;
	--lzt-ink:#3B2432;
	--lzt-ink-2:#7D5B69;
	--lzt-border:#E9D3DA;
	--lzt-surface:#FFF8FA;
	--lzt-surface-alt:#F5E6EB;
}

/* ---------- product grid ---------- */

#page ul.products{
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px;
	margin:0 0 2em !important;
}
#page ul.products::before,
#page ul.products::after{display:none !important}
@media (min-width:768px){
	#page ul.products{gap:24px}
	#page ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
	#page ul.products.columns-4,
	#page ul.products.columns-5,
	#page ul.products.columns-6{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ---------- product card ---------- */

#page ul.products li.product{
	position:relative;
	display:flex;
	flex-direction:column;
	width:auto !important;
	float:none !important;
	margin:0 !important;
	padding:0 0 14px;
	background:#fff;
	border:1px solid var(--lzt-border);
	border-radius:16px;
	overflow:hidden;
	text-align:left;
	transition:box-shadow .25s ease,transform .25s ease;
}
#page ul.products li.product:hover{
	box-shadow:0 14px 32px rgba(59,36,48,.12);
	transform:translateY(-3px);
}
#page ul.products li.product.lzt-hidden{display:none !important}

#page ul.products li.product > a.woocommerce-LoopProduct-link{
	display:flex;
	flex-direction:column;
	flex:1;
	color:var(--lzt-ink);
	text-decoration:none;
}

/* photo: square, edge to edge; the flipper plugin's hover photo fades in */
#page ul.products li.product .tp-image-wrapper,
#page ul.products li.product > a > img{
	aspect-ratio:1/1;
	margin:0 0 12px !important;
	background:var(--lzt-surface-alt);
	overflow:hidden;
}
#page ul.products li.product .tp-image-wrapper{position:relative}
#page ul.products li.product img{
	width:100%;
	height:100%;
	object-fit:cover;
	margin:0 !important;
	border-radius:0;
	transition:transform .5s ease;
}
#page ul.products li.product:hover .tp-image-wrapper img.tp-image,
#page ul.products li.product:hover > a > img{transform:scale(1.04)}

.lzt-card__tag{
	position:absolute;
	top:10px;
	left:10px;
	z-index:2;
	padding:4px 10px;
	border-radius:999px;
	background:rgba(255,255,255,.92);
	color:var(--lzt-accent-deep);
	font-size:.72rem;
	font-weight:600;
	letter-spacing:.02em;
	box-shadow:0 2px 8px rgba(59,36,48,.10);
}

#page ul.products li.product .woocommerce-loop-product__title{
	margin:0 14px 6px !important;
	padding:0 !important;
	color:var(--lzt-ink);
	font-size:1rem !important;
	font-weight:600;
	line-height:1.3;
}
#page ul.products li.product .star-rating{
	margin:0 14px 6px !important;
	font-size:.8em;
}
#page ul.products li.product .star-rating span::before{color:var(--lzt-accent)}
#page ul.products li.product .price{
	display:block;
	margin:auto 14px 12px !important;
	color:var(--lzt-ink) !important;
	font-size:1.05rem;
	font-weight:700;
}
.lzt-price__from{
	color:var(--lzt-ink-2);
	font-size:.8em;
	font-weight:500;
}
#page ul.products li.product .onsale{
	position:absolute;
	top:10px;
	right:10px;
	z-index:2;
	margin:0;
	padding:4px 10px;
	border:0;
	border-radius:999px;
	background:var(--lzt-accent);
	color:#fff;
	font-size:.72rem;
}

#page ul.products li.product .button{
	display:block;
	margin:0 14px !important;
	padding:.7em 1em !important;
	border:0;
	border-radius:999px;
	background:var(--lzt-accent) !important;
	color:#fff !important;
	font-size:.95rem !important;
	font-weight:600;
	line-height:1.2;
	text-align:center;
	text-shadow:none;
	transition:background-color .2s ease;
}
#page ul.products li.product .button:hover,
#page ul.products li.product .button:focus-visible{background:var(--lzt-accent-deep) !important}
#page ul.products li.product .added_to_cart{margin:6px 14px 0;font-size:.85em}

@media (max-width:480px){
	#page ul.products li.product .woocommerce-loop-product__title{font-size:.9rem !important;margin:0 10px 4px !important}
	#page ul.products li.product .price{margin:auto 10px 10px !important;font-size:.95rem}
	#page ul.products li.product .star-rating{margin:0 10px 4px !important}
	#page ul.products li.product .button{margin:0 10px !important;font-size:.85rem !important}
}

/* ---------- shop header ---------- */

.lzt-tienda .lzt-hero{
	margin:0 0 20px;
	padding:36px 24px;
	border-radius:24px;
	background:
		radial-gradient(circle at 12% 20%,rgba(209,86,126,.14),transparent 45%),
		radial-gradient(circle at 88% 80%,rgba(209,86,126,.10),transparent 40%),
		var(--lzt-surface);
	text-align:center;
}
.lzt-hero__eyebrow{
	margin:0 0 8px;
	color:var(--lzt-accent-deep);
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.lzt-tienda .lzt-hero__title{
	max-width:20ch;
	margin:0 auto 12px;
	color:var(--lzt-ink);
	font-size:clamp(1.7rem,4vw,2.6rem);
	font-weight:700;
	line-height:1.15;
}
.lzt-hero__subtitle{
	max-width:58ch;
	margin:0 auto 18px;
	color:var(--lzt-ink-2);
	font-size:1.02rem;
	line-height:1.55;
}
.lzt-hero__points{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:8px;
	margin:0;
	padding:0;
	list-style:none;
}
.lzt-hero__points li{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 12px;
	border:1px solid var(--lzt-border);
	border-radius:999px;
	background:#fff;
	color:var(--lzt-ink);
	font-size:.85rem;
}
.lzt-hero__points li::before{
	content:"";
	width:14px;
	height:14px;
	flex:none;
	background:var(--lzt-accent);
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.2 11.6 2.8 8.2l1.1-1.1 2.3 2.3 5.9-5.9 1.1 1.1z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.2 11.6 2.8 8.2l1.1-1.1 2.3 2.3 5.9-5.9 1.1 1.1z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---------- momento filters ---------- */

.lzt-filters{
	position:relative;
	display:flex;
	gap:8px;
	margin:0 0 20px;
	padding:2px 2px 8px;
	overflow-x:auto;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
}
.lzt-filters::-webkit-scrollbar{display:none}
@media (min-width:768px){
	.lzt-filters{flex-wrap:wrap;justify-content:center;overflow:visible}
}
.lzt-chip{
	display:inline-flex;
	flex:none;
	align-items:center;
	gap:8px;
	padding:5px 14px 5px 5px;
	border:1px solid var(--lzt-border);
	border-radius:999px;
	background:#fff;
	color:var(--lzt-ink) !important;
	font-size:.92rem;
	font-weight:600;
	text-decoration:none !important;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
.lzt-chip:not(:has(.lzt-chip__img)){padding-left:16px}
.lzt-chip:hover{border-color:var(--lzt-accent);background:var(--lzt-surface)}
.lzt-chip:focus-visible{outline:2px solid var(--lzt-accent);outline-offset:2px}
.lzt-chip.is-active{
	border-color:var(--lzt-accent);
	background:var(--lzt-accent);
	color:#fff !important;
}
.lzt-chip__img{
	width:28px;
	height:28px;
	border-radius:50%;
	object-fit:cover;
}
.lzt-chip__count{
	min-width:22px;
	padding:1px 7px;
	border-radius:999px;
	background:var(--lzt-surface-alt);
	color:var(--lzt-accent-deep);
	font-size:.75rem;
	text-align:center;
}
.lzt-chip.is-active .lzt-chip__count{background:rgba(255,255,255,.25);color:#fff}

.lzt-empty{
	margin:0 0 2em;
	color:var(--lzt-ink-2);
	text-align:center;
}

/* ---------- toolbar and pagination ---------- */

.lzt-tienda .storefront-sorting{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:18px;
	padding:0;
	border:0;
	font-size:.9rem;
}
.lzt-tienda .storefront-sorting .woocommerce-ordering,
.lzt-tienda .storefront-sorting .woocommerce-result-count{float:none;margin:0;padding:0}
.lzt-tienda .storefront-sorting .woocommerce-result-count{color:var(--lzt-ink-2)}
.lzt-tienda .woocommerce-ordering select{
	padding:8px 34px 8px 14px;
	border:1px solid var(--lzt-border);
	border-radius:999px;
	background-color:#fff;
	color:var(--lzt-ink);
}
.lzt-tienda .woocommerce-pagination .page-numbers li .page-numbers{
	min-width:38px;
	border-radius:999px;
	background:#fff;
	border:1px solid var(--lzt-border);
	color:var(--lzt-ink);
}
.lzt-tienda .woocommerce-pagination .page-numbers li .page-numbers.current,
.lzt-tienda .woocommerce-pagination .page-numbers li a.page-numbers:hover{
	background:var(--lzt-accent);
	border-color:var(--lzt-accent);
	color:#fff;
}

/* ---------- phones ---------- */

@media (max-width:767px){
	/* the site's own CSS drops the side gutter on phones */
	.lzt-tienda .site-main{padding:0 12px}
	.lzt-tienda .lzt-hero{margin-top:8px;padding:24px 16px;border-radius:18px}
	.lzt-hero__eyebrow{font-size:.7rem}
	.lzt-hero__subtitle{margin-bottom:14px;font-size:.92rem}
	.lzt-hero__points li{padding:4px 10px;font-size:.78rem}
	.lzt-filters{margin:0 -12px 14px;padding:2px 12px 8px}
	.lzt-chip{font-size:.85rem}
	.lzt-tienda .storefront-sorting{font-size:.85rem}
}
