/*
 Theme Name:     PARAGLIPA (Divi child)
 Description:    Tema hijo de PARAGLIPA, a partir del de SILEM
 Author:         Surfer Koala
 Author URI:     https://surferkoala.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */
:root{
	--color-primary: #222;
  	--color-secondary: #91080F;
  	--color-complementary:#08918A;
  	--color-accent: #3a3a3a;
  	--color-text: #111;
  	--color-background: #f3efe5;
  	--color-footer-text: #444444;
}
#logo{max-height: 90%;}
/* El logo de PARAGLIPA es mucho más apaisado que el de SILEM: se limita también el ancho */
#logo{max-width: min(340px, 70vw); height: auto;}
html{background-color: var(--color-background);}
/* line-height iba fijado en "1.2rem" (un valor absoluto, no relativo al tamaño de
   fuente): con el body a 1.1rem eso da una proporción de ~1.09, demasiado apretado para
   párrafos largos (se notaba sobre todo en las entradas del blog). 1.6 sin unidad es la
   proporción estándar para texto de lectura y además escala bien con cualquier
   font-size heredado, a diferencia de un valor fijo en rem/px. */
body{background-color: var(--color-background);font-family: "Open Sans", sans-serif;color:var(--color-text);font-size: 1.1rem!important;line-height: 1.6!important;}

/* Color de enlace corporativo por defecto: sin esta regla, el texto libre del contenido
   (entradas del blog, etc.) heredaba el azul por defecto de Divi (#2ea3f2, definido con
   un simple selector "a{color:...}" en su propio style.css). Especificidad baja a
   propósito (selector de elemento) para que cualquier .paraglipa-* más específico siga
   ganando sin tener que tocar nada más. */
a{color: var(--color-secondary);}
a:hover{color: var(--color-complementary);text-decoration: underline;}

/* Listas dentro de cualquier bloque de "prosa" (entradas del blog, fichas de Equipo/
   Bibliotecas/Bibliografía, texto de documento...): por defecto el navegador no separa
   los <li> entre sí, así que con el interlineado ya corregido (ver regla del body, más
   arriba) las listas seguían viéndose apelmazadas, pegadas unas a otras. */
.entry-content li,
.paraglipa-ficha-content li,
.paraglipa-ficha-biblio-cita li,
.paraglipa-documento-texto li,
.paraglipa-documento-detalle-cuerpo li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.entry-content li:last-child,
.paraglipa-ficha-content li:last-child,
.paraglipa-ficha-biblio-cita li:last-child,
.paraglipa-documento-texto li:last-child,
.paraglipa-documento-detalle-cuerpo li:last-child {
  margin-bottom: 0;
}

#main-header{background-color: var(--color-background);}
/* La cabecera debe usar todo el ancho de pantalla (con su propio padding), no el
   ancho de contenido de Divi - igual que en el diseño. */
#main-header .container.et_menu_container{max-width: 100%!important;padding-left: 5%;padding-right: 5%;}
#page-container{background-color: var(--color-background);}
/* Divi pinta #main-content de blanco sólido por defecto. En las páginas del Builder
   nunca se nota (las secciones del Builder tapan todo), pero en nuestras plantillas
   single-*.php propias (fichas de persona/biblioteca/bibliografía/proyecto) sí queda
   visible directamente, tapando el crema de #page-container. */
#main-content{background-color: transparent;}
/* Divi pinta cada .et_pb_section con fondo blanco sólido por defecto, tapando el
   crema del body en todas las secciones - lo dejamos transparente para que el
   fondo cálido de la página se vea siempre debajo de las tarjetas/módulos. */
.et_pb_section{background-color: transparent;}

/* Hero de portada: módulo Slider nativo de Divi (editable desde el Divi Builder,
   incluida la imagen de fondo de cada diapositiva). A sangre, igual que el resto
   de la franja superior. */
body.home .et_pb_slider {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

body.home .et_pb_slider .et_pb_container {
  padding-left: 5%;
  padding-right: 5%;
}

body.home .et_pb_slider .et_pb_more_button.et_pb_button {
  display: inline-flex;
  align-items: center;
  padding: 11px 22px;
  border-radius: 999px;
  border-width: 1px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: none;
}

/* La regla global "a:hover" (color + subrayado, pensada para enlaces de texto suelto
   en el contenido) se colaba también en el botón del hero, sobre la imagen - un
   subrayado + cambio de color ahí quedaba fatal. Al hover, el botón se rellena en vez
   de cambiar el color del texto. */
body.home .et_pb_slider .et_pb_more_button.et_pb_button:hover {
  color: #fff !important;
  text-decoration: none !important;
  background-color: rgba(255, 255, 255, 0.18);
}

/* Cada diapositiva lleva ahora un píxel transparente de 1x1 en su campo "image" (no
   se ve, es intencionado - ver migrate-hero-limpieza.php) solo para que Divi añada su
   propia clase "et_pb_slide_with_image" y estreche el bloque de texto a ~47% en vez
   de ocupar toda la anchura. Eso permite darle a ESE bloque su propio panel, en vez de
   oscurecer la imagen entera para que el texto se lea - la imagen del grabado se ve
   así con mucho más nitidez en la mitad libre de la diapositiva. */
body.home .et_pb_slider .et_pb_slide_with_image .et_pb_slide_description {
  background: rgba(15, 13, 11, 0.62);
  border-radius: 10px;
  padding: 7% 6% !important;
  backdrop-filter: blur(1px);
}

/* Texto de cada diapositiva: el 1.er párrafo es el antetítulo, el 2.º el subtítulo */
body.home .et_pb_slider .et_pb_slide_content p:first-child {
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .7rem;
  color: #e7b9ab;
  margin-bottom: 10px;
  padding: 0;
}

body.home .et_pb_slider .et_pb_slide_content p + p {
  font-size: .98rem;
  opacity: .92;
  margin-bottom: 14px;
  padding: 0;
  text-transform: none;
  letter-spacing: normal;
}

/* El título de cada diapositiva es un enlace propio de Divi (<a class="et_pb_slide_title_link">)
   y las flechas de avance/retroceso también son <a> - ambos heredaban la regla global
   "a:hover" (verde + subrayado, pensada para enlaces de texto normal en el contenido).
   Título: gris sutil sin subrayado. Flechas: blancas siempre, sin cambio al pasar el ratón. */
body.home .et_pb_slider .et_pb_slide_title_link:hover {
  color: #cfcfcf !important;
  text-decoration: none !important;
}

body.home .et_pb_slider .et-pb-arrow-prev:hover,
body.home .et_pb_slider .et-pb-arrow-next:hover {
  color: #fff !important;
  text-decoration: none !important;
}

/* La primera sección de la página (el hero + la franja de datos en Inicio) debe
   pegar directamente con la cabecera y con la sección siguiente, sin el padding
   vertical por defecto de Divi (que se sumaba al padding de la sección siguiente
   y dejaba huecos grandes arriba y abajo del slider). */
body.home #main-content .et_pb_section:first-of-type{padding-top: 0!important;padding-bottom: 0!important;gap: 0!important;}

/* Cabecera de las páginas interiores (todo lo que no sea la Home): título + intro,
   con aire arriba y abajo para que no quede pegada al menú ni al contenido siguiente. */
body:not(.home) #main-content .et_pb_section:first-of-type{
  padding-top: 64px;
  padding-bottom: 40px;
}

body:not(.home) #main-content .et_pb_section:first-of-type h1{
  margin-bottom: 18px;
}

