/* btn btn-primary btn-lg */

.btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
          box-shadow: none;
  opacity: .65;
}

.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}


.btn-primary {
  color: #ffffff;
  background-color: #ff0000;
  border-color: #ff0000;
}

.btn-primary:focus,
.btn-primary.focus {
  color: #ffffff;
  background-color: #cc0000;
  border-color: #800000;
}

.btn-primary:hover {
  color: #ffffff;
  background-color: #cc0000;
  border-color: #c20000;
}

.btn-primary:active,
.btn-primary.active,
.open>.dropdown-toggle.btn-primary {
  color: #ffffff;
  background-color: #cc0000;
  border-color: #c20000;
}

.btn-primary:active:hover,
.btn-primary.active:hover,
.open>.dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open>.dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open>.dropdown-toggle.btn-primary.focus {
  color: #ffffff;
  background-color: #a80000;
  border-color: #800000;
}

.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #ff0000;
  border-color: #ff0000;
}

.btn-primary .badge {
  color: #ff0000;
  background-color: #ffffff;
}

/* ReDoc 2.5.0 Scroll Fixes */
.redoc-wrap {
  overflow: visible !important;
  height: auto !important;
}

.redoc-wrap .redoc-content {
  overflow: visible !important;
  height: auto !important;
}

/* Fix scroll conflicts */
[role="navigation"] {
  position: fixed !important;
  overflow-y: auto !important;
  height: calc(100vh - 80px) !important;
  scrollbar-width: thin;
}

.redoc-wrap .menu-content {
  overflow-y: auto !important;
  max-height: calc(100vh - 80px) !important;
}

/* Prevent scroll jumping */
html {
  scroll-behavior: smooth !important;
}

body {
  overflow-x: hidden !important;
}

/* ReDoc container fixes */
#redoc-container {
  min-height: calc(100vh - 80px) !important;
  overflow: visible !important;
}

/* Menu scroll stability */
.redoc-wrap .menu-content ul {
  overflow: visible !important;
}

.redoc-wrap .menu-content ul li {
  position: relative !important;
}

/* Prevent duplicate scrollbars */
.redoc-wrap * {
  box-sizing: border-box !important;
}

/* Force scroll behavior for navigation */
html {
  scroll-behavior: smooth !important;
}

/* Ensure all elements are scrollable targets */
#redoc-container h1,
#redoc-container h2, 
#redoc-container h3,
#redoc-container h4,
#redoc-container [id] {
  scroll-margin-top: 80px !important;
  position: relative !important;
}

/* Fix ReDoc navigation links */
#redoc-container [role="navigation"] a {
  cursor: pointer !important;
  text-decoration: none !important;
}

#redoc-container [role="navigation"] a:hover {
  color: #ee1c25 !important;
}
