.earnings-sidebar-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.earnings-toc .toc-link {
  border-left: 2px solid transparent;
}

.earnings-toc .toc-link:hover {
  color: var(--bs-heading-color);
  background: rgba(var(--bs-primary-rgb), 0.04);
}

.earnings-toc .toc-link.active {
  color: var(--accent-color);
  border-left-color: var(--accent-color);
  background: rgba(var(--bs-primary-rgb), 0.08);
}

.earnings-toc .toc-link.toc-link-static {
  cursor: default;
}

.earnings-summary-content ul,
.earnings-transcript-content ul {
  list-style: none;
  padding-left: 20px;
}

.earnings-summary-content ul li,
.earnings-transcript-content ul li {
  font-size: 14px;
  position: relative;
}

.earnings-summary-content ul li::before,
.earnings-transcript-content ul li::before {
  content: "\2022";
  color: var(--accent-color);
  position: absolute;
  left: -16px;
}

.earnings-summary-content p,
.earnings-transcript-content p {
  font-size: 14px;
}

/* Gradient accent line for summary/transcript headings (h2–h6). */
.earnings-summary-content h2:not(.no-line):not(.transcript-section-label),
.earnings-summary-content h3:not(.no-line):not(.transcript-section-label),
.earnings-summary-content h4:not(.no-line):not(.transcript-section-label),
.earnings-summary-content h5:not(.no-line):not(.transcript-section-label),
.earnings-summary-content h6:not(.no-line):not(.transcript-section-label),
.earnings-summary-content .summary-section-heading:not(.no-line),
.earnings-transcript-content h2:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h3:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h4:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h5:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h6:not(.no-line):not(.transcript-section-label) {
  position: relative;
  padding-left: 0.75em;
}

.earnings-summary-content
  h2:not(.no-line):not(.transcript-section-label)::before,
.earnings-summary-content
  h3:not(.no-line):not(.transcript-section-label)::before,
.earnings-summary-content
  h4:not(.no-line):not(.transcript-section-label)::before,
.earnings-summary-content
  h5:not(.no-line):not(.transcript-section-label)::before,
.earnings-summary-content
  h6:not(.no-line):not(.transcript-section-label)::before,
.earnings-summary-content .summary-section-heading:not(.no-line)::before,
.earnings-transcript-content
  h2:not(.no-line):not(.transcript-section-label)::before,
.earnings-transcript-content
  h3:not(.no-line):not(.transcript-section-label)::before,
.earnings-transcript-content
  h4:not(.no-line):not(.transcript-section-label)::before,
.earnings-transcript-content
  h5:not(.no-line):not(.transcript-section-label)::before,
.earnings-transcript-content
  h6:not(.no-line):not(.transcript-section-label)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.25em;
  background: var(--gradient-primary);
  border-radius: 0.25em;
}

/* Font ladder: h4=18px, h5=16px, ±2px per level (h2–h6). */
.earnings-summary-content h2:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h2:not(.no-line):not(.transcript-section-label) {
  font-size: 22px;
}

.earnings-summary-content h3:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h3:not(.no-line):not(.transcript-section-label),
.earnings-summary-content .summary-section-heading:not(.no-line) {
  font-size: 20px;
}

.earnings-summary-content h4:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h4:not(.no-line):not(.transcript-section-label) {
  font-size: 18px;
}

.earnings-summary-content h5:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h5:not(.no-line):not(.transcript-section-label) {
  font-size: 16px;
}

.earnings-summary-content h6:not(.no-line):not(.transcript-section-label),
.earnings-transcript-content h6:not(.no-line):not(.transcript-section-label) {
  font-size: 14px;
}

.earnings-nested-section {
  box-sizing: border-box;
}

mark.search-highlight {
  background: rgba(var(--bs-primary-rgb), 0.3);
  color: var(--bs-heading-color);
  padding: 1px 2px;
  border-radius: 4px;
}

.earnings-call-action-frame {
  height: 44px;
}

.earnings-call-action-frame button {
  width: calc(100% - 4px);
  height: 40.5px;
}

.earnings-adj-call:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.earnings-adj-call:hover .fa-arrow-left,
.earnings-adj-call:hover .fa-arrow-right {
  color: var(--accent-color) !important;
}

.earnings-preview-wrapper {
  position: relative;
  max-height: 400px;
  overflow: hidden;
}

.earnings-preview-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: linear-gradient(to bottom, transparent, var(--bs-body-bg-2));
  pointer-events: none;
}

.earnings-premium-gate {
  margin-top: -20px;
  position: relative;
  z-index: 1;
}

.earnings-sidebar-toggle {
  padding: 10px 16px;
  border: 1px solid rgba(var(--bs-body-color-rgb), 0.2);
  background: var(--bs-body-bg-2);
}

.earnings-sidebar-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

