/* =========================================================
   MODERN HEADER TIGHTENING
========================================================= */

/* Tighten top header area */
.site-header,
.site-header__inner,
.site-header__initial,
#site-header__inner,
.site-branding,
.site-logo,
.block-system-branding-block,
.header-nav-overlay {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#site-header__inner.site-header__inner,
.site-header__inner {
  align-items: flex-start !important;
  min-height: 0 !important;
}

/* Reduce branding block vertical bulk */
#block-schoolboard-olivero-site-branding,
.site-branding--white,
.block-system-branding-block {
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   HEADER ACCOUNT + MENU BUTTON
========================================================= */

.mobile-buttons {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Move block a little left and slightly down */
.schoolboard-header-controls {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.1rem !important;

  position: relative;
  top: 0.55rem;
  right: 1.5rem;

  width: 150px; /* wide enough so Welcome Mark stays on one line */
  margin: 0 !important;
  padding: 0 !important;
}

/* Welcome / Log in line */
.schoolboard-header-user-inline {
  width: 100%;
  text-align: center !important;
  white-space: nowrap !important; /* prevent wrapping under Welcome */
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.15;
  margin: 0 !important;
  padding: 0 !important;
}

.schoolboard-header-user-inline a,
.schoolboard-header-user-inline a:visited {
  color: #111;
  text-decoration: none;
}

.schoolboard-header-user-inline a:hover,
.schoolboard-header-user-inline a:focus {
  text-decoration: underline;
}

/* Menu button directly under account line */
.mobile-nav-button,
.menu-toggle,
.nav-toggle,
.button--menu {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;

  width: auto !important;
  min-width: 92px;
  margin: 0 !important;
  padding: 0.25rem 0.75rem !important;

  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

/* =========================================================
   REDUCE GAP BEFORE PAGE CONTENT
========================================================= */

.tabs,
.local-tasks,
.block-local-tasks-block,
nav.tabs-wrapper {
  margin-top: 0 !important;
  margin-bottom: 0.15rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.tabs ul,
.local-tasks ul {
  margin-top: 0 !important;
  margin-bottom: 0.05rem !important;
}

.layout-main-wrapper,
.main-content,
.region-content,
.block-system-main-block {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =========================================================
   OPEN MENU PANEL SPACING
========================================================= */

/* Pull menu panel content upward */
#header-nav,
.header-nav,
.header-nav__inner,
.header-nav__menu,
.header-nav__wrapper,
.header-nav__menu-primary,
.menu-sidebar,
.menu-sidebar__content,
nav[aria-label="Site navigation"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Specifically tighten the space between Menu and search */
#header-nav .search-block-form,
#header-nav form,
.header-nav .search-block-form,
.header-nav form,
.menu-sidebar .search-block-form,
.menu-sidebar form,
nav[aria-label="Site navigation"] .search-block-form,
nav[aria-label="Site navigation"] form {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove extra top spacing on first content inside menu panel */
#header-nav > *:first-child,
.header-nav > *:first-child,
.header-nav__inner > *:first-child,
.header-nav__menu > *:first-child,
.menu-sidebar > *:first-child,
nav[aria-label="Site navigation"] > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Tighten search block specifically */
.block-search-narrow,
.search-block-form.block,
.search-block-form .content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Bring search closer to Menu */
#header-nav .block-search-narrow,
.header-nav .block-search-narrow,
.menu-sidebar .block-search-narrow {
  margin-top: -0.35rem !important;
}

/* =========================================================
   OPTIONAL: SLIGHTLY MORE MODERN HEADER FEEL
========================================================= */

.site-header {
  box-shadow: none !important;
}

#site-header__inner {
  padding-top: 0.15rem !important;
  padding-bottom: 0.1rem !important;
}