/* SEQT Agenda Científica — estilos de front-end.
   Colores base de identidad: azul #022F61, naranja #C27318, tipografía Montserrat
   (heredada del tema; aquí solo se define font-family de refuerzo). */

.seqt-agenda-grid,
.seqt-listado,
.seqt-ficha {
	font-family: 'Montserrat', sans-serif;
	color: #022F61;
}

/* ---------- Badges ---------- */
.seqt-badge {
	display: inline-block;
	background: var(--bg, #DCE8F5);
	color: var(--accent, #1F4E79);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 5px 12px;
	border-radius: 20px;
}
.seqt-badge-anterior {
	font-style: normal;
	font-weight: 500;
	text-transform: none;
	opacity: .75;
}

/* ---------- Agenda destacados (home) ---------- */
.seqt-agenda-destacados { margin: 24px 0; }
.seqt-agenda-tabs { margin-bottom: 20px; }
.seqt-agenda-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
}
.seqt-agenda-card {
	display: flex;
	gap: 18px;
	align-items: stretch;
	background: #fffdf9;
	border: 1px solid #eef1f6;
	border-radius: 18px;
	padding: 16px;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.seqt-agenda-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(2,47,97,.12);
}
.seqt-agenda-badge {
	flex: none;
	width: 72px;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 10px 4px;
	text-align: center;
}
.seqt-agenda-badge--seqt { background: #FBEBD2; }
.seqt-agenda-badge--otras { background: #DCE8F5; }
.seqt-agenda-badge .d {
	font-size: 26px;
	font-weight: 800;
	line-height: 1;
	color: #022F61;
}
.seqt-agenda-badge .m {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: #022F61;
	margin-top: 4px;
}
.seqt-agenda-badge .y {
	font-size: 11px;
	font-weight: 500;
	color: #5a6472;
}
.seqt-agenda-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}
.seqt-agenda-body-cat {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 5px;
}
.seqt-agenda-body-cat--seqt { color: #8A5A12; }
.seqt-agenda-body-cat--otras { color: #1F4E79; }
.seqt-agenda-body-ttl {
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.35;
	color: #022F61;
	margin-bottom: 5px;
}
.seqt-agenda-body-place {
	font-size: 13px;
	font-weight: 500;
	color: #5a6472;
}
.seqt-agenda-cta {
	text-align: center;
	margin: 24px 0 0;
}
.seqt-agenda-cta-btn { text-decoration: none; display: inline-block; }

@media (max-width: 420px) {
	.seqt-agenda-card { flex-direction: column; }
	.seqt-agenda-badge { width: 100%; flex-direction: row; gap: 6px; padding: 8px; }
}

/* ---------- Tabs ---------- */
.seqt-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
	border-bottom: 1px solid #E3E8EF;
	padding-bottom: 12px;
}
.seqt-tab {
	background: #F3F5F8;
	border: none;
	border-radius: 20px;
	padding: 8px 18px;
	font-family: inherit;
	font-weight: 600;
	font-size: 14px;
	color: #022F61;
	cursor: pointer;
}
.seqt-tab.is-active {
	background: #022F61;
	color: #fff;
}
.seqt-panel { display: none; }
.seqt-panel.is-active { display: block; }

.seqt-subtitulo {
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #022F61;
	margin: 28px 0 14px;
}
.seqt-subtitulo-anteriores { color: #6b7688; }

/* ---------- Now cards (activos) — estilo intenso ---------- */
.seqt-now-stack {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}
.seqt-now-card {
	display: block;
	background: var(--bg);
	border-radius: 14px;
	padding: 18px 20px;
	text-decoration: none;
	color: #022F61;
}
.seqt-now-card-titulo {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 6px;
	line-height: 1.3;
}
.seqt-now-card-lede {
	font-size: 13.5px;
	color: #3a4658;
	margin: 0 0 10px;
	line-height: 1.5;
}
.seqt-now-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 0;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--accent);
}

/* ---------- Record list (anteriores) ---------- */
.seqt-record-list {
	display: flex;
	flex-direction: column;
	border: 1px solid #E9ECF1;
	border-radius: 16px;
	overflow: hidden;
}
.seqt-record-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 20px;
	border-bottom: 1px solid #E9ECF1;
}
.seqt-record-row:last-child { border-bottom: none; }
.seqt-record-row:nth-child(even) { background: #F7F8FA; }
/* Sin esto, "display:flex" de arriba pisa el display:none nativo del
   atributo [hidden] (misma especificidad, y la hoja del plugin gana por
   venir después) y "Ver más anteriores" no ocultaba/mostraba nada. */
.seqt-record-row[hidden] { display: none; }

.seqt-record-anio {
	flex: none;
	width: 60px;
	font-size: 13px;
	font-weight: 700;
	color: #9aa3ad;
}
.seqt-record-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	flex: 1 1 auto;
	min-width: 0;
}
.seqt-record-titulo {
	color: #022F61;
	font-weight: 700;
	font-size: 14.5px;
	line-height: 1.35;
	text-decoration: none;
}
.seqt-record-titulo:hover { text-decoration: underline; }
.seqt-record-meta {
	font-size: 12.5px;
	color: #6b7688;
	font-weight: 600;
}
.seqt-record-docs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: none;
}
.seqt-record-docs a {
	display: inline-block;
	background: #eef1f6;
	color: #022F61;
	padding: 5px 12px;
	border-radius: 20px;
	font-weight: 600;
	font-size: 12px;
	text-decoration: none;
	white-space: nowrap;
}
.seqt-record-docs a:hover { background: #022F61; color: #fff; }

@media (max-width: 620px) {
	.seqt-record-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
	.seqt-record-anio { width: auto; }
	.seqt-record-docs { max-width: none; width: 100%; justify-content: flex-start; }
}

.seqt-archive-toggle {
	margin-top: 14px;
	background: #eef1f6;
	border: none;
	border-radius: 20px;
	padding: 8px 18px;
	font-family: inherit;
	font-weight: 700;
	font-size: 13px;
	color: #022F61;
	cursor: pointer;
}
.seqt-archive-toggle:hover { background: #dbe4f0; }

.seqt-vacio { color: #6b7688; font-style: italic; }

/* ---------- Ficha individual ---------- */
.seqt-ficha-container {
	max-width: 860px;
	margin: 0 auto;
	padding: 60px 20px 80px;
}
.seqt-ficha-titulo {
	font-size: 34px;
	font-weight: 700;
	color: #022F61;
	margin: 16px 0 14px;
	line-height: 1.25;
}
.seqt-ficha-lede {
	font-size: 18px;
	color: #3a4658;
	line-height: 1.6;
	margin: 0 0 24px;
}
.seqt-ficha-img {
	text-align: center;
	margin: 0 0 30px;
}
.seqt-ficha-img img {
	height: 260px;
	width: auto;
	max-width: 100%;
	border-radius: 12px;
	object-fit: cover;
}
@media (max-width: 600px) {
	.seqt-ficha-img img {
		height: auto;
		width: 100%;
		aspect-ratio: 16/10;
		object-fit: cover;
	}
}

.seqt-ficha-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 48px;
	align-items: start;
}
.seqt-ficha-cuerpo { line-height: 1.75; color: #1c2733; }
.seqt-ficha-cuerpo p { margin: 0 0 1.2em; }

/* Cuando la ficha no tiene cuerpo de texto (por ejemplo, contenido
   importado que solo trae la entradilla), no tiene sentido dejar la
   columna de texto vacía junto a una barra lateral estrecha: la
   información pasa a ocupar el ancho completo, en tarjetas en fila. */
.seqt-ficha-layout--sin-cuerpo {
	grid-template-columns: 1fr;
}
.seqt-ficha-layout--sin-cuerpo .seqt-ficha-rail {
	position: static;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
}
.seqt-ficha-layout--sin-cuerpo .seqt-rail-card,
.seqt-ficha-layout--sin-cuerpo .seqt-ext-link,
.seqt-ficha-layout--sin-cuerpo .seqt-share-card {
	flex: 1 1 220px;
}

.seqt-ficha-rail {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.seqt-rail-card {
	background: var(--bg, #F3F5F8);
	border-radius: 12px;
	padding: 18px 20px;
}
.seqt-rail-item { margin: 0 0 10px; font-size: 14px; line-height: 1.4; }
.seqt-rail-item:last-child { margin-bottom: 0; }
.seqt-rail-item strong {
	display: block;
	font-size: 11px;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--accent);
	margin-bottom: 2px;
}
.seqt-rail-titulo {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--accent);
	margin-bottom: 10px;
}
.seqt-doc-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.seqt-doc-list a {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #022F61;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
}
.seqt-doc-list a:hover { text-decoration: underline; }
.seqt-doc-list a svg { flex: none; color: var(--accent, #C27318); }

.seqt-ext-link {
	display: block;
	text-align: center;
	background: #022F61;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	padding: 12px 16px;
	border-radius: 10px;
}
.seqt-ext-link:hover { background: #C27318; color: #fff; }

.seqt-share-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.seqt-share-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.seqt-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #E3E8EF;
	color: #022F61;
	text-decoration: none;
	cursor: pointer;
	flex: none;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.seqt-share-btn:hover { border-color: #022F61; background: #022F61; color: #fff; }
.seqt-share-btn.seqt-copy-link { font-family: inherit; }
.seqt-share-btn.is-copiado { background: #C27318; border-color: #C27318; color: #fff; }

.seqt-volver { margin-top: 40px; }
.seqt-volver a { color: #022F61; font-weight: 600; text-decoration: none; }
.seqt-volver a:hover { text-decoration: underline; }

@media (max-width: 780px) {
	.seqt-ficha-layout { grid-template-columns: 1fr; }
	.seqt-ficha-rail { position: static; }
}
