#ContentRenderArea {
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  margin: 0;
  padding: 0;
}

label {
  font-weight: bolder !important;
}

.buscador-caja {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 5px;
  margin: 20px;
  padding: 20px;
}

.publicaciones {
  margin-top: 5px;
}

.card-icon {
  font-size: 40px;
  width: 50px;
  flex-shrink: 0;
  margin: 15px;
}
.card-content {
  border-left: 1px solid #ddd;
  padding: 15px;
}
.card-content h4 {
  margin: 0;
  font-weight: bold;
  margin-bottom: 10px;
}
.card-content p {
  margin: 10px 0;
}
.card-content a {
  text-decoration: none;
  color: #0073b7;
  font-weight: bold;
}
.card-content a:hover {
  text-decoration: underline;
}

.card {
  background-color: #f8f8f8;
  border-radius: 5px;
  margin-bottom: 10px;
  display: flex;
  align-items: flex-start;
  border: 1px solid #ddd;
  align-items: center;
  transition: transform 0.3s ease-in-out;
  position: relative; /* Asegura que el overlay se posicione correctamente */
  overflow: hidden; /* Evita que el overlay sobresalga */
}

.card:hover {
  transform: scale(1.02);
}

.card-icon {
  font-size: 35px;
  margin-bottom: 10px;
}

.card-overlay {
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none; /* Evita problemas de interacción cuando está oculto */
}

.card:hover .card-overlay {
  opacity: 1;
  pointer-events: auto; /* Activa los enlaces cuando el overlay esté visible */
}

.card-overlay a {
  font-size: 1.4rem;
  line-height: normal;
  color: #fff;
  transition: 0.3s;
}

.card-overlay a:hover {
  color: #ddd;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.hidden {
  display: none !important;
}

#total-results {
  margin: 0px !important;
}

.btn-sm-primary {
  border: 2px solid #967d2d;
  border-radius: 3px;
  background-color: #f8f8f8;
  color: #333;
  transition: 0.2s;
}

.btn-sm-primary:hover {
  background-color: #fff;
  color: #333;
  transition: 0.2s;
}

.btn-sm-primary .active {
  background-color: #967d2d;
  color: #fff;
  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.angle-pagination-right {
  background-color: #eee !important;
  border: none !important;
  font-size: 1.4rem !important;
  vertical-align: middle !important;
  transition: 0.3s;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-left: 0.5px solid #ccc;
  padding: 5px 8px 5px;
}

.angle-pagination-right:hover {
  background-color: #ddd !important;
  color: #333;
  transition: 0.3s;
}

.angle-pagination-right:disabled,
button[disabled] {
  color: #999 !important;
  background-color: #eee !important;
}

.angle-pagination-left {
  background-color: #eee !important;
  border-right: 0.5px solid #ccc;
  border-left: none;
  border-top: none;
  border-bottom: none;
  font-size: 1.4rem !important;
  vertical-align: middle !important;
  transition: 0.3s;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-right: 0.5px solid #ccc;
  padding: 5px 8px 5px;
}

.angle-pagination-left:hover {
  background-color: #ddd !important;
  color: #333;
  transition: 0.3s;
}

.angle-pagination-left:disabled,
button[disabled] {
  color: #999 !important;
  background-color: #eee !important;
}

.page-button {
  background-color: #eee !important;
  /*border-left: 0.5px solid #ccc;*/
  border-left: none;
  border-right: 0.5px solid #ccc;
  border-top: none;
  border-bottom: none;
  font-size: 1.4rem !important;
  vertical-align: middle !important;
  transition: 0.3s;
  padding: 5px 8px 5px;
  width: 30px;
}

.page-button:hover {
  background-color: #ddd !important;
  color: #333 !important;
  transition: 0.3s;
}

.page-button.active {
  background-color: #967d2d !important;
  color: #fff !important;
  border-right: 0.5px solid #ccc;
  font-size: 1.4rem !important;
  vertical-align: middle !important;
  transition: 0.3s;
  padding: 5px 8px 5px;
  border-top: none;
  border-bottom: none;
}

/* Botón de buscar: deja solo estilo de texto; el tamaño lo maneja .btn-action */
.buscar {
  text-transform: uppercase;
  font-size: 1.3rem;
}

/* === Grid de filtros (CANALES + BOTONES) === */
.filters-grid {
  display: grid;
  gap: 12px;
  align-items: center;
  /* Desktop: 3 columnas */
  grid-template-columns: 1fr auto auto;
  grid-template-areas: "channels clear apply";
}

/* Áreas */
.filters-grid__channels {
  grid-area: channels;
}
.filters-grid__apply {
  grid-area: apply;
}
.filters-grid__clear {
  grid-area: clear;
}

.btn:active {
  transform: translateY(1px);
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125)!important;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125)!important;
}

