/* ===== Educación Continua — estilos frontend ===== */

.pce-catalogo-wrap { width: 100%; }

/* Filtros */
.pce-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 24px;
}
.pce-filtro,
.pce-filtro-reset {
	padding: 8px 12px;
	border: 1px solid #d0d5dd;
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
}
.pce-filtro-reset {
	cursor: pointer;
	background: #f2f4f7;
}

/* Grid */
.pce-catalogo-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, 1fr);
}
.pce-catalogo-grid.pce-cols-1 { grid-template-columns: repeat(1, 1fr); }
.pce-catalogo-grid.pce-cols-2 { grid-template-columns: repeat(2, 1fr); }
.pce-catalogo-grid.pce-cols-3 { grid-template-columns: repeat(3, 1fr); }
.pce-catalogo-grid.pce-cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 900px) {
	.pce-catalogo-grid.pce-cols-3,
	.pce-catalogo-grid.pce-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.pce-catalogo-grid { grid-template-columns: 1fr !important; }
}

.pce-sin-resultados { grid-column: 1 / -1; opacity: .7; }

/* Tarjeta */
.pce-card {
	border: 1px solid #e4e7ec;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.pce-card:hover {
	box-shadow: 0 8px 24px rgba(16, 24, 40, .08);
	transform: translateY(-2px);
}
.pce-card-link { display: block; color: inherit; text-decoration: none; }
.pce-card-img img { width: 100%; height: 180px; object-fit: cover; display: block; }
.pce-card-body { padding: 18px; }
.pce-card-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }

.pce-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
}
.pce-badge-modalidad { background: #eef4ff; color: #1849a9; }
.pce-badge-tipo { background: #fff4e5; color: #a15c00; }
.pce-badge-estado { background: #eefaf0; color: #1a7f37; }

.pce-card-title { margin: 0 0 8px; font-size: 18px; line-height: 1.3; }
.pce-card-excerpt { margin: 0 0 14px; font-size: 14px; opacity: .8; }

.pce-card-meta { list-style: none; margin: 0 0 16px; padding: 0; font-size: 13px; }
.pce-card-meta li { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; opacity: .85; }
.pce-card-meta .dashicons { font-size: 16px; width: 16px; height: 16px; }

.pce-card-btn {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 6px;
	background: #1849a9;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
}

/* Ficha técnica (página individual) */
.pce-ficha { margin: 24px 0; }
.pce-ficha-tabla { width: 100%; border-collapse: collapse; margin: 16px 0; }
.pce-ficha-tabla th,
.pce-ficha-tabla td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #eaecf0; font-size: 14px; }
.pce-ficha-tabla th { width: 220px; opacity: .7; font-weight: 600; }

.pce-ficha-bloque { margin-bottom: 20px; }
.pce-ficha-bloque h4 { margin: 0 0 8px; }
.pce-temario-lista { margin: 0; padding-left: 18px; }
.pce-temario-lista li { margin-bottom: 4px; }

.pce-card.pce-oculto { display: none !important; }

/* Instructores */
.pce-instructores-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 12px;
}
.pce-instructores-grid.pce-instructores-cols-2 { grid-template-columns: repeat(2, 1fr); }
.pce-instructores-grid.pce-instructores-cols-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 700px) {
	.pce-instructores-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
.pce-instructor-card { text-align: center; }
.pce-instructor-card img { width: 90px; height: 90px; object-fit: cover; border-radius: 50%; margin-bottom: 8px; }
.pce-instructor-card h5 { margin: 0 0 2px; font-size: 15px; }
.pce-instructor-cargo { margin: 0; font-size: 12px; opacity: .7; }

/* Convocatorias (ficha del programa) */
.pce-convocatoria-card {
	border: 1px solid #e4e7ec;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 14px;
}
.pce-convocatoria-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.pce-convocatoria-meta { list-style: none; margin: 0 0 10px; padding: 0; font-size: 14px; }
.pce-convocatoria-meta li { margin-bottom: 3px; opacity: .85; }
.pce-convocatoria-precios { border-collapse: collapse; }
.pce-convocatoria-precios td { padding: 4px 14px 4px 0; font-size: 14px; }
.pce-estado-cerrada,
.pce-estado-finalizada { opacity: .6; }
