/* ============================================
   ESTILOS UNIFICADOS PARA DESCRIPCIONES
   Aplicable a todas las aplicaciones
   ============================================ */

/* Justificación general para campos de descripción */
.descripcion,
.descripcion-completa,
.descripcion-corta,
.contenido,
.resumen,
.mensaje,
.caracteristica,
.horarios-atencion,
.direccion {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
    line-height: 1.8;
}

/* Blog */
.post-contenido,
.post-resumen,
.post-subtitulo,
.categoria-descripcion {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Servicios */
.servicio-descripcion-completa,
.servicio-descripcion-corta,
.categoria-servicio-descripcion,
.caracteristica-servicio-descripcion {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Contacto */
.contacto-mensaje,
.tipo-consulta-descripcion,
.informacion-contacto-direccion,
.informacion-contacto-horarios,
.notas-internas {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Equipo */
.miembro-descripcion,
.miembro-bio {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Proyectos */
.proyecto-descripcion-completa,
.proyecto-descripcion-corta,
.tipo-proyecto-descripcion,
.resultado-descripcion,
.imagen-descripcion {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Home */
.hero-descripcion,
.testimonio-content {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Aplicar justificación a párrafos dentro de tarjetas y contenedores */
.card-body p,
.card-text,
.content-text,
.detail-content p {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Mejorar presentación en textos largos */
.text-justified {
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
}

/* Hyphenation rules para español */
html {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    lang: es;
}

/* Evitar palabra aislada en última línea */
p, li, div.content, article, section {
    orphans: 2;
    widows: 2;
}

/* Spacing mejorado para textos justificados */
.justified-text {
    text-align: justify;
    word-spacing: 0.1em;
    letter-spacing: 0.02em;
}

/* Mobile responsive - en pantallas pequeñas, usar left align */
@media (max-width: 576px) {
    .descripcion,
    .descripcion-completa,
    .descripcion-corta,
    .card-body p,
    .card-text,
    .post-contenido,
    .servicio-descripcion-completa,
    .contacto-mensaje,
    .miembro-descripcion,
    .proyecto-descripcion-completa,
    .hero-descripcion {
        text-align: left;
        word-spacing: normal;
        letter-spacing: normal;
    }
}

/* Tablet - mantener justify con mejor letter spacing */
@media (min-width: 577px) and (max-width: 991px) {
    .descripcion,
    .descripcion-completa,
    .card-body p {
        word-spacing: 0.05em;
        letter-spacing: 0.01em;
    }
}

/* Desktop - full justify con mejor word spacing */
@media (min-width: 992px) {
    .descripcion,
    .descripcion-completa,
    .card-body p {
        word-spacing: 0.1em;
        letter-spacing: 0.02em;
        text-align-last: left;
    }
}
