/* ============================================
   RIE PUBLICACIONES - Estilos Frontend
   ============================================ */

/* DISEÑO 1: [rie_libros] — Grid de Libros */
.rie-libros-grid {
    display: grid;
    grid-template-columns: repeat(var(--rie-cols, 2), 1fr);
    gap: 30px;
    padding: 20px 0;
}

@media (max-width: 768px) {
    .rie-libros-grid { grid-template-columns: 1fr; }
}

.rie-libro-card {
    display: flex;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #e5e7eb;
}

.rie-libro-card:last-child { border-bottom: none; }

.rie-libro-card__portada {
    flex-shrink: 0;
    width: 180px;
}

.rie-libro-card__portada img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transition: transform 0.2s ease;
}

.rie-libro-card__portada img:hover { transform: scale(1.02); }
.rie-libro-card__portada a { display: block; text-decoration: none; }

.rie-libro-card__no-img {
    width: 100%;
    aspect-ratio: 3/4;
    background: #f3f4f6;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
}

.rie-libro-card__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rie-libro-card__title { margin: 0; font-size: 1.1em; font-weight: 700; line-height: 1.3; }
.rie-libro-card__title a { color: #1a1a1a; text-decoration: none; }
.rie-libro-card__title a:hover { color: #2563eb; }
.rie-libro-card__vol { margin: 0; font-size: 0.95em; font-weight: 600; color: #374151; }
.rie-libro-card__status { margin: 0; font-size: 0.9em; color: #6b7280; font-style: italic; }
.rie-libro-card__doi { margin: 0; font-size: 0.88em; color: #374151; word-break: break-all; }
.rie-libro-card__doi a { color: #2563eb; text-decoration: none; }
.rie-libro-card__doi a:hover { text-decoration: underline; }
.rie-libro-card__date { margin: 0; font-size: 0.88em; color: #374151; }

@media (max-width: 480px) {
    .rie-libro-card { flex-direction: column; }
    .rie-libro-card__portada { width: 100%; max-width: 220px; }
}

/* DISEÑO 2: [rie_revistas] — Lista Numerada */
.rie-revistas-wrapper { padding: 20px 0; max-width: 800px; }
.rie-revistas__title { font-size: 1.6em; font-weight: 700; color: #1a1a1a; margin: 0 0 12px 0; }
.rie-revistas__desc { font-size: 1em; color: #4b5563; margin: 0 0 20px 0; line-height: 1.5; }
.rie-revistas-list { padding-left: 28px; margin: 0; list-style-type: decimal; }
.rie-revistas-list__item { padding: 6px 0; font-size: 1em; line-height: 1.5; }
.rie-revistas-list__item a { color: #1a6fb5; text-decoration: none; font-weight: 600; transition: color 0.15s ease; }
.rie-revistas-list__item a:hover { color: #0e4f82; text-decoration: underline; }

/* DISEÑO 3: [rie_publicacion] — Vista Única */
.rie-single-pub { padding: 20px 0; max-width: 900px; }
.rie-single-pub__header { margin-bottom: 20px; }
.rie-single-pub__section-title { font-size: 1.4em; font-weight: 700; color: #1a1a1a; margin: 0 0 6px 0; }
.rie-single-pub__vol { font-size: 1.05em; font-weight: 700; color: #374151; margin: 0; }

.rie-single-pub__content {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.rie-single-pub__portada { flex-shrink: 0; width: 250px; }
.rie-single-pub__portada img { width: 100%; height: auto; border-radius: 4px; box-shadow: 0 3px 12px rgba(0,0,0,0.15); }

.rie-single-pub__no-img {
    width: 100%;
    aspect-ratio: 3/4;
    background: #f3f4f6;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
}

.rie-single-pub__meta { flex: 1; display: flex; flex-direction: column; gap: 10px; }
.rie-single-pub__status { margin: 0; font-size: 0.95em; color: #6b7280; font-style: italic; }
.rie-single-pub__doi { margin: 0; font-size: 0.92em; color: #374151; word-break: break-all; }
.rie-single-pub__doi a { color: #2563eb; text-decoration: none; }
.rie-single-pub__doi a:hover { text-decoration: underline; }
.rie-single-pub__date { margin: 0; font-size: 0.92em; color: #374151; }
.rie-single-pub__issn { margin: 0; font-size: 0.88em; color: #6b7280; }
.rie-single-pub__lugar { margin: 0; font-size: 0.88em; color: #6b7280; }

.rie-single-pub__body {
    margin-top: 15px;
    font-size: 0.95em;
    line-height: 1.6;
    color: #374151;
}

@media (max-width: 600px) {
    .rie-single-pub__content { flex-direction: column; }
    .rie-single-pub__portada { width: 100%; max-width: 280px; }
}

/* UTILIDADES */
.rie-error { color: #dc2626; padding: 15px; background: #fef2f2; border: 1px solid #fecaca; border-radius: 6px; font-size: 0.9em; }
.rie-empty { color: #6b7280; padding: 20px; text-align: center; font-style: italic; }
