/* =========================================================================
   Shortcode [ofertas] (includes/show-offers.php): tarjetas de ofertas.
   Mismo lenguaje visual que el listado de casas y el buscador. Todo bajo
   .rv2-ofertas para no afectar al resto de la web.
   ========================================================================= */

.rv2-ofertas{
	--rv2-vino: #991A2E;
	--rv2-vino-dark: #7d1526;
	--rv2-navy: #21252e;
	--rv2-text: #676767;
	--rv2-text-light: #8a8a8a;
	--rv2-oliva: #92b42f;
	--rv2-border: #e3e1dd;
	margin: 1.5rem 0;
	text-align: left;
}
.rv2-ofertas *,
.rv2-ofertas *::before,
.rv2-ofertas *::after{ box-sizing: border-box; }

.rv2-ofertas .rv2-of-title{
	margin: 0 0 .3rem;
	font-size: 1.5rem;
	line-height: 1.25;
	font-weight: 700;
	text-align: center;
	text-transform: none;
	color: var(--rv2-navy);
}
.rv2-ofertas .rv2-of-sub{
	margin: 0 0 1.3rem;
	text-align: center;
	font-size: .9rem;
	color: var(--rv2-text-light);
}

.rv2-ofertas .rv2-of-grid{
	/* Flex con wrap y centrado: 1, 2 o 3 tarjetas quedan siempre en el centro de la fila */
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.2rem;
}

.rv2-ofertas .rv2-of-card{
	flex: 0 1 320px;
	min-width: 260px;
	max-width: 340px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--rv2-border);
	border-radius: 12px;
	box-shadow: 0 2px 14px rgba(33,37,46,.08);
	transition: box-shadow .15s ease, transform .15s ease;
}
.rv2-ofertas .rv2-of-card:hover{
	box-shadow: 0 8px 26px rgba(33,37,46,.16);
	transform: translateY(-2px);
}

.rv2-ofertas .rv2-of-photo{
	position: relative;
	display: block;
	height: 190px;
	overflow: hidden;
	background: #f1efe9;
}
.rv2-ofertas .rv2-of-photo img,
.rv2-ofertas .rv2-of-img{
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	margin: 0;
	object-fit: cover;
}
.rv2-ofertas .rv2-of-nofoto{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 2.6rem;
	color: #b9b3a4;
}
.rv2-ofertas .rv2-of-badge{
	position: absolute;
	top: .7rem;
	left: .7rem;
	padding: .3rem .7rem;
	background: var(--rv2-vino);
	color: #fff;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 2px 6px rgba(0,0,0,.25);
}

.rv2-ofertas .rv2-of-body{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1rem 1.1rem 1.1rem;
}
.rv2-ofertas .rv2-of-name{
	margin: 0 0 .3rem;
	font-size: 1.15rem;
	line-height: 1.25;
	font-weight: 700;
	text-transform: none;
}
.rv2-ofertas .rv2-of-name a{ color: var(--rv2-navy); text-decoration: none; }
.rv2-ofertas .rv2-of-name a:hover{ color: var(--rv2-vino); }
.rv2-ofertas .rv2-of-tag{
	margin: 0 0 .5rem;
	color: var(--rv2-vino);
	font-size: .85rem;
	font-weight: 600;
}
.rv2-ofertas .rv2-of-dates{
	margin: 0 0 .15rem;
	color: var(--rv2-navy);
	font-size: .95rem;
	font-weight: 600;
}
.rv2-ofertas .rv2-of-meta{
	margin: 0 0 .9rem;
	color: var(--rv2-text);
	font-size: .85rem;
}
.rv2-ofertas .rv2-of-body .fa{ color: var(--rv2-vino); margin-right: .25rem; }

.rv2-ofertas .rv2-of-price{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .1rem .6rem;
	margin: auto 0 .9rem;
}
.rv2-ofertas .rv2-of-old{ color: var(--rv2-text-light); font-size: .95rem; text-decoration: line-through; }
.rv2-ofertas .rv2-of-now{ color: var(--rv2-navy); font-size: 1.7rem; font-weight: 700; line-height: 1; }
.rv2-ofertas .rv2-of-save{
	padding: .12rem .5rem;
	background: #eef5df;
	color: #587014;
	border-radius: 4px;
	font-size: .78rem;
	font-weight: 700;
}

.rv2-ofertas .rv2-of-cta{
	display: block;
	padding: .8rem 1rem;
	background: var(--rv2-vino);
	color: #fff;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: background .15s ease;
}
.rv2-ofertas .rv2-of-cta:hover{ background: var(--rv2-vino-dark); color: #fff; }

/* Móvil: tarjetas en fila deslizable, con la siguiente asomando */
@media screen and (max-width: 600px){
	.rv2-ofertas .rv2-of-grid{
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		gap: .9rem;
		margin: 0 -1rem;
		padding: .2rem 1rem 1rem;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	.rv2-ofertas .rv2-of-card{ flex: 0 0 82%; min-width: 0; max-width: none; scroll-snap-align: center; }
	.rv2-ofertas .rv2-of-card:hover{ transform: none; }
	.rv2-ofertas .rv2-of-title{ font-size: 1.25rem; }
}
