/* ===== Documentos Institucionales - Tiles y Carrusel ===== */
.inst-docs .doc-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  text-decoration: none;
  background: var(--color-primary-900);
  color: #e6f0f4;
  border-radius: 24px;
  padding: 22px 18px;
  min-width: 160px;
  min-height: 150px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .15);
  box-sizing: border-box;
  /* el ancho incluye padding para que 2x cards + gap quepan exacto */
}

.inst-docs .doc-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .06);
}

.inst-docs .doc-icon i {
  font-size: 28px;
  color:var(--color-primary-600);
}

.inst-docs .doc-text {
  font-weight: 500;
  letter-spacing: .5px;
  line-height: 1.1
}

.inst-docs .doc-text .line {
  display: block;
  text-transform: uppercase;
  font-size: 14px
}

.inst-docs .doc-text .line.sub {
  opacity: .9;
  font-weight: 700
}

.inst-docs .doc-underline {
  margin-top: 6px;
  display: block;
  width: 46px;
  height: 3px;
  border-radius: 999px;
  background: #b5f2d3;
  opacity: .85
}

/* ===== Grid (<=5 ítems) ===== */
.inst-docs .docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 18px
}

/* ===== Carrusel (>5 ítems) ===== */
.inst-docs .docs-carousel {
  display: flex;
  align-items: center;
  gap: 12px
}

.inst-docs .docs-viewport {
  overflow: hidden;
  width: 100%
}

.inst-docs .docs-track {
  display: flex;
  gap: 18px;
  transition: transform .35s ease
}

.inst-docs .docs-nav {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--color-primary-600, #0ea5b7);
  color: var(--color-primary-600, #0ea5b7);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center
}

/* Evitar encogimiento dentro del carrusel y mantener pasos coherentes */
.inst-docs .docs-track .doc-tile {
  flex: 0 0 auto
}

@media (max-width: 768px) {
  .inst-docs .doc-tile {
    min-width: 140px;
    min-height: 130px;
    padding: 18px
  }
}