.sp-grid-wrap{
	font-family:'Inter', sans-serif;
	max-width:1200px;
	margin:0 auto;
	padding:0 clamp(16px, 4vw, 40px);
}

/* ---------- Barra de filtros ---------- */
.sp-filter-bar{
	display:flex;
	flex-wrap:wrap;
	align-items:end;
	gap:16px;
	background:#fff;
	border:1px solid #ece6da;
	border-radius:14px;
	padding:18px 20px;
	margin-bottom:20px;
	box-shadow:0 6px 20px rgba(20,15,10,.05);
}
.sp-filter-field{ flex:1; min-width:140px; }
.sp-filter-price-group{ display:flex; gap:6px; }
.sp-filter-price-group select{ flex:0 0 68px; width:68px; padding-right:22px !important; }
.sp-filter-price-group input{ flex:1; }
.sp-filter-field label{
	display:block; font-size:.75rem; font-weight:600; text-transform:uppercase;
	letter-spacing:.03em; color:#8a8378; margin-bottom:5px;
}
.sp-filter-field select,
.sp-filter-field input{
	width:100%; padding:9px 11px; border:1px solid #ddd6cb; border-radius:8px;
	font-family:'Inter', sans-serif; font-size:.92rem; color:#221a12;
	box-sizing:border-box; accent-color:#c1391f;
}
.sp-filter-field select{
	appearance:none; -webkit-appearance:none; cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a5148' stroke-width='1.5' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 11px center;
	padding-right:30px;
}
.sp-filter-btn{
	background:#c1391f !important; color:#fff !important; border:none !important; padding:11px 24px;
	border-radius:8px; font-weight:600; font-size:.92rem; cursor:pointer;
	white-space:nowrap;
}
.sp-filter-btn:hover{ background:#a52e17 !important; }

.sp-result-count{
	font-size:.88rem; color:#8a8378; margin-bottom:16px;
}

/* ---------- Grid + tarjetas ---------- */
.sp-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
	gap:22px;
	margin-bottom:32px;
}

.sp-card{
	display:block;
	text-decoration:none;
	color:inherit;
	border-radius:14px;
	overflow:hidden;
	background:#fff;
	border:1px solid #ece6da;
	transition:box-shadow .2s ease, transform .2s ease;
}
.sp-card:hover{
	box-shadow:0 14px 30px rgba(20,15,10,.12);
	transform:translateY(-2px);
}
.sp-card.is-featured{
	border:1.5px solid #e8b360;
}

.sp-card-img{
	position:relative;
	aspect-ratio:4/3;
	background:#f2ede2;
}
.sp-card-img img{
	width:100%; height:100%; object-fit:cover; display:block;
}
.sp-card-img-placeholder{
	width:100%; height:100%;
	background:linear-gradient(135deg, #ece6da, #f7f3ea);
}
.sp-card-op{
	position:absolute; top:10px; left:10px;
	background:rgba(16,21,28,.75); color:#f6f1e7;
	font-size:.72rem; font-weight:600;
	padding:4px 10px; border-radius:100px;
}
.sp-card-badge{
	position:absolute; top:10px; right:10px;
	background:#e8b360; color:#3a2a12;
	font-size:.72rem; font-weight:700;
	padding:4px 10px; border-radius:100px;
}

.sp-card-body{ padding:14px 16px 18px; }
.sp-card-price{
	font-family:'Fraunces', serif; font-weight:500; font-size:1.2rem; color:#1c130d;
	margin-bottom:4px;
}
.sp-card-title{
	font-size:.88rem; color:#5a5148;
	margin-bottom:8px;
	overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sp-card-specs{
	display:flex; gap:10px;
	font-size:.82rem; color:#8a8378;
	margin-bottom:6px;
}
.sp-card-comuna{
	font-size:.82rem; font-weight:600; color:#c1391f;
}

.sp-empty{
	text-align:center; padding:60px 20px; color:#8a8378;
}

/* ---------- Paginación ---------- */
.sp-pagination{
	display:flex; justify-content:center; gap:8px; margin-bottom:40px;
}
.sp-pagination a{
	display:inline-flex; align-items:center; justify-content:center;
	width:34px; height:34px;
	border-radius:8px; border:1px solid #ddd6cb;
	color:#5a5148; text-decoration:none; font-size:.88rem;
}
.sp-pagination a.is-active{
	background:#c1391f; border-color:#c1391f; color:#fff;
}

@media (max-width:600px){
	.sp-filter-bar{ flex-direction:column; align-items:stretch; }
	.sp-filter-btn{ width:100%; }
}
