/**
 * Estilos de la landing data-driven (destino y categoría).
 *
 * La tarjeta y la rejilla ya tienen su CSS global; aquí va lo propio de la
 * landing: hero, cita, guías, secciones editoriales, FAQ y breadcrumbs.
 */

.vp-landing {
	/* Astra aplica display:flex (row) a .ast-container para el layout
	   content+sidebar. Como aquí el contenedor lleva también esa clase, sus
	   secciones se apilarían en columnas. Forzamos columna para que hero, cita,
	   guías, secciones y rejilla vayan uno debajo de otro. */
	display: flex;
	flex-direction: column;
	padding-top: 24px;
	padding-bottom: 72px;
}

.vp-landing > * {
	width: 100%;
}

/* --- Breadcrumbs ------------------------------------------------------- */
.vp-breadcrumbs {
	margin: 0 0 20px;
	font-size: 14px;
	color: #6b6b74;
}

.vp-breadcrumbs a {
	color: #6b6b74;
	text-decoration: none;
}

.vp-breadcrumbs a:hover {
	text-decoration: underline;
}

.vp-bc-sep {
	margin: 0 4px;
	color: #c3c3cc;
}

.vp-bc-actual {
	color: #1f1f24;
	font-weight: 600;
}

/* --- Hero -------------------------------------------------------------- */
.vp-hero {
	position: relative;
	margin: 0 0 40px;
	padding: 56px 32px;
	border-radius: 16px;
	background: #f3f4f7;
	overflow: hidden;
}

.vp-hero--imagen {
	background-size: cover;
	background-position: center;
	color: #fff;
}

.vp-hero--imagen::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.55));
}

.vp-hero-inner {
	position: relative;
	max-width: 720px;
}

.vp-hero-titulo {
	margin: 0 0 14px;
	font-size: 40px;
	line-height: 1.15;
}

.vp-hero-intro {
	font-size: 18px;
	line-height: 1.55;
	margin-bottom: 24px;
}

.vp-hero-intro p:last-child {
	margin-bottom: 0;
}

.vp-hero-cta,
.vp-enlace-cta {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 999px;
	background: #1f6feb;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.vp-hero--imagen .vp-hero-cta {
	background: #fff;
	color: #1f1f24;
}

.vp-enlace-cta {
	padding: 10px 0;
	background: none;
	color: #1f6feb;
	letter-spacing: 0.04em;
}

.vp-enlace-cta:hover {
	text-decoration: underline;
}

/* --- Cita -------------------------------------------------------------- */
.vp-quote {
	margin: 0 0 48px;
	padding: 28px 32px;
	border-left: 4px solid #1f6feb;
	background: #f8f9fb;
	border-radius: 0 12px 12px 0;
}

.vp-quote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 22px;
	line-height: 1.45;
	font-style: italic;
	color: #2a2a30;
}

.vp-quote figcaption {
	margin-top: 12px;
	font-size: 15px;
	font-weight: 600;
	color: #6b6b74;
}

/* --- Títulos de sección ------------------------------------------------ */
.vp-seccion-titulo {
	margin: 0 0 20px;
	font-size: 26px;
	line-height: 1.2;
}

.vp-guias,
.vp-seccion,
.vp-faq,
.vp-subdestinos-wrap,
.vp-rejilla-wrap {
	margin: 0 0 48px;
}

/* --- Guías destacadas -------------------------------------------------- */
.vp-guias-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.vp-guia {
	padding: 24px;
	border: 1px solid #e6e6ea;
	border-radius: 12px;
	background: #fff;
}

.vp-guia-titulo {
	margin: 0 0 12px;
	font-size: 19px;
}

.vp-guia-texto {
	color: #4b4b52;
	line-height: 1.55;
	margin-bottom: 16px;
}

.vp-guia-texto p:last-child {
	margin-bottom: 0;
}

/* --- Secciones editoriales -------------------------------------------- */
.vp-seccion-texto {
	max-width: 75ch;
	line-height: 1.65;
	color: #33333a;
	margin-bottom: 12px;
}

/* --- Subdestinos ------------------------------------------------------- */
.vp-subdestinos {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vp-subdestinos li {
	margin: 0;
	padding: 8px 14px;
	border: 1px solid #e6e6ea;
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
}

.vp-subdestinos a {
	font-weight: 600;
	text-decoration: none;
}

.vp-subdestino-total {
	margin-left: 6px;
	color: #6b6b74;
	font-size: 13px;
}

/* --- FAQ --------------------------------------------------------------- */
.vp-faq-lista {
	max-width: 80ch;
	margin: 0;
}

.vp-faq-pregunta {
	font-weight: 700;
	font-size: 17px;
	margin: 20px 0 6px;
}

.vp-faq-respuesta {
	margin: 0;
	color: #4b4b52;
	line-height: 1.6;
}

/* --- Responsive -------------------------------------------------------- */
@media (max-width: 880px) {
	.vp-guias-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 544px) {
	.vp-hero-titulo {
		font-size: 30px;
	}

	.vp-hero {
		padding: 40px 22px;
	}

	.vp-seccion-titulo {
		font-size: 22px;
	}
}
