/* ==========================================================================
   Texto justificado y con formato en todo el sitio público
   - .rt: bloque con el texto que escribe el administrador (párrafos, listas, negritas, cursivas, alineación).
     Por defecto va JUSTIFICADO; si el administrador eligió otra alineación, esa manda (va como estilo del párrafo).
   - Los demás bloques de texto largo del sitio (descripciones, extractos, artículos) también se justifican.
   - .sp: nombre científico (género y especie) en cursiva.
   ========================================================================== */

.rt, .rt p, .rt li {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: break-word;
}
.rt p { margin: 0 0 1em; }
.rt p:last-child { margin-bottom: 0; }
.rt ul, .rt ol { margin: 0 0 1em 1.4em; padding: 0; }
.rt ul { list-style: disc; }
.rt ol { list-style: decimal; }
.rt li { margin-bottom: 0.3em; }
.rt h3, .rt h4 { margin: 1.2em 0 0.5em; font-weight: 600; color: #fff; line-height: 1.3; }
.rt blockquote { margin: 0 0 1em; padding-left: 14px; border-left: 3px solid #059669; color: #d1d5db; }
.rt strong { font-weight: 700; color: inherit; }
.rt em, .rt i { font-style: italic; }
.rt u { text-decoration: underline; }
.rt a { color: #4ade80; text-decoration: underline; text-underline-offset: 2px; }

/* Otros bloques de texto largo */
.fund-desc, .link-desc, .multimedia-card-desc, .desc-extracto, .divulgacion-card-desc, .project-desc,
.voces-text, .lab-description-text, .blog-prose p, .home-about p, .newspaper-body-content p,
.team-project, .comunidad-modal-container p {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

/* Nombres científicos */
.sp, em.sp, .rt .sp { font-style: italic; font-weight: inherit; }
