/* Global theme + fonts override for built static pages */
:root {
  --primary: #523a72;
  --primary-600: #45305e;
  --primary-700: #38294a;
  --primary-100: rgba(82, 58, 114, 0.12);
  --focus-ring: rgba(82, 58, 114, 0.35);
  --border-accent: rgba(82, 58, 114, 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;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

#site-name .site-name-line {
  display: block;
}

#site-name .en,
#site-name .site-name-en,
#site-name .cn,
#site-name .site-name-cn {
  font-weight: bolder;
  line-height: 1;
  color: #666;
}

#site-name .en,
#site-name .site-name-en {
  font-size: 0.95rem;
  font-family: "Montserrat", "Arial Rounded MT Bold", "Gotham Rounded", Arial,
    sans-serif;
  font-weight: 800;
  letter-spacing: 0.08em;
}

#site-name .cn,
#site-name .site-name-cn {
  font-size: 1.9rem;
  font-family: "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", Arial,
    sans-serif;
  white-space: nowrap;
}

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;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
  max-width: 100%;
  font-size: clamp(0.75rem, 2.5vw, 1.3em);
}

/* 顶部右侧区域：高缩放(如 300%)与小视口适配，防止溢出与错位 */
#conference-header .row {
  flex-wrap: wrap;
  align-items: flex-start;
}

#conference-header .col-md-4.col-lg-4 {
  min-width: 0;
  flex: 0 1 auto;
  max-width: 100%;
}

#conference-header .col-md-4.col-lg-4 > div:first-of-type {
  flex-wrap: wrap;
  min-width: 0;
  gap: 0.5rem;
}

#conference-header .col-md-4.col-lg-4 [data-lang-switch] {
  flex-shrink: 0;
  min-height: 2.5rem;
  min-width: 4.5rem;
}

.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(82, 58, 114, 0.35) !important;
}

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

/* Remove the small top/side wallpaper patterns (keep base colors) */
.main-container,
.main-container-middle,
.main-container-inner {
  background-image: none !important;
}

/* Host / Support By compact spacing (force override) */
.main-container .row:has(img[src*="/images/host-waica-committee.png"]),
.main-container .row:has(img[src*="/images/sii.png"]) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.main-container .row:has(img[src*="/images/host-waica-committee.png"]) > .col-sm-12 > section,
.main-container .row:has(img[src*="/images/sii.png"]) > .col-sm-12 > section {
  margin: 0 !important;
  padding: 0 !important;
}


.main-container .row:has(img[src*="/images/host-waica-committee.png"]) > .col-sm-12 > section > .region.region-content,
.main-container .row:has(img[src*="/images/sii.png"]) > .col-sm-12 > section > .region.region-content {
  min-height: 0 !important;
  padding: 0 !important;
}

.main-container .row:has(img[src*="/images/host-waica-committee.png"]) > .col-sm-12 > section > h1.page-header,
.main-container .row:has(img[src*="/images/sii.png"]) > .col-sm-12 > section > h1.page-header {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  line-height: 1.1 !important;
}

/* Keep a visible gap between Host and SUPPORT BY sections */
.main-container .row:has(img[src*="/images/sii.png"]) > .col-sm-12 > section > h1.page-header {
  margin-top: 40px !important;
}

.main-container .row:has(img[src*="/images/host-waica-committee.png"]) > .col-sm-12 > section > .region.region-content > .block.block-views,
.main-container .row:has(img[src*="/images/sii.png"]) > .col-sm-12 > section > .region.region-content > .block.block-views {
  margin: 0 !important;
  padding: 0 !important;
}

.main-container .row:has(img[src*="/images/host-waica-committee.png"]) > .col-sm-12 > section > .region.region-content > .block.block-views > div,
.main-container .row:has(img[src*="/images/sii.png"]) > .col-sm-12 > section > .region.region-content > .block.block-views > div {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
