@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Michroma&display=swap');

/* ========================================
   VACyberEduCon26 - Sched Custom CSS
======================================== */

/* ========= Base ========= */

body {
  background-color: #ecf4fe !important;
  color: #0a1e3f !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

#sched-content,
#content,
.container,
.sched-container {
  background: transparent !important;
}

/* ========= Typography ========= */

body,
p,
span,
div,
li,
td,
th,
label,
input,
select,
textarea {
  color: #0a1e3f !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-weight: 500 !important;
}

#sched-content,
#sched-content p,
#sched-content div,
#sched-content span,
#sched-content li,
#sched-content td,
#sched-content th,
#sched-content label,
#sched-content input,
#sched-content select,
#sched-content textarea {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* Main headings */
h1,
h2,
h3,
.page-title,
.event-name {
  color: #0a1e3f !important;
  font-family: "Michroma", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.02em !important;
}

/* Secondary headings */
h4,
h5,
h6 {
  color: #0a1e3f !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-weight: 600 !important;
}

/* Session cards */
#sched-content .event,
#sched-content .session,
#sched-content .sched-event,
#sched-content .mod-session {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

/* Session titles */
#sched-content .event a,
#sched-content .sched-event-title {
  color: #0a1e3f !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Session metadata / locations */
#sched-content .event-venue,
#sched-content .sched-event-details,
#sched-content .speaker {
  color: #0a1e3f !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  opacity: 1 !important;
}

/* ========= Links ========= */

a {
  color: #274DFF !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

a:hover {
  opacity: 0.9;
  text-decoration: underline !important;
}

/* ========= Buttons ========= */

button,
.btn,
.sched-button,
input[type="submit"],
a.button,
.dropdown-toggle {
  background-color: #274DFF !important;
  border: 1px solid #274DFF !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: background-color 0.2s ease !important;
}

button *,
.btn *,
.sched-button *,
input[type="submit"] *,
a.button *,
.dropdown-toggle * {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

button:hover,
.btn:hover,
.sched-button:hover,
input[type="submit"]:hover,
a.button:hover,
.dropdown-toggle:hover {
  background-color: #1f3fd1 !important;
  border-color: #1f3fd1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ========= Navigation / Tabs ========= */

.nav-tabs,
#sched-menu {
  border-bottom: none !important;
}

.nav-tabs a,
#sched-menu a,
#sched-sidebar a {
  border-radius: 6px !important;
  color: #0a1e3f !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}

.nav-tabs a:hover,
#sched-menu a:hover {
  background-color: rgba(39, 77, 255, 0.08) !important;
  text-decoration: none !important;
}

.nav-tabs .active a,
.nav-tabs a.active,
#sched-menu .active a,
#sched-menu a.active {
  background-color: #274DFF !important;
  color: #ffffff !important;
}

/* ========= Schedule Cards ========= */

.event,
.session,
.sched-event,
.mod-session {
  border: 1px solid rgba(10, 30, 63, 0.10) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.event:hover,
.session:hover,
.sched-event:hover {
  border-color: rgba(39, 77, 255, 0.25) !important;
  box-shadow: 0 2px 8px rgba(10, 30, 63, 0.05) !important;
}

/* Time labels */
.time,
.sched-event-time,
.event-time,
#sched-content .time,
#sched-content .sched-event-time,
#sched-content .event-time {
  color: #0a1e3f !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* ========= Search / Filters / Forms ========= */

input,
select,
textarea {
  background-color: #ffffff !important;
  border: 1px solid rgba(10, 30, 63, 0.18) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  padding: 8px 12px !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #274DFF !important;
  box-shadow: 0 0 0 2px rgba(39, 77, 255, 0.12) !important;
  outline: none !important;
}

/* ========= Tables ========= */

table {
  background: transparent !important;
}

td,
th {
  border-color: rgba(10, 30, 63, 0.08) !important;
}

/* ========= Header / Sidebar / Footer ========= */

header,
#header,
.sched-header,
#sched-sidebar,
footer {
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* ========= Sched Top Header ========= */

#schedorg-header {
  background-color: #191970 !important;
  border-bottom: none !important;
}

#schedorg-header-inner {
  background: transparent !important;
}

#schedorg-header-logo {
  color: rgba(236, 244, 254, 0.8) !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

#schedorg-header-official a {
  color: #ecf4fe !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

#schedorg-header-official a:hover,
#schedorg-header-logo:hover {
  color: #ffffff !important;
  opacity: 0.9;
  text-decoration-thickness: 2px;
}

/* ========= Profile Dropdown Cleanup ========= */

