/*
Theme Name: Realidad y Perspectivas
Author: Torendi
Author URI: https://www.torendi.net
Description: Theme para el sitio web Realidad y Perspectivas
Version: 1.0
License: Todos los derechos reservados.
*/

:root {
  --color-azul: #1f2e44;
  --color-gris-oscuro: #626264;
  --color-gris-claro: #dadadf;
  --color-rojo: #912120;
  --color-petroleo: #546d84;
  --color-amarillo: #e1b83d;
  --color-azul: #004b93;
  --tipografia-serif:  "Merriweather", serif; 
  --tipografia-sans: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"
}

/* setear clases de bootstrap */

.text-danger {color: var(--color-rojo)!important}
.btn-danger {background-color: var(--color-rojo)!important}
.bg-light {background-color: var(--color-gris-claro)!important}

.bg-gradiente {background: linear-gradient(to bottom, #f9f9f9 0%, #F4F4F4 100%);}

html {background-color: var(--color-gris-claro)}
main {display:block; border-radius: 105px}

h1 {font-family:var(--tipografia-serif)}
h2 {font-family:var(--tipografia-serif)}
h3 {font-family:var(--tipografia-serif)}
h4 {font-family:var(--tipografia-serif)}

h1,h3.logo-text-small {text-indent:-9999px;width: 100%;height: 30px;background-image: url(images/Realidad-y-Perspectivas-blanco.png);background-repeat: no-repeat;background-position: center;background-size: contain}

h3 {font-size: 1.5rem;line-height: 1.7rem}
h2 + p, h3 + p {margin:0px; color: var(--color-azul)}

h2, h3 {text-shadow:0px 2px 0px rgba(0,0,0,0.06)}
.bg-light h2, .bg-light h3 {text-shadow:0px 1px 0px rgba(256,256,256,1)}

img {border: 1px solid var(--color-azul)}
.bg-light img {border: 1px solid rgba(256,256,256,0.4)}


a {color: var(--color-azul); transition: background-color 0.3s ease, color 0.3s ease;}
h2 > a, h3 > a {color: black}
a, a:active {text-decoration: none;}

section, img {border-radius:0;}

button.descargar {linear-gradient(to bottom, #f4f4f4 0%, #fff 100%); border: none; border-radius: 4px; padding:0.6rem 2rem; }
button.descargar a {color: var(--color-azul); font-size: 0.8rem; font-weight:600;}
button.descargar a:hover, button.descargar a i {color: #999999}
button.descargar a i { color:var(--color-azul)}

.img-principal {aspect-ratio: 9/16; object-fit: cover}

/* FONT MERRYWEATHER 300-900 */

.merriweather-light     {font-family: "Merriweather", serif;font-optical-sizing: auto;font-weight: 300;font-style: normal;font-variation-settings:"wdth" 100;}
.merriweather-normal    {font-family: "Merriweather", serif;font-optical-sizing: auto;font-weight: 400;font-style: normal;font-variation-settings:"wdth" 100;}
.merriweather-bold      {font-family: "Merriweather", serif;font-optical-sizing: auto;font-weight: 600;font-style: normal;font-variation-settings:"wdth" 100;}
.merriweather-bolder    {font-family: "Merriweather", serif;font-optical-sizing: auto;font-weight: 900;font-style: normal;font-variation-settings:"wdth" 100;}

.font-serif { font-family: "Georgia", "Times New Roman", serif; }
.font-sans { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.meta-text {font-size: 0.75rem;text-transform: uppercase;letter-spacing: 0.08em;font-family: var(--tipografia-sans)!important; color:white!important}


.bi-list::before {color: white}


/* --- HEADER Y LOGO --- */
.main-header {background-color: var(--color-azul) !important;z-index: 1040;}
.main-header > div {border-top: 4px solid rgba(256,256,256,0.1)}

.logo-text {font-family: "Georgia", "Times New Roman", serif;font-weight: 700;font-size: 1.4rem;line-height: 0.9;letter-spacing: -0.02em;}
.logo-text-small {font-family: "Georgia", "Times New Roman", serif;font-weight: 700;font-size: 1.1rem;}
.nav-links-secondary a,
header > div > div > div:nth-child(3) > div > a {color: white!important} {text-decoration: none;color: rgba(256,256,256,0.75);font-weight: 500;}

.nav-links-secondary a:hover,
.main-header a:hover,
header > div > div > div:nth-child(3) > div > a:hover {color: white!important} {color: rgba(256,256,256,1) !important;}

/* Botón menú invisible estándar */
.btn-menu {background: none;border: none;padding: 0;color: #000;}

/* --- MENÚ MÓVIL/EXPANDIDO --- */
.offcanvas {background-color: #e8f3fa !important; }
.offcanvas button {font-family:var(--tipografia-sans)!important; color: white; font-weight:400;}

.btn-close-custom {background: none;border: none;font-size: 0.75rem;text-transform: uppercase;font-weight: bold;display: flex;align-items: center;gap: 5px;padding: 0;}

.search-container .input-group-text, 
.search-container .form-control {padding: 12px;font-size: 0.95rem;}
.search-container .form-control:focus {box-shadow: none;border-color: #dee2e6;}
.menu-links-main li {margin-bottom: 10px;}
.menu-links-main a {text-decoration: none;color: rgba(256,256,256,0.8);font-size: 0.85rem;font-weight: bold;font-family: sans-serif;}

.menu-links-browse li {margin-bottom: 8px;}
.menu-links-browse a {text-decoration: none;color: rgba(256,256,256,0.8);font-size: 1rem;font-family: var(--tipografia-sans)}
.menu-links-browse a:hover {color: #dc3545;}
.browse-section h6 {color: white!important; font-weight: bold;}


/* == off canva (header hover) == */
#menuExpandido {background:var(--color-azul)!important}
#menuExpandido * {font-family: var(--tipografia-sans);}
#menuExpandido a:hover {color: white}
#menuExpandido h6 {color:var(--color-azul)}


/* --- COMPONENTES PRINCIPALES --- */
.article-card {display: block;transition: opacity 0.2s ease-in-out;}
.article-card:hover {opacity: 0.75;}

.border-top-thick {border-top: 3px solid #000;}
.border-bottom-thick {border-bottom: 2px solid #000;}

/* Borde derecho para escritorio  */
@media (min-width: 992px) {.border-end-lg {border-right: 1px solid #dee2e6;}}

/* Ajustes tamaño logo móvil */
@media (max-width: 576px) {.logo-text {font-size: 1.1rem;}}

/* == FOOTER == */
footer {background-color:var(--color-azul)}
footer * {color: white}
footer a {color: var(--color-amarillo)}
footer a:hover {border-bottom:1px dotted white}
footer h3 + p {color: white}
footer .logo-footer {text-indent:-9999px; background-image: url(images/Realidad-y-Perspectivas-blanco.png); background-repeat: no-repeat; background-position: center left; background-size: contain; display:block}
footer h5 {font-size: 1rem; font-weight: bolder}


/* issues */
@media (min-width: 768px) {.listado-generico .ratio-md-4x3 { --bs-aspect-ratio: calc(3 / 4 * 100%);}}

/* Hack: Fuerza el ratio 9:16 solo de escritorio en adelante */
@media (min-width: 768px) {.ratio-md-9x16.hack {--bs-aspect-ratio: calc(16 / 9 * 100%) !important;}}

.ratio-9x16 {--bs-aspect-ratio: calc(16 / 9 * 100%)}
.ratio-3x4 {--bs-aspect-ratio: calc(4 / 3 * 100%)}


/* == HOME == */
.tag {display: inline-block; padding: 0.25rem 0.5rem; background: var(--color-azul); border-radius:1rem; font-size: 0.7rem; text-transform: uppercase; font-weight: normal; color: white; border:1px solid white; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif}
.subtitle {font-family: var(--tipografia-serif);font-weight: normal;color: var(--color-gris-oscuro); border-bottom: 1px solid rgba(0, 0, 0, 0.2);padding-bottom: 0.5rem;text-shadow: 0px 0px 2px rgba(256,256,256,1)}
h4.subtitle { font-size: 1rem;}
.subtitle h3 {color:var(--color-azul)}


/* Nueva Publicacion */

/* bloque principal */
.bloque-principal h2 {font-size:2.7rem; line-height:3rem}
.bloque-principal h2 + p {margin:0}

/*bloque informado*/
.bloque-informado h2 {text-align:center}
.bloque-informado button a {text-decoration: none; color: white}

/*bloque 1-imagen*/
.bloque-1-imagen * {text-align: center}
.bloque-1-imagen h2 {font-size: 3rem}
/*.bloque-1-imagen img {border-radius:300px}*/

/*bloque imagen-1*/
.bloque-imagen-1 * {text-align: center}
.bloque-imagen-1 h2 {font-size: 3rem}
/*.bloque-imagen-1 img {border-radius:300px}*/


/* == PUBLICACION == */
.papel-digital img {border-radius: 0; border: 4px solid var(--color-amarillo)} /*sobre imagen, cambiar al agregar papel digital*/
.papel-digital .datos img {max-width:70%; margin:0 auto; display:block; border:2px solid var(--color-azul); border-left-width:10px }
.papel-digital h5 {color: var(--color-amarillo)}
.papel-digital p {font-size: 0.75rem}
.papel-digital p.autores {display: block; margin: 0; padding: 1rem; }
.otros ul {list-style-type: none;}
.otros ul li {font-size:0.7rem; font-weight: bold; background: #f4f4f4; padding:0.5rem; border: 1px solid #999; border-radius: 6px;}

/* == ARTICULO == */
.nota-header * {font-family: var(--tipografia-serif)}
.nota-header h2 {font-size: 3rem; line-height: 3.2rem; font-weight: bold; color: var(--color-azul); margin-bottom: 1rem}
.nota-header h2:after {content:""; display:block; width:100%; height:8px; background: var(--color-amarillo); border-radius:15rem; margin-top:0.5rem}
.nota-header .date {font-style: oblique; font-size:0.8rem; margin-top:0.5rem; color: var(--color-gris-oscuro)}
.nota-header small a {color:var(--bs-body-color);}

.nota-body * {font-family: var(--tipografia-serif)}
.nota-body p {font-size: 1.2rem; line-height:2.1rem; font-weight: 100; margin-bottom: 1.5rem; letter-spacing: 0.05rem;}
.nota-body p:nth-of-type(1)::first-letter {text-transform: capitalize; font-size:2.5rem; font-weight:bolder; color: var(--color-azul); }
.nota-body p a {color: var(--color-amarillo); font-weight: 400; border-bottom:1px solid var(--color-amarillo)}
.nota-body p a:hover {color: var(--color-azul);  border-bottom:0px solid var(--color-azul)}
.nota-body .tags * {font-size: 0.8rem}
.nota-body .tags, .nota-body .tags ul {display: flex; gap:6px; align-items: center; flex-wrap: wrap}
.nota-body .tags small {color: var(--color-azul); font-weight: bold; font-style:italic}
.nota-body .tags ul {list-style-type: none; margin: 0; padding:0 }
.nota-body .tags ul li a {background: #f4f4f4; padding: 0.2rem 0.4rem; border-radius: 15rem; }
.nota-body .tags ul li a:hover {background:var(--color-amarillo); color: white}
.nota-body hr {border-style: dashed;}
.nota-body h4 {display:inline-block; font-size:1.5rem; margin-top: 1.5rem; text-decoration: underline;}

.the-content img {max-width: 100%; height:auto;}

.nota-mas-leidos { padding: 1rem;}
.nota-mas-leidos h4 {color:var(--color-azul); font-size: 1rem; border-bottom: 2px solid var(--color-azul); padding-bottom:5px}

.nota-rel img {border-radius:0}
.nota-rel h3 {font-size: 1rem; line-height: 1.2rem; font-weight: 100}
.nota-rel span.tag, .nota-body span.tag {background:#f4f4f4; color: #999999; border: 1px solid #999999; border-radius:4px; margin-bottom:4px; font-family: var(--tipografia-sans);}
.nota-rel a:nth-of-type(1) h3, .nota-rel a:nth-of-type(2) h3 {font-weight:bold}

/* --- CAJA DE COMPARTIR --- */
.share-box small {font-weight: bold;color: var(--bs-secondary-color) !important;}

.share-icon {display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;border-radius: 50%;background-color: #f4f4f4; color: var(--color-azul); font-size: 1rem;text-decoration: none;transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;}
.share-icon:hover {background-color: var(--color-amarillo); color: white !important;transform: translateY(-2px); }

/* paginacion */
.paginas {padding: 0.2rem}
.paginas a.page-link {color: var(--color-amarillo); border-radius: 100px!important}
.paginas .page-item a {aspect-ratio: 1/1;}


/* == Plantillas lateriales == */

/* Menú Lateral */
ul.lista-menu-lateral {list-style-type: none;  padding:0; margin:0; display:flex; flex-direction: column;}
ul.lista-menu-lateral li {  border-bottom:1px dashed var(--color-amarillo); line-height:1; margin:0px 0; padding: 10px 0}
ul.lista-menu-lateral li.activo {border-left:4px solid var(--color-amarillo)}
ul.lista-menu-lateral li.activo a {color: var(--color-azul); font-weight:bold} 

ul.lista-menu-lateral * {font-family: var(--tipografia-sans);}
ul.lista-menu-lateral li a {padding-left:10px; display:inline-block}
ul.lista-menu-lateral li:hover {background: var(--color-amarillo)}
ul.lista-menu-lateral li:hover a {color:white}

/* Quienes Somos */
.quienes-somos-body p {font-family: "Merriweather", serif; font-size:1rem; line-height:1.8rem}

/* Equipo RyP */
.organigrama h4, .equipo-ryp-body .organigrama p {margin:0; font-family: "Merriweather"}
.organigrama h4 {margin:1.5rem 0 0.5rem; color: var(--color-amarillo); font-size:1.3rem; font-weight: bolder}
.organigrama h4:first-child {margin-top:0}
.organigrama p {color:#999999; font-weight: 100;}
.organigrama p strong {color:#000000}
.organigrama p strong.sede  {color: var(--color-rojo); font-style: italic; font-weight: bold}
.organigrama p strong.sede + strong {font-weight: 400}

/* Consejo de Lectores */
.columna-consejo p:nth-of-type(1) {font-family:"Marryweather"; font-size:1.05rem; line-height: 1.2rem;}
.columna-consejo > p.intro {font-family:var(--tipografia-sans); font-size: 0.9rem; line-height:1.2rem; color: black}

.miembro-inside {background:#f4f4f4; padding:2rem 0.8rem 0.8rem;  border-radius:1rem; margin:0.5rem }
.miembro-inside * {text-align:center}
.miembro-inside img {aspect-ratio:1/1; border:4px solid white; object-fit:cover; border-radius:14rem; max-width:50%; margin-left:25%; margin-bottom:1rem; filter:grayscale(80%)}
.miembro-inside h4 {margin:0 0 0.3rem; font-size:1.2rem; font-weight: bold}
.miembro-inside p {margin:0; font-family: var(--tipografia-sans); font-size:0.85rem; line-height: 1.05rem; color:var(--color-gris-oscuro)}

.miembro-inside {background: linear-gradient(to bottom, #fff 0%, #f4f4f4 25%, #f4f4f4 35%, #fff 100%)}
.miembro-inside *, .miembro-inside p {color: black }
.miembro-inside img {border:2px solid rgba(256,256,256,0.4);}

/* Contacto */
.contacto-datos p {color: var(--color-azul)}
.contacto-datos p:nth-of-type(1) {margin-bottom:0.5rem}
.contacto-datos ul {margin:0 0 1rem; padding: 0 0 0 1.5rem}
.contacto-datos ul li a {border-bottom:2px dashed #dddddd; transition: state 2s; color: var(--color-amarillo)}
.contacto-datos ul li a:hover {border-bottom-color: var(--color-azul); color:var(--color-azul)}
.contacto-datos iframe { max-width:50%;  border-radius:1rem; border: 8px solid var(--color-amarillo)!important; margin:0 }

/* Comentarios */
.comentarios-datos blockquote {font-size: 1.1rem; font-style:italic; color:var(--color-azul)}
.comentarios-datos blockquote i {font-size:1.5rem; line-height:0.5; font-weight:100}
.comentarios-datos figcaption {font-size:0.9rem; font-weight: bold;}

/* Publicaciones */
.publicaciones-body p {font-family: "Merriweather", serif; font-size:1rem; line-height:1.8rem; font-weight:100}
.publicaciones-body p strong {font-weight:900}
.publicaciones-body ul.ediciones {list-style-type: none;}
.publicaciones-body ul.ediciones li {text-align: center; float:left;}
.publicaciones-body ul.ediciones li:nth-child(even) {background:#fdfdfd}
.publicaciones-body ul.ediciones li a {border:1px dotted #999999;padding:0.5rem; border-radius:1rem; margin:0.5rem; display: inline-block; font-size:0.9rem;  color: var(--color-azul)}
.publicaciones-body ul.ediciones li a:before {content:"Año "}
.publicaciones-body ul.ediciones li a:hover {background:var(--color-gris-claro); }
.publicaciones-body ul.ediciones li a.nobefore:before {content:""}



/* Compartir */

.input-group-share {max-width: 100%}
.input-group-share .form-control {border: 1px solid #d1d1d1;color: #444; font-size: 0.95rem;background-color: var(--color-gris-claro);}
.input-group-share .form-control:focus {box-shadow: none;border-color: #999;}
.input-group-share .btn-dark-custom {background-color: #4a4a4a; border-color: #4a4a4a;color: #fff;font-size: 0.85rem;letter-spacing: 0.5px;padding-left: 1.25rem;padding-right: 1.25rem;transition: background-color 0.2s;}
.input-group-share .btn-dark-custom:hover {background-color: var(--color-amarillo);border:1px solid var(--color-amarillo)!important;color: #fff;}
.share-btn {display: inline-flex;align-items: center;justify-content: center;width: 38px;height: 38px;border-radius: 50%;color: #fff !important;text-decoration: none;font-size: 1.15rem;transition: transform 0.2s ease, opacity 0.2s ease;}
.share-btn:hover {transform: scale(1.08);opacity: 0.9}
.share-x { background-color: #000000; }
.share-fb { background-color: #1877F2; }
.share-in { background-color: #0077b5; }
.share-wa { background-color: #25D366; }

/* Botón Volver arriba */
.btn-up-custom {display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;border: 2px solid var(--color-azul, #1f2e44);color: var(--color-azul, #1f2e44);border-radius: 50%;font-size: 1.5rem;transition: all 0.2s ease}
.btn-up-custom:hover {background-color: var(--color-amarillo, #e1b83d);border:1px solid var(--color-amarillo, #e1b83d);color: #fff}

.compartir {background-color: #f4f4f4}
.compartir i {font-size:1rem; }


/* == BIBLIOTECA - REPO == */
.hemeroteca h4 {font-size: 1rem; margin-top: 1rem; font-weight: bold; margin-bottom:0; text-align:center}
.hemeroteca p {font-family:var(--tipografia-sans); font-size: 0.75rem; text-align:center}
.hemeroteca a {transition: background-color 0.3s ease, color 0.3s ease;}
.hemeroteca a:hover h4, .hemeroteca a:hover p {color: var(--color-amarillo)}
.hemeroteca a img {filter:grayscale(60%)}
.hemeroteca a:hover img {filter:grayscale(0%)}

.hemeroteca .numero {background:#f9f9f9; padding: 0.5rem; border-radius: 12px;}
.hemeroteca .numero h4 {margin:0.5rem 0 0}
.hemeroteca .numero p {margin: 0}
.hemeroteca .numero h4, .hemeroteca .numero p {text-align: left; padding-left: 0.3rem; border-left: 3px solid var(--color-gris-claro)}
.hemeroteca .numero:hover h4, .hemeroteca .numero:hover p {border-left-color: var(--color-amarillo);}

.descargar-numero {padding:0; display:block; margin:0; margin:0; text-indent:10px; text-decoration: none;}
.descargar-numero a {font-size:10px; font-weight: bold; text-decoration: none; text-transform: uppercase; border:none; color: var(--color-gris-claro)}
.descargar-numero a:hover {color: var(--color-petroleo)}

/* acordeon repo.html*/
.accordion-hemeroteca .accordion-item {border: 1px solid var(--color-gris-claro);border-radius: 0px !important;overflow: hidden;background-color: transparent;}
.accordion-hemeroteca .accordion-button {font-family: var(--tipografia-serif);font-size: 1rem;font-weight: 700;color: var(--color-azul);background-color: #f9f9f9;padding: 1.1rem 1.5rem;box-shadow: none !important;transition: background-color 0.3s ease, color 0.3s ease;}
.accordion-hemeroteca .accordion-button:not(.collapsed) {color: #ffffff;background-color: var(--color-gris-oscuro);}
.accordion-hemeroteca .accordion-button:not(.collapsed)::after {filter: brightness(0) invert(1);}
.accordion-hemeroteca .accordion-button:hover {background-color: var(--color-amarillo);color: #ffffff;}
.accordion-hemeroteca .accordion-button:hover::after {filter: brightness(0) invert(1);}
.accordion-hemeroteca .accordion-body {background-color: #ffffff;padding: 1.5rem;}
.accordion-hemeroteca .accordion-button {border-radius: 0!important}