/* Sidebar usability improvements (Bootstrap 4 theme-compatible)
   - Larger hit targets
   - Collapsible sections (accordion-like)
   - Better alignment for icons
*/

.docs-nav .nav-link {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 8px 10px;
}

/* Standard item height (consistent tap target) */
.docs-nav .nav-item {
  width: 100%;
  min-height: 44px;
}

.docs-nav .section-subnav {
  width: 100%;
}

.docs-nav .nav-item > .nav-link,
.docs-nav .nav-item > .section-toggle {
  min-height: 44px;
}

.docs-nav .nav-item.section-title .nav-link {
  padding: 8px 10px;
}


.docs-nav .nav-link .theme-icon-holder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.docs-nav .nav-link i.fa-arrow-right {
  margin-right: 8px;
}

.docs-nav .section-toggle {
  display: flex;
  align-items: center;
  width: 100%;
  background: none;
  border: 0;
  text-align: left;
}

.docs-nav .section-toggle:focus {
  outline: none;
}

.nav-tabs .nav-link:focus {
  outline: none;
  box-shadow: none;
  border-color: transparent;
}

.nav-tabs .nav-link.active:focus,
.nav-tabs .nav-item.show .nav-link:focus {
  border-color: #dee2e6 #dee2e6 #fff;
}

.docs-nav .section-toggle {
  position: relative;
}

.docs-nav .section-toggle::after {
  content: '';
  margin-left: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  flex: 0 0 auto;
  transform: rotate(45deg);
  opacity: 0.6;
}

.docs-nav .section-toggle.collapsed::after {
  transform: rotate(-45deg);
}

.docs-nav .section-subnav {
  margin-top: 4px;
}

.docs-nav .section-subnav .nav-link {
  padding-top: 6px;
  padding-bottom: 6px;
}

@media (max-width: 1199.98px) {
  /* Make taps easier on mobile */
  .docs-nav .nav-link {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* Search highlight (pulsing to draw attention) */
mark.docs-search-hit {
  animation: docs-search-pulse 1.1s ease-in-out 0s 6;
  border-radius: 2px;
  padding: 0 2px;
}

@keyframes docs-search-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}

@media (prefers-reduced-motion: reduce) {
  mark.docs-search-hit {
    animation: none;
  }
}
