/*
  Página Encuentros.

  Las medidas salen de los mockups de docs/mockups/encuentros/: el de
  escritorio a 1512 px y el de móvil a 360. Cada clamp() une esos dos puntos
  y llega a su máximo en 1440 px, como en Miembros y Nosotros.
*/

/* ------------------------------------------------------------------ */
/* Cabecera                                                            */
/* ------------------------------------------------------------------ */

/*
  La cabecera es la primera sección: layout.css la sube por debajo del
  navbar. El padding de arriba no va en ella sino en la escena, que es la
  que lleva la foto: así la foto arranca en el borde superior de la página.

  Debajo de la foto el fondo ya es el claro, porque las tarjetas terminan
  sobre él.
*/
.encuentros-header {
	--primera-seccion-pt: 0px;

	/* Lo que las tarjetas se montan sobre la foto: 38 px en el mockup. */
	--solape: 2.375rem;

	background-color: var(--bg-light);
}

.encuentros-header__escena {
	position: relative;
	isolation: isolate;
	background-color: var(--bg-dark);

	/*
	  Título: su mayúscula empieza a 181 px del borde de la página en
	  escritorio y a 132 en móvil. El resto se mide desde ahí.
	*/
	padding-top: calc(var(--navbar-h) + clamp(3.375rem, 3.02rem + 1.574vw, 4.4375rem));

	/* Del último botón al final de la foto: 147 px en escritorio, 117 en móvil. */
	padding-bottom: clamp(7.28rem, 6.64rem + 2.824vw, 9.1rem);

	/*
	  La sombra que la foto deja sobre la sección clara. Medida del mockup:
	  oscurece un 26 % justo en el borde y se apaga en unos 18 px.
	*/
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

/*
  La foto ya trae el degradado. A 1512 px de ancho cubre la escena de lado a
  lado y queda recortada 88 px por arriba: el 42 % de lo que sobra.
*/
.encuentros-header__foto {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 42%;
}

.encuentros-header__texto {
	color: var(--text-1);
}

/* Mismo tamaño que los títulos de Miembros y Nosotros: 81 px, nunca menos de 40. */
.encuentros-header__titulo {
	font-size: clamp(2.5rem, 1.646rem + 3.796vw, 5.0625rem);
	line-height: 1.2;
	white-space: nowrap;
}

/*
  15.6 px con renglones de 25, medidos. El ancho máximo hace que los
  renglones corten donde cortaban en el mockup ("…vanguardia de la" /
  "…conocimiento y la").
*/
.encuentros-header__bajada {
	max-width: 35em;
	margin-top: clamp(1.1875rem, 0.917rem + 1.204vw, 2rem);
	font-size: 0.979rem;
	line-height: 1.6;
}

/* Los dos botones van apilados, cada uno de su ancho. */
.encuentros-header__botones {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.6875rem;
	margin-top: clamp(1.875rem, 1.792rem + 0.37vw, 2.125rem);
}

/* Anchos del mockup: 133.5 y 236.5 px. */
.encuentros-header__boton-agenda {
	padding-inline: 1.7rem;
}

.encuentros-header__boton-pasados {
	padding-inline: 2.2rem;
}

/* ------------------------------------------------------------------ */
/* Las tres tarjetas de formato                                        */
/* ------------------------------------------------------------------ */

/*
  Montadas sobre el borde de la foto. 1084 px de punta a punta a 1512
  (tres de 349 con 18 de hueco), centradas.
*/
.encuentros-header__formatos {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.125rem;
	max-width: 1084px;
	margin-top: calc(var(--solape) * -1);
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

/*
  El mismo fondo que el navbar: un velo claro y desenfoque, nada más. Sobre
  la foto se ve azulado; sobre la sección clara, casi no se ve y la tarjeta
  la dibuja su sombra. El velo está medido: #F0F0F0 al 18-19 %.
*/
.encuentros-formato {
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.53rem 0.75rem 1.69rem; /* 24.5 y 27 px: 114 de alto */
	border-radius: clamp(0.5625rem, 0.333rem + 1.0185vw, 1.25rem); /* 9 px … 20 px, medidos */
	background-color: var(--pill-light-veil);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);

	/* Medida del mockup: azul noche, un 27 % en el borde, apagada en 14 px. */
	box-shadow: 0 2px 14px rgba(10, 14, 34, 0.5);
	color: var(--hover-cyan);
	text-align: center;
}

/* Los tres íconos miden distinto; todos se centran en el mismo hueco. */
.encuentros-formato__icono {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2.125rem;
}

.encuentros-formato__icono .icono--webinar {
	width: 2.03rem;
}

.encuentros-formato__icono .icono--internacional {
	width: 2.09rem;
}

.encuentros-formato__icono .icono--reunion {
	width: auto;
	height: 2.09rem;
}

/*
  18.8 px, medido. Si la tarjeta se angosta (tablet), la letra se achica con
  ella para que "EVENTOS INTERNACIONALES" quepa siempre en una línea: 100cqi
  es el ancho de la tarjeta.
*/
.encuentros-formato__nombre {
	margin-top: 0.28rem;
	font-size: clamp(0.9375rem, 100cqi / 12.8, 1.175rem);
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

/* ------------------------------------------------------------------ */
/* Encuentros que Dejaron Huella                                       */
/* ------------------------------------------------------------------ */

/*
  Del final de las tarjetas de arriba a la píldora: 128 px en escritorio,
  medidos alineando los dos mockups. En el móvil el original dejaba 74; aquí
  se sube a 80 para que respire.
*/
.encuentros-pasados {
	background-color: var(--bg-light);
	padding-top: clamp(5rem, 4rem + 4.444vw, 8rem);

	/* Del final del video a la sección siguiente: 105 px, medidos. */
	padding-bottom: clamp(3.5rem, 2.5rem + 4.4vw, 6.6rem);
}

/*
  Siempre centrado. El bloque es el marco de los dos círculos, que se
  colocan respecto de su borde superior (la píldora) y de su centro.

  Del último renglón a las tarjetas de abajo: 167 px en escritorio, como en
  el mockup; 72 en el móvil (el original dejaba 58).
*/
.encuentros-pasados__cabecera {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: clamp(4.5rem, 2.51rem + 8.843vw, 10.47rem);
	color: var(--bg-dark);
	text-align: center;
}

/*
  Los dos círculos de degradado, detrás del texto. Medidos del mockup: el de
  la izquierda es azul y más chico (radio 123), a la altura del título; el
  de la derecha es celeste y más grande (radio 157), un poco más abajo. Los
  dos se apagan de forma lineal hasta el fondo. En el móvil se achican
  (50 y 60) y se separan en vertical: el de la derecha junto al título, el
  de la izquierda junto a la bajada.
*/
.encuentros-pasados__cabecera::before,
.encuentros-pasados__cabecera::after {
	content: '';
	position: absolute;
	z-index: -1;
	width: calc(var(--radio) * 2);
	aspect-ratio: 1;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.encuentros-pasados__cabecera::before {
	--radio: clamp(3.125rem, 1.604rem + 6.76vw, 7.6875rem);
	top: clamp(4.4375rem, 8.354rem - 4.352vw, 7.375rem);
	left: calc(50% - clamp(6.5625rem, 3.979rem + 11.48vw, 14.3125rem));
	background-image: radial-gradient(closest-side, rgb(202, 218, 246), rgba(202, 218, 246, 0));
}

.encuentros-pasados__cabecera::after {
	--radio: clamp(3.75rem, 1.731rem + 8.98vw, 9.8125rem);
	top: clamp(3rem, 2rem + 4.444vw, 6rem);
	left: calc(50% + clamp(5.625rem, 2.521rem + 13.8vw, 14.9375rem));
	background-image: radial-gradient(closest-side, rgb(149, 194, 212), rgba(149, 194, 212, 0));
}

/*
  El celeste de la cabecera al 50 % sobre el fondo claro: da exactamente el
  color medido en el mockup de móvil. Texto en --blue-mid.
  194.5 × 26 en escritorio.
*/
.encuentros-pasados__pildora,
.encuentros-agenda__pildora {
	display: inline-flex;
	align-items: center;
	height: clamp(1.375rem, 1.292rem + 0.37vw, 1.625rem);
	margin: 0;
	padding-inline: clamp(0.75rem, 0.354rem + 1.76vw, 1.94rem);
	border-radius: var(--radius-pill);
	background-color: rgba(14, 187, 227, 0.5);
	color: var(--blue-mid);
	font-size: clamp(0.8125rem, 0.756rem + 0.25vw, 0.98rem);
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
}

/*
  40.7 px en escritorio y 28 en el móvil. Corta donde cortaba el original
  ("Encuentros que Dejaron / Huella"), no donde lo equilibraría el navegador.
*/
.encuentros-pasados__titulo,
.encuentros-agenda__titulo {
	margin-top: clamp(0.656rem, 0.198rem + 2.037vw, 2.03rem);
	font-size: clamp(1.75rem, 1.486rem + 1.176vw, 2.544rem);
	font-weight: 600;
	line-height: 1.2;
	text-wrap: wrap;
}

/* Como la bajada de la cabecera: 15.6 px con renglones de 25, cortando donde el original. */
.encuentros-pasados__bajada,
.encuentros-agenda__bajada {
	max-width: 30.2em;
	margin-top: clamp(0.5rem, 0.333rem + 0.741vw, 1rem);
	font-size: 0.979rem;
	line-height: 1.6;
}

/* ------------------------------------------------------------------ */
/* La galería: el video fijo y el carrusel                             */
/* ------------------------------------------------------------------ */

/*
  A 1512: el video de 596.5 a la izquierda y el carrusel de 684 a la derecha,
  con 80 de hueco. Las dos columnas se reparten el contenedor en esa
  proporción, así que la medida se mantiene en cualquier ancho.
*/
.encuentros-galeria {
	display: grid;
	grid-template-columns: minmax(0, 0.873fr) minmax(0, 1fr);
	column-gap: 5.88%;
	align-items: start;
}

/*
  Las fotos y el video llevan un velo negro del 30 %: medido comparando la
  foto original con el mockup, que la deja exactamente al 70 % de su brillo.
  Así las letras blancas se leen sobre cualquier imagen.
*/
.encuentros-destacado,
.encuentro-tarjeta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: 20px;
	background-color: var(--bg-dark);
	box-shadow: var(--sombra-tarjeta-clara);
	color: var(--text-1);
}

.encuentros-destacado::after,
.encuentro-tarjeta::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: rgba(0, 0, 0, 0.3);
	pointer-events: none;
}

/* ---------- El video ---------- */

.encuentros-destacado {
	aspect-ratio: 596.5 / 359;
}

.encuentros-destacado__medio {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.encuentros-destacado__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* El "+" que lleva a la página del evento: 28 px, arriba a la derecha. */
.encuentros-destacado__mas {
	position: absolute;
	top: 0.78rem;
	right: 1rem;
	display: flex;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	color: var(--text-1);
	transition: transform 0.25s ease;
}

.encuentros-destacado__mas:hover,
.encuentros-destacado__mas:focus-visible {
	transform: scale(1.12);
}

.encuentros-destacado__mas svg {
	width: 100%;
	height: 100%;
}

/* Fecha de 13.5 px y nombre de 15.8 px en 700, abajo a la izquierda. */
.encuentros-destacado__texto {
	position: absolute;
	right: 1.28rem;
	bottom: 2.5rem;
	left: 1.28rem;
	pointer-events: none;
}

.encuentros-destacado__fecha {
	font-size: 0.847rem;
	line-height: 1.4;
}

.encuentros-destacado__nombre {
	max-width: 26.5em; /* corta donde el original: "…Negocios en / Bolivia" */
	margin-top: 0.22rem;
	font-size: 0.99rem;
	font-weight: 700;
	line-height: 1.42;
	text-wrap: wrap;
}

/* ---------- El carrusel ---------- */

.encuentros-carrusel {
	position: relative;

	/*
	  Las medidas van en cqi (centésimas del ancho del carrusel) y no en %:
	  dentro de la pista, un % se mediría contra la pista sin su margen.
	  257 × 342 a 1512, con 20 de hueco: caben dos y media.
	*/
	container-type: inline-size;
	--columna: 37.58cqi;
	--hueco: 1.25rem;
	--margen-pista: 0px;
}

/*
  Una fila que se desliza sola con el dedo, la rueda o el trackpad, y se
  detiene siempre al principio de una tarjeta. Sin barra de desplazamiento:
  la mueven las flechas.
*/
.encuentros-carrusel__pista {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: var(--columna);
	gap: var(--hueco);
	margin: 0;
	padding: 0 var(--margen-pista);
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--margen-pista);
	scrollbar-width: none;
}

.encuentros-carrusel__pista::-webkit-scrollbar {
	display: none;
}

.encuentros-carrusel__pista:focus-visible {
	outline: 2px solid var(--hover-cyan);
	outline-offset: 4px;
	border-radius: 20px;
}

.encuentro-tarjeta {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 257 / 342;
	scroll-snap-align: start;

	/* Sin esto la sombra se corta en el borde de la pista. */
	box-shadow: none;
}

.encuentro-tarjeta__foto {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0;
}

/* Nombre de 14.75 px en 700, fecha de 12 y el botón al pie: medidos. */
.encuentro-tarjeta__texto {
	padding: 0 1.875rem 2.06rem;
}

.encuentro-tarjeta__nombre {
	font-size: 0.922rem;
	font-weight: 700;
	line-height: 1.3;
}

.encuentro-tarjeta__fecha {
	margin-top: 0.08rem;
	font-size: 0.75rem;
	line-height: 1.4;
}

/* Contorno blanco que se rellena al pasar el cursor. Casi todo el ancho de la tarjeta. */
.encuentro-tarjeta__boton {
	width: 100%;
	max-width: 12rem;
	margin-top: 0.98rem;
	border-color: var(--text-1);
	color: var(--text-1);
}

.encuentro-tarjeta__boton:hover,
.encuentro-tarjeta__boton:focus-visible {
	background-color: var(--text-1);
	color: var(--bg-dark);
}

/*
  Las flechas: un chevrón blanco, fino, sobre el borde de las tarjetas, a
  media altura. Cada una se esconde cuando ya no hay nada hacia su lado.
*/
.encuentros-carrusel__flecha {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--text-1);
	filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
	cursor: pointer;
	transform: translateY(-50%);
}