/* Menú principal: sustituye el azul por defecto de Divi por los colores corporativos */
#top-menu > li > a{color: var(--color-primary)!important;font-weight: 600;font-size: 15.5px!important;}
#top-menu > li > a:hover,
#top-menu > li.current-menu-item > a,
#top-menu > li.current_page_item > a{color: var(--color-secondary)!important;}
#top-menu > li.current-menu-item > a::after,
#top-menu > li.current_page_item > a::after{display:none;}
h1,h2{font-family: "Libre Caslon Text", serif;font-weight: 400;font-style: normal;color: var(--color-primary);font-size: 1.6rem;margin: 0 0 10px;}
h1{font-weight: bold;font-size: 1.9rem;}
h3,h4,h5,h6{font-family: "Open Sans", sans-serif;font-weight: 700;font-style: normal;color:var(--color-primary);}
#main-footer{background-color: var(--color-background);}
.footer-widget h4, #main-footer .widget_block h1, #main-footer .widget_block h2, #main-footer .widget_block h3, #main-footer .widget_block h4, #main-footer .widget_block h5, #main-footer .widget_block h6,#main-footer li a{color: var(--color-footer-text)!important}
#main-footer h4{font-weight: bold;}
#main-footer ul,#main-footer li{padding-left: 0px!important;}
#main-footer li::before{display: none!important;padding-left:0px!important}
#footer-bottom{background-color: var(--color-primary);}
#footer-bottom a,#footer-bottom span,#footer-info,.et-social-icons a::before{color: #dfdfdf;}
.wpcf7-text{width:100%;clear:both;padding:5px;width: 100% !important;padding: 5px 10px;color: #222;font-size: 14px;line-height: 20px;border:1px solid #ccc;}
.wpcf7-textarea{width:100%;clear:both;padding:5px;width: 100% !important;padding: 5px 10px;color: #222;font-size: 14px;line-height: 20px;border:1px solid #ccc;resize:none;}
.wpcf7-submit{padding:5px 10px;color:#fff!important;background:#222!important;border:none!important;border-radius:3px;text-align:center;float:left;margin-top:20px;width:auto;float:right;text-transform:uppercase;font-weight:500!important;font-size:16px;cursor:pointer;}
.wpcf7-submit:hover{background:var(--color-accent)!important;}
.et-search-form, blockquote{border-color: var(--color-secondary);}
.paraglipa-page-header {
  padding: 70px 0 50px;
}

.paraglipa-texto-centrado {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.paraglipa-destacado {
  padding: 36px;
  border-radius: 18px;
  background: var(--color-background);
}

.paraglipa-card-grid .et_pb_column {
  border-radius: 18px;
}

.paraglipa-img-texto img,
.paraglipa-ficha-equipo img {
  border-radius: 18px;
}


.paraglipa-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .82rem;
  font-weight: 700;
  color: var(--color-secondary);
}

.paraglipa-eyebrow::before {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
}

.paraglipa-lead {
  font-size: 1.18rem;
  line-height: 1.7;
}

.paraglipa-btn {
  display: inline-block;
  padding: 11px 18px;
  border-radius: 999px;
  background: var(--color-complementary);
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
}

.paraglipa-btn-sec {
  background: transparent;
  color: var(--color-complementary) !important;
  border: 1px solid var(--color-complementary);
}

/* Variante sin fondo en rojo corporativo, para cuando el botón secundario acompaña a
   uno rojo sólido (ficha de biblioteca: "Buscar en esta biblioteca" + su búsqueda
   avanzada) y el verde del secundario normal desentona. */
/* Recuento de documentos: en la tarjeta del grid de bibliotecas y en la ficha. La
   cifra sale del caché de búsquedas (se recalcula sola), así que los textos de cada
   biblioteca no llevan números que se queden viejos. */
.paraglipa-biblioteca-card__docs {
  display: block;
  margin-top: 6px;
  font-size: .8rem;
  color: var(--color-accent);
}

.paraglipa-ficha-documentos {
  font-size: .95rem;
  color: var(--color-text);
}

.paraglipa-btn-rojo-sec {
  background: transparent;
  color: var(--color-secondary) !important;
  border: 1px solid var(--color-secondary);
}

.paraglipa-btn-rojo-sec:hover {
  background: var(--color-secondary);
  color: #fff !important;
}

/* .paraglipa-btn se usa normalmente en enlaces <a>; cuando es un <button> (p.ej.
   "Descargar PDF" de Bibliografía) hay que resetear el borde/fuente por defecto del navegador. */
button.paraglipa-btn {
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
}

/* Fila de acciones al pie de la ficha de biblioteca: "Ver todas" (verde corporativo,
   izquierda) y "Buscar en esta biblioteca" (rojo corporativo, derecha). */
.paraglipa-ficha-acciones-biblioteca {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid rgba(34, 31, 28, .14);
}

.paraglipa-btn-verde {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.paraglipa-btn-verde svg {
  width: 15px;
  height: 15px;
  flex: none;
}

.paraglipa-btn-rojo {
  background: var(--color-secondary);
}

/* Los dos botones de búsqueda de la ficha de biblioteca ("Buscar en esta biblioteca"
   + su búsqueda avanzada) van juntos a la derecha de la fila de acciones. */
.paraglipa-ficha-acciones-busqueda {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.paraglipa-card {
  height: 100%;
  padding: 28px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(0,0,0,.06);
}

/* Grid genérico para cualquier listado de tarjetas (personas, bibliotecas, ...) */
.paraglipa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 28px;
  margin: 24px 0;
}

.paraglipa-grid--compact {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* Tarjetas de Actualidad/Congreso ([paraglipa_actualidad]): a falta de fotografías reales,
   una banda de color corporativo con un monograma hace de "portada" - mismo recurso que
   el resto del sitio (ver .paraglipa-hero-slider). Antes usaban la clase genérica .paraglipa-card
   (pensada para bloques con icono, no para ser el <a> completo), lo que dejaba el texto
   sin decoración propia y heredaba el azul/subrayado por defecto del navegador. */
.paraglipa-actualidad-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.paraglipa-actualidad-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 8px 26px rgba(0,0,0,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}

.paraglipa-actualidad-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(0,0,0,.12);
}

.paraglipa-actualidad-card__banda {
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-complementary);
}

.paraglipa-actualidad-card__banda--congresos {
  background: var(--color-secondary);
}

.paraglipa-actualidad-card__banda--publicaciones {
  background: var(--color-primary);
}

.paraglipa-actualidad-card__monograma {
  font-family: "Libre Caslon Text", serif;
  font-size: 1.9rem;
  color: rgba(255,255,255,.82);
}

.paraglipa-actualidad-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 22px 24px 24px;
}

.paraglipa-actualidad-card__categoria {
  align-self: flex-start;
  margin-bottom: 0;
}

.paraglipa-actualidad-card__fecha {
  font-size: .82rem;
  color: var(--color-accent);
  margin-top: 10px;
  margin-bottom: 8px;
}

.paraglipa-actualidad-card__titulo {
  font-size: 1.15rem;
  line-height: 1.32;
  margin: 0 0 10px;
}

.paraglipa-actualidad-card__extracto {
  font-size: .92rem;
  color: var(--color-text);
  margin: 0 0 18px;
  flex: 1 1 auto;
}

.paraglipa-actualidad-card__leer-mas {
  font-size: .85rem;
  font-weight: 700;
  color: var(--color-secondary);
}

.paraglipa-actualidad-card:hover .paraglipa-actualidad-card__leer-mas {
  text-decoration: underline;
}

.paraglipa-actualidad-vacio {
  padding: 40px 28px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .12);
  border-radius: 6px;
  text-align: center;
}

/* Sección con fondo alterno, para intercalar bloques en una página larga */
.paraglipa-section-alt {
  background: var(--color-background);
  padding: 50px 0;
}

/* Ficha de persona (foto circular + nombre + universidad), usada en el listado de Equipo.
   Sin tarjeta blanca ni padding: el avatar y el texto flotan directamente sobre el
   fondo crema de la página, como en el diseño. */
.paraglipa-persona-card {
  display: block;
  text-align: center;
  text-decoration: none;
}

.paraglipa-persona-card__foto {
  width: 168px;
  height: 168px;
  margin: 0 auto 16px;
  border-radius: 50%;
  overflow: hidden;
}

.paraglipa-persona-card__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.paraglipa-persona-card__rol {
  display: block;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .66rem;
  font-weight: 600;
  color: var(--color-complementary);
  margin-bottom: 6px;
}

.paraglipa-persona-card__nombre {
  font-family: "Libre Caslon Text", serif;
  font-weight: 400;
  font-size: 1.02rem;
  color: var(--color-primary);
  margin-bottom: 3px;
}

.paraglipa-persona-card__universidad {
  font-size: .92rem;
  color: var(--color-accent);
}

/* Grupo de proyecto/rol dentro del listado de Equipo */
/* Cada proyecto es una franja a sangre (ancho completo de pantalla) con fondo alterno,
   para que se note con claridad dónde acaba un proyecto y empieza el siguiente aunque
   el equipo de alguno sea muy numeroso. El contenido real se limita en .__inner. */
.paraglipa-proyecto-bloque {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #fff;
}

/* El color agrupa por familia de proyecto (I/II/III), no por posición en la lista:
   los dos subproyectos de SILEM II comparten el mismo fondo aunque sean dos bloques. */
.paraglipa-proyecto-bloque--crema {
  background: var(--color-background);
}

.paraglipa-proyecto-bloque__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 5% 64px;
}