@media (min-width: 992px) {
  #earnings-call-page > .row {
    position: relative;
  }

  .earnings-sidebar-col {
    position: relative;
    align-self: flex-start;
  }

  .earnings-sidebar-col.earnings-sidebar-col-end {
    align-self: stretch;
  }

  .earnings-sidebar-pin {
    width: 100%;
  }

  .earnings-sidebar-pin.earnings-sidebar-pin-end {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    width: auto !important;
    padding: 0 12px !important;
  }

  .earnings-detail-sidebar {
    max-height: calc(100vh - 140px);
    overflow-y: auto;
  }
}

/* Print / Save as PDF: only earnings call title, description, active tab body — xl-width layout */
@media print {
  @page {
    size: auto;
    margin: 14mm 10mm 0 10mm;
    background-color: #fff;
  }

  @page :first {
    margin-top: 6mm;
  }

  html:has(#earnings-call-page) {
    color-scheme: light only !important;
    background: #fff !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body:has(#earnings-call-page) .main-header-container,
  body:has(#earnings-call-page) footer.footer,
  body:has(#earnings-call-page) .toast-container,
  body:has(#earnings-call-page) .modal,
  body:has(#earnings-call-page) .modal-backdrop {
    display: none !important;
  }

  body:has(#earnings-call-page) {
    background: #fff !important;
    background-image: none !important;
    color: #201e1e !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body:has(#earnings-call-page) main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  body:has(#earnings-call-page) #earnings-call-page {
    max-width: 1140px;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 0 10mm 0 !important;
    font-family: Nunito, sans-serif;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  body:has(#earnings-call-page) #earnings-call-page > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    align-items: flex-start !important;
  }

  body:has(#earnings-call-page) #earnings-call-page .tab-content {
    min-height: 0 !important;
    height: auto !important;
  }

  body:has(#earnings-call-page) #earnings-call-page article {
    min-height: 0 !important;
  }

  body:has(#earnings-call-page) #earnings-call-page article.col-lg-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#earnings-call-page) #earnings-call-title {
    font-size: 1.75rem !important;
    color: #201e1e !important;
  }

  body:has(#earnings-call-page) .text-dark-gray {
    color: #555 !important;
  }

  body:has(#earnings-call-page) .text-gray {
    color: #666 !important;
  }

  body:has(#earnings-call-page) .text-cta,
  body:has(#earnings-call-page) .h {
    color: #201e1e !important;
  }

  body:has(#earnings-call-page) .card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body:has(#earnings-call-page) .card-body {
    padding: 0 !important;
  }

  body:has(#earnings-call-page) .earnings-summary-content p,
  body:has(#earnings-call-page) .earnings-transcript-content p,
  body:has(#earnings-call-page) .earnings-summary-content ul li,
  body:has(#earnings-call-page) .earnings-transcript-content ul li {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  body:has(#earnings-call-page)
    .earnings-summary-content
    h2:not(.no-line):not(.transcript-section-label),
  body:has(#earnings-call-page)
    .earnings-transcript-content
    h2:not(.no-line):not(.transcript-section-label) {
    font-size: 22px !important;
  }

  body:has(#earnings-call-page)
    .earnings-summary-content
    h3:not(.no-line):not(.transcript-section-label),
  body:has(#earnings-call-page)
    .earnings-transcript-content
    h3:not(.no-line):not(.transcript-section-label),
  body:has(#earnings-call-page)
    .earnings-summary-content
    .summary-section-heading:not(.no-line) {
    font-size: 20px !important;
  }

  body:has(#earnings-call-page)
    .earnings-summary-content
    h4:not(.no-line):not(.transcript-section-label),
  body:has(#earnings-call-page)
    .earnings-transcript-content
    h4:not(.no-line):not(.transcript-section-label) {
    font-size: 18px !important;
  }

  body:has(#earnings-call-page)
    .earnings-summary-content
    h5:not(.no-line):not(.transcript-section-label),
  body:has(#earnings-call-page)
    .earnings-transcript-content
    h5:not(.no-line):not(.transcript-section-label) {
    font-size: 16px !important;
  }

  body:has(#earnings-call-page)
    .earnings-summary-content
    h6:not(.no-line):not(.transcript-section-label),
  body:has(#earnings-call-page)
    .earnings-transcript-content
    h6:not(.no-line):not(.transcript-section-label) {
    font-size: 14px !important;
  }

  body:has(#earnings-call-page) h2,
  body:has(#earnings-call-page) h3,
  body:has(#earnings-call-page) h4,
  body:has(#earnings-call-page) h5,
  body:has(#earnings-call-page) h6,
  body:has(#earnings-call-page) .summary-section-heading {
    break-after: avoid;
    color: #201e1e !important;
  }

  body:has(#earnings-call-page) mark.search-highlight {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    background: rgba(154, 98, 230, 0.2) !important;
    color: #201e1e !important;
  }

  body:has(#earnings-call-page) .earnings-preview-wrapper::after {
    background: linear-gradient(to bottom, transparent, #fff);
  }

  body:has(#earnings-call-page) .tab-pane.active > :last-child {
    break-after: auto !important;
    page-break-after: auto !important;
    margin-bottom: 0 !important;
  }
}
