:root{
	--bmj-claro:#C6A583;
	--bmj-oscuro:#6D112C;
	--bmj-bg:#ffffff;
	--bmj-text:#1a1a1a;
	--bmj-muted:#6b6b6b;
	--bmj-border:rgba(0,0,0,.12);
}

.bmj-layout{
	font-family:Anglecia-Pro-Display, Georgia, "Times New Roman", serif;
	color:var(--bmj-text);
}

.bmj-layout--buscador{
	width:100%;
}

.bmj-buscador-form{
	width:100%;
}

.bmj-buscador-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:46px;
	align-items:end;
}

.bmj-buscador-col{
	display:flex;
	flex-direction:column;
	gap:26px;
}

.bmj-buscador-row{
	display:flex;
	gap:28px;
	align-items:center;
}

.bmj-buscador-input{
	width:100%;
	height:56px;
	border-radius:14px;
	padding:0 20px;
	font-size:28px;
	line-height:1;
	font-family:Anglecia-Pro-Display, Georgia, "Times New Roman", serif;
}

.bmj-buscador-input--beige{
	background:rgba(198,165,131,.22);
	border:1px solid rgba(0,0,0,.06);
	color:var(--bmj-claro);
	box-shadow:0 8px 18px rgba(0,0,0,.04);
}

.bmj-buscador-input--beige::placeholder{
	color:var(--bmj-claro);
	opacity:1;
}

.bmj-buscador-input--outline{
	background:#fff;
	border:2px solid var(--bmj-oscuro);
	color:var(--bmj-oscuro);
	box-shadow:0 8px 18px rgba(0,0,0,.04);
}

.bmj-buscador-input--outline::placeholder{
	color:var(--bmj-oscuro);
	opacity:1;
}

.bmj-buscador-input:focus{
	outline:none;
	box-shadow:0 0 0 4px rgba(109,17,44,.12), 0 8px 18px rgba(0,0,0,.04);
}

.bmj-buscador-select{
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	padding-right:56px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='M2 2l7 7 7-7' fill='none' stroke='%23C6A583' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 18px center;
}

.bmj-buscador-btn{
	height:56px;
	padding:0 34px;
	border-radius:14px;
	border:2px solid var(--bmj-oscuro);
	background:var(--bmj-oscuro);
	color:#fff;
	font-size:28px;
	font-family:Anglecia-Pro-Display, Georgia, "Times New Roman", serif;
	cursor:pointer;
	box-shadow:0 8px 18px rgba(0,0,0,.06);
	white-space:nowrap;
}

.bmj-buscador-btn:hover{
	filter:brightness(1.05);
}

.bmj-results--hidden{
	display:none;
}

.bmj-form{
	background:var(--bmj-bg);
	border:1px solid var(--bmj-border);
	border-radius:16px;
	padding:16px;
	box-shadow:0 10px 30px rgba(0,0,0,.06);
}

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

.bmj-field-head{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 6px 0;
}

.bmj-field-icon{
	width:16px;
	height:16px;
	display:block;
}

.bmj-field label{
	display:block;
	font-size:12px;
	letter-spacing:.02em;
	color:var(--bmj-muted);
	margin:0;
}

.bmj-field input{
	width:100%;
	padding:10px 12px;
	border-radius:12px;
	border:1px solid var(--bmj-border);
	outline:none;
	background:#fff;
	color:var(--bmj-text);
}

.bmj-field input:focus{
	border-color:rgba(109,17,44,.55);
	box-shadow:0 0 0 4px rgba(109,17,44,.12);
}

.bmj-form-actions{
	display:flex;
	gap:10px;
	align-items:center;
	margin-top:14px;
	flex-wrap:wrap;
}

.bmj-form.bmj-is-loading{
	opacity:.75;
}

.bmj-buscador-form.bmj-is-loading{
	opacity:.75;
}

.bmj-btn{
	border-radius:999px;
	padding:10px 14px;
	border:1px solid transparent;
	cursor:pointer;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	font-size:14px;
}

.bmj-btn--primary{
	background:var(--bmj-oscuro);
	color:#fff;
	border-color:var(--bmj-oscuro);
}

.bmj-btn--primary:hover{
	filter:brightness(1.05);
}

.bmj-btn--ghost{
	background:transparent;
	color:var(--bmj-oscuro);
	border-color:rgba(109,17,44,.35);
}

.bmj-results{
	margin-top:14px;
}

.bmj-results-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
}

.bmj-empty{
	grid-column:1/-1;
	padding:14px;
	border:1px dashed rgba(109,17,44,.35);
	border-radius:14px;
	background:rgba(198,165,131,.16);
}

.bmj-card{
	border:1px solid var(--bmj-border);
	border-radius:16px;
	overflow:hidden;
	background:#fff;
	display:flex;
	flex-direction:column;
	min-height:100%;
}

.bmj-card-media{
	position:relative;
	background:rgba(0,0,0,.04);
}

.bmj-card-img{
	width:100%;
	height:180px;
	object-fit:cover;
	display:block;
}

.bmj-card-img--empty{
	height:180px;
	background:linear-gradient(135deg, rgba(198,165,131,.45), rgba(109,17,44,.12));
}

.bmj-card-body{
	padding:14px;
	display:flex;
	flex-direction:column;
	gap:10px;
	flex:1;
}

.bmj-card-top{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:10px;
}

.bmj-card-title{
	font-size:16px;
	margin:0;
	line-height:1.25;
}

.bmj-card-price{
	font-weight:700;
	color:var(--bmj-oscuro);
	white-space:nowrap;
}

.bmj-card-location{
	font-size:13px;
	color:var(--bmj-muted);
}

.bmj-card-icons{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}

.bmj-icon-pill{
	display:flex;
	align-items:center;
	gap:8px;
	padding:7px 10px;
	border-radius:999px;
	border:1px solid rgba(198,165,131,.55);
	background:rgba(198,165,131,.12);
}

.bmj-icon{
	width:18px;
	height:18px;
	display:block;
}

.bmj-icon-text{
	font-size:13px;
	color:var(--bmj-text);
}

.bmj-card-actions{
	margin-top:auto;
}

.bmj-layout--filtro{
	display:grid;
	grid-template-columns:minmax(0,360px) minmax(0,1fr);
	gap:14px;
	align-items:start;
}

.bmj-layout--filtro .bmj-form{
	position:sticky;
	top:16px;
}

@media (max-width: 980px){
	.bmj-buscador-grid{
		grid-template-columns:1fr;
		gap:24px;
	}
	.bmj-buscador-col{
		gap:16px;
	}
	.bmj-buscador-input,
	.bmj-buscador-btn{
		font-size:2.5rem;
	}
	.bmj-buscador-row{
		gap:14px;
	}
	.bmj-buscador-row .bmj-buscador-input--outline{
		flex:1;
	}

	.bmj-form-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.bmj-results-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.bmj-layout--filtro{
		grid-template-columns:1fr;
	}
	.bmj-layout--filtro .bmj-form{
		position:relative;
		top:auto;
	}
}

@media (max-width: 560px){
	.bmj-buscador-input,
	.bmj-buscador-btn{
		font-size:18px;
		height:52px;
		border-radius:14px;
	}
	.bmj-buscador-row{
		flex-direction:column;
		align-items:stretch;
	}
	.bmj-buscador-btn{
		width:100%;
	}

	.bmj-form-grid{
		grid-template-columns:1fr;
	}
	.bmj-results-grid{
		grid-template-columns:1fr;
	}
	.bmj-card-img{
		height:160px;
	}
}