/* Caja que delimita claramente la cabecera de cada proyecto (título + referencia +
   resumen) del listado de equipo que viene justo debajo, dentro del mismo bloque. */
.paraglipa-proyecto-intro {
  padding: 28px 32px;
  margin-bottom: 36px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .14);
  border-left: 3px solid var(--color-secondary);
}

.paraglipa-proyecto-intro h2 {
  margin-bottom: 8px;
}

.paraglipa-proyecto-intro .paraglipa-proyecto-code {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--color-complementary);
  margin-bottom: 14px;
}

.paraglipa-proyecto-intro .paraglipa-lead {
  margin: 0;
}

.paraglipa-proyecto-leer-mas {
  color: var(--color-secondary);
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}

.paraglipa-proyecto-leer-mas:hover {
  text-decoration: underline;
}

.paraglipa-rol-bloque {
  margin-bottom: 34px;
}

/* Distintivo de rol (IP / Equipo investigación / Equipo de trabajo) */
.paraglipa-badge {
  display: inline-block;
  padding: 5px 14px;
  margin-bottom: 18px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: #fff;
  color: var(--color-primary);
}

/* Título de rol (IP / Equipo de investigación / Equipo de trabajo): texto normal,
   sin caja ni relleno ni bordes, solo una línea sutil debajo que marca sin ambigüedad
   que todas las personas que siguen pertenecen a ese grupo. */
.paraglipa-rol-titulo {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0 0 22px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(34, 31, 28, .2);
}

.paraglipa-badge-ip {
  background: var(--color-secondary);
  color: #fff;
}

/* Ficha de biblioteca: estilo "fichero de catálogo" - fondo propio, borde fino,
   sin la tarjeta blanca/redondeada genérica de .paraglipa-card. La foto va a sangre
   en la parte superior y el texto en un cuerpo con su propio padding debajo. */
.paraglipa-biblioteca-card {
  display: block;
  text-align: center;
  text-decoration: none;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .14);
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease;
}

.paraglipa-biblioteca-card:hover {
  border-color: var(--color-secondary);
  transform: translateY(-2px);
}

.paraglipa-biblioteca-card__body {
  padding: 16px 18px 20px;
}

.paraglipa-biblioteca-card__codigo {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-complementary);
  margin-bottom: 8px;
  display: block;
}

.paraglipa-biblioteca-card__foto {
  aspect-ratio: 1;
  overflow: hidden;
}

.paraglipa-biblioteca-card__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Entrada individual de la lista de Bibliografía: misma "tarjeta" delimitada que
   .paraglipa-busqueda-lista li en los resultados de búsqueda (fondo propio + borde +
   separación por margen, no solo una línea inferior) para que se note claramente
   dónde termina una referencia y empieza la siguiente. */
.paraglipa-biblio-item {
  display: flex;
  gap: 14px;
  padding: 16px 20px;
  margin-bottom: 12px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .10);
  border-radius: 6px;
}

/* Las citas llevan URLs y DOIs larguísimos sin espacios: sin esto, en móvil empujaban
   la portada a 750px de ancho (scroll horizontal). */
.paraglipa-biblio-item > div {
  min-width: 0;
  overflow-wrap: anywhere;
}

.paraglipa-biblio-item:last-child {
  margin-bottom: 0;
}

.paraglipa-biblio-item__check {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--color-secondary);
  cursor: pointer;
}

.paraglipa-biblio-item__cuerpo {
  flex: 1 1 auto;
  min-width: 0;
}

.paraglipa-biblio-item__autor {
  font-weight: 600;
  color: var(--color-primary);
}

.paraglipa-biblio-item__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  color: var(--color-accent);
  margin-top: 8px;
}

/* Distintivo compacto de tipo (Edición / Monográfico...) dentro de la línea de meta,
   a diferencia de .paraglipa-badge (rol de equipo), que va solo y con más aire alrededor. */
.paraglipa-biblio-item__meta .paraglipa-badge {
  margin-bottom: 0;
  padding: 3px 10px;
  font-size: .72rem;
  background: var(--color-background);
}

/* Cabecera de la Bibliografía: contador + seleccionar todas + descargar PDF + orden.
   Mismo estilo de contador que .paraglipa-busqueda-contador, en los resultados de búsqueda. */
.paraglipa-bibliografia-cabecera {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(34, 31, 28, .14);
}

.paraglipa-bibliografia-contador {
  color: var(--color-accent);
  font-size: .9rem;
  font-weight: 600;
}

.paraglipa-bibliografia-seleccionar-todas {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .88rem;
  color: var(--color-text);
  cursor: pointer;
  user-select: none;
}

.paraglipa-bibliografia-seleccionar-todas input {
  accent-color: var(--color-secondary);
  cursor: pointer;
}

.paraglipa-bibliografia-orden {
  font-size: .88rem;
  color: var(--color-accent);
}

.paraglipa-bibliografia-orden-btn {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-size: .88rem;
  color: var(--color-accent);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.paraglipa-bibliografia-orden-btn.is-active {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
  cursor: default;
}

.paraglipa-bibliografia-descargar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.paraglipa-bibliografia-aviso {
  display: none;
  margin-left: 10px;
  font-size: .82rem;
  color: var(--color-secondary);
}

.paraglipa-bibliografia-aviso.is-visible {
  display: inline-block;
}

/* Fila de filtros de la Bibliografía: texto libre + tipo, uno junto a otro */
.paraglipa-bibliografia-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}

.paraglipa-bibliografia-filtros .paraglipa-search-input {
  margin-bottom: 0;
}

/* Vista imprimible generada al pulsar "Descargar PDF": oculta el resto de la página
   (todos los demás hijos directos de <body>) y usa el diálogo de impresión nativo del
   navegador ("Guardar como PDF") - sin librerías externas ni generación en servidor. */
#paraglipa-bibliografia-imprimir {
  display: none;
}

@media print {
  body > *:not(#paraglipa-bibliografia-imprimir) {
    display: none !important;
  }
  #paraglipa-bibliografia-imprimir {
    display: block !important;
    padding: 24px;
  }
  #paraglipa-bibliografia-imprimir h1 {
    font-size: 1.4rem;
    margin-bottom: 4px;
  }
  #paraglipa-bibliografia-imprimir .paraglipa-bibliografia-imprimir-fecha {
    color: #555;
    font-size: .85rem;
    margin-bottom: 24px;
  }
  #paraglipa-bibliografia-imprimir .paraglipa-biblio-item {
    display: block;
    background: none;
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    padding: 10px 0;
    margin-bottom: 0;
    break-inside: avoid;
  }
}

/* Input de texto genérico reutilizable (filtro de bibliografía, futuro buscador de bibliotecas) */
.paraglipa-search-input {
  width: 100%;
  max-width: 480px;
  padding: 12px 18px;
  margin-bottom: 28px;
  border: 1px solid #ccc;
  border-radius: 999px;
  font-size: 1rem;
  color: var(--color-text);
}

.paraglipa-search-input--select {
  width: auto;
  max-width: 280px;
  padding-right: 36px;
  background: #fff;
  cursor: pointer;
}

.paraglipa-search-input:focus {
  outline: none;
  border-color: var(--color-complementary);
}

.paraglipa-sin-resultados {
  display: none;
  color: var(--color-accent);
  font-style: italic;
}

.paraglipa-sin-resultados.is-visible {
  display: block;
}

.paraglipa-biblio-item.is-hidden {
  display: none;
}

