/* -------------------------------------------------------------
 * VS Meses · estilos de la parte pública
 * Subconjunto de la hoja de VS Bloques con lo que necesita el
 * bloque «VS · Meses»: tokens, contenedor, rejilla, cabecera de
 * sección, fondos con velo y las tarjetas de mes.
 * ---------------------------------------------------------- */

:root {
	--vs-oro: #e4b326;
	--vs-oro-hover: #f2c542;
	--vs-oscuro: #1b1b1b;
	--vs-panel: #262626;
	--vs-linea: rgba(255, 255, 255, .1);
	--vs-texto: #e9e9e9;
	--vs-apagado: rgba(233, 233, 233, .62);
	--vs-radio-tarjeta: 28px;
	--vs-radio-campo: 16px;
	--vs-radio-pill: 999px;
	--vs-fuente: 'Poppins', system-ui, -apple-system, sans-serif;
}

[class*="vs-"] {
	box-sizing: border-box;
}

.vsb-contenedor {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 80px) clamp(20px, 5vw, 40px);
}

.vsb-kicker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--vs-oro);
	font-family: var(--vs-fuente);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.vsb-kicker::before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 2px;
	background: var(--vs-oro);
}

.vsb-seccion__titulo {
	margin: 0 0 14px;
	font-family: var(--vs-fuente);
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 700;
	line-height: 1.15;
}

.vsb-seccion__intro {
	max-width: 720px;
	margin: 0 0 36px;
	font-family: var(--vs-fuente);
	font-size: 16px;
	line-height: 1.6;
	opacity: .85;
}

.vsb-grid {
	display: grid;
	gap: clamp(18px, 2.5vw, 30px);
}

.vsb-grid--1 { grid-template-columns: 1fr;
}

.vsb-grid--2 { grid-template-columns: repeat(2, 1fr);
}

.vsb-grid--3 { grid-template-columns: repeat(3, 1fr);
}

.vsb-grid--4 { grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 980px) {
.vsb-grid--3,
	.vsb-grid--4 { grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 640px) {
.vsb-grid { grid-template-columns: 1fr !important;
}
}

.vsb-hero .vsb-kicker { justify-content: center;
}

:root {
	--vs-radio-s: 14px;
	--vs-radio-m: 32px;
	--vs-radio-l: 96px;
}

.vsb-eyebrow {
	display: inline-block;
	margin: 0 0 26px;
	padding: 7px 18px;
	border-radius: 10px 0 10px 0;
	background: var(--vs-oro);
	color: var(--vs-oscuro);
	font-family: var(--vs-fuente);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.vsb-grid--5 { grid-template-columns: repeat(5, 1fr);
}

@media (max-width: 980px) {
.vsb-grid--5 { grid-template-columns: repeat(2, 1fr);
}
}

.vsb-sec {
	padding: clamp(56px, 7vw, 92px) clamp(18px, 4vw, 32px);
	font-family: var(--vs-fuente);
}

.vsb-sec--blanco { background: #fff; color: var(--vs-oscuro);
}

.vsb-sec--crema { background: #fbf7ef; color: var(--vs-oscuro);
}

.vsb-sec--arena { background: #f3ede1; color: var(--vs-oscuro);
}

.vsb-sec--oscuro { background: var(--vs-oscuro); color: var(--vs-texto);
}

.vsb-sec--oscuro .vsb-sec__titulo,
.vsb-sec--oscuro .vsb-paso__titulo,
.vsb-sec--oscuro .vsb-segmento__titulo { color: #fff;
}

.vsb-sec__head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 44px);
}

