/* PortalGraf Next 0.5.52 — separación estructural de módulos laterales.
   Solo se carga si existe un módulo en sidebar-left o sidebar-right.
   Sin modificar estilos internos de módulos ni anchuras de columnas. */
.pg-next .pg-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  row-gap: 20px;
}
.pg-next .pg-sidebar > * {
  min-width: 0;
  margin-block: 0;
  box-sizing: border-box;
  max-width: 100%;
}
/* Los módulos card de Cassiopeia y sus contenidos no deben forzar el
   ancho de la columna: misma geometría para ambas barras laterales. */
.pg-next .pg-sidebar :is(.card, .card-body, .card-header, .moduletable, .mod-custom) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.pg-next .pg-sidebar :is(img, picture, video, iframe, table) {
  max-width: 100%;
}
.pg-next .pg-sidebar :is(.card-body, .mod-custom) {
  overflow-wrap: anywhere;
}
@media (max-width: 640px) {
  .pg-next .pg-sidebar { row-gap: 16px; }
}

/* El primer módulo visual y Popular en PortalGraf usan la presentación
   editorial abierta. Popular conserva este aspecto aunque exista un módulo
   gráfico antes de él. Sus tarjetas internas mantienen su propia carcasa. */
body.pg-next .pg-sidebar--left > :is(.card:first-child, .card:has(.pg-popular)) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
body.pg-next .pg-sidebar--left > :is(.card:first-child, .card:has(.pg-popular)) > .card-header {
  padding: 0 0 .9rem;
  position: relative;
  background: transparent;
  border: 0;
  border-radius: 0;
}
body.pg-next .pg-sidebar--left > :is(.card:first-child, .card:has(.pg-popular)) > .card-body {
  padding: 0;
  background: transparent;
  border: 0;
}

/* v0.5.66 · jerarquía de la barra izquierda abierta.
   Acento integrado en el título del primer módulo, sin invadir el canal
   entre columnas ni alterar la geometría de las tarjetas internas. */
body.pg-next .pg-sidebar--left > :is(.card:first-child, .card:has(.pg-popular)) > .card-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .3rem;
  width: 42px;
  height: 2px;
  border-radius: 2px;
  background: var(--pg-green);
}

/* Ritmo de listados de titulares de la columna derecha, sin tocar tarjetas
   ni listas de navegación de otras zonas. */
body.pg-next .pg-sidebar--right .card-body ul:not([class]) > li + li,
body.pg-next .pg-sidebar--right .mod-custom ul:not([class]) > li + li {
  margin-top:.55rem;
}

/* Opt-in del módulo de lecturas relacionadas: asignar clase pg-related-links en Joomla.
   Se conserva el chrome card general de los demás módulos. */
body.pg-next .pg-sidebar--right > .card.pg-related-links {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
body.pg-next .pg-sidebar--right > .card.pg-related-links > .card-header {
  position: relative;
  border: 0;
  background: transparent;
  padding: 0 0 1rem;
  white-space: normal;
}
body.pg-next .pg-sidebar--right > .card.pg-related-links > .card-header::after {
  content: "";
  position: absolute;
  bottom: .4rem;
  left: 0;
  width: 42px;
  height: 2px;
  background: var(--pg-green, #258362);
}
body.pg-next .pg-sidebar--right > .card.pg-related-links > .card-body {padding:0; background:transparent;}
body.pg-next .pg-sidebar--right > .card.pg-related-links .card-body li,
body.pg-next .pg-sidebar--right > .card.pg-related-links .card-body > a {
  border-left: 2px solid #e1e9e5;
  padding-left: .65rem;
  margin-block: .5rem;
  overflow-wrap: break-word;
}