/*
 * Carrusel de portada. Sin imágenes reales todavía (ver aviso en Inicio), así que cada
 * slide usa un fondo de color corporativo a modo de marcador de posición, fácil de
 * sustituir por una imagen real más adelante (basta con añadir background-image al panel).
 */
/* A sangre: rompe el contenedor de Divi y ocupa el 100% del viewport, como en el diseño */
.paraglipa-hero-slider {
  position: relative;
  height: 420px;
  overflow: hidden;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.paraglipa-hero-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  opacity: 0;
  transition: opacity .6s ease;
  pointer-events: none;
}

.paraglipa-hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.paraglipa-hero-slide--1 { background: linear-gradient(135deg, var(--color-secondary), #4a0408); }
.paraglipa-hero-slide--2 { background: linear-gradient(135deg, var(--color-complementary), #045551); }
.paraglipa-hero-slide--3 { background: linear-gradient(135deg, var(--color-primary), #000); }
.paraglipa-hero-slide--4 { background: linear-gradient(135deg, var(--color-accent), #333); }

/* La "cinta" con el título/subtítulo/enlace, inspirada en el lazo de BiDiSo pero con forma propia */
.paraglipa-hero-ribbon {
  margin: 0 0 40px 40px;
  padding: 24px 36px 26px 28px;
  max-width: 540px;
  background: rgba(0, 0, 0, .55);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 24px 100%, 0 calc(100% - 24px));
  color: #fff;
}

.paraglipa-hero-ribbon .paraglipa-hero-kicker {
  margin-bottom: 10px;
}

.paraglipa-hero-ribbon .paraglipa-hero-titulo {
  font-size: 1.5rem;
  line-height: 1.18;
  margin-bottom: 8px;
}

.paraglipa-hero-ribbon__titulo {
  font-family: "Libre Caslon Text", serif;
  font-size: 1.6rem;
  color: #fff;
  margin-bottom: 6px;
}

.paraglipa-hero-ribbon__subtitulo {
  font-size: .98rem;
  opacity: .92;
  margin-bottom: 14px;
}

.paraglipa-hero-nav {
  position: absolute;
  z-index: 2;
  bottom: 20px;
  right: 30px;
  display: flex;
  gap: 8px;
}

.paraglipa-hero-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .4);
  background: rgba(0, 0, 0, .3);
  color: #fff;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}

.paraglipa-hero-arrow svg { width: 20px; height: 20px; }

.paraglipa-hero-arrow:hover {
  background: rgba(0, 0, 0, .55);
  border-color: #fff;
}

.paraglipa-hero-arrow--prev { left: 24px; }
.paraglipa-hero-arrow--next { right: 24px; }

@media (max-width: 640px) {
  .paraglipa-hero-arrow { width: 36px; height: 36px; }
  .paraglipa-hero-arrow--prev { left: 10px; }
  .paraglipa-hero-arrow--next { right: 10px; }
}

.paraglipa-hero-nav__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
  border: none;
  cursor: pointer;
  padding: 0;
}

.paraglipa-hero-nav__dot.is-active {
  background: #fff;
}

.paraglipa-card-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
  border-radius: 12px;
  background: var(--color-background);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.paraglipa-buscador-box {
  padding: 32px;
  margin-bottom: 22px;
  border-radius: 18px;
  background: #f8f8f8;
}

.paraglipa-index-num {
  font-size: 3rem;
  line-height: 1;
  font-weight: 800;
  color: var(--color-accent);
}

@media (max-width: 980px) {
  .paraglipa-reverse-mobile {
    display: flex;
    flex-direction: column-reverse;
  }

  .paraglipa-card {
    margin-bottom: 22px;
  }
}

/* =Sistema editorial (portada y CTA de sección)
------------------------------------------------------- */

/* Capitular decorativa para el primer párrafo de un bloque introductorio */
.paraglipa-dropcap p:first-child::first-letter {
  font-family: "Libre Caslon Text", serif;
  font-size: 4.2rem;
  line-height: .78;
  float: left;
  padding: 4px 10px 0 0;
  color: var(--color-secondary);
}

/* Nota lateral con regla superior, usada junto a un .paraglipa-dropcap */
.paraglipa-margin-note {
  border-top: 2px solid var(--color-secondary);
  padding-top: 16px;
}

.paraglipa-margin-note h3 {
  font-size: 1rem;
  margin-bottom: 8px;
}

.paraglipa-margin-note p {
  font-size: .88rem;
  color: var(--color-accent);
  margin: 0 0 16px;
}

/* Tarjetas de fases de la portada: fila de 3 columnas (clase paraglipa-proyectos), cada
   una con un módulo Texto (clase paraglipa-proyecto-card). Dentro, texto normal:
   1.er párrafo = fase, h3 = título, párrafo tras el h3 = resumen, el siguiente = código.
   Si una tarjeta tiene varios h3 (los dos subproyectos de SILEM II), se separan con una raya. */
.et_flex_row.paraglipa-proyectos {
  gap: 1px !important;
  background: rgba(34, 31, 28, .14);
  border: 1px solid rgba(34, 31, 28, .14);
}

/* El ancho de columna de Divi descuenta su propio hueco entre columnas; con el hueco
   de 1px de la rejilla quedaba una franja vacía a la derecha. Reparto a partes iguales. */
.paraglipa-proyectos > .et_pb_column {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  background: #fbf8f1;
  padding: 30px 28px;
}

.paraglipa-proyecto-card .et_pb_text_inner p {
  text-align: left;
  hyphens: manual;
  margin: 0;
  padding: 0;
}

.paraglipa-proyecto-card .et_pb_text_inner p:first-child {
  font-family: "Libre Caslon Text", serif;
  font-style: italic;
  color: var(--color-secondary);
  font-size: .86rem;
  margin-bottom: 14px;
}

.paraglipa-proyecto-card h3 {
  font-size: 1.2rem;
  margin: 0 0 10px;
  padding: 0;
}

.paraglipa-proyecto-card h3 ~ h3 {
  font-size: 1.02rem;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(34, 31, 28, .14);
}

.paraglipa-proyecto-card h3 + p {
  font-size: .88rem;
  color: var(--color-accent);
  margin-bottom: 14px;
}

.paraglipa-proyecto-card h3 + p + p {
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--color-complementary);
  font-variant-numeric: tabular-nums;
}

/* SILEM II lleva dos subproyectos en su tarjeta: títulos un poco menores */
.paraglipa-proyecto-card h3:has(~ h3) { font-size: 1.02rem; }

@media (max-width: 767px) {
  .paraglipa-proyectos > .et_pb_column { flex: 0 0 100% !important; padding: 24px 20px; }
}

/* Botón de cierre de sección («Ver todo el equipo», «Ir a bibliotecas»…): módulo Botón
   de Divi con la clase paraglipa-boton-seccion (va en el propio <a>). Se anulan los estilos
   de botón de Divi (borde de 2px, letra de 20px, icono que aparece al pasar el ratón). */
.et_pb_button_module_wrapper:has(> .paraglipa-boton-seccion) {
  margin-top: 40px;
  padding-top: 26px;
  border-top: 1px solid rgba(34, 31, 28, .14);
}

body #page-container .et_pb_section .paraglipa-boton-seccion {
  display: inline-flex;
  flex-direction: row; /* Divi 5 pone todos los módulos en flex columna */
  align-items: center;
  gap: 10px;
  padding: 12px 22px !important;
  border: 1px solid var(--color-secondary);
  border-radius: 0;
  background: transparent;
  color: var(--color-secondary) !important;
  font-family: "Open Sans", sans-serif;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease;
}

body #page-container .et_pb_section .paraglipa-boton-seccion:hover {
  background: var(--color-secondary);
  color: #fbf3ea !important;
  border-color: var(--color-secondary);
}

body #page-container .et_pb_section .paraglipa-boton-seccion::after {
  content: "→";
  position: static;
  display: inline;
  margin: 0;
  opacity: 1;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1;
}

/* Sidebar del blog (sidebar.php): sustituye al dynamic_sidebar de Divi, vacío en este
   sitio. Cada bloque es una "tarjeta" propia, igual que el resto del sitio, en vez de
   los estilos genéricos de widget de WordPress. */
.paraglipa-sidebar-widget {
  margin-bottom: 30px;
  padding: 22px 24px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.paraglipa-sidebar-widget__titulo {
  font-family: "Libre Caslon Text", serif;
  font-weight: 400;
  font-size: 1.05rem;
  color: var(--color-primary);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(34, 31, 28, .14);
}

.paraglipa-sidebar-lista {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.paraglipa-sidebar-lista li {
  margin-bottom: 12px;
  line-height: 1.4;
}

.paraglipa-sidebar-lista li:last-child {
  margin-bottom: 0;
}

.paraglipa-sidebar-lista a {
  color: var(--color-text);
  text-decoration: none;
  font-size: .92rem;
  font-weight: 600;
}

.paraglipa-sidebar-lista a:hover {
  color: var(--color-secondary);
}

.paraglipa-sidebar-lista__fecha {
  display: block;
  font-size: .78rem;
  color: var(--color-accent);
  margin-top: 2px;
}

.paraglipa-sidebar-widget__mas {
  display: inline-block;
  margin-top: 16px;
  font-size: .85rem;
  font-weight: 700;
  color: var(--color-secondary);
  text-decoration: none;
}

.paraglipa-sidebar-widget__mas:hover {
  text-decoration: underline;
}

.paraglipa-sidebar-widget--buscar {
  background: var(--color-background);
  border: 1px solid rgba(34, 31, 28, .12);
  box-shadow: none;
}

.paraglipa-sidebar-widget--buscar p {
  font-size: .9rem;
  margin: 0 0 16px;
}

/* Franja de datos bajo el carrusel: un módulo Texto (clase paraglipa-colophon) con un
   párrafo por dato; la negrita es la cifra y el resto el rótulo. A sangre. */
.paraglipa-colophon {
  background: var(--color-primary);
  border-top: 2px solid var(--color-secondary);
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  position: relative;
}

.paraglipa-colophon .et_pb_text_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 6px 0;
  padding: 15px 5%;
}

.paraglipa-colophon .et_pb_text_inner p {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0;
  padding: 0 20px;
  border-left: 1px solid rgba(255, 255, 255, .16);
  text-align: left;
  hyphens: none;
  font-size: .64rem;
  line-height: 1.6;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #cbb9ae;
  white-space: nowrap;
}

.paraglipa-colophon .et_pb_text_inner p:first-child { border-left: none; }

.paraglipa-colophon .et_pb_text_inner p strong {
  font-family: "Libre Caslon Text", serif;
  font-style: italic;
  font-weight: 400;
  font-size: .98rem;
  letter-spacing: normal;
  text-transform: none;
  color: #fbf3ea;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .paraglipa-colophon .et_pb_text_inner p { border-left: none; padding: 0 8px; }
}

/* Textura de grabado (hatching fino) para los paneles oscuros del hero */
/* (el position:absolute que necesita este ::before ya lo pone la regla de .paraglipa-hero-slide de más arriba) */
.paraglipa-hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(35deg, rgba(255,255,255,.05) 0 1px, transparent 1px 8px);
  pointer-events: none;
}

.paraglipa-hero-kicker {
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .7rem;
  color: #e7b9ab;
  margin-bottom: 18px;
}

.paraglipa-hero-titulo {
  color: #fbf3ea !important;
  font-size: clamp(2rem, 4.6vw, 3.4rem);
  line-height: 1.05;
}

.paraglipa-hero-titulo em {
  font-style: italic;
  color: #e7b9ab;
}

/* =Fichas individuales de los CPT (persona, biblioteca, bibliografía)
   Plantillas single-*.php propias (Divi no genera nada para estas por sí solo).
------------------------------------------------------- */

.paraglipa-ficha-header {
  margin-bottom: 40px;
}

.paraglipa-ficha-header .paraglipa-lead {
  color: var(--color-accent);
  margin-top: 6px;
}

.paraglipa-ficha-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 48px;
  align-items: start;
}

