/* ==========================================================================
   PRISMALIA - TEMA HEALTH SCIENCES
   Colores Corporativos: Morado / Chaski Group
   ========================================================================== */

/* --- 1. IMPORTACIÓN DE TIPOGRAFÍAS --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Montserrat:wght@600;800&display=swap');

/* --- 2. VARIABLES DE COLOR Y ESTILO --- */
:root {
    --morado-prismalia: #6a1b9a;
    --morado-oscuro: #4a148c;
    --morado-claro: #f3e5f5;
    --fondo-gris: #f8f9fc;
    --texto-oscuro: #2c3e50;
    --texto-gris: #5a6c7d;
}

/* --- 3. BASE Y TIPOGRAFÍA --- */
body,
.pkp_structure_page,
.pkp_structure_main {
    font-family: 'Inter', sans-serif !important;
    background-color: var(--fondo-gris) !important;
    color: var(--texto-oscuro) !important;
}

h1,
h2,
h3,
h4,
h5,
.title {
    font-family: 'Montserrat', sans-serif !important;
    color: var(--morado-oscuro) !important;
    font-weight: 800 !important;
}

/* --- 4. ENCABEZADO Y NAVEGACIÓN --- */
.pkp_structure_head {
    background-color: #ffffff !important;
    border-bottom: 4px solid var(--morado-prismalia) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}

.pkp_navigation_primary a,
.pkp_navigation_user a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    font-size: 0.85rem !important;
    color: var(--texto-oscuro) !important;
    transition: color 0.3s ease !important;
}

.pkp_navigation_primary a:hover,
.pkp_navigation_user a:hover {
    color: var(--morado-prismalia) !important;
}

/* --- 5. PROTAGONISMO A LA PORTADA (NÚMERO ACTUAL) --- */
.issue_view,
.current_issue {
    background: linear-gradient(135deg, var(--morado-oscuro) 0%, var(--morado-prismalia) 100%) !important;
    padding: 40px 30px !important;
    border-radius: 16px !important;
    box-shadow: 0 15px 35px rgba(106, 27, 154, 0.2) !important;
    margin-bottom: 40px !important;
}

/* Asegurar que el texto dentro del bloque de la portada sea blanco */
.issue_view *,
.current_issue *,
.issue_view h2,
.current_issue h2,
.current_issue .title {
    color: #ffffff !important;
}

/* Efecto 3D en la imagen de portada */
.issue_view .cover img,
.current_issue .cover img {
    border-radius: 8px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;
    border: 3px solid rgba(255, 255, 255, 0.2) !important;
    transition: transform 0.4s ease !important;
}

.issue_view .cover img:hover,
.current_issue .cover img:hover {
    transform: scale(1.02) !important;
}

/* --- 6. DISEÑO DE TARJETAS PARA LOS ARTÍCULOS --- */
.obj_article_summary,
.article_summary {
    background: #ffffff !important;
    padding: 25px !important;
    border-radius: 12px !important;
    border-left: 6px solid var(--morado-prismalia) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 25px !important;
    transition: all 0.3s ease !important;
}

.obj_article_summary:hover,
.article_summary:hover {
    box-shadow: 0 12px 25px rgba(106, 27, 154, 0.15) !important;
    transform: translateY(-4px) !important;
    border-left: 6px solid var(--morado-oscuro) !important;
}

