.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9998;
}

.popup-overlay.activo {
    display: block;
}

.popup-container {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 75rem;
    max-height: 90vh;
    background-color: white;
    border-radius: 0.5rem;
    z-index: 9999;
    overflow: hidden;
    box-shadow: 0 0.625rem 2.5rem rgba(0, 0, 0, 0.3);
}

.popup-container.activo {
    display: block;
}

.popup-cerrar {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 2.5rem;
    height: 2.5rem;
    background-color: #d3d3d3;
    border: none;
    border-radius: 50%;
    font-size: 1.5rem;
    color: #fff;
    cursor: pointer;
    z-index: 10;
    line-height: 1;
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
	padding:0;
}

.popup-cerrar:hover {
    background-color: #bbb;
}

.popup-contenido-cronologia,
.popup-contenido-autores,
.popup-contenido-conceptos {
    max-height: 90vh;
    overflow: hidden;
}

.popup-contenido-cronologia {
    display: flex;
    flex-direction: column;
}

.popup-contenido-autores {
    padding: 1.5rem 2.5rem 2.5rem;
    overflow-y: auto;
    text-align: center;
}

.popup-contenido-conceptos {
    padding: 1.5rem 2.5rem 2.5rem;
    overflow-y: auto;
}

.popup-titulo-principal {
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    color: #1269B3;
    margin-bottom: 1.875rem;
}

.popup-header {
    padding: 1.875rem 2.5rem 1.25rem;
    border-bottom: 0.0625rem solid #e0e0e0;
    flex-shrink: 0;
}

.popup-titulo {
    font-size: 1.0625rem;
    font-weight: normal;
    color: #333;
    padding-right: 3.125rem;
}

.popup-secciones-fijas {
    padding: 1.875rem 2.5rem;
    flex-shrink: 0;
}

.popup-fila-1 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}

.popup-descripcion-extensa {
    margin-top: 1rem;
    padding-top: 1.875rem;
    margin-left: -2.5rem;
    margin-right: -2.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    border-top: 0.0625rem solid #e0e0e0;
}