.dropdown-menu,
#sched-sidebar .dropdown-menu,
#sched-content .dropdown-menu {
  border: 1px solid rgba(10, 30, 63, 0.10) !important;
  border-radius: 8px !important;
  border-left: none !important;
  box-shadow: 0 4px 12px rgba(10, 30, 63, 0.08) !important;
}

.dropdown-toggle,
.avatar,
.profile {
  border: none !important;
  box-shadow: none !important;
}

.dropdown-menu::before,
.dropdown-menu::after {
  display: none !important;
}

/* ========= Optional Cleanup ========= */

div[role="alert"] {
  display: none !important;
}

/* Session location text */
#sched-content .event span.vs,
#sched-content .sched-event span.vs,
#sched-content .mod-session span.vs {
  color: #0a1e3f !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  opacity: 1 !important;
}

/* ========= Social Share Buttons ========= */

.sched-share a,
.sched-share-twitter,
.sched-share-facebook,
#sched-page-event-sharing a {
  background-color: #274DFF !important;
  border: 1px solid #274DFF !important;
  color: #ffffff !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* Force inner text/icons white */
.sched-share a *,
.sched-share-twitter *,
.sched-share-facebook *,
#sched-page-event-sharing a * {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Hover state */
.sched-share a:hover,
.sched-share-twitter:hover,
.sched-share-facebook:hover,
#sched-page-event-sharing a:hover {
  background-color: #1f3fd1 !important;
  border-color: #1f3fd1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* My Schedule count badge */
#sched-confirm-schedule-count {
  background-color: #0a1e3f !important;
  border: 1px solid #0a1e3f !important;
  color: #ffffff !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* Keep the badge readable inside nav/toggle links */
#sched-confirm-schedule-count,
#sched-confirm-schedule-count * {
  color: #ffffff !important;
}

/* White toolbar SVG icons */
.button--icon::before,
.button--icon::after,
.session__view-button::before,
.session__view-button::after,
#session-filter-button::before,
#session-filter-button::after {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

/* ========= Navigation / Tabs ========= */

.event-nav {
  gap: 8px !important;
}

.event-nav__item a,
.sched-menu-link-active,
.sched-menu-link-inactive {
  border-radius: 6px !important;
  color: #0a1e3f !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  transition: all 0.2s ease !important;
}

.event-nav__item a:hover,
.sched-menu-link-active:hover,
.sched-menu-link-inactive:hover {
  background-color: rgba(39, 77, 255, 0.08) !important;
  text-decoration: none !important;
}

.event-nav__item a.sched-menu-link-active,
.sched-menu-link-active {
  background-color: rgba(10, 30, 63, 0.08) !important;
  color: #0a1e3f !important;
}

.footer {
  display: none !important;
}

/* Hide Sched top header */
#schedorg-header {
  display: none !important;
}

/* Hide disabled Sched chat widget */
#sb_widget,
#sb_widget .widget,
.widget.ic-disabled {
  display: none !important;
}

/* Remove extra outer spacing */
#sched-body-outer,
#sched-body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Tooltip Link button icon */
.button-link span,
.button-link span::before,
.button-link span::after {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

/* Notification bar accent */
.notification-bar {
  border-left: 4px solid #ef6ccd !important;
}

/* Login buttons inside notifications/tooltips */
.notification-bar .button,
#sched-page-event-sharing .button,
.notification-bar .sc-login {
  background-color: #274DFF !important;
  border: 1px solid #274DFF !important;
  border-radius: 6px !important;
  color: #ffffff !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  line-height: 1.2 !important;
  min-height: 44px !important;
  box-shadow: none !important;
}

.notification-bar .button:hover,
#sched-page-event-sharing .button:hover,
.notification-bar .sc-login:hover {
  background-color: #1f3fd1 !important;
  border-color: #1f3fd1 !important;
  color: #ffffff !important;
}

/* Event sharing login callout */
#sched-page-event-sharing h4 {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 18px !important;

  border-left: 4px solid #ef6ccd !important;
  border-radius: 6px !important;

  line-height: 1.5 !important;
}

/* Login button inside callout */
#sched-page-event-sharing h4 a[href="/login"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background-color: #274DFF !important;
  border: 1px solid #274DFF !important;
  border-radius: 6px !important;

  color: #ffffff !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;

  min-height: 42px !important;
  padding: 10px 18px !important;
  line-height: 1.2 !important;

  box-shadow: none !important;
  flex-shrink: 0 !important;
}

#sched-page-event-sharing h4 a[href="/login"]:hover {
  background-color: #1f3fd1 !important;
  border-color: #1f3fd1 !important;
  color: #ffffff !important;
}