/* BBCode Styling Tags */
.underline {
  text-decoration: underline;
}

.strike {
  text-decoration: line-through;
}

.left {
  text-align: left;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}

.fill {
  text-align: justify;
}

/* --- Global Accordion Container Styling --- */
details.accordion {
  margin-top: 12px;
  margin-bottom: 20px;
}

details.accordion summary {
  cursor: pointer;
  outline: none;
  user-select: none;
  padding: 6px 0;
}

details.accordion summary h1,
details.accordion summary h2,
details.accordion summary h3,
details.accordion summary h4 {
  display: inline !important;
  vertical-align: middle;
  padding-left: 6px;
  margin: 0 !important;
  border: none !important;
}

details.accordion summary a.headerlink {
  font-size: 0.85em;
  vertical-align: middle;
  margin-left: 8px;
}

details.accordion > :not(summary) {
  margin-left: 10px;
  padding-left: 6px;
  border-left: 2px solid rgba(0, 0, 0, 0.03);
  margin-top: 10px;
}

details.accordion > blockquote {
  margin-left: 34px;
}

/* 1 Nest */
details.accordion details.accordion > :not(summary) {
  margin-left: 20px !important;
  padding-left: 12px;
  border-left: 3px solid rgba(0, 0, 0, 0.05);
}

details.accordion details.accordion > blockquote {
  margin-left: 44px !important;
}

/* 1 Nest */
details.accordion details.accordion details.accordion > :not(summary) {
  margin-left: 30px !important;
  padding-left: 18px;
  border-left: 4px solid rgba(0, 0, 0, 0.05);
}

details.accordion details.accordion details.accordion > blockquote {
  margin-left: 54px !important;
}

details.classref-accordion {
  padding: 4px 12px 12px 12px;
  background-color: rgba(0, 0, 0, 0.01);
  border: 1px solid rgba(0, 0, 0, 0.04);
  border-radius: 6px;
}

/* --- Badge Schemes (Semi-Transparent Backdrops) --- */
span.badge-export,
span.badge-onready {
  display: inline-block;
  padding: 2px 4px;
  font-size: 0.7rem;
  font-family: monospace;
  font-weight: bold;
  border-radius: 3px;
  text-transform: uppercase;
  text-align: center;
  margin-right: 4px;
  vertical-align: middle;
  line-height: 1.2;
}

span.badge-export {
  background-color: rgba(241, 196, 15, 0.15);
  color: #f1c40f;
  border: 1px solid rgba(241, 196, 15, 0.35);
}

span.badge-onready {
  background-color: rgba(46, 204, 113, 0.15);
  color: #2ecc71;
  border: 1px solid rgba(46, 204, 113, 0.35);
}

p + .classref-property {
  margin-top: 6px;
}

p:has(.badge-export),
p:has(.badge-onready) {
  margin-bottom: 0px !important;
  margin-top: 0px !important;
}

/* --- Detailed Descriptions Badge Row Layout --- */
.desc-badge-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  margin-bottom: 6px;
  line-height: 1;
}

/* Constants Header Link Fix */
.classref-property a:last-of-type,
.classref-enumeration-constant a:last-of-type,
.classref-method a:last-of-type,
.classref-signal a:last-of-type {
  visibility: hidden;
  opacity: 0;
  margin-left: 6px;
  transition:
    opacity 0.15s ease-in-out,
    visibility 0.15s ease-in-out;
  text-decoration: none !important;
}

.classref-property:hover a:last-of-type,
.classref-enumeration-constant:hover a:last-of-type,
.classref-method:hover a:last-of-type,
.classref-signal:hover a:last-of-type {
  visibility: visible;
  opacity: 0.6;
}

.classref-property a:last-of-type:hover,
.classref-enumeration-constant a:last-of-type:hover,
.classref-method a:last-of-type:hover,
.classref-signal a:last-of-type:hover {
  opacity: 1 !important;
}

/* Fix the sidebar horizontal alignment so it is no longer cut off */
@media only screen and (min-width: 769px) {
  .wy-nav-side {
    left: 0 !important;
  }
}

/* Fix the sidebar vertical height restriction left over from Godot's banners */
.wy-menu.wy-menu-vertical {
  max-height: 100% !important;
}

/* BBCode Tag Table Adjustments */
.tag-def-table td,
.tag-def-table td code {
  font-size: 80% !important;
}

/* API Reference link styling */
.api-ref {
  text-decoration-line: underline !important;
  text-decoration-color: var(--link-color) !important;
}

/* Table Styling */
.format-table,
.format-table tr td {
  background-color: rgba(0, 0, 0, 0) !important;
  border: 4px solid rgba(0, 0, 0, 0) !important;
}

.column-equal tr td {
  max-width: 0px !important;
  overflow-wrap: break-word !important;
  white-space: break-spaces !important;
}