.popup-seccion h3,
.popup-descripcion-extensa h3,
.popup-documentos h3 {
    font-size: 1rem;
    font-weight: bold;
    color: #000;
    margin-bottom: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.popup-seccion p {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #333;
}

.popup-descripcion-extensa p {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #474749;
}
.popup-seccion p:last-child,
.popup-descripcion-extensa p:last-child{
	margin-bottom:0;
}
.popup-documentos-container {
    flex: 1;
    overflow-y: auto;
    border-top: 0.0625rem solid #e0e0e0;
}

.popup-documentos-container::-webkit-scrollbar {
    width: 0.5rem;
}

.popup-documentos-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.popup-documentos-container::-webkit-scrollbar-thumb {
    background: #c0c0c0;
    border-radius: 0.25rem;
}

.popup-documentos-container::-webkit-scrollbar-thumb:hover {
    background: #a0a0a0;
}

.popup-documentos {
    padding: 1.875rem 2.5rem;
}

.popup-documentos h3 {
    font-size: 1rem;
    font-weight: bold;
    color: #000;
    margin-bottom: 1.25rem;
}

.documentos-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.125rem 18%;
    padding: 0 15%;
    margin-top: 1.25rem;
}
.popup-contenido-cronologia .documentos-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    padding: 0;  
}
.popup-contenido-cronologia .documento-card {
    padding: .5rem;
    border: 1px solid var(--Gray-modern-200, #E3E8EF);
}
.documento-imagen {
    width: 100%;
    margin-bottom: 0.9375rem;
}
.popup-contenido-cronologia .documento-imagen {
    border: 1px solid var(--Gray-modern-200, #E3E8EF);
}
.documento-imagen img {
    width: 100%;
    height: auto;
    display: block;
}
.popup-contenido-cronologia .documento-imagen img {
    height: 120px;
    object-fit: cover;
    object-position: top;
}
.documento-info h4 {
    font-size: 0.9375rem;
    margin-bottom: 0.3125rem;
}

.documento-info h4 a {
    color: #1269B3;
    text-decoration: none;
}

.documento-info h4 a:hover {
    text-decoration: none;
}

.documento-fecha {
    font-size: 0.875rem;
    color: #666;
}

.popup-autores-contenido img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.popup-conceptos-header {
    text-align: center;
    margin-bottom: 1.875rem;
}

.popup-conceptos-header img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.popup-conceptos-tabla {
    width: 100%;
    border-collapse: collapse;
    border: 0.0625rem solid #e0e0e0;
}

.popup-conceptos-tabla thead {
    background-color: #f8f8f8;
}

.popup-conceptos-tabla th {
    padding: 0.9375rem;
    text-align: left;
    font-size: 1rem;
    font-weight: bold;
    color: #183B56;
    border: 0.0625rem solid #e0e0e0;
}

.popup-conceptos-tabla td {
    padding: 1.25rem 0.9375rem;
    vertical-align: top;
    border: 0.0625rem solid #e0e0e0;
}

.popup-conceptos-tabla td:first-child {
    width: 20%;
}

.popup-conceptos-tabla td:nth-child(2) {
    width: 50%;
}

.popup-conceptos-tabla td:last-child {
    width: 30%;
    text-align: center;
}

.concepto-titulo {
    color: #1269B3;
    font-size: .875rem;
    font-weight: 500;
    text-decoration: none;
}

.concepto-titulo:hover {
    text-decoration: underline;
}

.concepto-descripcion {
    font-size: .875rem;
    line-height: 1.6;
    color: #777777;
    font-weight: 500;
}

.documentos-tags {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.doc-tag {
    display: flex;
    align-items: center;
    gap: 0.3125rem;
    padding: 0.3125rem 0.625rem;
    background-color: #F8F8F8;
    border: none;
    border-radius: 0.5rem;
    min-width: 0;
}

.doc-tag-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #000;
    font-size: 0.75rem;
}

.doc-icon {
    width: 1rem;
    height: 1rem;
    border-radius: 0.125rem;
    flex-shrink: 0;
}

.doc-icon.pdf {
    background-color: #e74c3c;
}

.doc-icon.doc {
    background-color: #2980b9;
}

.ver-mas-btn {
    display: block;
    margin-top: 0.625rem;
    padding: 0;
    background-color: transparent;
    color: #1269B3;
    border: none;
    font-size: 0.8125rem;
    text-decoration: none;
    cursor: pointer;
    text-align: left;
}

.ver-mas-btn:hover {
    text-decoration: underline;
}

@media(min-width:1300px){
	.popup-container{
		width:750px;
	}
    .single-persona .popup-container{
      width:96%;
    }
}

@media (max-width: 767px) {
    .popup-contenido-autores,
    .popup-contenido-conceptos {
        padding: 2.5rem 1.25rem 1.25rem;
    }

    .popup-conceptos-tabla {
        display: block;
		padding:1rem;
    }

    .popup-conceptos-tabla thead {
        display: none;
    }

    .popup-conceptos-tabla tr {
        display: block;
        margin-bottom: 1.25rem;
        border: 0.0625rem solid #e0e0e0;
        padding: 0.9375rem;
    }
	.popup-conceptos-tabla tr:last-child{
		margin-bottom:0;
	}
    .popup-conceptos-tabla td {
        display: block;
        width: 100% !important;
        padding: 0.625rem 0;
        border: none;
    }

    .documentos-tags {
        grid-template-columns: 1fr;
    }

    .popup-header {
        padding: 1.5625rem 1.25rem 0.9375rem;
    }

    .popup-titulo {
        font-size: 1rem;
    }

    .popup-secciones-fijas {
        padding: 1.5625rem 1.25rem;
    }

    .popup-fila-1 {
        grid-template-columns: 1fr;
        gap: 1.875rem;
    }

    .popup-descripcion-extensa {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .documentos-grid {
        grid-template-columns: 1fr;
        gap: 3.125rem;
        padding: 0;
    }

    .popup-documentos {
        padding: 1.5625rem 1.25rem;
    }
}

/* 1 & 2) Distribuir el alto descontando el header y dar scroll interno */
.popup-contenido-cronologia{
  /* en lugar de la columna flex, usamos grid para controlar las alturas */
  display: grid;
  grid-template-rows: auto 1fr 1fr; /* header (auto) + secciones + documentos con el mismo alto */
  max-height: 90vh; /* ya lo tenías en contenedores; aquí asegura límite */
  overflow: hidden; /* evita desbordes del grid */
}

/* Asegura que ambos “paneles” puedan scrollear por dentro */
.popup-secciones-fijas,
.popup-documentos-container{
  min-height: 0; /* IMPORTANTE: permite que el hijo con overflow funcione dentro de grid */
}

/* .popup-secciones-fijas se convierte en columna:
   - la parte fija arriba (.popup-fila-1)
   - la parte que scrollea (.popup-descripcion-extensa) */
.popup-secciones-fijas{
  display: flex;
  flex-direction: column;
  padding: 1.875rem 2.5rem; /* preserva tu padding */
}

/* 1) Solo la descripción extensa scrollea, como “popup-documentos-container” */
.popup-descripcion-extensa{
  flex: 1 1 auto;         /* ocupa el espacio disponible */
  overflow-y: auto;       /* scroll vertical */
  margin-top: 1rem;
  padding-top: 1.875rem;
  margin-left: -2.5rem;
  margin-right: -2.5rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  border-top: 0.0625rem solid #e0e0e0;
}

/* Scrollbar a juego con popup-documentos-container */
.popup-descripcion-extensa::-webkit-scrollbar{
  width: 0.5rem;
}
.popup-descripcion-extensa::-webkit-scrollbar-track{
  background: #f1f1f1;
}
.popup-descripcion-extensa::-webkit-scrollbar-thumb{
  background: #c0c0c0;
  border-radius: 0.25rem;
}
.popup-descripcion-extensa::-webkit-scrollbar-thumb:hover{
  background: #a0a0a0;
}

/* 3) Bloquear scroll del body mientras el pop-up está abierto (solo CSS, sin JS) */
body:has(.popup-overlay.activo),
body:has(.popup-container.activo){
  overflow: hidden;
  /* Evita “brinco” por desaparición de scroll en desktop (opcional) */
  /* padding-right: 0.5rem; */
}

/* Ajustes responsive: en mobile apilamos y dejamos fluir (sin forzar alturas iguales) */
@media (max-width: 767px){
  .popup-contenido-cronologia{
    grid-template-rows: auto auto auto; /* header + secciones + documentos apilados sin 1fr */
  }
  .popup-secciones-fijas,
  .popup-documentos-container{
    max-height: none;
  }
  .popup-descripcion-extensa{
    max-height: 40vh; /* opcional: limita scroll de descripción en mobile */
  }
}


@media (max-width: 767px){
  /* 1) Da altura disponible al bloque de documentos */
  .popup-contenido-cronologia{
    display: grid;
    /* header (auto) + secciones (auto) + documentos (1fr) */
    grid-template-rows: auto auto 1fr;
    max-height: 90vh;   /* límite del modal */
    overflow: hidden;   /* evita desbordes */
  }

  /* 2) El bloque de documentos ahora SÍ puede scrollear */
  .popup-documentos-container{
    min-height: 0;                 /* clave para que el scroll funcione en grid/flex */
    overflow-y: auto;              /* scroll vertical */
    -webkit-overflow-scrolling: touch; /* scroll suave iOS */
    overscroll-behavior: contain;  /* no “arrastra” el body */
  }

  /* 3) Mantén la descripción con un límite razonable (opcional) */
  .popup-descripcion-extensa{
    max-height: 30vh;              /* puedes ajustar este valor o quitarlo */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  /* 4) Elimina restricciones que anulaban el scroll */
  .popup-secciones-fijas,
  .popup-documentos-container{
    max-height: none; /* dejamos que el grid asigne altura */
  }
  
  .popup-contenido-cronologia .documentos-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem;
      padding: 0;  
  }
  
}

@media (min-width: 768px){
  .popup-contenido-cronologia{
    display: grid;
    grid-template-rows: auto 1.6fr 1fr; /* header + secciones + documentos */
  }
}

/* --- Mejora del scroll y visibilidad de los últimos cards --- */
.popup-documentos-container{
  /* ya tienes overflow-y:auto; lo reforzamos con: */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges; /* evita saltos al aparecer la barra */
  display: flex;
  flex-direction: column;
  min-height: 0; /* clave para que el hijo no se recorte */
}

/* Añadimos 'colchón' inferior para que el último card no quede cortado
   por el borde redondeado/ sombra / home-indicator */
.popup-documentos{
  padding-bottom: calc(2rem + env(safe-area-inset-bottom)); /* seguro en iOS y desktop */
  /* Evita que un overflow del hijo recorte contenido */
  min-height: 0;
}

/* Por si tu grid “aprieta” verticalmente, aseguramos que cada card tenga su propio flujo */
.popup-contenido-cronologia .documentos-grid{
  align-content: start;         /* que no “estire” filas y respete el contenido */
}

/* Evita cortes por colapsos de altura en items extensos */
.popup-contenido-cronologia .documento-card{
  min-height: 0;
}

/* Mejora la tocabilidad y evita que el hover/focus provoque reflow que empuje el último card */
.popup-contenido-cronologia .documento-info h4,
.popup-contenido-cronologia .documento-info h4 a{
  line-height: 1.3;
  display: block;
}

/* Opcional: dar un pequeño “respiro” visual al final aunque no haya safe-area */
.popup-documentos .documentos-grid::after{
  content: "";
  display: block;
  height: 1rem; /* espacio extra al final del grid */
}

/* Mobile: conserva el respiro incluso con 2 columnas y alto reducido */
@media (max-width: 767px){
  .popup-documentos{
    padding-bottom: calc(2.25rem + env(safe-area-inset-bottom));
  }
}
