/* =========================
   CARD CONVOCATORIA
========================= */

.card-convocatoria{
	background:#fff;
	border-radius:14px;
	overflow:hidden;
	border:1px solid #e7edf3;
	box-shadow:0 4px 18px rgba(0,0,0,.05);
	margin-bottom:25px;
	transition:all .25s ease;
}

.card-convocatoria:hover{
	transform:translateY(-3px);
	box-shadow:0 10px 25px rgba(0,0,0,.08);
}

/* =========================
   FILA FLEX
========================= */

.row-convocatoria{
	display:flex;
	align-items:stretch;
}

/* =========================
   IMAGEN
========================= */

.imagen-convocatoria{
	position:relative;
	height:100%;
	background:#f5f7fa;
	overflow:hidden;
}

.img-convocatoria{
	width:100%;
	height:100%;
	object-fit:cover;
	min-height:260px;
	transition:transform .4s ease;
}

.card-convocatoria:hover .img-convocatoria{
	transform:scale(1.04);
}

/* Overlay suave */

.imagen-convocatoria:after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:linear-gradient(to top,
		rgba(0,0,0,.25),
		rgba(0,0,0,.02));
}

/* Badge */

.badge-convocatoria{
	position:absolute;
	top:15px;
	left:15px;
	z-index:2;
	background:#c62828;
	color:#fff;
	padding:7px 14px;
	border-radius:30px;
	font-size:12px;
	font-weight:600;
	letter-spacing:.5px;
	box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.badge-convocatoria i{
	margin-right:5px;
}

/* =========================
   CONTENIDO
========================= */

.contenido-convocatoria{
	padding:25px;
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.titulo-convocatoria{
	font-size:22px;
	font-weight:700;
	line-height:1.5;
	color:#1f2d3d;
	margin-bottom:15px;
}

.descripcion-convocatoria{
	font-size:14px;
	line-height:1.9;
	color:#5f6b76;
	text-align:justify;
	margin-bottom:20px;
}

/* =========================
   META INFO
========================= */

.meta-convocatoria{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	margin-bottom:22px;
}

.item-meta{
	font-size:14px;
	color:#495057;
}

.item-meta i{
	margin-right:6px;
}

/* =========================
   BOTÓN
========================= */

.btn-convocatoria{
	display:inline-flex;
	align-items:center;
	gap:12px;
	background:#0d6efd;
	color:#fff !important;
	padding:12px 22px;
	border-radius:50px;
	text-decoration:none !important;
	font-size:13px;
	font-weight:600;
	transition:all .25s ease;
	box-shadow:0 5px 15px rgba(13,110,253,.20);
}

.btn-convocatoria:hover{
	background:#0b5ed7;
	transform:translateY(-2px);
	box-shadow:0 10px 20px rgba(13,110,253,.28);
}

.icon-btn{
	width:32px;
	height:32px;
	border-radius:50%;
	background:rgba(255,255,255,.18);
	display:flex;
	align-items:center;
	justify-content:center;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

	.row-convocatoria{
		display:block;
	}

	.img-convocatoria{
		min-height:220px;
	}

	.contenido-convocatoria{
		padding:20px;
	}

	.titulo-convocatoria{
		font-size:19px;
	}

}

@media(max-width:768px){

	.img-convocatoria{
		min-height:180px;
	}

	.titulo-convocatoria{
		font-size:17px;
	}

}

/* =========================
   ESTADO CONVOCATORIA
========================= */

/* =========================
   ESTADOS CONVOCATORIA
========================= */

.estado-convocatoria{
	position:absolute;
	bottom:15px;
	right:15px;
	z-index:10;

	padding:9px 16px;

	border-radius:5px;

	font-size:12px;
	font-weight:700;

	letter-spacing:.5px;
	text-transform:uppercase;

	color:#fff;

	box-shadow:0 3px 10px rgba(0,0,0,.20);
}

.estado-convocatoria i{
	margin-right:6px;
}

/* =========================
   ACTIVO
========================= */

.estado-activo{
	background:#198754;
	border-bottom:3px solid #146c43;
}

/* =========================
   FINALIZADO
========================= */

.estado-finalizado{
	background:#0d6efd;
	border-bottom:3px solid #084298;
}

/* =========================
   PRÓXIMAMENTE
========================= */

.estado-proximo{
	background:#ffc107;
	color:#212529;
	border-bottom:3px solid #d39e00;
}

/* =========================
   SUSPENDIDO
========================= */

.estado-suspendido{
	background:#dc3545;
	border-bottom:3px solid #a71d2a;
}

	/* ======================================
   CARD PRINCIPAL
====================================== */

.card-convocatoria-detalle{
	background:#fff;
	border-radius:12px;
	border:1px solid #e9edf2;
	box-shadow:0 4px 20px rgba(0,0,0,.05);
	overflow:hidden;
	margin-bottom:25px;
}

/* ======================================
   PANEL IZQUIERDO
====================================== */

.panel-convocatoria{
	padding:25px;
	border-right:1px solid #edf1f5;
	height:100%;
}

.titulo-principal-convocatoria{
	font-size:22px;
	font-weight:700;
	line-height:1.5;
	color:#1f2d3d;
	margin-bottom:20px;
}

/* ======================================
   BADGES
====================================== */

.badge-estado,
.badge-tipo{
	display:inline-block;
	padding:7px 14px;
	border-radius:30px;
	font-size:12px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
	color:#fff;
	margin-bottom:10px;
}

/* ESTADOS */

.estado-activo{
	background:#198754;
}

.estado-proceso{
	background:#0d6efd;
}

.estado-finalizado{
	background:#6c757d;
}

.estado-suspendido{
	background:#dc3545;
}

/* TIPOS */

.tipo-cas{
	background:#6610f2;
}

.tipo-nombramiento{
	background:#fd7e14;
}

.tipo-otros{
	background:#20c997;
}

/* ======================================
   INFO
====================================== */

.lista-detalle-convocatoria{
	list-style:none;
	padding:0;
	margin-top:10px;
}

.lista-detalle-convocatoria li{
	padding:8px 0;
	border-bottom:1px dashed #e9edf2;
	font-size:14px;
	color:#495057;
}

.lista-detalle-convocatoria li:last-child{
	border-bottom:none;
}

.lista-detalle-convocatoria strong{
	color:#1f2d3d;
}

.lista-detalle-convocatoria i{
	width:20px;
	margin-right:4px;
}

/* ======================================
   DESCRIPCIÓN
====================================== */

.box-descripcion{
	margin-top:10px;
	background:#f8fafc;
	border-radius:8px;
	padding:15px;
}

.box-descripcion h5{
	font-weight:700;
	margin-bottom:10px;
	color:#1f2d3d;
}

.box-descripcion p{
	line-height:1.6;
	font-size:14px;
	color:#5f6b76;
	text-align:justify;
}

/* ======================================
   BOTÓN CV
====================================== */

.btn-cv{
	display:block;
	width:100%;
	text-align:center;
	padding:8px;
	border-radius:8px;
	font-size:14px;
	font-weight:700;
	text-decoration:none !important;
	transition:.25s;
	margin-top:20px;
}

.btn-cv:hover{
	transform:translateY(-2px);
}

/* ======================================
   PANEL DERECHO
====================================== */

.panel-procesos{
	padding:25px;
}

.titulo-procesos{
	font-size:20px;
	font-weight:700;
	color:#1f2d3d;
	margin-bottom:20px;
}

/* ======================================
   DATATABLE
====================================== */

#tbproceso{
	border-radius:10px;
	overflow:hidden;
	border:1px solid #e9edf2;
	visibility: hidden;
}

#tbproceso thead tr{
	background:#0d6efd !important;
}

