/*
 * USIL Convocatorias
 * Estilo tomado de usil.edu.pe (Eventos y Comunidad de beneficios): fondos blancos, azul #0036DC,
 * títulos azul marino en Montserrat, celeste #E5EBFB para etiquetas y bloques suaves, borde azul a la
 * izquierda en las tarjetas. Los colores se ajustan con las variables de abajo, por ejemplo en
 * Elementor > Ajustes del sitio > CSS personalizado.
 */
.conv-listado,
.conv-ficha {
	--conv-azul: #0036dc;
	--conv-azul-hover: #002bb0;
	--conv-azul-vivo: #0050e0;
	--conv-marino: #00195a;
	--conv-titulo: #012187;
	--conv-celeste: #e5ebfb;
	--conv-celeste-suave: #f3f6fd;
	--conv-texto: #333333;
	--conv-suave: #616569;
	--conv-borde: #e1e4e8;
	--conv-abierta: #0b7a3b;
	--conv-abierta-fondo: #e2f5ea;
	--conv-proxima: #8a5a00;
	--conv-proxima-fondo: #fff3cc;
	--conv-cerrada: #a1262a;
	--conv-cerrada-fondo: #fde8e8;
	--conv-radio: 12px;
	--conv-borde-acento: 0px;
	--conv-margen-ficha: 30px;
	--conv-sombra: 0 6px 24px rgba(0, 33, 135, 0.08);
	--conv-sombra-alta: 0 14px 36px rgba(0, 33, 135, 0.16);
	--conv-fuente-titulos: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	color: var(--conv-texto);
	line-height: 1.6;
}

.conv-listado *,
.conv-ficha * {
	box-sizing: border-box;
}

/* La ficha trae su propio título en la cabecera: se oculta el del tema. */
.single-convocatoria .page-header .entry-title,
.single-convocatoria .entry-header .entry-title,
.single-convocatoria .elementor-widget-theme-post-title {
	display: none;
}

/* Íconos (SVG en línea, toman el color del texto) */
.conv-icono {
	flex: none;
	width: 18px;
	height: 18px;
	color: var(--conv-azul);
}

/* Etiquetas ---------------------------------------------------------------- */
.conv-etiqueta {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--conv-celeste);
	color: var(--conv-azul);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.6;
}
.conv-etiqueta--abierta,
.conv-etiqueta--proximamente,
.conv-etiqueta--cerrada {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.conv-etiqueta--abierta::before,
.conv-etiqueta--proximamente::before,
.conv-etiqueta--cerrada::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	background: currentColor;
	vertical-align: 1px;
}
.conv-etiqueta--abierta { background: var(--conv-abierta-fondo); color: var(--conv-abierta); }
.conv-etiqueta--proximamente { background: var(--conv-proxima-fondo); color: var(--conv-proxima); }
.conv-etiqueta--cerrada { background: var(--conv-cerrada-fondo); color: var(--conv-cerrada); }

.conv-dias {
	display: inline-block;
	margin-top: 4px;
	padding: 1px 10px;
	border-radius: 999px;
	background: var(--conv-azul);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 600;
}

/* Botones ------------------------------------------------------------------ */
.conv-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 24px;
	border: 2px solid var(--conv-azul);
	border-radius: 50px;
	background: var(--conv-azul);
	color: #fff;
	font-family: var(--conv-fuente-titulos);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.conv-boton:hover,