.vsb-sec__titulo {
	margin: 0 0 12px;
	font-size: clamp(28px, 4vw, 46px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.vsb-sec__lead {
	max-width: var(--vsb-ancho-texto, 68ch);
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	opacity: .82;
}

.vsb-sec__botones {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.vsb-sec--oscuro .vsb-segmento {
	border-color: var(--vs-linea);
	background: var(--vs-panel);
}

.vsb-sec--oscuro .vsb-segmento__enlace { color: var(--vs-oro);
}

.vsb-texto--legal .vsb-sec__titulo {
	padding-bottom: 14px;
	border-bottom: 4px solid var(--vs-oro);
	font-size: clamp(22px, 2.6vw, 32px);
	text-transform: uppercase;
}

.vsb-hero--moderno .vsb-kicker {
	justify-content: flex-start;
	margin-bottom: 18px;
	font-size: 13px;
	letter-spacing: .2em;
}

.vsb-sec--oscuro .vsb-carrusel__punto { background: rgba(255, 255, 255, .28);
}

.vsb-sec--oscuro .vsb-carrusel__punto.is-activo { background: var(--vs-oro);
}

.vsb-seccion__lead {
	max-width: var(--vsb-ancho-texto, 62ch);
	margin: -4px 0 32px;
	font-family: var(--vs-fuente);
	font-size: clamp(15.5px, 1.4vw, 17.5px);
	line-height: 1.65;
	opacity: .82;
}

.vsb-ventajas .vsb-seccion__lead,
.vsb-sec--oscuro .vsb-seccion__lead { color: var(--vs-apagado); opacity: 1;
}

.vsb-categorias .vsb-sec__head {
	/* 720px por defecto, pero manda el ancho elegido en el bloque:
	   al ponerlo al 100 % el titular ocupa todo el contenedor. */
	max-width: var(--vsb-ancho-texto, 720px);
	margin-bottom: clamp(30px, 4vw, 46px);
}

.vsb-categorias .vsb-kicker {
	margin-bottom: 14px;
	font-size: 12.5px;
	letter-spacing: .19em;
}

.vsb-categorias .vsb-sec__titulo {
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 800;
	letter-spacing: -.025em;
}

.vsb-categorias .vsb-sec__lead {
	color: #5c6470;
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.65;
	opacity: 1;
}

.vsb-encabezado--centro .vsb-kicker,
.vsb-encabezado--centro .vsb-eyebrow { justify-content: center;
}

.vsb-encabezado.vsb-sec--oscuro .vsb-encabezado__titulo { color: #fff;
}

.vsb-encabezado.vsb-sec--oscuro .vsb-encabezado__lead { color: var(--vs-apagado);
}

.vsb-encabezado--fuente-poppins .vsb-encabezado__titulo,
.vsb-encabezado__lead,
.vsb-sec__titulo,
.vsb-sec__lead,
.vsb-seccion__titulo,
.vsb-seccion__lead,
.vsb-hero__titulo,
.vsb-hero__texto,
.vsb-cabecera__titulo,
.vsb-cabecera__subtitulo,
.vsb-cat__titulo,
.vsb-cat__texto,
.vsb-ficha__titulo,
.vsb-viaje__destino,
.vsb-salida__titulo,
.vsb-paso__titulo,
.vsb-segmento__titulo,
.vsb-ventaja__titulo,
.vsb-tipo__titulo,
.vsb-tarjeta__titulo,
.vsb-persona__nombre,
.vsb-equipo__titulo,
.vsb-filosofia__titulo,
.vsb-doscol__titulo,
.vsb-razones__titulo,
.vsb-datos__titulo,
.vsb-legal__titulo,
.vsb-hablamos__titulo,
.vsb-form-panel__titulo,
.vsb-cta__titulo,
.vsb-opinion__nombre,
.vsb-faq summary,
.vsb-kicker,
.vsb-eyebrow {
	font-family: var(--vs-fuente);
}

.vsb-sec--oscuro .vsb-segmento__icono {
	background: rgba(228, 179, 38, .18);
	color: var(--vs-oro);
}

.vsb-sec__head--centro { text-align: center;
}

.vsb-sec__head--centro .vsb-kicker,
.vsb-sec__head--centro .vsb-eyebrow { justify-content: center;
}

.vsb-sec__head--centro .vsb-sec__lead { margin-inline: auto;
}

.vsb-sec__head--discreto .vsb-sec__titulo { font-size: clamp(22px, 2.4vw, 30px);
}

.vsb-sec__head--medio .vsb-sec__titulo { font-size: clamp(28px, 3.6vw, 42px);
}

.vsb-sec__head--grande .vsb-sec__titulo { font-size: clamp(32px, 5vw, 58px);
}

.vsb-sec__head--fuente-poppins .vsb-sec__titulo { font-family: var(--vs-fuente);
}

.vsb-sec__head--fuente-tema .vsb-sec__titulo { font-family: inherit;
}

.vsb-sec__titulo em {
	color: var(--vs-oro);
	font-style: normal;
}

.vsb-ventajas .vsb-sec__titulo,
.vsb-equipo .vsb-sec__titulo,
.vsb-razones .vsb-sec__titulo,
.vsb-sec--oscuro .vsb-sec__titulo { color: #fff;
}

.vsb-razones .vsb-sec__titulo { color: var(--vs-oscuro);
}

.vsb-ventajas .vsb-sec__lead,
.vsb-equipo .vsb-sec__lead,
.vsb-sec--oscuro .vsb-sec__lead { color: var(--vs-apagado); opacity: 1;
}

.vsb-hero--al-izquierda .vsb-kicker,
.vsb-hero--al-izquierda .vsb-eyebrow,
.vsb-hero--al-izquierda .vsb-hero__botones,
.vsb-hero--al-izquierda .vsb-hero__puntos { justify-content: flex-start;
}

.vsb-hero--al-centro .vsb-kicker,
.vsb-hero--al-centro .vsb-eyebrow,
.vsb-hero--al-centro .vsb-hero__botones,
.vsb-hero--al-centro .vsb-hero__puntos { justify-content: center;
}

.vsb-hero .vsb-eyebrow {
	display: inline-block;
	margin-bottom: 18px;
}

.vsb-hablamos .vsb-sec__head { margin-bottom: 26px;
}

.vsb-hablamos .vsb-sec__titulo {
	margin: 0 0 12px;
	font-weight: 800;
	line-height: 1.1;
}

.vsb-hablamos .vsb-sec__lead {
	max-width: 520px;
	margin: 0 0 30px;
	color: var(--vs-apagado);
	font-size: 16px;
	line-height: 1.6;
	opacity: 1;
}

.vsb-hablamos.vsb-sec--blanco,
.vsb-hablamos.vsb-sec--crema,
.vsb-hablamos.vsb-sec--arena { color: var(--vs-oscuro);
}

.vsb-hablamos.vsb-sec--blanco .vsb-sec__titulo,
.vsb-hablamos.vsb-sec--crema .vsb-sec__titulo,
.vsb-hablamos.vsb-sec--arena .vsb-sec__titulo { color: var(--vs-oscuro);
}

.vsb-hablamos.vsb-sec--blanco .vsb-sec__lead,
.vsb-hablamos.vsb-sec--crema .vsb-sec__lead,
.vsb-hablamos.vsb-sec--arena .vsb-sec__lead { color: #5c6470;
}

.vsb-hablamos.vsb-sec--blanco .vsb-contacto__item,
.vsb-hablamos.vsb-sec--crema .vsb-contacto__item,
.vsb-hablamos.vsb-sec--arena .vsb-contacto__item {
	border-color: rgba(0, 0, 0, .12);
	background: #fff;
}

.vsb-hablamos.vsb-sec--blanco .vsb-contacto__main,
.vsb-hablamos.vsb-sec--crema .vsb-contacto__main,
.vsb-hablamos.vsb-sec--arena .vsb-contacto__main { color: var(--vs-oscuro);
}

.vsb-hablamos.vsb-sec--blanco .vsb-contacto__sub,
.vsb-hablamos.vsb-sec--crema .vsb-contacto__sub,
.vsb-hablamos.vsb-sec--arena .vsb-contacto__sub { color: #5c6470;
}

.vsb-sec__head { max-width: var(--vsb-ancho-texto, 760px);
}

.vsb-hablamos .vsb-sec__lead { max-width: var(--vsb-ancho-texto, 520px);
}

.vsb-grid { max-width: none;
}

.vsb-sec--gris {
	background: #3c3c3c;
	color: var(--vs-texto);
}

.vsb-sec--gris .vsb-sec__titulo,
.vsb-hablamos.vsb-sec--gris .vsb-sec__titulo { color: #fff;
}

.vsb-sec--gris .vsb-sec__lead,
.vsb-hablamos.vsb-sec--gris .vsb-sec__lead { color: var(--vs-apagado); opacity: 1;
}

.vsb-sec--gris .vsb-contacto__item {
	border-color: rgba(255, 255, 255, .16);
	background: rgba(255, 255, 255, .04);
}

.vsb-sec--gris .vsb-contacto__main { color: #fff;
}

.vsb-oro {
	color: var(--vs-oro);
	font-weight: inherit;
}

.vsb-eyebrow--oro {
	background: var(--vs-oro);
	color: var(--vs-oscuro);
}

.vsb-eyebrow--oscuro {
	background: var(--vs-oscuro);
	color: var(--vs-oro);
}

.vsb-ventajas--con-foto .vsb-contenedor {
	position: relative;
	z-index: 1;
}

.vsb-ventajas--velo-claro .vsb-sec__titulo,
.vsb-ventajas--velo-oro .vsb-sec__titulo,
.vsb-ventajas--velo-claro .vsb-ventaja__titulo,
.vsb-ventajas--velo-oro .vsb-ventaja__titulo { color: var(--vs-oscuro);
}

.vsb-ventajas--velo-claro .vsb-sec__lead,
.vsb-ventajas--velo-oro .vsb-sec__lead,
.vsb-ventajas--velo-claro .vsb-ventaja__texto,
.vsb-ventajas--velo-oro .vsb-ventaja__texto { color: rgba(0, 0, 0, .72);
}

.vsb-sec--oscuro .vsb-carrusel-caja--abajo .vsb-carrusel__flecha,
.vsb-sec--gris .vsb-carrusel-caja--abajo .vsb-carrusel__flecha { color: var(--vs-oscuro);
}

.vsb-sec__botones--centro { justify-content: center;
}

.vsb-meses { display: block;
}

.vsb-mes {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 16px;
	background: var(--vs-oscuro);
	color: #fff;
	font-family: var(--vs-fuente);
	text-decoration: none;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
	transition: transform .3s ease, box-shadow .3s ease;
}

.vsb-mes:hover,
.vsb-mes:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgba(0, 0, 0, .2);
}

.vsb-mes:focus-visible {
	outline: 3px solid var(--vs-oro);
	outline-offset: 3px;
}

.vsb-mes__media {
	position: absolute;
	inset: 0;
}

.vsb-mes__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}

.vsb-mes:hover .vsb-mes__img { transform: scale(1.05);
}

.vsb-mes__velo {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .78) 100%);
}