.encuentros-carrusel__flecha[hidden] {
	display: none;
}

.encuentros-carrusel__flecha svg {
	width: 0.875rem;
	height: 1.75rem;
}

.encuentros-carrusel__flecha--atras {
	left: var(--margen-pista);
}

.encuentros-carrusel__flecha--adelante {
	right: var(--margen-pista);
}

/* ------------------------------------------------------------------ */
/* Próximos encuentros: la agenda                                      */
/* ------------------------------------------------------------------ */

/*
  Sección oscura. Termina en un degradado del azul noche a --agenda-fin que
  el pie corta en seco, como en el mockup: avisa de que se llegó al final.
  98 px arriba y unos 300 entre el panel y el pie, medidos.
*/
.encuentros-agenda {
	--degradado: clamp(10rem, 6rem + 13vw, 19rem);

	padding-top: clamp(4rem, 3.4rem + 2.3vw, 6.16rem);
	padding-bottom: var(--degradado);
	background-image: linear-gradient(
		to bottom,
		var(--bg-dark) calc(100% - var(--degradado)),
		var(--agenda-fin) 100%
	);
	color: var(--text-1);
}

/* Mismos tamaños que "Encuentros que Dejaron Huella"; los colores, para fondo oscuro. */
.encuentros-agenda__cabecera {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/*
  La píldora del mockup es --blue-pale con el texto en celeste, que sobre el
  fondo oscuro se pierde (lista de mejoras de la directora): el texto pasa
  al azul noche. 245 × 26, medida.
*/
.encuentros-agenda__pildora {
	background-color: var(--blue-pale);
	color: var(--bg-dark);
}

.encuentros-agenda__titulo {
	margin-top: clamp(0.656rem, 0.5rem + 0.7vw, 1.1rem);
}

.encuentros-agenda__bajada {
	max-width: 40em; /* corta como el mockup: "…la innovación y la / colaboración…" */
	color: var(--text-2);
}

/*
  El panel. En el mockup es un gris translúcido que apaga todo lo que lleva
  encima; aquí es el cristal del resto del sitio (blanco al 10 % y
  desenfoque) con el halo de las tarjetas del Home, y el texto en blanco.
*/
.encuentros-agenda__panel {
	margin-top: clamp(2.5rem, 2rem + 2vw, 4.125rem);
	padding: clamp(1rem, 0.6rem + 1.4vw, 1.875rem) clamp(1.25rem, 0.8rem + 1.6vw, 2.5rem);
	border-radius: 20px;
	background-color: var(--glass);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	box-shadow: var(--brillo-tarjeta);
}

/* ---------- Con encuentros ---------- */

.agenda {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Arte · fecha, nombre y sede · botón. Cada fila entre dos líneas finas. */
.agenda-evento {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.5rem clamp(1.25rem, 0.8rem + 1.5vw, 2.25rem);
	padding-block: 1.875rem;
	border-top: 1px solid var(--border-light);
}

.agenda-evento:last-child {
	border-bottom: 1px solid var(--border-light);
}

/* El arte, con las esquinas redondeadas (lista de mejoras). 77 px, como en el mockup. */
.agenda-evento__arte {
	width: 4.8rem;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 12px;
}

/* Sin arte, el texto ocupa también su columna. */
.agenda-evento__texto:first-child {
	grid-column: 1 / 3;
}

.agenda-evento__fecha {
	color: var(--text-2);
	font-size: 0.875rem;
	line-height: 1.4;
}

.agenda-evento__nombre {
	margin-top: 0.125rem;
	font-size: clamp(1.2rem, 1.1rem + 0.35vw, 1.375rem);
	font-weight: 500;
	line-height: 1.3;
	text-wrap: wrap;
}

/* "/ Universidad Fidélitas", más chica y en gris, en el mismo renglón. */
.agenda-evento__sede {
	color: var(--text-3);
	font-size: 0.9375rem;
	font-weight: 400;
}

.agenda-evento__sede::before {
	content: '/';
	margin-inline: 0.4rem 0.45rem;
	color: var(--text-1);
	font-size: 1.25em;
}

/* "Leer más" pliega y despliega el horario y la dirección. */
.agenda-evento__detalles {
	margin-top: 0.5rem;
}

.agenda-evento__detalles summary {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--text-1);
	font-size: 0.875rem;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	list-style: none;
}

.agenda-evento__detalles summary::-webkit-details-marker {
	display: none;
}

.agenda-evento__detalles summary svg {
	width: 0.75rem;
	transition: transform 0.25s ease;
}

.agenda-evento__detalles[open] summary svg {
	transform: rotate(180deg);
}

.agenda-evento__menos,
.agenda-evento__detalles[open] .agenda-evento__mas {
	display: none;
}

.agenda-evento__detalles[open] .agenda-evento__menos {
	display: inline;
}

.agenda-evento__detalles p {
	margin-top: 0.5rem;
	color: var(--text-2);
	font-size: 0.979rem;
	line-height: 1.6;
}

.agenda-evento__detalles p + p {
	margin-top: 0;
}

/*
  Registrarme: blanco lleno con el texto en azul noche, lo más visible del
  panel (en el mockup era celeste sobre gris y se perdía). Al pasar el
  cursor se vacía y queda en contorno blanco.
*/
.agenda-evento__registro,
.agenda-vacia__boton-blanco {
	padding-inline: 2rem;
	border-color: var(--text-1);
	background-color: var(--text-1);
	color: var(--bg-dark);
}

.agenda-evento__registro:hover,
.agenda-evento__registro:focus-visible,
.agenda-vacia__boton-blanco:hover,
.agenda-vacia__boton-blanco:focus-visible {
	background-color: transparent;
	color: var(--text-1);
}

/* ---------- Sin encuentros ---------- */

/*
  En el original era un recuadro blanco con "No hay eventos en este
  momento". Aquí el mismo panel de cristal dice qué viene y ofrece dos
  salidas: sumarse a la red o revivir los encuentros pasados.
*/
.agenda-vacia {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: clamp(2rem, 1.2rem + 3vw, 4rem) 0;
	text-align: center;
}

.agenda-vacia .icono--calendario {
	width: 3rem;
	color: var(--text-1);
}

.agenda-vacia__titulo {
	margin-top: 1.25rem;
	font-size: clamp(1.375rem, 1.25rem + 0.5vw, 1.75rem);
	font-weight: 600;
}

.agenda-vacia__texto {
	max-width: 34em;
	margin-top: 0.75rem;
	color: var(--text-2);
	font-size: 0.979rem;
	line-height: 1.6;
}

.agenda-vacia__botones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 1rem;
	margin-top: 2rem;
}

