:root {
	--act-text: #111111;
	--act-muted: #525252;
	--act-accent: #A08962;
	--act-card-bg: #FBF8F1;
	--act-font-heading: "Montserrat", Arial, sans-serif;
	--act-font-body: "Inter", Arial, sans-serif;
}

.act-actividades-grid,
.act-single,
.act-actividad-card {
	box-sizing: border-box;
}

.act-actividades-grid *,
.act-single * {
	box-sizing: border-box;
}

/* Cuadrícula de actividades */
.act-actividades-grid {
	display: grid;
	grid-template-columns: repeat(var(--act-columnas, 4), minmax(0, 1fr));
	gap: 28px 20px;
	width: 100%;
}

.act-actividad-card {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
	background: var(--act-card-bg);
	border-radius: 10px;
	box-shadow: 0px 14px 44px 0px #6B4E3A29;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.act-actividad-card:hover {
	transform: translateY(-3px);
	box-shadow: 0px 14px 44px 0px #6B4E3A29;
}

.act-actividad-card__imagen {
	display: block;
	aspect-ratio: 16 / 8;
	overflow: hidden;
	background: #17221d;
}

.act-actividad-card__imagen img,
.act-actividad-card__sin-imagen {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.act-actividad-card:hover .act-actividad-card__imagen img {
	transform: scale(1.035);
}

.act-actividad-card__contenido {
	flex: 1;
	padding: 16px 18px 20px;
}

/* Se fuerza también sobre el enlace para evitar que Bridge sustituya Montserrat. */
.act-actividades-grid .act-actividad-card .act-actividad-card__titulo,
.act-actividades-grid .act-actividad-card .act-actividad-card__titulo a {
	margin: 0 0 5px !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 22px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 23.1px !important;
	letter-spacing: -0.44px !important;
	text-transform: none !important;
	color: #111111 !important;
	text-decoration: none !important;
}

.act-actividades-grid .act-actividad-card .act-actividad-card__titulo a:hover,
.act-actividades-grid .act-actividad-card .act-actividad-card__titulo a:focus {
	color: #111111 !important;
	text-decoration: none !important;
}

.act-actividades-grid .act-actividad-card__subtitulo {
	margin: 0 0 12px;
	font-family: var(--act-font-heading);
	font-size: 15px;
	font-weight: 500;
	line-height: 23.1px;
	letter-spacing: -0.44px;
	text-transform: none;
	color: var(--act-text);
}

.act-actividades-grid .act-actividad-card__fecha {
	margin: 0;
	font-family: var(--act-font-body);
	font-size: 17px;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--act-muted);
}

.act-actividad-card__pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 47px;
	padding: 10px 18px;
	border-top: 1px solid var(--act-accent);
	font-family: var(--act-font-heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 23.1px;
	letter-spacing: -0.44px;
	text-transform: uppercase;
	color: var(--act-accent);
}

.act-actividad-card__pie img {
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	object-fit: contain;
}

.act-actividades-vacio {
	margin: 0;
	font-family: var(--act-font-body);
	color: var(--act-muted);
}

/* Página individual: imagen, título, metadatos y contenido comparten ancho. */
.act-single {
	width: 100%;
	padding: 0 0 clamp(56px, 8vw, 96px) !important;
}

/*
 * El script mide la cabecera visible de Bridge y suma 50 px de separación.
 * 124 px es el fallback seguro de escritorio antes de que se ejecute JS.
 */
body.single-ing_actividad main#primary.act-single > .act-single__container {
	width: min(calc(100% - 40px), 1100px);
	margin-right: auto;
	margin-left: auto;
	padding-top: var(--act-single-top-offset, 124px) !important;
}

.act-single__article,
.act-single__featured,
.act-single__header,
.act-single__content {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.act-single__featured {
	margin-top: 0;
	margin-bottom: 42px;
	overflow: hidden;
}

.act-single__featured img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 680px;
	object-fit: cover;
	border-radius: 28px;
}

.act-single__header {
	margin-bottom: 24px;
}

.act-single .act-single__title {
	margin: 0 0 16px;
	font-family: var(--act-font-heading);
	font-size: clamp(38px, 5vw, 56px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -1.1px;
	text-transform: none;
	color: var(--act-text);
}

.act-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 18px;
	padding: 10px 0 13px;
	border-top: 1px solid var(--act-accent);
	border-bottom: 1px solid var(--act-accent);
}

.act-single__type {
	font-family: var(--act-font-heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 23.1px;
	letter-spacing: -0.44px;
	text-transform: uppercase;
	color: var(--act-accent);
}

.act-single__subtitle {
	font-family: var(--act-font-heading);
	font-size: 15px;
	font-weight: 500;
	line-height: 23.1px;
	letter-spacing: -0.44px;
	color: var(--act-text);
}

.act-single__date {
	font-family: var(--act-font-body);
	font-size: 17px;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: 0;
	color: var(--act-muted);
}

.act-single__content {
	font-family: var(--act-font-body);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--act-muted);
}

.act-single__content > :first-child {
	margin-top: 0;
}

.act-single__content > :last-child {
	margin-bottom: 0;
}

.act-single__content img,
.act-single__content iframe,
.act-single__content video {
	max-width: 100%;
}

@media (max-width: 1024px) {
	body.single-ing_actividad main#primary.act-single > .act-single__container {
		padding-top: var(--act-single-top-offset, 50px) !important;
	}

	.act-actividades-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	}
}

@media (max-width: 640px) {
	.act-actividades-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.act-actividad-card__imagen {
		aspect-ratio: 16 / 9;
	}

	.act-actividad-card__contenido {
		padding: 15px 16px 18px;
	}

	.act-actividad-card__pie {
		padding-right: 16px;
		padding-left: 16px;
	}

	body.single-ing_actividad main#primary.act-single > .act-single__container {
		width: min(calc(100% - 32px), 1100px);
	}

	.act-single__featured {
		margin-bottom: 28px;
	}

	.act-single .act-single__title {
		font-size: 36px;
		letter-spacing: -0.7px;
	}

	.act-single__meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}
}