.vsb-mes__info {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 8px;
	min-height: 340px;
	padding: 20px;
}

.vsb-mes__nombre {
	font-size: 21px;
	font-weight: 800;
	line-height: 1.15;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .5);
}

.vsb-mes__nombre em {
	font-style: normal;
	font-weight: 500;
	opacity: .8;
}

.vsb-mes__enlace {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--vs-oro);
	font-size: 14.5px;
	font-weight: 700;
}

@media (max-width: 640px) {
.vsb-mes__info { min-height: 240px;
}
}

@media (prefers-reduced-motion: reduce) {
.vsb-mes,
	.vsb-mes__img { transition: none;
}
}

.vsb-con-fondo {
	position: relative;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: var(--vs-texto);
}

.vsb-con-fondo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: var(--vsb-velo, .6);
	pointer-events: none;
}

.vsb-velo-oscuro::before { background: #111;
}

.vsb-velo-oro::before { background: var(--vs-oro);
}

.vsb-velo-claro::before { background: #fff;
}

.vsb-velo-degradado::before {
	background: linear-gradient(180deg, rgba(15, 15, 15, .1) 0%, rgba(12, 12, 12, .98) 100%);
}

.vsb-con-fondo > * {
	position: relative;
	z-index: 1;
}

.vsb-parallax { background-attachment: fixed;
}

