/* ============================================ */
/* widgets.css - Estilos de widgets para columnas laterales */
/* ============================================ */

.widget {
    background: var(--color-blanco);
    border-radius: var(--radio-borde);
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px var(--color-sombra);
}

.widget-titulo {
    font-size: 0.95rem; font-weight: 700;
    color: var(--color-texto);
    margin-bottom: 12px; padding-bottom: 8px;
    border-bottom: 1px solid var(--color-borde);
}

/* Widget Perfil */
.widget-perfil { text-align: center; }

.perfil-mini-foto {
    width: 64px; height: 64px;
    background: linear-gradient(135deg, #e8f0fe, #c7d2fe);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 2rem; margin: 0 auto 10px;
    border: 3px solid var(--color-blanco);
    box-shadow: 0 2px 8px var(--color-sombra);
    overflow: hidden;
}

.perfil-mini-foto img {
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.perfil-mini-nombre { font-size: 1rem; font-weight: 700; margin-bottom: 2px; color: var(--color-texto); }

.perfil-mini-especialidad {
    font-size: 0.82rem; color: var(--color-primario);
    font-weight: 600; margin-bottom: 8px;
}

.perfil-mini-desc {
    font-size: 0.78rem; color: var(--color-texto-secundario);
    line-height: 1.5; margin-bottom: 12px;
}

.btn-contacto-widget {
    background: var(--color-primario); color: #1e293b;
    border: none; padding: 8px 16px; border-radius: 50px;
    font-size: 0.82rem; font-weight: 600; cursor: pointer;
    transition: var(--transicion); width: 100%;
}

.btn-contacto-widget:hover { background: var(--color-primario-hover); }

/* Redes sociales mini */
.perfil-mini-redes {
    display: flex; justify-content: center; gap: 12px;
    margin-top: 10px; font-size: 0.85rem;
}
.perfil-mini-redes span {
    cursor: pointer; transition: var(--transicion);
    color: var(--color-texto-secundario);
}
.perfil-mini-redes span:hover { color: var(--color-primario); }

/* Widget Filtros */
.filtros-lista { list-style: none; }

.filtro-item {
    padding: 10px 12px; border-radius: 8px; cursor: pointer;
    font-size: 0.88rem; font-weight: 500;
    color: var(--color-texto-secundario);
    transition: var(--transicion); margin-bottom: 4px;
}

.filtro-item:hover { background: #f0f2f5; color: var(--color-texto); }

.filtro-item.activo {
    background: #e8f0fe; color: var(--color-primario); font-weight: 600;
}

/* Widget Destacados */
.destacados-lista { list-style: none; }

.destacados-lista li {
    padding: 8px 12px; border-radius: 6px; cursor: pointer;
    font-size: 0.84rem; color: var(--color-primario);
    transition: var(--transicion); margin-bottom: 4px;
}

.destacados-lista li:hover { background: #f0f2f5; text-decoration: underline; }

/* Widget Herramientas Mini */
.herramientas-mini { display: flex; flex-direction: column; gap: 8px; }

.herramienta-mini-card {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; border-radius: 8px; cursor: pointer;
    transition: var(--transicion); border: 1px solid transparent;
}

.herramienta-mini-card:hover { background: #f0f2f5; border-color: var(--color-borde); }

.herramienta-mini-card span { font-size: 1.5rem; }

.herramienta-mini-card strong { display: block; font-size: 0.88rem; font-weight: 600; color: var(--color-texto); }

.herramienta-mini-card small { display: block; font-size: 0.75rem; color: var(--color-texto-claro); }

/* Widget Recursos Mini */
.recursos-mini-lista { list-style: none; }

.recursos-mini-lista li {
    padding: 8px 12px; border-radius: 6px; cursor: pointer;
    font-size: 0.84rem; color: var(--color-texto-secundario);
    transition: var(--transicion); margin-bottom: 4px;
}

.recursos-mini-lista li:hover { background: #f0f2f5; color: var(--color-primario); }

/* Widget Novedades */
.novedad-texto {
    font-size: 0.84rem; color: var(--color-texto-secundario);
    line-height: 1.5; margin-bottom: 6px;
}