/* NEXT 0.5.208 · Popular central: lecturas alineadas y columnas 3/4 automaticas.
   Solo presenta el HTML del modulo existente. No altera su logica ni su exclusion contextual. */
.pg-next .pg-home-popular { min-width: 0; container-type: inline-size; }
.pg-next .pg-home-popular > .pg-home-section-title {
  margin: 0 0 18px; padding: 0 0 10px;
  border-bottom: 1px solid var(--pg-border, #dce4e7);
  color: #174d40; font-size: 1.125rem; font-weight: 700; line-height: 1.3;
}
.pg-next .pg-home-popular .pg-popular__heading { margin: 0 0 12px; color: #174d40; font-size: 1rem; }
.pg-next .pg-home-popular .pg-popular__list {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px; list-style: none; margin: 0; padding: 0;
}
/* Cuatro tarjetas: una sola fila de cuatro cuando hay espacio suficiente.
   Con tres se mantiene la distribución de tres columnas. */
@container (min-width: 820px) {
  .pg-next .pg-home-popular .pg-popular__list:has(> .pg-popular__item:nth-child(4):last-child) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.pg-next .pg-home-popular .pg-popular__item {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0; margin: 0; overflow: hidden;
  border: 1px solid var(--pg-border, #dce4e7); border-radius: 10px;
  background: var(--pg-surface, #fff);
}
/* El HTML del modulo sitúa el enlace de imagen antes del contenido.
   Grid lo presenta debajo, en una segunda fila alineada entre tarjetas. */
.pg-next .pg-home-popular .pg-popular__image-link {
  display: block; grid-row: 2; align-self: end; width: auto;
  margin: 0 12px 12px;
}
.pg-next .pg-home-popular .pg-popular__image { display: block; width: 100%; }
.pg-next .pg-home-popular .pg-popular__image { aspect-ratio: 16 / 9; object-fit: cover; height: auto; }
.pg-next .pg-home-popular .pg-popular__content {
  grid-row: 1; display: flex; flex-direction: column; min-width: 0; padding: 10px 12px 12px;
}
.pg-next .pg-home-popular .pg-popular__text {
  display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0;
}
/* Lecturas al pie del texto, justo encima de todas las imagenes. */
.pg-next .pg-home-popular .pg-popular__meta {
  margin-top: auto; padding-top: 12px; text-align: right;
}
.pg-next .pg-home-popular .pg-popular__hits {
  color: var(--pg-editorial-title-link, #155b95);
  font-size: .84rem; font-weight: 600; font-variant-numeric: tabular-nums;
}
.pg-next .pg-home-popular .pg-popular__title { color: var(--pg-editorial-title-link, #155b95); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
/* Hover/foco del enlace real de Popular: supera el hover genérico de
   .pg-module en presentations.css, sin afectar a otros módulos. */
.pg-next .pg-home-popular .pg-module .pg-popular__item a.pg-popular__title:is(:hover, :focus-visible) {
  color: #a94f00;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}
/* El numero de columnas depende del ancho real del bloque central,
   no del viewport: la portada conserva una barra lateral. */
@container (max-width: 690px) {
  .pg-next .pg-home-popular .pg-popular__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 460px) {
  .pg-next .pg-home-popular .pg-popular__list { grid-template-columns: minmax(0, 1fr); }
}
/* Respaldo responsive para navegadores sin container queries. */
@supports not (container-type: inline-size) {
  @media (max-width: 1100px) {
    .pg-next .pg-home-popular .pg-popular__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 720px) {
    .pg-next .pg-home-popular .pg-popular__list { grid-template-columns: minmax(0, 1fr); }
  }
}

/* PortalGraf NEXT 0.5.177 — Actualidad exclusiva de portada.
   La estructura externa es responsiva; el HTML interno de iCagenda
   debe validarse antes de definir un override de su listado. */
/* Ritmo vertical único para las secciones de Inicio 101.
   Destacados no añade margen tras su última cuadrícula.
   Cada transición la gestiona una sola regla, sin sumar márgenes del bloque siguiente. */
.pg-next .pg-primary-content { --pg-home-section-spacing: 32px; }
.pg-next .pg-primary-content > main:has(.pg-home-featured-101) + .pg-home-section,
.pg-next .pg-primary-content > .pg-home-section + .pg-home-section {
  margin-block-start: var(--pg-home-section-spacing);
}
.pg-next .pg-home-actualidad { min-width: 0; }
/* Títulos principales de Inicio: una única definición compartida.
   El selector contempla tanto el chrome de Explorar como el H2 de Actualidad.
   Se mantiene específico para no alterar encabezados de otras páginas. */
.pg-next .pg-home-explore-position .pg-module__heading-surface > .pg-home-section-title,
.pg-next .pg-home-actualidad > .pg-home-section-title,
.pg-next .pg-home-resources > .pg-home-section-title,
.pg-next .pg-home-community-market > .pg-home-section-title {
  margin: 0 0 18px;
  padding: 0 0 10px;
  border: 0;
  border-bottom: 1px solid var(--pg-border, #dce4e7);
  color: #174d40;
  font: inherit;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: normal;
  line-height: 1.3;
  text-transform: none;
}
.pg-next .pg-home-actualidad__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}
.pg-next .pg-home-actualidad__column { min-width: 0; }
.pg-next .pg-home-actualidad__subtitle {
  margin: 0 0 12px;
  padding: 2px 0 2px 11px;
  border-left: 3px solid #f28c20;
  color: #174d40;
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.35;
}
/* Preparado para elementos de lista con clase propia, sin actuar
   sobre el HTML desconocido de una extensión externa. */
.pg-next .pg-home-actualidad .pg-actualidad-list {
  display: grid; gap: 10px; list-style: none; padding: 0; margin: 0;
}
.pg-next .pg-home-actualidad .pg-actualidad-item {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 10px;
  min-height: 100px;
  min-width: 0;
  border: 1px solid var(--pg-border, #dce4e7);
  border-radius: 12px;
  background: var(--pg-surface, #fff);
}
.pg-next .pg-home-actualidad .pg-actualidad-item__media {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 40 / 21;
  object-fit: contain;
  object-position: center;
  box-sizing: border-box;
  border: 1px solid #e3e9eb;
  border-radius: 8px;
}
.pg-next .pg-home-actualidad .pg-actualidad-item__title {
  margin: 0; font-size: .93rem; line-height: 1.35;
  overflow-wrap: anywhere;
}
.pg-next .pg-home-actualidad .pg-actualidad-item__meta {
  margin: 4px 0 0; font-size: .8rem; opacity: .78;
}
@media (max-width: 720px) {
  .pg-next .pg-home-actualidad__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pg-next .pg-primary-content { --pg-home-section-spacing: 22px; }
}

/* Noticias compactas: zona aislada de Inicio */
.pg-next .pg-home-actualidad .pg-actualidad-item__thumb-link { display:block; align-self:center; width:140px; }
.pg-next .pg-home-actualidad .pg-actualidad-item__placeholder { display:grid; place-items:center; background:#edf3f4; color:#61727a; font-size:1.5rem; }
.pg-next .pg-home-actualidad .pg-actualidad-item__title a { color: #155d91; text-decoration:none; }
.pg-next .pg-home-actualidad .pg-actualidad-item__title a:is(:hover, :focus-visible) { color: #a94f00; text-decoration:underline; text-decoration-thickness:.08em; text-underline-offset: .18em; }
.pg-next .pg-home-actualidad .pg-actualidad-item:focus-within { outline:2px solid currentColor; outline-offset:2px; }

/* Tarjetas coordinadas (noticias y futuros eventos): escritorio compacto, móvil fluido. */
@media (min-width: 721px) {
  .pg-next .pg-home-actualidad .pg-actualidad-item {
    height: 106px;
    max-height: 106px;
    overflow: hidden;
  }
  .pg-next .pg-home-actualidad .pg-actualidad-item__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
  }
}
@media (max-width: 720px) {
  .pg-next .pg-home-actualidad .pg-actualidad-item {
    height: auto;
    min-height: 88px;
    max-height: none;
    overflow: visible;
  }
  /* Noticias: imagen panorámica arriba, cuerpo editorial debajo. */
  .pg-next .pg-home-actualidad .pg-actualidad-item:not(.pg-actualidad-item--event) {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .pg-next .pg-home-actualidad .pg-actualidad-item__thumb-link {
    width: 100%;
    min-width: 0;
  }
  .pg-next .pg-home-actualidad .pg-actualidad-item__media {
    border: 0;
    border-radius: 8px;
  }
  /* Eventos: icono cuadrado a la izquierda y textos a la derecha. */
  .pg-next .pg-home-actualidad .pg-actualidad-item--event {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 16px;
  }
  .pg-next .pg-home-actualidad .pg-actualidad-item--event .pg-actualidad-event__mark {
    width: 64px;
    height: 64px;
    aspect-ratio: 1;
  }
  .pg-next .pg-home-actualidad .pg-actualidad-item__title {
    display: block;
    overflow: visible;
  }
}

/* Próximos eventos: misma retícula de Noticias, sin duplicar su encabezado. */
.pg-next .pg-home-actualidad .pg-actualidad-event__mark {
  width: 140px; min-width: 0; aspect-ratio: 40 / 21; align-self: center;
  display: grid; place-items: center;
  color: #174d40; background: #e8f2ec; border-radius: 8px;
}
.pg-next .pg-home-actualidad .pg-actualidad-event__mark svg { display: block; }
.pg-next .pg-home-actualidad .pg-actualidad-event__date { color: #174d40; font-weight: 650; opacity: 1; }
.pg-next .pg-home-actualidad .pg-actualidad-event__location { margin-top: 2px; }
.pg-next .pg-home-actualidad .pg-actualidad-events-all { margin: 12px 0 0; font-size: 1rem; }
.pg-next .pg-home-actualidad .pg-actualidad-events-all a { color: #155d91; font-weight: 650; text-decoration: none; }
.pg-next .pg-home-actualidad .pg-actualidad-events-all a:is(:hover,:focus-visible) { color: #a94f00; text-decoration: underline; }

/* NEXT 0.5.196. Recursos de Inicio: disposición responsive de seis tarjetas.
   Reutiliza el HTML y la presentación original de RSFiles!. */
.pg-next .pg-home-resources { min-width: 0; }
.pg-next .pg-home-resources__subtitle {
  margin: 0 0 12px;
  padding: 2px 0 2px 11px;
  border-inline-start: 3px solid #f28c20;
  color: #174d40;
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.35;
}
.pg-next .pg-home-resources__downloads { min-width: 0; }
/* NEXT 0.5.218 — separación entre el módulo editorial anterior y las descargas.
   El chrome es gestionado por Joomla; la regla no altera el título ni sus tarjetas. */
.pg-next .pg-home-resources__downloads > .pg-module--latest-editorial {
  margin-top: 12px;
}

/* NEXT 0.5.214 — título de RSFiles! administrado desde Joomla.
   Alcance exclusivo de las descargas en Inicio; no altera otros módulos
   que usan el chrome pgLatestEditorial. */
.pg-next .pg-home-resources__downloads .pg-module--latest-editorial .pg-module__title {
  margin: 0 0 12px;
  padding: 2px 0 2px 11px;
  border: 0;
  border-inline-start: 3px solid #f28c20;
  background: transparent;
  color: #174d40;
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: normal;
}


/* Cuadrícula de los seis recursos: alcance restringido a la portada.
   RSFiles! puede envolver la lista en div/ul; se identifica el padre de
   seis elementos hermanos sin modificar su salida ni sus tarjetas.
   Si el módulo cambia de estructura o número, conserva el diseño original. */
.pg-next .pg-home-resources__downloads {
  container: pg-resources / inline-size;
}
.pg-next .pg-home-resources__downloads :is(div, ul):has(> :nth-child(6):last-child) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  padding-inline: 0;
  list-style: none;
}
.pg-next .pg-home-resources__downloads :is(div, ul):has(> :nth-child(6):last-child) > * {
  min-width: 0;
  margin: 0;
  height: 100%;
}
/* La celda y su tarjeta interior comparten altura; el contenido no se recorta. */
.pg-next .pg-home-resources__downloads :is(div, ul):has(> :nth-child(6):last-child) > * > :is(a, div, article) {
  height: 100%;
  box-sizing: border-box;
}
@container pg-resources (max-width: 730px) {
  .pg-next .pg-home-resources__downloads :is(div, ul):has(> :nth-child(6):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@container pg-resources (max-width: 460px) {
  .pg-next .pg-home-resources__downloads :is(div, ul):has(> :nth-child(6):last-child) {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* NEXT 0.5.193: estructura real contrastada con HTML de RSFiles!.
   Ocultar las estadísticas solo en Recursos de Inicio. */
.pg-next .pg-home-resources .pg-rsf-list__meta {
  display: none;
}
/* El CSS propio de mod_rsfiles_hits impone color !important en títulos.
   Excepción estrictamente local a la portada: no afecta al módulo ni a otras vistas. */
.pg-next .pg-home-resources .pg-rsf-list__link .pg-rsf-list__title {
  color: #155d91 !important;
}
.pg-next .pg-home-resources .pg-rsf-list__link:hover .pg-rsf-list__title,
.pg-next .pg-home-resources .pg-rsf-list__link:focus-visible .pg-rsf-list__title {
  color: #a94f00 !important;
  text-decoration: underline;
  text-underline-offset: .15em;
}


/* NEXT 0.5.197 — tarjetas editoriales de mod_custom en pg-home-downloads.
   HTML administrado por Joomla: no se inyecta contenido desde NEXT. */
.pg-next .pg-home-resources .pg-resource-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0;
  align-items: stretch;
}
.pg-next .pg-home-resources .pg-resource-editorial-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid #dce4e7;
  border-radius: 15px;
  background: #fff;
  box-sizing: border-box;
}
.pg-next .pg-home-resources .pg-resource-editorial-content {
  min-width: 0;
}
.pg-next .pg-home-resources .pg-resource-editorial-title {
  margin: 0 0 8px;
  font-size: 1.08rem;
  line-height: 1.35;
  font-weight: 750;
}
.pg-next .pg-home-resources .pg-resource-editorial-title a,
.pg-next .pg-home-resources .pg-resource-editorial-action {
  color: #155d91;
  text-decoration: none;
}
.pg-next .pg-home-resources .pg-resource-editorial-description {
  margin: 0;
  line-height: 1.5;
}
.pg-next .pg-home-resources .pg-resource-editorial-action {
  display: inline-block;
  align-self: flex-start;
  margin-top: auto;
  font-weight: 650;
}
.pg-next .pg-home-resources .pg-resource-editorial-title a:is(:hover, :focus-visible),
.pg-next .pg-home-resources .pg-resource-editorial-action:is(:hover, :focus-visible) {
  color: #a94f00;
  text-decoration: underline;
  text-underline-offset: .15em;
}
@container pg-resources (max-width: 460px) {
  .pg-next .pg-home-resources .pg-resource-editorial-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