.vsb-velo-oscuro .vsb-sec__titulo,
.vsb-velo-degradado .vsb-sec__titulo,
.vsb-velo-oscuro .vsb-encabezado__titulo,
.vsb-velo-degradado .vsb-encabezado__titulo { color: #fff;
}

.vsb-velo-oscuro .vsb-sec__lead,
.vsb-velo-degradado .vsb-sec__lead,
.vsb-velo-oscuro .vsb-prosa,
.vsb-velo-degradado .vsb-prosa { color: var(--vs-apagado); opacity: 1;
}

.vsb-velo-claro,
.vsb-velo-oro { color: var(--vs-oscuro);
}

.vsb-velo-claro .vsb-sec__titulo,
.vsb-velo-oro .vsb-sec__titulo,
.vsb-velo-claro .vsb-encabezado__titulo,
.vsb-velo-oro .vsb-encabezado__titulo { color: var(--vs-oscuro);
}

.vsb-velo-claro .vsb-sec__lead,
.vsb-velo-oro .vsb-sec__lead { color: #4a5361; opacity: 1;
}

.vsb-con-fondo .vsb-segmento,
.vsb-con-fondo .vsb-paso,
.vsb-con-fondo .vsb-faq,
.vsb-con-fondo .vsb-salida {
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.vsb-velo-oscuro .vsb-segmento,
.vsb-velo-degradado .vsb-segmento,
.vsb-velo-oscuro .vsb-paso,
.vsb-velo-degradado .vsb-paso {
	border-color: var(--vs-linea);
	background: rgba(30, 30, 30, .72);
	color: var(--vs-texto);
}

.vsb-velo-oscuro .vsb-segmento__titulo,
.vsb-velo-degradado .vsb-segmento__titulo,
.vsb-velo-oscuro .vsb-paso__titulo,
.vsb-velo-degradado .vsb-paso__titulo { color: #fff;
}

@supports (-webkit-touch-callout: none) {
.vsb-parallax { background-attachment: scroll;
}
}

@media (prefers-reduced-motion: reduce) {
.vsb-parallax { background-attachment: scroll;
}
}

@media (max-width: 700px) {
.vsb-categorias--movil-banner .vsb-grid,
	.vsb-categorias--movil-banner .vsb-carrusel {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		overflow: visible;
}
}

.vsb-cat__img,
.vsb-diapo__img,
.vsb-mes__img,
.vsb-ficha__img,
.vsb-viaje__img {
	image-rendering: auto;
}

@media (max-width: 700px) {
.vsb-viajes .vsb-grid { grid-template-columns: 1fr; gap: 14px;
}
}

.vsb-migas--centro .vsb-contenedor { display: grid; justify-items: center;
}

.vsb-migas--barra-completa .vsb-contenedor {
	padding-right: 20px;
	padding-left: 20px;
}

.vsb-migas--barra-completa.alignfull .vsb-contenedor {
	max-width: 1180px;
	margin: 0 auto;
}

.vsb-mt.vsb-sec--oscuro .vsb-mt__grid,
.vsb-mt.vsb-sec--gris .vsb-mt__grid { background: var(--vs-panel);
}

.vsb-mt.vsb-sec--oscuro .vsb-mt__titulo,
.vsb-mt.vsb-sec--gris .vsb-mt__titulo { color: #fff;
}

.vsb-mt.vsb-sec--oscuro .vsb-mt__texto,
.vsb-mt.vsb-sec--gris .vsb-mt__texto { color: var(--vs-apagado);
}

.vsb-cifras--limpio.vsb-sec--blanco .vsb-cifra,
.vsb-cifras--limpio.vsb-sec--crema .vsb-cifra,
.vsb-cifras--limpio.vsb-sec--arena .vsb-cifra { border-left-color: rgba(0, 0, 0, .12);
}

.vsb-cifras--limpio.vsb-sec--blanco .vsb-cifra__label,
.vsb-cifras--limpio.vsb-sec--crema .vsb-cifra__label,
.vsb-cifras--limpio.vsb-sec--arena .vsb-cifra__label { color: #5b6770;
}

.vsb-sec--transparente { background: transparent;
}

.vsb-cifras--limpio.vsb-sec--transparente .vsb-cifra__label { color: rgba(255, 255, 255, .88);
}

.vsb-cifras .vsb-contenedor {
	max-width: none;
	padding: 0;
}

.vsb-sec__head--titulo-ancho .vsb-sec__titulo { max-width: none;
}

.vsb-sec__head--titulo-ancho { max-width: none;
}

.vsb-sec__head--titulo-ancho .vsb-sec__lead { max-width: var(--vsb-ancho-texto, 68ch);
}
