/*==================================================
  CATÁLOGO DE PROPIEDADES
==================================================*/

.rm-property-grid{

	display:grid;

	grid-template-columns:repeat(auto-fill,minmax(360px,1fr));

	gap:32px;

}

/*==================================================
  TARJETA
==================================================*/

.rm-property-card{

	display:flex;

	flex-direction:column;

	background:#ffffff;

	border:1px solid #eef2f7;

	border-radius:20px;

	overflow:hidden;

	box-shadow:0 12px 35px rgba(0,0,0,.08);

	transition:all .30s ease;

	height:100%;

	min-height:100%;

}

.rm-property-card:hover{

	transform:translateY(-8px);

	border-color:#d9ddff;

	box-shadow:0 20px 50px rgba(0,0,0,.10);

}

/*==================================================
  IMAGEN
==================================================*/

.rm-property-card__image{

	display:block;

	overflow:hidden;

	border-radius:20px 20px 0 0;

}

.rm-property-card__image img{

	display:block;

	width:100%;

	height:240px;

	object-fit:cover;

	transition:.40s ease;

}

.rm-property-card:hover img{

	transform:scale(1.05);

}

/*==================================================
  CONTENIDO
==================================================*/

.rm-property-card__content{

	display:flex;

	flex-direction:column;

	flex:1;

	padding:24px;

}

/*==================================================
  TÍTULO
==================================================*/

.rm-property-card h2.rm-property-card__title{

	margin:0 0 10px;

	padding:0;

	font-size:1.25rem;

	font-weight:700;

	line-height:1.30;

	letter-spacing:0;

}

.rm-property-card h2.rm-property-card__title a{

	display:block;

	font:inherit;

	color:#1f2756;

	text-decoration:none;

	transition:color .25s ease;

}

.rm-property-card h2.rm-property-card__title a:hover{

	color:#514b9a;

}

/*==================================================
  CÓDIGO
==================================================*/

.rm-property-card__code{

	display:flex;

	align-items:center;

	gap:10px;

	margin-bottom:12px;

	font-size:.85rem;

}

.rm-property-card__code-label{

	font-size:.80rem;

	font-weight:700;

	color:#514b9a;

	text-transform:uppercase;

	letter-spacing:.08em;
	
	opacity:.85;

}

.rm-property-card__code-value{

	color:#514b9a;

	font-size:.95rem;

	font-weight:700;

	letter-spacing:.02em;

}

/*==================================================
  ESTADO
==================================================*/

.rm-property-card__status{

	margin-bottom:16px;

}

.rm-status{

	display:inline-flex;

	align-items:center;

	width:max-content;

	gap:8px;

	padding:8px 16px;

	border-radius:999px;

	font-size:.85rem;

	font-weight:700;

}

.rm-status__dot{

	width:8px;

	height:8px;

	border-radius:50%;

	background:currentColor;

}

.rm-status--disponible{

	background:#ecfdf3;

	color:#16a34a;

}

.rm-status--reservada{

	background:#fff7ed;

	color:#ea580c;

}

.rm-status--vendida,
.rm-status--rentada{

	background:#fef2f2;

	color:#dc2626;

}

/*==================================================
  PRECIO
==================================================*/

.rm-property-card__price{

	margin-bottom:18px;

	font-size:1.65rem;

	font-weight:800;

	line-height:1.2;

	color:#4338ca;

}

/*==================================================
  CARACTERÍSTICAS
==================================================*/

.rm-property-card__features{

	display:flex;

	flex-wrap:wrap;

	gap:18px;

	margin-bottom:28px;

}

.rm-property-card__feature{

	display:flex;

	align-items:center;

	white-space:nowrap;

	gap:6px;

	font-size:.90rem;

	font-weight:600;

	color:#374151;

}

.rm-property-card__feature i{

	color:#514b9a;

	font-size:.90rem;

	min-width:16px;

	text-align:center;

}

/*==================================================
  BOTÓN
==================================================*/

.rm-property-card__button{

	margin-top:auto;

	display:flex;

	align-items:center;

	justify-content:center;

	padding:16px 20px;

	border:2px solid #514b9a;

	border-radius:12px;

	color:#514b9a;

	text-decoration:none;

	font-size:.95rem;

	font-weight:700;

	cursor:pointer;

	transition:
		background .30s,
		color .30s,
		border-color .30s;

}

.rm-property-card__button:hover{

	background:#514b9a;

	border-color:#514b9a;

	color:#ffffff;

}

/*==================================================
  RESPONSIVE
==================================================*/

@media (max-width:768px){

	.rm-property-grid{

		grid-template-columns:1fr;

	}

	.rm-property-card__content{

		padding:20px;

	}

	.rm-property-card h2.rm-property-card__title{

		font-size:1.20rem;

	}

	.rm-property-card__price{

		font-size:1.45rem;

	}

}


/*==================================================
  PAGINACIÓN
==================================================*/

.rm-pagination{

	margin:50px 0 20px;

}

.rm-pagination .page-numbers{

	display:flex;

	flex-wrap:wrap;

	justify-content:center;

	align-items:center;

	gap:10px;

	padding:0;

	margin:0;

	list-style:none;

}

.rm-pagination .page-numbers li{

	margin:0;

}

.rm-pagination .page-numbers a,
.rm-pagination .page-numbers span{

	display:flex;

	align-items:center;

	justify-content:center;

	min-width:46px;

	height:46px;

	padding:0 16px;

	border:1px solid #e5e7eb;

	border-radius:12px;

	background:#ffffff;

	color:#514b9a;

	font-size:.95rem;

	font-weight:700;

	text-decoration:none;

	transition:all .25s ease;

}

.rm-pagination .page-numbers a:hover{

	background:#514b9a;

	border-color:#514b9a;

	color:#ffffff;

}

.rm-pagination .page-numbers .current{

	background:#514b9a;

	border-color:#514b9a;

	color:#ffffff;

}

.rm-pagination .page-numbers .dots{

	border:none;

	background:transparent;

	color:#9ca3af;

	min-width:auto;

	padding:0 4px;

}

@media (max-width:768px){

	.rm-pagination .page-numbers{

		gap:8px;

	}

	.rm-pagination .page-numbers a,
	.rm-pagination .page-numbers span{

		min-width:40px;

		height:40px;

		font-size:.90rem;

		padding:0 12px;

	}

}


.rm-search-summary__button:hover{

	color:#312e81;

}

@media (max-width:768px){

	.rm-search-summary{

		grid-template-columns:1fr;

		row-gap:12px;

	}

}

@media (max-width:768px){

	.rm-search-summary{

		flex-direction:column;

		align-items:flex-start;

		gap:12px;

	}

	.rm-search-summary__button{

		align-self:flex-start;

	}

}

/*==================================================
  SIN RESULTADOS
==================================================*/

.rm-empty-results{

	padding:48px 32px;

	text-align:center;

}

.rm-empty-results h2{

	margin:0 0 14px;

	color:#1f2756;

	font-size:2rem;

	font-weight:700;

	line-height:1.25;

}

.rm-empty-results p{

	margin:0;

	color:#6b7280;

	font-size:1rem;

	line-height:1.7;

}