@media (max-width: 780px) {
  .paraglipa-ficha-layout { grid-template-columns: 1fr; }
}

.paraglipa-ficha-foto {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--avatar-bg, #dcd6c9);
  margin-bottom: 20px;
}

.paraglipa-ficha-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.paraglipa-ficha-meta-item {
  margin-bottom: 20px;
}

.paraglipa-ficha-meta-item h3 {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-accent);
  margin-bottom: 8px;
}

.paraglipa-ficha-roles {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.paraglipa-ficha-roles li {
  margin-bottom: 10px;
}

.paraglipa-ficha-roles li::before,
.paraglipa-ficha-links li::before,
.paraglipa-ficha-autores li::before {
  display: none !important;
}

.paraglipa-ficha-roles .paraglipa-badge {
  margin-bottom: 4px;
}

.paraglipa-ficha-roles .paraglipa-ficha-role-proyecto {
  display: block;
  font-size: .88rem;
}

.paraglipa-ficha-roles .paraglipa-ficha-role-proyecto a {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: 1px solid rgba(34, 31, 28, .25);
}

.paraglipa-ficha-roles .paraglipa-ficha-role-proyecto a:hover {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.paraglipa-ficha-links {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.paraglipa-ficha-links li {
  margin-bottom: 6px;
}

.paraglipa-ficha-links a {
  color: var(--color-complementary);
  text-decoration: none;
  font-size: .92rem;
}

.paraglipa-ficha-links a:hover {
  text-decoration: underline;
}

.paraglipa-ficha-content {
  font-size: 1.05rem;
  line-height: 1.75;
}

.paraglipa-ficha-content p {
  margin: 0 0 20px;
}

.paraglipa-ficha-codigo {
  display: inline-block;
  margin-bottom: 24px;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-complementary);
}

.paraglipa-ficha-portada {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin-bottom: 32px;
  background: var(--avatar-bg, #dcd6c9);
}

.paraglipa-ficha-portada img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* En la ficha de biblioteca la portada vive en una columna estrecha (aside), así
   que usamos un formato más vertical: recorta mucho menos los grabados y retratos
   de orientación vertical que el 16:9 pensado para una portada a todo el ancho. */
.paraglipa-ficha-layout--biblioteca .paraglipa-ficha-portada {
  aspect-ratio: 4 / 5;
  margin-bottom: 24px;
}

.paraglipa-ficha-layout--biblioteca .paraglipa-ficha-meta-item .paraglipa-ficha-codigo {
  display: block;
  margin-bottom: 0;
}

.paraglipa-ficha-biblio {
  max-width: 760px;
}

.paraglipa-ficha-biblio-cita {
  font-size: 1.02rem;
  line-height: 1.7;
  margin-bottom: 18px;
}

.paraglipa-ficha-biblio-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(34, 31, 28, .14);
  font-size: .88rem;
  color: var(--color-accent);
}

.paraglipa-ficha-biblio-meta a {
  color: var(--color-complementary);
}

.paraglipa-ficha-autores {
  margin-top: 28px;
}

.paraglipa-ficha-autores h3 {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-accent);
  margin-bottom: 10px;
}

.paraglipa-ficha-autores ul {
  list-style: none !important;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.paraglipa-ficha-autores a {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  border: 1px solid rgba(34, 31, 28, .18);
  color: var(--color-text);
  text-decoration: none;
  font-size: .85rem;
}

.paraglipa-ficha-autores a:hover {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.paraglipa-ficha-equipo-proyecto {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(34, 31, 28, .14);
}

/* =Pestañas compartidas por las 3 páginas de búsqueda (básica/por criterios/Pro),
   para moverse entre ellas sin pasar por el menú principal. --------------------- */

.paraglipa-busqueda-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin-bottom: 32px;
  border-bottom: 1px solid rgba(34, 31, 28, .15);
}

.paraglipa-busqueda-tab {
  padding: 10px 4px;
  font-weight: 700;
  font-size: .92rem;
  color: var(--color-accent);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.paraglipa-busqueda-tab:hover {
  color: var(--color-secondary);
}

.paraglipa-busqueda-tab.is-active {
  color: var(--color-secondary);
  border-bottom-color: var(--color-secondary);
}

.paraglipa-busqueda-bibliotecas-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.paraglipa-busqueda-biblioteca-chip {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 112px;
  padding: 10px 12px;
  background-color: #cfc7b4;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(34, 31, 28, .15);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
}

.paraglipa-busqueda-biblioteca-chip::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17, 17, 17, .82), rgba(17, 17, 17, .05) 65%);
}

