/* ── Palette ──────────────────────────────────────────────
   Primary blue:   #015e97  (headings, venue, links, buttons)
   Link hover:     #014a78  (darkened on hover)
   JRM gradient:   #5b4fc7 → #7c6fe8  (purple, brand only)
   Body text:      #1a1a2e  (near-black, high contrast)
   Secondary text: #555     (institutions, captions)
   Hint text:      #888     (parenthetical notes)
   Borders:        #e0e0e0
   Panel bg:       #f7f9fc  (very faint blue tint)
   Accent green:   #49b386  (table highlight for "ours")
   ───────────────────────────────────────────────────────── */

:root {
  color-scheme: light only;
}

html {
  background-color: #fff;
}

body {
  font-family: 'Noto Sans', sans-serif;
  background-color: #fff;
  color: #1a1a2e;
}

/* ── Force all Bulma sections / hero / footer to white ── */
.hero,
.hero-body,
.section,
.navbar {
  background-color: #fff !important;
}

/* ── Footer (light grey, matching citation block) ── */
.footer {
  background-color: #f7f9fc !important;
}

/* ── Navbar items & dropdown ── */
.navbar-item:hover,
.navbar-item:focus,
.navbar-link:hover,
.navbar-link:focus,
a.navbar-item:hover,
a.navbar-item:focus {
  background-color: #f7f9fc !important;
  color: #3530a3 !important;
}

.navbar-link::after {
  border-color: #3530a3 !important;
}

.navbar-dropdown {
  background-color: #fff !important;
  border-top: 2px solid #3530a3;
}

.navbar-dropdown a.navbar-item,
.navbar-dropdown a.navbar-item:link,
.navbar-dropdown a.navbar-item:visited {
  background-color: #fff !important;
  color: #1a1a2e !important;
}

.navbar-dropdown a.navbar-item:hover,
.navbar-dropdown a.navbar-item:focus,
.navbar-dropdown a.navbar-item:active {
  background-color: #f7f9fc !important;
  color: #3530a3 !important;
}

/* ── Footer icons ── */
.footer .icon-link {
  color: #1a1a2e;
  font-size: 25px;
  transition: color .2s;
}

.footer .icon-link:hover {
  color: #015e97;
}

/* ── Link buttons ── */
.link-block {
  padding-left: 5px;
  padding-right: 5px;
}

.link-block a {
  margin-bottom: 5px;
  margin-top: 5px;
}

.link-block a.is-link {
  background-color: #3530a3;
  border-color: transparent;
  color: #fff;
}

.link-block a.is-link:hover {
  background-color: #2a2680;
}

/* ── Brand / JRM gradient (same style as ShapeR) ── */
.jrm {
  font-variant: small-caps;
  background: linear-gradient(135deg, #1a1a2e 0%, #4f46e5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Titles ── */
.title {
  color: #1a1a2e !important;
}

/* ── Section headings (Abstract, Method, etc.) ── */
.abstract {
  color: #3530a3 !important;
}

.abstract span {
  color: #888;
}

/* ── Teaser ── */
.teaser .hero-body {
  padding-bottom: 3rem;
  padding-top: 0;
}

.teaser {
  font-family: 'Google Sans', sans-serif;
}

/* ── Publication title ── */
.publication-title {
  color: #1a1a2e;
  margin-bottom: 0 !important;
}

.publication-authors,
.publication-title {
  font-family: 'Google Sans', sans-serif;
}

/* ── BibTeX ── */
#BibTeX .title {
  color: #1a1a2e;
}

#BibTeX pre {
  background-color: #f7f9fc;
  color: #1a1a2e;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}

#BibTeX code {
  background-color: transparent;
  color: inherit;
}

/* ── Venue badge ── */
.publication-venue {
  color: #3530a3;
  display: inline-block;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* ── Banner (unused but kept for compatibility) ── */
.publication-banner {
  max-height: parent;
}

.publication-banner video {
  left: auto;
  object-fit: fit;
  position: relative;
  top: auto;
  transform: none;
}

/* ── Figures ── */
.section-figure {
  display: block;
  height: auto;
  width: 100%;
}

/* ── Awards ── */
.publication-awards {
  color: #d93651;
  font-weight: bolder;
  width: fit-content;
}

/* ── Author links ── */
.publication-authors a {
  color: #1a6fa3 !important;
}

.publication-authors a:hover {
  color: #014a78 !important;
  text-decoration: underline;
}

.author-block {
  display: inline-block;
}

.institution {
  color: #555;
  padding-left: .5rem;
  padding-right: .5rem;
}

/* ── Spacing ── */
.hero-body-less-padding,
.section-less-padding {
  padding: 2rem 1.5rem;
}

/* ── Teaser figure ── */
.teaser-figure {
  display: block;
  height: auto;
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, .07);
}

/* ── Comparison table ── */
.comparison-table-wrapper {
  margin: 0 auto .75rem;
  max-width: 720px;
}

.comparison-table {
  font-size: .95rem;
  background-color: #fff !important;
}

.comparison-table thead,
.comparison-table tbody,
.comparison-table tr,
.comparison-table td,
.comparison-table th {
  background-color: #fff !important;
  border-color: #e0e0e0 !important;
  color: #1a1a2e;
}

.comparison-table th {
  color: #3530a3 !important;
}

.comparison-table td,
.comparison-table th {
  vertical-align: middle;
  padding: .5em .75em;
}

.comparison-table {
  table-layout: fixed;
}

.comparison-table td:first-child,
.comparison-table th:first-child {
  text-align: left !important;
  width: 15%;
}

.comparison-table td:not(:first-child),
.comparison-table th:not(:first-child) {
  font-variant-numeric: tabular-nums;
  text-align: center !important;
  white-space: nowrap;
}

.comparison-table.is-striped tbody tr:nth-child(even) td {
  background-color: #f7f9fc !important;
}

.comparison-table .ours-row td {
  background: rgba(73, 179, 134, .1) !important;
  font-weight: 700;
}

.comparison-table .ours-row td:first-child {
  border-left: 3px solid #49b386;
}

/* ── Collapsible details ── */
.results-details {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, .06);
  overflow: hidden;
  text-align: left;
}

.results-summary {
  align-items: center;
  background: #f7f9fc;
  border-bottom: 1px solid transparent;
  cursor: pointer;
  display: flex;
  gap: .6rem;
  justify-content: center;
  list-style: none;
  margin: 0 !important;
  padding: .85rem 1.5rem;
  user-select: none;
}

.results-summary::-webkit-details-marker {
  display: none;
}

.results-summary::marker {
  display: none;
}

.results-details[open] .results-summary {
  border-bottom-color: #e0e0e0;
}

.results-chevron {
  color: #015e97;
  font-size: 1em;
  line-height: 1;
  transition: transform .2s ease;
}

.results-details[open] .results-chevron {
  transform: rotate(180deg);
}

.results-body {
  padding: 1.25rem 1.5rem .5rem;
}

/* ── Figure caption ── */
.figure-caption {
  color: #555;
  font-size: .92rem;
  margin-top: .6rem;
  text-align: center;
}