/* ------------------------------------------------------------------ */
/* Con menú de hamburguesa: todo centrado                              */
/* ------------------------------------------------------------------ */

@media (max-width: 991px) {
	.encuentros-header__texto {
		text-align: center;
	}

	.encuentros-header__bajada {
		margin-inline: auto;
	}

	.encuentros-header__botones {
		align-items: center;
	}

	/*
	  La galería se apila: el video arriba, a todo el ancho, y el carrusel
	  debajo con la tarjeta del medio centrada y las vecinas asomando, como
	  en el mockup de móvil. Las flechas quedan en los bordes de esa tarjeta.
	*/
	.encuentros-galeria {
		grid-template-columns: minmax(0, 1fr);
		row-gap: clamp(2.5rem, 2rem + 2vw, 3.5rem);
	}

	.encuentros-carrusel {
		--columna: min(59.3cqi, 20rem);
		--hueco: 1.6rem;
		--margen-pista: calc((100cqi - var(--columna)) / 2);
	}

	.encuentro-tarjeta {
		scroll-snap-align: center;
	}

	/* En el móvil del mockup el orador queda en el borde derecho. */
	.encuentros-header__foto {
		object-position: 24% 50%;
	}
}

/* Sin sitio para tres en fila, las tarjetas se apilan. */
@media (max-width: 767px) {
	.encuentros-header__formatos {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		gap: 0.625rem;
	}

	/* En el móvil el video es más alto: 332 × 269 a 360. */
	.encuentros-destacado {
		aspect-ratio: 332 / 269;
	}

	.encuentros-destacado__texto {
		bottom: 1.5rem;
	}

	.encuentro-tarjeta__texto {
		padding: 0 1.25rem 1.5rem;
	}

	/*
	  La agenda en columna, como en el mockup de móvil: el arte arriba, grande,
	  luego el texto y el botón a todo el ancho.
	*/
	.agenda-evento {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 1.25rem;
	}

	.agenda-evento__arte {
		width: 100%;
		max-width: 26rem;
	}

	.agenda-evento__texto:first-child {
		grid-column: auto;
	}

	/* La sede baja a su propio renglón, sin la barra. */
	.agenda-evento__sede {
		display: block;
	}

	.agenda-evento__sede::before {
		content: none;
	}

	.agenda-evento__registro {
		width: 100%;
	}

	/* 254 px de ancho a 360, como en el mockup de móvil. */
	.encuentros-formato {
		width: min(70.5vw, 349px);
		padding: 1.1rem 0.75rem 1.25rem;
	}
}

/* En teléfonos, los dos botones de la agenda vacía se apilan a todo el ancho. */
@media (max-width: 479px) {
	.agenda-vacia__botones {
		flex-direction: column;
		align-self: stretch;
	}
}