#tbproceso thead th{
	color:#fff;
	font-size:13px;
	font-weight:700;
	border:none !important;
	padding:10px 5px !important;
	text-align:center;
}

#tbproceso tbody td,
#tbproceso tbody th{
	vertical-align:middle !important;
	padding:8px 5px !important;
	font-size:14px;
}

#tbproceso tbody tr:hover{
	background:#f8fbff;
}
.col-numero{
	min-width:40px;
	white-space:nowrap;
	text-align:center;
}
/* ======================================
   BOTONES ARCHIVOS
====================================== */

.btn-archivo{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:5px 10px;
	border-radius:30px;
	font-size:12px;
	font-weight:700;
	text-decoration:none !important;
	color:#fff !important;
	transition:.25s;
}

.btn-pdf{
	background:#dc3545;
}

.btn-link{
	background:#0d6efd;
}

.btn-archivo:hover{
	transform:translateY(-2px);
	opacity:.92;
}

/* ======================================
   COUNTDOWN
====================================== */

#countdown{
	margin-top:10px;
	font-size:18px;
	font-weight:700;
	color:#dc3545;
}

/* ======================================
   RESPONSIVE
====================================== */

@media(max-width:991px){

	.panel-convocatoria{
		border-right:none;
		border-bottom:1px solid #edf1f5;
	}

	.titulo-principal-convocatoria{
		font-size:19px;
	}

}

.contador-descargas{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:4px 10px;
	border-radius:20px;
	background:#f1f5f9;
	color:#495057;
	font-size:13px;
	font-weight:600;
}

.contador-descargas i{
	color:#0d6efd;
}