.conv-boton:focus-visible {
	background: var(--conv-azul-hover);
	border-color: var(--conv-azul-hover);
	color: #fff;
}
.conv-boton--secundario {
	background: transparent;
	color: var(--conv-azul);
}
.conv-boton--secundario:hover { color: #fff; }
.conv-boton--bloque { display: flex; width: 100%; }

/* Flecha en círculo, como los botones de usil.edu.pe */
.conv-flecha {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
	color: var(--conv-azul);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1;
	transition: transform 0.2s;
}

/* Filtros ------------------------------------------------------------------ */
.conv-filtros {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 14px 16px;
	align-items: end;
	margin: 0 0 14px;
	padding: 22px;
	border: 1px solid var(--conv-borde);
	border-radius: var(--conv-radio);
	background: #fff;
	box-shadow: var(--conv-sombra);
}
.conv-filtros__campo--buscar { grid-column: span 2; }
.conv-filtros label {
	display: block;
	margin-bottom: 6px;
	color: var(--conv-titulo);
	font-family: var(--conv-fuente-titulos);
	font-size: 0.78rem;
	font-weight: 600;
}
.conv-filtros input,
.conv-filtros select {
	width: 100%;
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid #c9d2e3;
	border-radius: 8px;
	background: #fff;
	color: var(--conv-texto);
	font-family: inherit;
	font-size: 0.95rem;
}
.conv-filtros input:focus,
.conv-filtros select:focus {
	border-color: var(--conv-azul);
	outline: 2px solid rgba(0, 54, 220, 0.15);
}
.conv-filtros__acciones {
	display: flex;
	align-items: center;
	gap: 14px;
}
.conv-filtros__limpiar { color: var(--conv-suave); font-size: 0.9rem; }
.conv-resultados { margin: 0 0 20px; color: var(--conv-suave); font-size: 0.85rem; }
.conv-vacio {
	padding: 32px;
	border-radius: var(--conv-radio);
	background: var(--conv-celeste-suave);
	color: var(--conv-titulo);
	text-align: center;
}

.conv-vacio a { color: var(--conv-azul); font-weight: 600; text-decoration: underline; }

/* Tarjetas (como las de Eventos: blancas, borde azul a la izquierda) ------- */
.conv-grid {
	display: grid;
	grid-template-columns: repeat(var(--conv-columnas, 3), minmax(0, 1fr));
	gap: 28px;
}
.conv-tarjeta {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-left: var(--conv-borde-acento) solid var(--conv-azul);
	border-radius: var(--conv-radio);
	background: #fff;
	box-shadow: var(--conv-sombra);
	transition: transform 0.2s, box-shadow 0.2s;
}
.conv-tarjeta:hover {
	transform: translateY(-4px);
	box-shadow: var(--conv-sombra-alta);
}
.conv-tarjeta__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--conv-celeste);
	text-decoration: none;
}
.conv-tarjeta__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}
.conv-tarjeta:hover .conv-tarjeta__img { transform: scale(1.04); }
.conv-tarjeta__media--sin-imagen {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 2px;
	padding: 52px 22px 20px;
	background: linear-gradient(135deg, var(--conv-celeste) 0%, var(--conv-celeste-suave) 100%);
	color: var(--conv-azul);
}
/* Círculos decorativos cuando no hay imagen */
.conv-tarjeta__media-tipo {
	position: relative;
	color: var(--conv-titulo);
	font-family: var(--conv-fuente-titulos);
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}
.conv-tarjeta__media-origen {
	position: relative;
	color: var(--conv-azul);
	font-size: 0.82rem;
	font-weight: 600;
}
.conv-tarjeta__estado {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 1;
}
.conv-tarjeta__estado .conv-etiqueta { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
.conv-tarjeta__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding: 20px 22px 22px;
}
.conv-tarjeta__entidad {
	margin: 0;
	color: var(--conv-azul);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.conv-tarjeta__titulo {
	margin: 0;
	font-family: var(--conv-fuente-titulos);
	font-size: 1.02rem;
	font-weight: 800;
	line-height: 1.35;
}
.conv-tarjeta__titulo a { color: var(--conv-titulo); text-decoration: none; }
.conv-tarjeta__titulo a:hover { color: var(--conv-azul); }
.conv-tarjeta__etiquetas { display: flex; flex-wrap: wrap; gap: 6px; }
.conv-tarjeta__datos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 4px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--conv-borde);
}
.conv-tarjeta__datos--uno { grid-template-columns: 1fr; }
.conv-tarjeta__dato { display: flex; gap: 10px; align-items: flex-start; }
.conv-tarjeta__datos dt,
.conv-panel dt {
	color: var(--conv-suave);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.conv-tarjeta__datos dd { margin: 2px 0 0; color: var(--conv-titulo); font-size: 0.88rem; font-weight: 600; }
.conv-tarjeta__monto {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.conv-tarjeta__enlace {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
	color: var(--conv-azul);
	font-family: var(--conv-fuente-titulos);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
}
.conv-tarjeta__enlace .conv-flecha { background: var(--conv-azul); color: #fff; }
.conv-tarjeta:hover .conv-flecha { transform: translateX(4px); }

.conv-paginacion { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 36px; }
.conv-paginacion .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--conv-borde);
	border-radius: 50px;
	color: var(--conv-titulo);
	font-weight: 600;
	text-decoration: none;
}
.conv-paginacion .page-numbers.current,
.conv-paginacion .page-numbers:hover { background: var(--conv-azul); border-color: var(--conv-azul); color: #fff; }
.conv-ver-todas { margin-top: 32px; text-align: center; }

/* Ficha: cabecera (tarjeta blanca con borde azul, como la de Eventos) ----- */
.conv-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	overflow: hidden;
	margin-bottom: 40px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--conv-sombra);
}
.conv-hero::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--conv-marino) 0%, var(--conv-azul) 60%);
	z-index: 2;
}
.conv-hero--sin-imagen { grid-template-columns: minmax(0, 1fr); background: linear-gradient(120deg, #fff 55%, var(--conv-celeste-suave) 100%); }
.conv-hero--imagen-izquierda .conv-hero__imagen { order: -1; }
.conv-hero__texto {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	padding: 44px 44px 46px;
}
.conv-hero__etiquetas { display: flex; flex-wrap: wrap; gap: 8px; }
.conv-hero__entidad {
	margin: 4px 0 0;
	color: var(--conv-azul);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.conv-hero__titulo {
	margin: 0;
	color: var(--conv-titulo);
	font-family: var(--conv-fuente-titulos);
	font-size: clamp(1.5rem, 2.6vw, 2.2rem);
	font-weight: 800;
	line-height: 1.2;
}
.conv-hero__datos {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin-top: 10px;
}
.conv-hero__dato {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px;
	border-radius: 10px;
	background: var(--conv-celeste-suave);
	border: 1px solid var(--conv-celeste);
}
.conv-hero__dato .conv-icono { width: 22px; height: 22px; }
.conv-hero__dato span {
	display: block;
	color: var(--conv-suave);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.conv-hero__dato strong { display: block; color: var(--conv-titulo); font-size: 0.95rem; font-weight: 600; line-height: 1.4; }
.conv-hero__dato--monto strong {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.conv-hero__dias {
	display: flex;
	align-items: center;
	padding: 10px 16px;
	border-radius: 10px;
	background: var(--conv-azul);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 800;
}
.conv-hero__imagen { position: relative; min-height: 300px; }
.conv-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Ficha: margen arriba y abajo (se cambia en Ajustes) ---------------------- */
.conv-ficha { margin: var(--conv-margen-ficha) 0; }

/* Ficha: cuerpo ------------------------------------------------------------ */
.conv-ficha__grid {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}
.conv-ficha__intro { font-size: 1.05rem; }
.conv-ficha__intro p:first-child { margin-top: 0; }
.conv-ficha__cuadro {
	overflow-x: auto;
	margin: 28px 0;
	border: 1px solid var(--conv-borde);
	border-radius: 10px;
}
.conv-ficha__cuadro table { width: 100%; margin: 0; border-collapse: collapse; background: #fff; }
.conv-ficha__cuadro th {
	padding: 12px 16px;
	background: var(--conv-azul);
	color: #fff;
	font-family: var(--conv-fuente-titulos);
	font-size: 0.85rem;
	font-weight: 600;
	text-align: left;
}
.conv-ficha__cuadro td { padding: 12px 16px; border-bottom: 1px solid var(--conv-borde); }
.conv-ficha__cuadro tr:nth-child(even) td { background: var(--conv-celeste-suave); }

.conv-seccion { margin-top: 40px; }
.conv-seccion h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	color: var(--conv-titulo);
	font-family: var(--conv-fuente-titulos);
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.3;
}
.conv-seccion h2::before {
	content: "";
	flex: none;
	width: 6px;
	height: 1.3em;
	border-radius: 3px;
	background: var(--conv-azul);
}
.conv-seccion ul,
.conv-seccion ol { padding-left: 1.3em; }
.conv-seccion li { margin-bottom: 8px; }
.conv-seccion ul li::marker { color: var(--conv-azul); }
.conv-ficha a { word-break: break-word; }
.conv-ficha__contenido a:not(.conv-boton) { color: var(--conv-azul); }

.conv-recursos__lista { display: grid; gap: 10px; margin: 0; padding: 0 !important; list-style: none; }
.conv-recursos__item a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	border: 1px solid var(--conv-borde);
	border-left: 4px solid var(--conv-azul);
	border-radius: 10px;
	background: #fff;
	color: var(--conv-titulo) !important;
	font-weight: 600;
	text-decoration: none;
	transition: box-shadow 0.2s;
}
.conv-recursos__item a:hover { box-shadow: var(--conv-sombra); }
.conv-recursos__tipo {
	flex: none;
	min-width: 58px;
	padding: 4px 8px;
	border-radius: 8px;
	background: var(--conv-celeste);
	color: var(--conv-azul);
	font-size: 0.72rem;
	font-weight: 800;
	text-align: center;
}
.conv-recursos__nombre { flex: 1; }
.conv-recursos__bajar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--conv-azul);
	color: #fff;
	font-weight: 600;
}
.conv-recursos__item--pdf .conv-recursos__tipo { background: #fde8e8; color: #b42318; }
.conv-recursos__item--xls .conv-recursos__tipo,
.conv-recursos__item--xlsx .conv-recursos__tipo { background: #e2f5ea; color: #15803d; }

.conv-nota {
	display: flex;
	gap: 16px;
	margin-top: 44px;
	padding: 24px 26px;
	border-left: var(--conv-borde-acento) solid var(--conv-azul);
	border-radius: var(--conv-radio);
	background: var(--conv-celeste);
	color: var(--conv-texto);
}
.conv-nota .conv-icono { width: 28px; height: 28px; margin-top: 2px; }
.conv-nota__titulo {
	margin: 0 0 6px;
	color: var(--conv-titulo);
	font-family: var(--conv-fuente-titulos);
	font-size: 1.05rem;
	font-weight: 800;
}
.conv-nota p:last-child { margin-bottom: 0; }
.conv-ficha .conv-nota a { font-weight: 600; }

/* Ficha: panel de datos (a la izquierda) ----------------------------------- */
.conv-ficha__panel { position: sticky; top: 24px; }
.conv-panel {
	overflow: hidden;
	border-left: var(--conv-borde-acento) solid var(--conv-azul);
	border-radius: var(--conv-radio);
	background: #fff;
	box-shadow: var(--conv-sombra);
}
.conv-panel__cabecera {
	margin: 0;
	padding: 18px 22px 6px;
	color: var(--conv-titulo);
	font-family: var(--conv-fuente-titulos);
	font-size: 0.95rem;
	font-weight: 800;
	text-transform: uppercase;
}
.conv-panel__cuerpo { padding: 0 22px 22px; }
.conv-panel dl { margin: 0 0 18px; }
.conv-panel__fila { padding: 12px 0; border-bottom: 1px solid var(--conv-borde); }
.conv-panel__fila:last-child { border-bottom: 0; }
.conv-panel dd { margin: 3px 0 0; color: var(--conv-titulo); font-weight: 600; }
.conv-panel__nota { display: block; color: var(--conv-suave); font-size: 0.85rem; font-weight: 400; }
.conv-panel .conv-boton + .conv-boton { margin-top: 8px; }
.conv-panel__oficial {
	display: block;
	margin-top: 14px;
	color: var(--conv-azul);
	font-size: 0.88rem;
	font-weight: 600;
	text-align: center;
}

/* Responsive --------------------------------------------------------------- */
@media (max-width: 1024px) {
	.conv-grid:not([style*="--conv-columnas:1"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.conv-ficha__grid { grid-template-columns: 280px minmax(0, 1fr); gap: 28px; }
	.conv-hero__texto { padding: 36px 32px 40px; }
}
@media (max-width: 767px) {
	.conv-grid { grid-template-columns: minmax(0, 1fr); }
	.conv-filtros__campo--buscar { grid-column: auto; }
	.conv-hero,
	.conv-hero--imagen-izquierda { grid-template-columns: minmax(0, 1fr); }
	.conv-hero__imagen { order: -1; min-height: 0; aspect-ratio: 16 / 9; }
	.conv-hero__texto { padding: 28px 22px 32px; }
	.conv-ficha__grid { grid-template-columns: minmax(0, 1fr); }
	.conv-ficha__panel { position: static; }
	.conv-nota { padding: 20px; }
}