/* Botones consistentes (ya usabas .btn-action) */
.btn-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  padding: 0 16px;
  line-height: 1;
  min-width: 10.5rem; /* mismo ancho visual para ambos */
  border-radius: 4px;
  text-transform: uppercase;
}

/* Móvil: 1 columna para CANALES y otra fila con ambos botones centrados */
@media (max-width: 1024px){
  .filters-grid{
    grid-template-columns: 1fr 1fr;                  /* dos columnas para los botones */
    grid-template-areas:
      "channels channels"                            /* canales ocupa la fila completa */
      "apply    clear";                              /* botones en la fila siguiente   */
    justify-items: center;                           /* <- centra horizontalmente cada celda */
    align-items: center;
    column-gap: 12px;
    row-gap: 8px;
  }
  .filters-grid__apply,
  .filters-grid__clear{
    justify-self: center;                            /* seguridad extra de centrado */
  }
}

select,
select > option {
  font-family: "Gotham-Light", sans-serif !important;
  color: #333 !important;
}

.study-channel {
  font-size: 18px;
  font-family: "Gotham-Bold", sans-serif;
  color: #333;
}

.study-title {
  font-size: 1.3rem;
}

.study-authors {
  font-size: 1.3rem;
}

/* Contenedor Select2 múltiple: altura adaptable, mínimo 36px */
.select2-container--default .select2-selection--multiple {
  position: relative;
  height: auto !important; /* <- antes 36px */
  min-height: 36px !important; /* mantiene el alto cuando es una sola línea */
  width: 100% !important;
  padding: 4px 28px 4px 8px !important;
  display: flex !important;
  align-items: flex-start !important; /* <- permite varias filas sin “aplastar” */
  border: 1px solid #e7e7e7 !important;
  border-radius: 4px !important;
  background-color: #fff !important;
}

/* Ul interno: permite wrap en varias filas */
.select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered {
  display: flex !important;
  align-items: flex-start !important; /* <- antes center */
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 !important;
  width: 100%;
  box-sizing: border-box;
}

/* Evita que los chips se encojan y se corten (como “07”) */
.select2-container--default .select2-selection__choice {
  flex: none;
  white-space: nowrap;
}

.select2-container--default
  .select2-selection--multiple
  .select2-selection__choice {
  margin-top: 2px !important;
}

/* Input de búsqueda: mantiene el placeholder centrado en una sola línea */
.select2-container--default .select2-search--inline .select2-search__field {
  height: 26px !important;
  line-height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Gotham-Light", sans-serif;
  font-size: larger;
}

/* “X” de limpiar, a la derecha y centrada verticalmente en el alto variable */
.select2-container--default
  .select2-selection--multiple
  .select2-selection__clear {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  float: none !important;
}

/* caret visual (opcional) */
.select2-container--default .select2-selection--multiple::after {
  content: "▾";
  font-size: 12px;
  color: #555;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

/* Anchos */
#yearSelect {
  width: 100%;
}
.select2-container {
  width: 100% !important;
}