.paraglipa-busqueda-biblioteca-chip__nombre {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
  line-height: 1.25;
}

.paraglipa-busqueda-biblioteca-chip:hover {
  border-color: var(--color-secondary);
}

/* =Búsqueda básica en vivo (shortcode [paraglipa_busqueda_basica])
   No hay caché: cada carga de esta página pide en el momento los criterios de la
   biblioteca elegida, y al elegir uno, sus resultados, directamente al buscador
   oficial del cliente. ------------------------------------------------- */

.paraglipa-busqueda-categorias {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin-bottom: 36px;
  padding: 24px 28px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .12);
  border-radius: 6px;
}

.paraglipa-busqueda-categoria-titulo {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-accent);
  margin: 0 0 10px;
}

.paraglipa-busqueda-criterios {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.paraglipa-busqueda-criterio {
  display: inline-block;
  padding: 7px 16px;
  border-radius: 999px;
  border: 1px solid rgba(34, 31, 28, .18);
  color: var(--color-text);
  text-decoration: none;
  font-size: .88rem;
}

.paraglipa-busqueda-criterio:hover {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.paraglipa-busqueda-criterio.is-active {
  background: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #fff;
  font-weight: 700;
}

.paraglipa-busqueda-contador {
  color: var(--color-accent);
  font-size: .9rem;
  margin-bottom: 18px;
}

.paraglipa-busqueda-lista {
  list-style: none !important;
  margin: 0;
  padding: 0 !important;
}

.paraglipa-busqueda-lista li {
  padding: 18px 20px;
  margin-bottom: 12px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .10);
  border-radius: 6px;
}

.paraglipa-busqueda-lista li:last-child {
  margin-bottom: 0;
}

.paraglipa-busqueda-lista li::before {
  display: none !important;
}

.paraglipa-busqueda-lista a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 600;
}

.paraglipa-busqueda-lista a:hover {
  color: var(--color-secondary);
}

.paraglipa-busqueda-meta {
  display: block;
  font-size: .85rem;
  color: var(--color-accent);
  margin-top: 4px;
}

.paraglipa-busqueda-fragmentos {
  margin-top: 8px;
}

.paraglipa-busqueda-fragmento {
  margin: 0 0 4px;
  font-size: .92rem;
  font-style: italic;
  color: var(--color-text);
  line-height: 1.5;
}

.paraglipa-busqueda-fragmento strong {
  font-style: normal;
  color: var(--color-secondary);
  background: rgba(145, 8, 15, .08);
  padding: 0 3px;
  border-radius: 3px;
}

.paraglipa-busqueda-fragmento-mas {
  margin: 0;
  font-size: .82rem;
  color: var(--color-accent);
}

/* =Búsqueda básica por palabras (shortcode [paraglipa_busqueda_basica])
   Caché local propio + filtrado instantáneo en el navegador. --------- */

.paraglipa-busqueda-campo {
  margin-bottom: 32px;
}

.paraglipa-busqueda-campo .paraglipa-search-input {
  max-width: 100%;
  font-size: 1.1rem;
  padding: 16px 22px;
}

.paraglipa-busqueda-cuerpo {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  align-items: start;
}

/* Una sola biblioteca: sin selector, los resultados ocupan todo el ancho */
.paraglipa-busqueda-cuerpo--sin-bibliotecas,
.paraglipa-busqueda-pro-cuerpo--sin-bibliotecas { grid-template-columns: 1fr; }
.paraglipa-busqueda-sidebar[hidden],
.paraglipa-busqueda-pro-bibliotecas[hidden] { display: none; }

@media (max-width: 780px) {
  .paraglipa-busqueda-cuerpo { grid-template-columns: 1fr; }
}

.paraglipa-busqueda-sidebar h3 {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-accent);
  margin-bottom: 14px;
}

.paraglipa-busqueda-checklist {
  list-style: none !important;
  margin: 0;
  padding: 0 !important;
}

.paraglipa-busqueda-checklist li {
  margin-bottom: 10px;
}

.paraglipa-busqueda-checklist li::before {
  display: none !important;
}

.paraglipa-busqueda-checklist label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .92rem;
  color: var(--color-text);
  cursor: pointer;
}

.paraglipa-busqueda-checklist input[type="checkbox"] {
  accent-color: var(--color-secondary);
  width: 16px;
  height: 16px;
  flex: none;
}

.paraglipa-busqueda-mas {
  color: var(--color-accent);
  font-style: italic;
  font-size: .88rem;
}

/* =Búsqueda Pro (shortcode [paraglipa_busqueda_pro])
   Hasta 2 criterios (Y/O) sobre una o varias bibliotecas, en vivo sin caché. ------- */

.paraglipa-busqueda-pro-form {
  margin-bottom: 36px;
  padding: 24px 28px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .12);
  border-radius: 6px;
}

.paraglipa-busqueda-pro-cuerpo {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  align-items: start;
}

@media (max-width: 780px) {
  .paraglipa-busqueda-pro-cuerpo { grid-template-columns: 1fr; }
}

.paraglipa-busqueda-pro-bibliotecas h3,
.paraglipa-busqueda-pro-criterios h3 {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--color-accent);
  margin: 0 0 14px;
}

.paraglipa-busqueda-pro-criterio-campo {
  margin-bottom: 16px;
}

.paraglipa-busqueda-pro-criterio-campo label {
  display: block;
  font-weight: 700;
  font-size: .88rem;
  margin-bottom: 6px;
  color: var(--color-primary);
}

.paraglipa-busqueda-pro-criterio-campo select {
  width: 100%;
  max-width: 480px;
  padding: 10px 14px;
  border-radius: 6px;
  border: 1px solid rgba(34, 31, 28, .25);
  background: #fff;
  font-size: .95rem;
  color: var(--color-text);
}

.paraglipa-busqueda-pro-conector {
  display: flex;
  gap: 24px;
  margin: 4px 0 20px;
}

.paraglipa-busqueda-pro-conector label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .9rem;
  color: var(--color-text);
  cursor: pointer;
}

.paraglipa-busqueda-pro-conector input[type="radio"] {
  accent-color: var(--color-secondary);
}

.paraglipa-busqueda-pro-submit {
  border: none;
  cursor: pointer;
  margin-top: 6px;
}

.paraglipa-busqueda-fragmento-etiqueta {
  font-weight: 700;
  font-style: normal;
  color: var(--color-primary);
}

/* =Área de resultados delimitada (búsqueda por criterios y búsqueda Pro comparten
   esta misma clase) + loader mientras se resuelve una consulta en vivo. --------- */

.paraglipa-busqueda-resultados {
  padding: 24px 28px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .12);
  border-radius: 6px;
  min-height: 80px;
}

.paraglipa-busqueda-resultados .paraglipa-busqueda-lista {
  margin-top: 4px;
}

.paraglipa-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 36px 20px;
  text-align: center;
  color: var(--color-accent);
}

.paraglipa-loader__spinner {
  width: 34px;
  height: 34px;
  border: 3px solid rgba(34, 31, 28, .15);
  border-top-color: var(--color-secondary);
  border-radius: 50%;
  animation: paraglipa-girar .8s linear infinite;
}

@keyframes paraglipa-girar {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .paraglipa-loader__spinner {
    animation: none;
  }
}

/* =Vista de documento (shortcode [paraglipa_documento])
   Ficha bibliográfica + texto, pedidos en vivo sin caché. --------- */

.paraglipa-documento {
  max-width: 100%;
}

.paraglipa-documento-volver--arriba {
  margin: 0 0 28px;
}

.paraglipa-documento .paraglipa-eyebrow {
  display: block;
  margin-bottom: 10px;
}

.paraglipa-documento .paraglipa-eyebrow a {
  color: var(--color-complementary);
  text-decoration: none;
  font-weight: 700;
}

.paraglipa-documento .paraglipa-eyebrow a:hover {
  color: var(--color-secondary);
}

