   .btn-group > .btn,
      .btn-group-vertical > .btn {
      flex: 0 0 auto !important;
      }
/* ========= PALETA & TOKENS (más suave) ========= */
:root{
  /* Base de tu marca (morado + acento) con tonos suavizados */
  --primary-600:#6633BB;  /* Purple Emperor */
  --primary-500:#7A57D1;
  --primary-400:#9B83E3;  /* más claro para superficies */
  --primary-300:#C3B4F1;

  
  --accent-400:#D5D717;   /* Sulphur Spring (acento) */

  --surface-1: #ffffff;
  --surface-2: #faf8ff;   /* leve tinte lila */
  --border: rgba(0, 0, 0, 0.2);
  --shadow-sm: 0 6px 18px rgba(0,0,0,.10);
  --shadow-md: 0 12px 28px rgba(0,0,0,.14);

  /* Degradados más claros (legibles con texto blanco) */
  --grad-primary: linear-gradient(135deg, var(--primary-400) 0%, var(--primary-600) 70%);
  --grad-primary-soft: linear-gradient(135deg, rgba(155,131,227,.20) 0%, rgba(102,51,187,.18) 70%);
  --grad-accent: linear-gradient(135deg, var(--accent-400) 0%, var(--primary-400) 100%);
  --ring: 0 0 0 .28rem rgba(102,51,187,.20);
}

/* ========= BUSCADOR ========= */
#formBuscador .form-control{
  transition:border-color .2s, box-shadow .2s, transform .12s;
}
#formBuscador .form-control:focus{
  border-color: var(--primary-400);
  box-shadow: var(--ring);
}

/* Botón lupa 
#btnBuscar{
  border:1px solid var(--border);
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}*/

/* ========= PILLS / FILTROS ========= */
.filtros-pills label{
  border-width:1.5px;
  border-color: var(--border) !important;
  padding-inline: .9rem !important;
  border: 1px solid var(--bs-btn-color) !important;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s;
}
.filtros-pills label:hover{
  /* box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2); */
    box-shadow: 0 14px 30px rgba(102,51,187,.2);
  border: 1px solid var(--bs-btn-color) !important;
}
.btn-check:checked + label{
  color:#fff !important;
  border-color: transparent !important;
  background-image: var(--grad-primary);
  box-shadow: 0 12px 26px rgba(102,51,187,.25);
}

.btn-check:checked + label{
  color:#fff;
  border-color: transparent !important;
  background-image: var(--grad-primary);
  box-shadow: 0 12px 26px rgba(102,51,187,.25);
}

.btn-grad{
  border-width: 1.5px;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .15s;
}

/* Estado “activo/primario” → degradado lleno */
.btn-grad.btn-primary{
  color: #fff;
  border-color: transparent;
  background-image: var(--grad-primary,
    linear-gradient(135deg, #9B83E3 0%, #6633BB 70%));
  box-shadow: 0 12px 26px rgba(102,51,187,.25);
}
.btn-grad.btn-primary:hover{
  box-shadow: 0 14px 30px rgba(102,51,187,.28);
}

.btn-grad.btn:hover {
    box-shadow: 0 14px 30px rgba(102,51,187,.28);
    color: var(--bs-btn-color);
    background-color: transparent;

}

/* ========= TARJETAS DE RESULTADO ========= */
.tarjeta-informe{
  background: linear-gradient(180deg, var(--surface-1) 0%, var(--surface-2) 100%);
  border:1px solid var(--border) !important;
  border-radius: 1rem;
  box-shadow: var(--shadow-sm);
  transition: transform .16s ease, box-shadow .16s ease, border-color .2s ease, background .2s ease;
  position: relative;
  overflow: hidden;
}

.tarjeta-informe:hover{
  box-shadow: var(--shadow-md);
  border-color: rgba(0,0,0,.12);
}

/* Contenido interno (espaciado/jerarquía) */
.tarjeta-informe .card-body{
  padding: 1rem 1rem 0.9rem 1rem;
}
.tarjeta-informe hr{
  margin: .75rem 0 0.75rem;
  opacity:.25;
}

/* Burbuja de ícono (más clara) */
.icon-bubble{
  min-width:48px; min-height:48px; max-width:48px; max-height:48px; aspect-ratio:1/1;
  border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background: radial-gradient(120% 120% at 20% 10%, rgba(155,131,227,.22) 0%, rgba(34,17,68,.06) 100%);
  border:1px solid rgba(102,51,187,.25);
}

/* ========= TRUNCADO (visible y consistente) ========= */
/* Utilidades de clamp */
.clamp-1{
  display:-webkit-box; -webkit-box-orient: vertical;
  overflow: hidden; -webkit-line-clamp: 1; line-clamp: 1;
  max-width: 100%;
}
.clamp-2{
  display:-webkit-box; -webkit-box-orient: vertical;
  overflow: hidden; -webkit-line-clamp: 2; line-clamp: 2;
  max-width: 100%;
}
.clamp-3{
  display:-webkit-box; -webkit-box-orient: vertical;
  overflow: hidden; -webkit-line-clamp: 3; line-clamp: 3;
  max-width: 100%;
}

/* Título y descripción usando las utilidades */
.titulo-truncado{ font-weight: 700; letter-spacing:.2px; }
.descripcion-truncada{ color: var(--bs-secondary-color); }

/* Botón acción: hover con gradiente suave */
.tarjeta-informe .btn-outline-primary{
  /* border-width:1.5px; */
  border-color: rgba(102,51,187,.45);
  color: var(--primary-600);
}
.tarjeta-informe .btn-outline-primary:hover{
  color:#fff;
  border-color: transparent;
  background-image: var(--grad-primary);
  box-shadow: 0 12px 26px rgba(102,51,187,.25);
}

/* ========= PAGINACIÓN ========= */
.pagination .page-link{
  border-radius: .75rem !important;
  /* border:1.5px solid var(--border); */
  padding: .35rem .6rem;
  transition: box-shadow .15s, border-color .15s, background .15s;
}
.pagination .page-link:hover{
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 6px 14px rgba(0,0,0,.08);
}
.pagination .page-item.active .page-link{
  border-color: transparent;
  color:#fff;
  background-image: var(--grad-primary);
  box-shadow: 0 10px 22px rgba(102,51,187,.25);
}

/* ========= FOCUS ACCESIBLE ========= */
:where(.btn,.form-select,.form-control,.page-link,[type="radio"]+label):focus-visible{
  outline: none;
  box-shadow: var(--ring);
}

/* ========= RESPONSIVE FINO ========= */
@media (max-width: 576px){
  .filtros-pills label{ margin-bottom:.35rem !important; }
  #formBuscador .form-control{ padding-block: .9rem; }
}

/* estado inicial */
.fade-stagger {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .45s ease, transform .45s ease;
}
 
/* estado visible */
.fade-stagger.show {
  opacity: 1;
  transform: none;
}

.btn-ir-modulo {
  line-height: 1;
  padding: .35rem .6rem;
  box-shadow: none !important;
}
