/* Dahasa Products for Elementor — base structure (most styling is per-widget via Elementor) */

.dhp-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:24px;
}

.dhp-card{
	display:flex;
	flex-direction:column;
	position:relative;
	background:#fff;
	border-radius:12px;
	overflow:hidden;
	transition:transform .25s ease, box-shadow .25s ease;
	margin:0;
}

.dhp-thumb{
	display:block;
	position:relative;
	overflow:hidden;
	aspect-ratio:1 / 1;
	background:#f3f3f3;
}
.dhp-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .4s ease;
}
.dhp-zoom:hover img{ transform:scale(1.06); }

.dhp-body{
	display:flex;
	flex-direction:column;
	gap:8px;
	padding:16px;
	flex:1 1 auto;
}

.dhp-cat{
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.06em;
	opacity:.7;
	line-height:1.2;
}
.dhp-cat a{ text-decoration:none; color:inherit; }

.dhp-title{
	margin:0;
	font-size:16px;
	line-height:1.3;
	font-weight:600;
}
.dhp-title a{ text-decoration:none; color:inherit; transition:color .2s ease; }

.dhp-rating{ line-height:1; }
.dhp-rating .star-rating{ font-size:14px; margin:0; }

.dhp-excerpt{ font-size:13px; line-height:1.5; opacity:.75; }

.dhp-price{ font-weight:700; }
.dhp-price del{ opacity:.5; font-weight:400; margin-right:4px; }
.dhp-price ins{ text-decoration:none; }

/* Push the button to the bottom of the card so cards align */
.dhp-atc{ margin-top:auto; padding-top:6px; display:flex; }
.dhp-atc .button,
.dhp-atc a.button{
	display:inline-block;
	cursor:pointer;
	line-height:1.2;
	text-decoration:none;
}
.dhp-atc .added_to_cart{ margin-left:8px; align-self:center; }

.dhp-badge{
	position:absolute;
	top:10px;
	left:10px;
	z-index:2;
	background:#dc2e2e;
	color:#fff;
	font-size:12px;
	font-weight:700;
	line-height:1;
	padding:6px 10px;
	border-radius:999px;
}

.dhp-empty{
	padding:20px;
	border:1px dashed rgba(0,0,0,.2);
	border-radius:10px;
	text-align:center;
	opacity:.7;
}

@media (max-width:1024px){
	.dhp-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:600px){
	.dhp-grid{ grid-template-columns:repeat(1, minmax(0, 1fr)); }
}