.paraglipa-documento-titulo {
  margin-bottom: 24px;
}

.paraglipa-documento-imagen {
  margin: 0 0 32px;
  text-align: center;
}

.paraglipa-documento-imagen img {
  max-width: 320px;
  width: 100%;
  height: auto;
  border: 1px solid rgba(34, 31, 28, .15);
  background: #fff;
  padding: 6px;
  box-shadow: 0 2px 8px rgba(34, 31, 28, .08);
  cursor: zoom-in;
}

.paraglipa-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(17, 17, 17, .88);
  cursor: zoom-out;
  animation: paraglipa-lightbox-aparece .15s ease-out;
}

.paraglipa-lightbox img {
  max-width: 92vw;
  max-height: 92vh;
  width: auto;
  height: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .5);
}

@keyframes paraglipa-lightbox-aparece {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .paraglipa-lightbox {
    animation: none;
  }
}

.paraglipa-documento-ficha {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px 20px;
  margin: 0 0 40px;
  padding: 24px 28px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .12);
  border-radius: 6px;
}

.paraglipa-documento-ficha dt {
  color: var(--color-accent);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding-top: 2px;
}

.paraglipa-documento-ficha dd {
  margin: 0;
  color: var(--color-text);
  line-height: 1.5;
}

.paraglipa-anuncio-puestos-venta {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.paraglipa-anuncio-puestos-venta li {
  padding: 2px 0;
}

.paraglipa-anuncio-puestos-venta li::before {
  display: none !important;
}

.paraglipa-documento-desplegables {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 32px;
}

.paraglipa-documento-detalle {
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .12);
  border-radius: 6px;
  padding: 14px 20px;
}

.paraglipa-documento-detalle summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--color-secondary);
  list-style: none;
}

.paraglipa-documento-detalle summary::-webkit-details-marker {
  display: none;
}

.paraglipa-documento-detalle summary::before {
  content: "+";
  display: inline-block;
  width: 1em;
  font-weight: 700;
}

.paraglipa-documento-detalle[open] summary::before {
  content: "–";
}

.paraglipa-documento-detalle-cuerpo {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(34, 31, 28, .12);
  color: var(--color-text);
  font-size: .95rem;
  line-height: 1.6;
}

.paraglipa-documento-detalle-cuerpo a {
  color: var(--color-complementary);
}

.paraglipa-documento-texto {
  font-family: "Libre Caslon Text", serif;
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--color-text);
}

.paraglipa-documento-texto p {
  margin: 0 0 20px;
}

.paraglipa-documento-texto i,
.paraglipa-documento-texto em {
  font-style: italic;
}

.paraglipa-documento-volver {
  margin-top: 40px;
}

/* =Búsqueda avanzada de "Anuncios de venta de libros en la prensa" (ANU)
   Se pinta dentro de /busqueda-por-criterios/?codigo=ANU en lugar de las etiquetas de
   la ontología: esta biblioteca se busca por los campos de cada anuncio, en vivo contra
   su API. Ver includes/shortcodes/shortcode-busqueda-anuncios.php. ----------------- */

.paraglipa-busqueda-anuncios-form {
  margin: 0 0 36px;
  padding: 24px 28px;
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .12);
  border-radius: 6px;
}

.paraglipa-busqueda-anuncios-fila {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 14px;
}

.paraglipa-busqueda-anuncios-fila label {
  min-width: 140px;
  font-weight: 700;
  font-size: .88rem;
  color: var(--color-primary);
}

/* En las filas de fechas y de orden la etiqueta acompaña a su propio control (dos
   pares por fila), así que no se reserva la columna fija de las filas de texto. */
.paraglipa-busqueda-anuncios-fila--fechas label,
.paraglipa-busqueda-anuncios-fila--orden label {
  min-width: 0;
}

.paraglipa-busqueda-anuncios-fila--fechas label + input + label {
  margin-left: 18px;
}

.paraglipa-busqueda-anuncios-fila input[type="text"],
.paraglipa-busqueda-anuncios-fila input[type="date"],
.paraglipa-busqueda-anuncios-fila select {
  flex: 1 1 220px;
  max-width: 320px;
  padding: 9px 14px;
  border: 1px solid rgba(34, 31, 28, .25);
  border-radius: 6px;
  background: #fff;
  font-size: .95rem;
  font-family: inherit;
  color: var(--color-text);
}

.paraglipa-busqueda-anuncios-fila input[type="date"] {
  flex: 0 1 190px;
}

.paraglipa-busqueda-anuncios-fila--orden select {
  flex: 0 1 320px;
}

.paraglipa-busqueda-anuncios-acciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.paraglipa-busqueda-anuncios-acciones button.paraglipa-btn {
  font-size: 1rem;
}

@media (max-width: 640px) {
  .paraglipa-busqueda-anuncios-fila {
    align-items: stretch;
    flex-direction: column;
    gap: 6px;
  }

  .paraglipa-busqueda-anuncios-fila input[type="text"],
  .paraglipa-busqueda-anuncios-fila input[type="date"],
  .paraglipa-busqueda-anuncios-fila select {
    max-width: 100%;
  }

  .paraglipa-busqueda-anuncios-fila--fechas label + input + label {
    margin-left: 0;
    margin-top: 8px;
  }
}

.paraglipa-anuncios-paginador {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 24px;
}

.paraglipa-anuncios-pagina {
  min-width: 34px;
  padding: 6px 10px;
  text-align: center;
  font-size: .9rem;
  font-weight: 700;
  color: var(--color-accent);
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(34, 31, 28, .18);
  border-radius: 6px;
}