.obj_article_summary .title a,
.article_summary .title a {
    color: var(--morado-oscuro) !important;
    font-size: 1.3rem !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

/* Metadatos de los artículos (Autores, páginas) */
.obj_article_summary .authors,
.article_summary .authors {
    color: var(--texto-gris) !important;
    font-weight: 600 !important;
    margin-top: 10px !important;
}

/* --- 7. BOTONES MODERNOS --- */
.btn,
.pkp_button,
button,
a.obj_galley_link {
    background-color: var(--morado-prismalia) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    /* Botones tipo píldora */
    padding: 10px 24px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    box-shadow: 0 4px 10px rgba(106, 27, 154, 0.25) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.btn:hover,
.pkp_button:hover,
button:hover,
a.obj_galley_link:hover {
    background-color: var(--morado-oscuro) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(106, 27, 154, 0.4) !important;
    color: #ffffff !important;
}

/* Botón específico de PDF (Galley) para que resalte más */
a.obj_galley_link.pdf {
    background-color: #e91e63 !important;
    /* Un acento rosado/magenta para descargar el PDF */
    box-shadow: 0 4px 10px rgba(233, 30, 99, 0.3) !important;
}

a.obj_galley_link.pdf:hover {
    background-color: #c2185b !important;
}

/* --- 8. PIE DE PÁGINA PROFESIONAL --- */
.pkp_structure_footer_wrapper {
    background-color: var(--texto-oscuro) !important;
    color: #ffffff !important;
    border-top: 6px solid var(--morado-oscuro) !important;
    padding-top: 40px !important;
}

.pkp_structure_footer_wrapper a {
    color: var(--morado-claro) !important;
}

.pkp_structure_footer_wrapper a:hover {
    color: #ffffff !important;
}

/* ==========================================================================
   PÁGINAS EDITORIALES Y STATIC PAGES — PRISMALIA
   ========================================================================== */

.prismalia-policy {
    max-width: 980px;
    margin: 0 auto 40px;
    padding: 38px 42px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(44, 62, 80, 0.08);
    color: var(--texto-oscuro);
    line-height: 1.75;
}

.prismalia-policy__header {
    margin: -38px -42px 34px;
    padding: 38px 42px;
    background: linear-gradient(135deg,
            var(--morado-oscuro) 0%,
            var(--morado-prismalia) 100%);
    border-radius: 16px 16px 0 0;
}

.prismalia-policy__header h1 {
    margin: 0 0 10px;
    color: #ffffff !important;
    font-size: 2rem;
    line-height: 1.25;
}

.prismalia-policy__header p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 1rem;
}

.prismalia-policy h2 {
    margin-top: 36px;
    padding-bottom: 9px;
    border-bottom: 2px solid var(--morado-claro);
    color: var(--morado-oscuro) !important;
    font-size: 1.45rem;
}

.prismalia-policy h3 {
    margin-top: 25px;
    color: var(--morado-prismalia) !important;
    font-size: 1.12rem;
}

.prismalia-policy p {
    margin: 0 0 16px;
}

.prismalia-policy ul,
.prismalia-policy ol {
    margin: 12px 0 22px 24px;
    padding: 0;
}

.prismalia-policy li {
    margin-bottom: 9px;
}

.prismalia-policy a {
    color: var(--morado-prismalia);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.prismalia-policy a:hover {
    color: var(--morado-oscuro);
}

.prismalia-policy__lead {
    padding: 20px 24px;
    background: var(--morado-claro);
    border-left: 5px solid var(--morado-prismalia);
    border-radius: 8px;
    font-size: 1.04rem;
}

.prismalia-policy__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 22px 0;
}

.prismalia-policy__card {
    padding: 22px;
    background: var(--fondo-gris);
    border: 1px solid #e5e8ef;
    border-radius: 10px;
}

.prismalia-policy__card h3 {
    margin-top: 0;
}

.prismalia-policy__notice {
    margin: 26px 0;
    padding: 18px 22px;
    background: #faf5fc;
    border: 1px solid #dfc7e8;
    border-radius: 10px;
}

.prismalia-policy__meta {
    margin-top: 38px;
    padding-top: 18px;
    border-top: 1px solid #dfe4ea;
    color: var(--texto-gris);
    font-size: 0.88rem;
}

.prismalia-policy__meta p {
    margin: 5px 0;
}

/* Accesibilidad: enlaces visibles al navegar con teclado */
.prismalia-policy a:focus {
    outline: 3px solid var(--morado-prismalia);
    outline-offset: 3px;
}

/* Adaptación para celulares */
@media (max-width: 768px) {
    .prismalia-policy {
        padding: 25px 20px;
        border-radius: 10px;
    }

    .prismalia-policy__header {
        margin: -25px -20px 26px;
        padding: 28px 20px;
        border-radius: 10px 10px 0 0;
    }

    .prismalia-policy__header h1 {
        font-size: 1.55rem;
    }

    .prismalia-policy__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   AJUSTES COMPLEMENTARIOS PARA STATIC PAGES
   ========================================================================== */

/* Evita que padding y bordes amplíen el ancho de los componentes */
.prismalia-policy,
.prismalia-policy *,
.prismalia-policy *::before,
.prismalia-policy *::after {
    box-sizing: border-box;
}

/* Evita desbordamientos por DOI, URL o correos extensos */
.prismalia-policy p,
.prismalia-policy li,
.prismalia-policy a {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Mejora la lectura de texto destacado */
.prismalia-policy strong {
    color: var(--texto-oscuro);
    font-weight: 600;
}

/* Estilo para tablas editoriales */
.prismalia-policy__table-wrapper {
    width: 100%;
    margin: 22px 0;
    overflow-x: auto;
    border-radius: 10px;
    border: 1px solid #e2e6ec;
}

.prismalia-policy table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    background: #ffffff;
}

.prismalia-policy th,
.prismalia-policy td {
    padding: 14px 16px;
    border-bottom: 1px solid #e2e6ec;
    text-align: left;
    vertical-align: top;
}

.prismalia-policy th {
    background: var(--morado-oscuro);
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.prismalia-policy tbody tr:nth-child(even) {
    background: var(--fondo-gris);
}

.prismalia-policy tbody tr:last-child td {
    border-bottom: 0;
}

/* Listas dentro de tarjetas */
.prismalia-policy__card ul,
.prismalia-policy__card ol {
    margin-bottom: 0;
}

/* Evita un espacio superior excesivo en la primera sección */
.prismalia-policy>section:first-of-type h2 {
    margin-top: 0;
}

/* Mejor presentación de correos, ORCID, DOI y códigos */
.prismalia-policy code {
    padding: 2px 6px;
    background: var(--morado-claro);
    border-radius: 4px;
    color: var(--morado-oscuro);
    font-size: 0.92em;
}

/* Impresión limpia de las políticas */
@media print {
    .prismalia-policy {
        max-width: none;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }

    .prismalia-policy__header {
        margin: 0 0 25px;
        border: 1px solid #cccccc;
    }
}