/* Global theme + fonts override for built static pages */
:root {
  --primary: #6d28d9;
  --primary-600: #5b21b6;
  --primary-700: #4c1d95;
  --primary-100: rgba(109, 40, 217, 0.12);
  --focus-ring: rgba(109, 40, 217, 0.35);
  --border-accent: rgba(109, 40, 217, 0.35);
}

html, body {
  font-family: "Inter", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", "PingFang SC", "Noto Sans SC", "Source Han Sans SC", sans-serif;
  font-weight: 600;
}

code, pre, kbd, samp, .mono {
  font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

/* Links: preserve default color, only highlight on interaction */
a:hover, a:active,
.link:hover, .link:active {
  color: var(--primary);
}

.link-primary, .btn-link, a.btn-link, a.link-primary {
  color: var(--primary);
}

.link-primary:hover, .btn-link:hover, a.btn-link:hover, a.link-primary:hover {
  color: var(--primary-600);
}

/* Primary buttons */
button,
button.primary,
button.is-primary,
.btn-primary,
.btn.is-primary,
.button.primary,
.button.is-primary,
a.btn-primary,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

button:hover,
button.primary:hover,
button.is-primary:hover,
.btn-primary:hover,
.btn.is-primary:hover,
.button.primary:hover,
.button.is-primary:hover,
a.btn-primary:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
  background-color: var(--primary-600);
  border-color: var(--primary-600);
  color: #fff;
}

button:active,
button.primary:active,
button.is-primary:active,
.btn-primary:active,
.btn.is-primary:active,
.button.primary:active,
.button.is-primary:active,
a.btn-primary:active,
input[type="submit"]:active,
input[type="button"]:active,
input[type="reset"]:active {
  background-color: var(--primary-700);
  border-color: var(--primary-700);
  color: #fff;
}

.btn-outline, .btn-secondary, .secondary,
button.btn-outline, a.btn-outline {
  background-color: transparent;
  border-color: var(--primary);
  color: var(--primary);
}

/* Top navigation bar */
#navbar, .navbar, .navbar-default,
.navbar .navbar-collapse, .navbar .container {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* Top bar typography */
#conference-header,
#site-name,
.navbar-nav > li > a,
.menu.nav > li > a,
.navbar-default .navbar-nav > li > a,
.dropdown-menu > li > a {
  font-family: "Montserrat", "PingFang SC", "Noto Sans SC", "Source Han Sans SC", sans-serif;
  font-weight: 600;
}

#site-description {
  font-family: "Inter", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif;
  font-weight: 400;
  border: 0 !important;
}

.navbar-nav > li > a,
.menu.nav > li > a,
.navbar-default .navbar-nav > li > a {
  background-color: var(--primary) !important;
  color: #fff !important;
}

.navbar-nav > li > a:hover,
.menu.nav > li > a:hover,
.navbar-default .navbar-nav > li > a:hover,
.navbar-nav > li.active > a,
.navbar-default .navbar-nav > .active > a {
  background-color: var(--primary-600) !important;
  color: #fff !important;
}

.navbar-nav > li > a:active,
.navbar-default .navbar-nav > li > a:active {
  background-color: var(--primary-700) !important;
}

.navbar-nav > li {
  border-right: 1px solid #fff;
}

.navbar-nav > li:last-child {
  border-right: 0;
}

.dropdown-menu,
.dropdown-menu > li > a {
  background-color: var(--primary) !important;
  color: #fff !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--primary-600) !important;
  color: #fff !important;
}

/* Sidebar menu (right column) */
.region-sidebar-second .menu.nav,
.region-sidebar-second .menu.nav li,
.region-sidebar-second .menu.nav li a {
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.region-sidebar-second .menu.nav li a {
  color: var(--primary) !important;
  text-decoration: none !important;
}

.region-sidebar-second .menu.nav li a:hover,
.region-sidebar-second .menu.nav li a:focus,
.region-sidebar-second .menu.nav li.active-trail > a,
.region-sidebar-second .menu.nav li.active > a,
.region-sidebar-second .menu.nav a.active {
  color: var(--primary-600) !important;
  background-color: transparent !important;
}

/* Focus ring */
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--focus-ring);
}

input[type="checkbox"], input[type="radio"] {
  accent-color: var(--primary);
}

/* Active/selected state accents */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus,
.tabs .active, .tab.active {
  border-color: var(--primary);
}

.pagination .active a, .pagination .active span,
.pagination li.active a, .pagination li.active span {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
}


/* Badges / tags */
.tag, .pill, .badge, .label {
  background-color: var(--primary-100);
  border: 1px solid var(--border-accent);
}

/* Progress / highlights */
.progress-bar, .progress .bar {
  background-color: var(--primary);
}

:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Override legacy inline blue backgrounds/borders to purple (no text color changes) */
[style*="background:#3556a9"], [style*="background: #3556a9"],
[style*="background:#007bff"], [style*="background: #007bff"],
[style*="background:#2a4a8a"], [style*="background: #2a4a8a"] {
  background-color: var(--primary) !important;
}

[style*="border-color:#3556a9"], [style*="border-color: #3556a9"],
[style*="border-color:#007bff"], [style*="border-color: #007bff"] {
  border-color: var(--primary) !important;
}

[style*="linear-gradient"][style*="#3556a9"] {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-700) 100%) !important;
}

.banner-indicators button {
  background: rgba(109, 40, 217, 0.35) !important;
}

.banner-indicators button[aria-current="true"],
.banner-indicators button.active,
.banner-indicators button.is-active {
  background: var(--primary) !important;
}