.paraglipa-anuncios-pagina:hover {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.paraglipa-anuncios-pagina.is-active {
  background: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #fff;
}

.paraglipa-anuncios-paginador-salto {
  color: var(--color-accent);
}

/* =Cabecera "Bibliotecas" con "Todas · Ninguna" (búsqueda básica, por palabra y Pro) */

.paraglipa-checklist-cabecera {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}

.paraglipa-checklist-cabecera h3 {
  margin: 0 !important;
  padding: 0;
}

.paraglipa-checklist-acciones {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: .8rem;
  color: var(--color-accent);
}

.paraglipa-checklist-acciones button {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: var(--color-secondary);
  cursor: pointer;
}

.paraglipa-checklist-acciones button:hover,
.paraglipa-checklist-acciones button:focus-visible {
  color: var(--color-complementary);
  text-decoration: underline;
}

/* =Búsqueda por palabra (shortcode [paraglipa_busqueda_palabra])
   Mismo aspecto que la básica; texto completo en eXist, por AJAX. ------------------ */

.paraglipa-palabra-campo {
  margin-bottom: 8px;
}

.paraglipa-palabra-campo .paraglipa-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.paraglipa-palabra-ayuda {
  margin: 0 0 32px;
  font-size: .85rem;
  color: var(--color-accent);
}

.paraglipa-palabra-aviso {
  font-size: .9rem;
  font-style: italic;
  color: var(--color-accent);
}

.paraglipa-palabra-lista li {
  display: block;
}

.paraglipa-palabra-fragmento {
  margin: 8px 0 0;
  padding-left: 12px;
  border-left: 2px solid rgba(34, 31, 28, .15);
  font-size: .92rem;
  line-height: 1.5;
  color: var(--color-text);
}

.paraglipa-palabra-fragmento mark,
mark.paraglipa-resaltado {
  padding: 0 2px;
  background: rgba(145, 8, 15, .12);
  color: var(--color-secondary);
  font-weight: 700;
}

.paraglipa-palabra-mas {
  margin-top: 8px;
}

.paraglipa-palabra-mas summary {
  font-size: .85rem;
  color: var(--color-secondary);
  cursor: pointer;
}

.paraglipa-busqueda-lista .paraglipa-palabra-ver {
  display: inline-block;
  margin-top: 10px;
  font-size: .85rem;
  color: var(--color-secondary);
}

.paraglipa-busqueda-lista .paraglipa-palabra-ver:hover {
  text-decoration: underline;
}

/* Campo de búsqueda con el botón "Buscar" de la Pro al lado (básica y palabra) */
.paraglipa-busqueda-campo-boton {
  display: flex;
  align-items: center;
  gap: 12px;
}

.paraglipa-busqueda-campo-boton .paraglipa-search-input {
  flex: 1;
  min-width: 0;
  margin-bottom: 0;
}

.paraglipa-busqueda-campo-boton .paraglipa-busqueda-pro-submit {
  flex: none;
  margin-top: 0;
}

@media (max-width: 560px) {
  .paraglipa-busqueda-campo-boton { flex-direction: column; align-items: stretch; }
}

/* Bibliotecas de cada resultado de búsqueda (básica, palabra, criterios y Pro) */
.paraglipa-busqueda-bibliotecas {
  display: block;
  margin-top: 4px;
  font-size: .78rem;
  letter-spacing: .02em;
  color: var(--color-accent);
}

.paraglipa-busqueda-lista .paraglipa-busqueda-bibliotecas a {
  font-weight: 400;
  color: var(--color-complementary);
}

.paraglipa-busqueda-lista .paraglipa-busqueda-bibliotecas a:hover {
  color: var(--color-secondary);
  text-decoration: underline;
}

/* Texto corrido justificado, como pidió el cliente. Con guiones automáticos (la web
   va con lang="es") para que no se abran huecos entre palabras en columnas estrechas.
   Solo párrafos de contenido: títulos, tarjetas y formularios siguen como estaban
   (en las páginas Divi todo va dentro de .entry-content, por eso esa clase solo en
   las entradas). */
.et_pb_text_inner > p,
.single-post .entry-content p,
.paraglipa-ficha-content p,
.paraglipa-ficha-biblio p {
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* ===== Bloques de «Qué es» (heredados de «Qué es SILEM»): ornamento, cifras, línea de
   tiempo y créditos =====
   Todo son módulos nativos de Divi; estas reglas cuelgan de la «Clase CSS» de cada módulo o fila, así el cliente edita
   los textos desde Divi y el aspecto se mantiene. */

/* Etiqueta y entradilla de cabecera de sección en módulos Texto (versión editable de
   .paraglipa-eyebrow y .paraglipa-lead, que en la portada van como HTML dentro del texto). */
.paraglipa-etiqueta-modulo .et_pb_text_inner p {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  text-align: left;
  hyphens: none;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .82rem;
  font-weight: 700;
  color: var(--color-secondary);
}

.paraglipa-etiqueta-modulo .et_pb_text_inner p::before {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
}

/* Primer párrafo del módulo (en los de un solo párrafo, todo el texto) */
.paraglipa-lead-modulo .et_pb_text_inner p:first-child {
  font-size: 1.18rem;
  line-height: 1.7;
}

/* Ornamento */
.paraglipa-ornamento {
  text-align: center;
  margin: 0 auto;
}

.paraglipa-ornamento img {
  width: 240px;
  max-width: 60%;
  opacity: .55;
}

/* Cifras: fila de 4 columnas con un módulo Texto cada una (número + rótulo) */
.paraglipa-cifras {
  border-top: 2px solid var(--color-secondary);
  border-bottom: 1px solid rgba(34, 31, 28, .14);
  column-gap: 0 !important;
}

.paraglipa-cifras > .et_pb_column + .et_pb_column {
  border-left: 1px solid rgba(34, 31, 28, .14);
}

.paraglipa-cifra {
  padding: 26px 16px 24px;
}

.paraglipa-cifra .et_pb_text_inner p {
  text-align: center;
  hyphens: none;
  margin: 0;
  padding: 0;
}

.paraglipa-cifra .et_pb_text_inner p:first-child {
  font-family: "Libre Caslon Text", serif;
  font-style: italic;
  font-size: 2.4rem;
  line-height: 1.1;
  color: var(--color-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.paraglipa-cifra .et_pb_text_inner p:first-child strong { font-weight: 400; }

.paraglipa-cifra .et_pb_text_inner p + p {
  margin-top: 8px;
  font-size: .74rem;
  line-height: 1.5;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-accent);
}

@media (max-width: 767px) {
  .et_flex_row.paraglipa-cifras > .et_pb_column { flex: 0 0 50% !important; width: 50% !important; max-width: 50% !important; }
  .paraglipa-cifras > .et_pb_column:nth-child(3) { border-left: none; }
  .paraglipa-cifras > .et_pb_column:nth-child(n+3) { border-top: 1px solid rgba(34, 31, 28, .14); }
  .paraglipa-cifra .et_pb_text_inner p:first-child { font-size: 1.9rem; }
}

/* Línea de tiempo (módulo Línea de tiempo de Divi). Divi no carga estilos propios para
   él en esta web, así que se maqueta aquí entero: raya y puntos a la izquierda, tarjeta
   a la derecha con la fecha encima del título. */
.paraglipa-fases .et_pb_timeline_item {
  display: grid;
  grid-template-columns: 30px 1fr;
  column-gap: 18px;
}

.paraglipa-fases .et_pb_timeline_spacer { display: none; }

.paraglipa-fases .et_pb_timeline_ornament {
  position: relative;
}

.paraglipa-fases .et_pb_timeline_connector {
  position: absolute;
  left: 50%;
  top: 14px;
  bottom: -14px;
  width: 1px;
  background: rgba(34, 31, 28, .22);
}

.paraglipa-fases .et_pb_timeline_item:last-child .et_pb_timeline_connector { display: none; }

.paraglipa-fases .et_pb_timeline_marker {
  position: absolute;
  left: calc(50% - 5px);
  top: 9px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--color-background);
  border: 1px solid var(--color-secondary);
}

.paraglipa-fases .et_pb_timeline_item:last-child .et_pb_timeline_marker {
  background: var(--color-secondary);
  box-shadow: 0 0 0 4px rgba(145, 8, 15, .14);
}

.paraglipa-fases .et_pb_timeline_card {
  padding-bottom: 38px;
}

.paraglipa-fases .et_pb_timeline_date {
  font-family: "Libre Caslon Text", serif;
  font-style: italic;
  font-size: 1.15rem;
  color: var(--color-secondary);
  margin-bottom: 4px;
}

.paraglipa-fases .et_pb_timeline_title {
  font-size: 1.15rem;
  line-height: 1.35;
  margin: 0 0 8px;
  padding: 0;
}

.paraglipa-fases .et_pb_timeline_content p {
  font-size: .95rem;
  color: var(--color-accent);
  margin: 0 0 8px;
  padding: 0;
  text-align: left;
  hyphens: manual;
}

.paraglipa-fases .et_pb_timeline_content p:last-child { margin-bottom: 0; }

/* Créditos: fila con dos módulos Texto (rótulo en h4 + párrafo) y fila de logos */
.paraglipa-creditos {
  background: #fbf8f1;
  border: 1px solid rgba(34, 31, 28, .14);
  padding: 34px 36px !important;
}

.paraglipa-creditos-texto h4 {
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-secondary);
  margin: 0 0 4px;
  padding: 0;
}

.paraglipa-creditos-texto .et_pb_text_inner p {
  font-size: .95rem;
  line-height: 1.5;
  margin: 0 0 20px;
  padding: 0;
  text-align: left;
  hyphens: manual;
}

.paraglipa-creditos-texto .et_pb_text_inner p:last-child { margin-bottom: 0; }

.paraglipa-creditos-logos {
  align-items: center;
}

.paraglipa-logo img {
  height: 64px;
  width: auto;
}

@media (max-width: 767px) {
  .paraglipa-creditos { padding: 24px 20px !important; }
  .et_flex_row.paraglipa-creditos-logos > .et_pb_column { flex: 0 0 auto !important; width: auto !important; }
  .paraglipa-logo img { height: 52px; }
}

/* Filas de varias columnas en móvil: las páginas fijan el reparto (p. ej. 6/24 + 18/24
   para «etiqueta | título») y Divi 5 lo hereda también en tablet y teléfono, así que en
   un móvil la etiqueta se quedaba en una columna de 65px partida con guiones y la nota
   lateral de la portada en otra igual de estrecha. Por debajo de 768px se apilan. */
@media (max-width: 767px) {
  .et_flex_row { flex-wrap: wrap; }
  .et_flex_row > [class*="_24_phone"] {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

