/*
 * Actividades: estilos.
 * Para ajustar los colores o la tipografía, cambia solo las variables de abajo.
 */
.actc {
	--actc-acento: #cc0000;        /* rojo de la barra superior: fecha, iconos, subrayado, botón */
	--actc-acento-texto: #ffffff;  /* texto sobre el color de acento */
	--actc-titulo: #1e1e1e;        /* títulos de las actividades */
	--actc-texto: #333333;
	--actc-gris: #6f6f6f;

	width: 100%;
	container-type: inline-size;   /* el diseño se adapta al ancho del contenedor, no solo de la pantalla */
	container-name: actc;
	font-family: inherit;          /* si quieres otra tipografía: font-family: "Jost", sans-serif; */
	color: var(--actc-texto);
	hyphens: manual;
	word-break: normal;
	overflow-wrap: break-word;
}
.actc *,
.actc *::before,
.actc *::after { box-sizing: border-box; }

/* Pestañas */
.actc .actc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	margin: 0 0 2.5rem;
}
.actc a.actc-tab {
	padding: 0 0 1rem;
	border-bottom: 3px solid transparent;
	font-size: 1.05rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #a3a3a3;
	text-decoration: none;
}
.actc a.actc-tab.is-active {
	color: var(--actc-titulo);
	border-bottom-color: var(--actc-acento);
}

/* Estructura: se fuerza para que los estilos del tema no la alteren */
.actc .actc-panel,
.actc .actc-lista,
.actc .actc-item,
.actc .actc-card {
	float: none;
	max-width: none;
	position: static;
}
.actc .actc-panel { width: 100%; margin: 0; }
.actc .actc-lista { display: flex; flex-direction: column; gap: 2rem; width: 100%; margin: 0; padding: 0; }
.actc .actc-vacio { margin: 0; padding: 1.5rem; background: #fff; box-shadow: 0 1px 8px rgba(0, 0, 0, .08); }
.actc .actc-aviso-admin { margin: 0 0 1.5rem; padding: .75rem 1rem; background: #fff8e1; border-left: 4px solid #f0b429; font-size: .9rem; }

/* Elemento: bloque de fecha + tarjeta */
.actc .actc-item { display: flex; align-items: flex-start; gap: 10px; width: 100%; margin: 0; padding: 0; }

.actc .actc-fecha {
	flex: 0 0 100px;
	width: 100px;
	padding: 1rem .5rem 1.1rem;
	background: var(--actc-acento);
	color: var(--actc-acento-texto);
	text-align: center;
	font-weight: 700;
	line-height: 1.15;
}
.actc .actc-fecha .d { display: block; font-size: 3.4rem; line-height: 1; }
.actc .actc-fecha .m { display: block; margin-top: .35rem; font-size: 1.2rem; text-transform: uppercase; }
.actc .actc-fecha .a { display: block; margin-top: .55rem; font-size: 1.1rem; }

.actc .actc-card {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	gap: 30px;
	min-width: 0;
	margin: 0;
	padding: 30px;
	background: #fff;
	box-shadow: 0 1px 8px rgba(0, 0, 0, .08);
}
.actc .actc-img {
	flex: 0 0 246px;
	width: 246px;
	height: 210px;
	display: block;
	background: var(--actc-acento);
}
.actc .actc-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }

.actc .actc-info { flex: 1 1 0; min-width: 0; }
.actc .actc-titulo {
	margin: 0 0 1.2rem;
	padding: 0;
	font-size: 1.4rem;
	line-height: 1.25;
	font-weight: 700;
	text-transform: none;
	letter-spacing: normal;
}
.actc .actc-titulo a { color: var(--actc-titulo); text-decoration: none; }
.actc .actc-titulo a:hover { color: var(--actc-acento); }

.actc .actc-fila { display: flex; align-items: flex-start; gap: .7rem; margin: .6rem 0; padding: 0; font-size: 1.05rem; line-height: 1.4; }
.actc .actc-ico { flex: 0 0 24px; width: 24px; height: 24px; margin-top: .1rem; color: var(--actc-acento); }
.actc .actc-fila strong { font-weight: 700; color: var(--actc-titulo); }
.actc .actc-fila .g { color: var(--actc-gris); }
.actc .actc-loc strong { text-transform: uppercase; }
.actc .actc-extra { margin: .6rem 0 0; padding: 0; font-size: .95rem; color: var(--actc-gris); }

.actc a.actc-btn {
	display: inline-block;
	margin-top: 1rem;
	padding: .5rem 1.2rem;
	border: 2px solid var(--actc-acento);
	font-size: .95rem;
	font-weight: 700;
	color: var(--actc-acento);
	text-decoration: none;
}
.actc a.actc-btn:hover { background: var(--actc-acento); color: var(--actc-acento-texto); }
.actc a:focus-visible { outline: 2px solid var(--actc-acento); outline-offset: 2px; }

/* Realizadas */
.actc .actc-item.is-past .actc-fecha { background: #dcdcdc; color: #6f6f6f; }
.actc .actc-item.is-past .actc-img { background: #bdbdbd; }
.actc .actc-item.is-past .actc-img img { filter: grayscale(.8); }

/* Ficha en la página individual */
.actc.actc-ficha {
	margin: 0 0 2rem;
	padding: 1.25rem 1.5rem;
	background: #fff;
	border-left: 6px solid var(--actc-acento);
	box-shadow: 0 1px 8px rgba(0, 0, 0, .08);
}
.actc.actc-ficha.is-past { border-left-color: #cfcfcf; }

/* Contenedor estrecho (columna de Elementor, móvil...) */
@container actc (max-width: 700px) {
	.actc .actc-item { flex-direction: column; gap: 0; }
	.actc .actc-fecha {
		display: flex;
		align-items: baseline;
		gap: .6rem;
		flex: none;
		width: auto;
		padding: .6rem 1.1rem;
	}
	.actc .actc-fecha .d { font-size: 2rem; }
	.actc .actc-fecha .m,
	.actc .actc-fecha .a { margin: 0; font-size: 1.05rem; }
	.actc .actc-card { flex: none; flex-direction: column; align-items: stretch; width: 100%; gap: 1.25rem; padding: 1.25rem; }
	.actc .actc-img { flex: none; width: 100%; height: 200px; }
	.actc .actc-tabs { gap: 1.5rem; }
}
