/* Estilos del Repositorio Público de Docentes */

.muni-public-wrapper { max-width: 1200px; margin: 0 auto; padding: 40px 20px; font-family: 'Segoe UI', sans-serif; }

.muni-archive-hero { text-align: center; margin-bottom: 40px; }
.muni-archive-hero h1 { color: #800000; font-size: 2.5rem; margin-bottom: 10px; }
.muni-archive-hero p { color: #666; font-size: 1.1rem; }

/* Filtros */
.muni-filters-container { background: #f5f5f5; padding: 20px; border-radius: 8px; display: flex; flex-wrap: wrap; gap: 15px; align-items: center; margin-bottom: 30px; }
.muni-search-group { flex: 1 1 300px; position: relative; max-width: 100%; }
.muni-search-group input { width: 100%; padding: 12px 15px 12px 40px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; box-sizing: border-box; }
.muni-search-group .dashicons { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #999; font-size: 20px; }
.muni-select-group { flex: 2 1 400px; display: flex; gap: 10px; flex-wrap: wrap; max-width: 100%; }
.muni-select-group select { flex: 1 1 140px; padding: 12px; border: 1px solid #ddd; border-radius: 4px; background: #fff; box-sizing: border-box; max-width: 100%; }
.muni-select-group select { height: auto; line-height: normal; }
/* Grid */
.muni-grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }

/* Tarjeta de Perfil */
.muni-profile-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; display: flex; transition: transform 0.2s, box-shadow 0.2s; min-height: 220px; }
.muni-profile-card:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); border-color: #800000; }

.muni-card-content { flex: 1; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; }
.muni-card-photo { width: 110px; min-width: 110px; background-size: cover; background-position: center top; border-left: 1px solid #eee; }

.muni-card-name { margin: 0 0 5px 0; color: #800000; font-size: 1.2rem; line-height: 1.2; font-weight: 700; }
.muni-card-summary { font-size: 0.9rem; color: #777; line-height: 1.4; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.muni-card-details { display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.muni-tag { background: #f0f0f1; color: #333; padding: 3px 8px; border-radius: 4px; font-size: 0.8rem; font-weight: 600; }
.muni-tag-outline { border: 1px solid #ccc; color: #555; padding: 2px 7px; border-radius: 4px; font-size: 0.8rem; }

.muni-card-email { display: block; color: #2271b1; font-size: 0.9rem; text-decoration: none; margin-bottom: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.muni-card-email:hover { text-decoration: underline; }

.muni-btn-view-cv { display: inline-block; background: #800000; color: #fff; padding: 8px 15px; text-decoration: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; text-align: center; align-self: flex-start; transition: background 0.2s; }
.muni-btn-view-cv:hover { background: #5a0000; color: #fff; }

/* Paginación */
.muni-pagination-wrapper { margin-top: 40px; text-align: center; }
.muni-pagination-buttons { display: inline-flex; gap: 10px; align-items: center; }
.muni-page-link { background: #fff; border: 1px solid #ddd; padding: 8px 15px; cursor: pointer; border-radius: 4px; color: #555; }
.muni-page-link:hover:not(:disabled) { background: #f0f0f1; border-color: #999; }
.muni-page-link:disabled { opacity: 0.5; cursor: default; }
.muni-page-info { font-size: 0.9rem; color: #666; margin: 0 10px; }

/* Responsive */
@media (max-width: 900px) {
    .muni-filters-container { flex-direction: column; align-items: stretch; }
    .muni-search-group, .muni-select-group { width: 100%; flex: 1 1 auto; }
}
@media (max-width: 600px) {
    .muni-select-group { flex-direction: column; }
    .muni-select-group select { flex: 0 0 auto; width: 100%; }
    .muni-grid-container { grid-template-columns: 1fr; }
    .muni-profile-card { height: auto; flex-direction: column-reverse; }
    .muni-card-photo { width: 100%; min-width: 100%; height: 250px; border-left: none; border-bottom: 1px solid #eee; }
    .muni-card-content { height: auto; }
}