/* =========================================
   HighTorque Docs - Material pages refinement
   Applies to normal MkDocs documentation pages.
   Homepage uses docs/index.html + home-static.css separately.
   ========================================= */

:root {
  --ht-blue-1: #0653f5;
  --ht-blue-2: #2872ff;
  --ht-blue-3: #79adff;
  --ht-text-1: #0f172a;
  --ht-text-2: #1f2937;
  --ht-text-3: #4b5563;
  --ht-line: #dbe4f2;
  --ht-bg: #f3f7fc;

  --md-primary-fg-color: #0b5cf0;
  --md-primary-fg-color--light: #347bff;
  --md-accent-fg-color: #0b5cf0;
}

/* Page shell */
html,
body,
.md-container,
.md-main {
  background:
    radial-gradient(1000px 420px at 72% 0%, rgba(40,114,255,.07), rgba(40,114,255,0) 66%),
    linear-gradient(180deg, #edf3fb 0%, #f8fbff 42%, #ffffff 100%) !important;
}

.md-main__inner.md-grid {
  max-width: 1440px !important;
  gap: 1.35rem !important;
  padding-top: 1.35rem !important;
}

/* Header */
.md-header,
.md-tabs {
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 50%),
    linear-gradient(90deg, var(--ht-blue-1) 0%, var(--ht-blue-2) 50%, var(--ht-blue-3) 100%) !important;
  color: #fff !important;
  box-shadow: 0 8px 26px rgba(18,83,195,.18) !important;
}

.md-tabs {
  display: none !important;
}

.md-header__inner.md-grid {
  max-width: 1440px !important;
}

.md-header__title,
.md-header__topic,
.md-header__button,
.md-header__source {
  color: rgba(255,255,255,.98) !important;
}

.md-header__title {
  font-weight: 850 !important;
  letter-spacing: -.02em;
}

.md-logo img,
.md-logo svg {
  width: auto !important;
  height: 38px !important;
  max-width: 132px !important;
  object-fit: contain !important;
}

/* Search */
.md-search,
.md-search__form,
.md-search__input {
  border-radius: 999px !important;
}

.md-search__form {
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  box-shadow:
    0 8px 18px rgba(15,56,130,.15),
    inset 0 1px 0 rgba(255,255,255,.90);
}

.md-search__input {
  background: transparent !important;
  color: #1f2937 !important;
}

.md-search__input::placeholder {
  color: rgba(92,107,130,.78) !important;
}

/* Sidebars */
.md-sidebar--primary,
.md-sidebar--secondary {
  background: transparent !important;
}

.md-sidebar--primary .md-sidebar__scrollwrap,
.md-sidebar--secondary .md-sidebar__scrollwrap {
  background: rgba(255,255,255,.98) !important;
  border: 1px solid var(--ht-line);
  border-radius: 14px;
  box-shadow:
    0 16px 36px rgba(15,23,42,.07),
    inset 0 1px 0 rgba(255,255,255,.96);
}

.md-sidebar--primary .md-sidebar__inner,
.md-sidebar--primary .md-nav,
.md-sidebar--primary .md-nav__title,
.md-sidebar--primary .md-nav__list,
.md-sidebar--primary .md-nav__item,
.md-sidebar--primary .md-nav__link {
  background: transparent !important;
}

.md-nav--primary .md-nav__title {
  position: static !important;
  top: auto !important;
  box-shadow: none !important;
  color: var(--ht-text-1) !important;
  font-weight: 900 !important;
}

.md-sidebar--primary .md-nav__link,
.md-sidebar--secondary .md-nav__link {
  color: var(--ht-text-2) !important;
  border-radius: 7px;
}

.md-sidebar--primary .md-nav__link:hover,
.md-sidebar--secondary .md-nav__link:hover {
  color: var(--ht-blue-1) !important;
  background: rgba(31,106,242,.08) !important;
}

.md-sidebar--primary .md-nav__link--active,
.md-sidebar--primary .md-nav__item--active > .md-nav__link {
  color: #0b5cf0 !important;
  font-weight: 850 !important;
  background: linear-gradient(90deg, #eaf2ff 0%, #dbeafe 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(31,106,242,.16), 0 6px 14px rgba(31,106,242,.10);
}

.md-sidebar--primary .md-nav__item--active > .md-nav__link {
  border-left: none !important;
  padding-left: var(--md-nav-indent);
}

.md-nav__title {
  color: var(--ht-text-1) !important;
}

/* Main article card */
.md-content__inner {
  margin-top: 0 !important;
  padding: 2.1rem 2.35rem 2.6rem 2.35rem !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid var(--ht-line);
  border-radius: 14px;
  box-shadow:
    0 16px 36px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.96);
}

.md-content__inner::before {
  display: none !important;
}

/* Typography */
.md-typeset {
  color: var(--ht-text-2);
  font-size: .78rem;
  line-height: 1.7;
}

.md-typeset h1 {
  margin: 0 0 1.35rem 0;
  color: #050914;
  font-weight: 920;
  letter-spacing: -.045em;
}

.md-typeset h2 {
  color: var(--ht-text-1);
  font-weight: 880;
  letter-spacing: -.025em;
  border-bottom: 1px solid #e5edf7;
  padding-bottom: .42rem;
}

.md-typeset h3 {
  color: var(--ht-text-1);
  font-weight: 820;
}

.md-typeset a {
  color: var(--ht-blue-1);
  font-weight: 650;
}

.md-typeset code {
  border-radius: 6px;
}

.md-typeset pre > code {
  border-radius: 12px;
}

.md-typeset img {
  border-radius: 12px;
  border: 1px solid #e0e7f2;
  box-shadow: 0 12px 28px rgba(15,23,42,.06);
}

.md-typeset table:not([class]) {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.md-typeset .admonition,
.md-typeset details {
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
}

/* Footer */
.md-footer {
  background: #f3f7fc !important;
}

.md-footer-meta {
  background: #eaf1fb !important;
}

/* Responsive */
@media screen and (max-width: 76.25em) {
  .md-main__inner.md-grid {
    padding-top: 0 !important;
  }

  .md-content__inner {
    border-radius: 0 !important;
    border-left: 0;
    border-right: 0;
    padding: 1.25rem 1rem 2rem 1rem !important;
    box-shadow: none;
  }

  .md-typeset h1 {
    font-size: 1.65rem;
    letter-spacing: -.035em;
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    background: rgba(255,255,255,.98) !important;
  }
}

@media screen and (max-width: 700px) {
  .md-header__title {
    font-size: .82rem !important;
  }

  .md-logo img,
  .md-logo svg {
    max-width: 96px !important;
    height: 34px !important;
  }

  .md-typeset {
    font-size: .74rem;
  }
}

/* =========================================
   Sidebar alignment patch for normal documentation pages
   Align left/right navigation cards with the central content card.
   ========================================= */
.md-sidebar--primary,
.md-sidebar--secondary {
  padding-top: 0 !important;
}

.md-sidebar--primary .md-sidebar__scrollwrap,
.md-sidebar--secondary .md-sidebar__scrollwrap {
  margin-top: 0 !important;
  min-height: calc(100vh - var(--md-header-height, 64px) - 2.7rem) !important;
  max-height: calc(100vh - var(--md-header-height, 64px) - 2.7rem) !important;
  overflow-y: auto !important;
}

.md-main__inner.md-grid {
  align-items: flex-start !important;
}

.md-content__inner {
  min-height: calc(100vh - var(--md-header-height, 64px) - 2.7rem) !important;
}

/* Narrow screens use drawer behavior, so do not force fixed heights. */
@media screen and (max-width: 76.25em) {
  .md-sidebar--primary .md-sidebar__scrollwrap,
  .md-sidebar--secondary .md-sidebar__scrollwrap,
  .md-content__inner {
    min-height: auto !important;
    max-height: none !important;
  }
}

/* =========================================
   Mobile drawer fix
   Fix overlapping text/menu layers in Material drawer on phones.
   Desktop/tablet product styling remains unchanged.
   ========================================= */
@media screen and (max-width: 76.25em) {
  .md-sidebar--primary {
    top: var(--md-header-height, 56px) !important;
    width: min(88vw, 22rem) !important;
    height: calc(100vh - var(--md-header-height, 56px)) !important;
    background: #ffffff !important;
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .md-sidebar--primary .md-sidebar__inner {
    padding: 0 !important;
    background: #ffffff !important;
  }

  .md-nav--primary {
    background: #ffffff !important;
    color: #1f2937 !important;
    font-size: .74rem !important;
    line-height: 1.45 !important;
  }

  .md-nav--primary .md-nav {
    background: #ffffff !important;
  }

  .md-nav--primary .md-nav__title {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    min-height: 3.25rem !important;
    height: auto !important;
    padding: .72rem 1rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: 0 1px 0 #e5edf7 !important;
    white-space: normal !important;
    overflow: hidden !important;
    line-height: 1.25 !important;
  }

  .md-nav--primary .md-nav__title .md-nav__button,
  .md-nav--primary .md-logo {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  .md-nav--primary .md-nav__title .md-logo img,
  .md-nav--primary .md-nav__title .md-logo svg {
    height: 30px !important;
    max-width: 92px !important;
    object-fit: contain !important;
  }

  .md-nav--primary .md-nav__source {
    display: block !important;
    position: relative !important;
    min-height: 3.2rem !important;
    padding: .58rem 1rem .62rem 1rem !important;
    margin: 0 !important;
    background: linear-gradient(90deg, #eaf2ff 0%, #dbeafe 100%) !important;
    color: #0b5cf0 !important;
    box-shadow: inset 0 -1px 0 #d6e3f5 !important;
    overflow: hidden !important;
    line-height: 1.25 !important;
  }

  .md-nav--primary .md-nav__source .md-source {
    color: #0b5cf0 !important;
    display: block !important;
    max-width: 100% !important;
  }

  .md-nav--primary .md-nav__source .md-source__repository {
    max-width: 14rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .md-nav--primary .md-nav__list {
    padding: .45rem 0 .9rem 0 !important;
    background: #ffffff !important;
  }

  .md-nav--primary .md-nav__item {
    background: #ffffff !important;
    border-top: 0 !important;
  }

  .md-nav--primary .md-nav__link {
    min-height: 2.35rem !important;
    margin: 0 !important;
    padding: .56rem 1rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    color: #1f2937 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .md-nav--primary .md-nav__link:hover {
    color: #0b5cf0 !important;
    background: #f3f7ff !important;
  }

  .md-nav--primary .md-nav__link--active,
  .md-nav--primary .md-nav__item--active > .md-nav__link {
    color: #0b5cf0 !important;
    background: #eaf2ff !important;
    font-weight: 850 !important;
    box-shadow: inset 3px 0 0 #0b5cf0 !important;
  }

  .md-nav--primary .md-nav__link .md-ellipsis,
  .md-nav--secondary .md-nav__link .md-ellipsis {
    overflow: visible !important;
    text-overflow: initial !important;
    white-space: normal !important;
  }

  .md-sidebar--secondary,
  .md-sidebar--secondary .md-sidebar__scrollwrap {
    min-height: 0 !important;
    max-height: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: #ffffff !important;
  }

  .md-content__inner {
    min-height: auto !important;
    max-height: none !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

/* =========================================
   Force TOC collapse in split-screen mode v8
   Previous fix only used display:none at 1220px, but Material may still
   reserve sidebar space or the viewport may remain above that breakpoint.
   This patch hides the right TOC earlier and also removes its layout space.
   ========================================= */
@media screen and (max-width: 1700px) {
  /* Completely remove the right-side table of contents from layout */
  .md-sidebar--secondary,
  .md-sidebar--secondary.md-sidebar,
  .md-sidebar--secondary .md-sidebar__scrollwrap,
  .md-sidebar--secondary .md-sidebar__inner,
  .md-sidebar--secondary .md-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  /* Remove Material grid/sidebar reserved space */
  .md-main__inner,
  .md-main__inner.md-grid {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: clamp(.75rem, 2.4vw, 1.5rem) !important;
    padding-right: clamp(.75rem, 2.4vw, 1.5rem) !important;
    display: block !important;
  }

  .md-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .md-content__inner {
    width: 100% !important;
    max-width: 1080px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 1.6rem clamp(1rem, 4vw, 2rem) 2.4rem clamp(1rem, 4vw, 2rem) !important;
  }

  .md-typeset,
  .md-typeset > * {
    max-width: 100% !important;
  }
}

/* At real phone/tablet widths, make the article use the full screen. */
@media screen and (max-width: 76.25em) {
  .md-main__inner,
  .md-main__inner.md-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .md-content__inner {
    max-width: none !important;
    margin: 0 !important;
    padding: 1.2rem 1rem 2rem 1rem !important;
  }
}

/* =========================================
   Force left navigation collapse in split-screen mode v9
   Problem:
   v8 removed the right TOC, but the left primary navigation could still
   remain in the layout when the browser is split-screen. This patch removes
   the left sidebar from normal layout, while preserving the hamburger drawer
   behavior on tablet/mobile widths.
   ========================================= */

/* Split-screen / medium desktop: no persistent left sidebar. */
@media screen and (max-width: 1700px) {
  .md-sidebar--primary,
  .md-sidebar--primary.md-sidebar {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  .md-main__inner,
  .md-main__inner.md-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: clamp(.75rem, 2.4vw, 1.5rem) !important;
    padding-right: clamp(.75rem, 2.4vw, 1.5rem) !important;
  }

  .md-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .md-content__inner {
    width: 100% !important;
    max-width: 1080px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
  }
}

/* Drawer breakpoint: keep the left nav available only when hamburger is opened. */
@media screen and (max-width: 76.25em) {
  [data-md-toggle="drawer"]:not(:checked) ~ .md-container .md-sidebar--primary {
    display: block !important;
    position: fixed !important;
    top: var(--md-header-height, 56px) !important;
    left: 0 !important;
    width: min(88vw, 22rem) !important;
    max-width: min(88vw, 22rem) !important;
    height: calc(100vh - var(--md-header-height, 56px)) !important;
    transform: translateX(-110%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 5 !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary {
    display: block !important;
    position: fixed !important;
    top: var(--md-header-height, 56px) !important;
    left: 0 !important;
    width: min(88vw, 22rem) !important;
    max-width: min(88vw, 22rem) !important;
    height: calc(100vh - var(--md-header-height, 56px)) !important;
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 5 !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary .md-sidebar__scrollwrap,
  [data-md-toggle="drawer"]:not(:checked) ~ .md-container .md-sidebar--primary .md-sidebar__scrollwrap {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-y: auto !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary .md-sidebar__inner,
  [data-md-toggle="drawer"]:not(:checked) ~ .md-container .md-sidebar--primary .md-sidebar__inner {
    display: block !important;
    visibility: visible !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  .md-main__inner,
  .md-main__inner.md-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .md-content__inner {
    max-width: none !important;
    margin: 0 !important;
    padding: 1.2rem 1rem 2rem 1rem !important;
  }
}

/* =========================================
   Mobile / split drawer navigation cleanup v10
   Goals:
   - Keep homepage sidebar unchanged.
   - On Material drawer, prevent HighTorque logo from overlapping the page title.
   - Keep a clear "Back" row when entering a sub-level.
   - Avoid duplicate active leaf rows such as Hardware -> Hardware.
   - Keep Reference nav limited to Hardware / Software / Interfaces / Configuration.
   ========================================= */
@media screen and (max-width: 76.25em) {
  /* The drawer itself */
  [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary {
    display: block !important;
    position: fixed !important;
    top: var(--md-header-height, 56px) !important;
    left: 0 !important;
    width: min(88vw, 22rem) !important;
    max-width: min(88vw, 22rem) !important;
    height: calc(100vh - var(--md-header-height, 56px)) !important;
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 5 !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  [data-md-toggle="drawer"]:not(:checked) ~ .md-container .md-sidebar--primary {
    display: block !important;
    position: fixed !important;
    top: var(--md-header-height, 56px) !important;
    left: 0 !important;
    width: min(88vw, 22rem) !important;
    max-width: min(88vw, 22rem) !important;
    height: calc(100vh - var(--md-header-height, 56px)) !important;
    transform: translateX(-110%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 5 !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .md-sidebar--primary .md-sidebar__inner,
  .md-nav--primary,
  .md-nav--primary .md-nav {
    background: #ffffff !important;
  }

  /* Drawer title row: no overlapping logo. */
  .md-nav--primary .md-nav__title {
    position: sticky !important;
    top: 0 !important;
    z-index: 4 !important;
    min-height: 3.4rem !important;
    padding: .72rem 1rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: 0 1px 0 #e5edf7 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  /* Hide only the logo inside the drawer title to avoid overlap with text. */
  .md-nav--primary .md-nav__title .md-logo,
  .md-nav--primary .md-nav__title .md-logo img,
  .md-nav--primary .md-nav__title .md-logo svg {
    display: none !important;
  }

  /* Back/parent button must be visible on sub-level pages. */
  .md-nav--primary .md-nav__title .md-nav__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 2rem !important;
    width: 2rem !important;
    height: 2rem !important;
    margin: 0 .25rem 0 0 !important;
    color: #0b5cf0 !important;
    opacity: 1 !important;
  }

  .md-nav--primary .md-nav__source {
    display: block !important;
    min-height: 3.1rem !important;
    padding: .55rem 1rem .62rem 1rem !important;
    margin: 0 !important;
    background: linear-gradient(90deg, #eaf2ff 0%, #dbeafe 100%) !important;
    color: #0b5cf0 !important;
    box-shadow: inset 0 -1px 0 #d6e3f5 !important;
    overflow: hidden !important;
    line-height: 1.25 !important;
  }

  .md-nav--primary .md-nav__source .md-source__repository {
    max-width: 14rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .md-nav--primary .md-nav__list {
    padding: .45rem 0 .9rem 0 !important;
    background: #ffffff !important;
  }

  .md-nav--primary .md-nav__item {
    background: #ffffff !important;
    border-top: 0 !important;
  }

  .md-nav--primary .md-nav__link {
    min-height: 2.35rem !important;
    margin: 0 !important;
    padding: .56rem 1rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    color: #1f2937 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .md-nav--primary .md-nav__link:hover {
    color: #0b5cf0 !important;
    background: #f3f7ff !important;
  }

  .md-nav--primary .md-nav__link--active,
  .md-nav--primary .md-nav__item--active > .md-nav__link {
    color: #0b5cf0 !important;
    background: #eaf2ff !important;
    font-weight: 850 !important;
    box-shadow: inset 3px 0 0 #0b5cf0 !important;
  }

  /* Prevent ellipsis clipping in the drawer. */
  .md-nav--primary .md-nav__link .md-ellipsis {
    overflow: visible !important;
    text-overflow: initial !important;
    white-space: normal !important;
  }

  /*
     Hide the duplicated active leaf item when a sub-level drawer title already
     shows the same current page title. This fixes Hardware -> Hardware style
     duplication in narrow/split drawer mode.
  */
  .md-nav--primary .md-nav .md-nav__list > .md-nav__item:first-child > .md-nav__link--active,
  .md-nav--primary .md-nav .md-nav__list > .md-nav__item:first-child > .md-nav__link[aria-current="page"] {
    display: none !important;
  }
}

/* =========================================
   Strict drawer index structure v11
   Match homepage index structure in split/mobile drawer.
   Keep section index titles clickable while avoiding duplicate active leaf rows.
   ========================================= */
@media screen and (max-width: 76.25em) {
  /* Keep page title clear; no logo overlap inside drawer title. */
  .md-nav--primary .md-nav__title .md-logo,
  .md-nav--primary .md-nav__title .md-logo img,
  .md-nav--primary .md-nav__title .md-logo svg {
    display: none !important;
  }

  /* Visible back button for sub-levels. */
  .md-nav--primary .md-nav__title .md-nav__button {
    display: inline-flex !important;
    color: #0b5cf0 !important;
    opacity: 1 !important;
  }

  /* Hide duplicate active first child shown under its own sub-level title. */
  .md-nav--primary .md-nav .md-nav__list > .md-nav__item:first-child > .md-nav__link--active,
  .md-nav--primary .md-nav .md-nav__list > .md-nav__item:first-child > .md-nav__link[aria-current="page"] {
    display: none !important;
  }

  /* Consistent light-blue active state. */
  .md-nav--primary .md-nav__link--active,
  .md-nav--primary .md-nav__item--active > .md-nav__link {
    color: #0b5cf0 !important;
    background: #eaf2ff !important;
    font-weight: 850 !important;
    box-shadow: inset 3px 0 0 #0b5cf0 !important;
  }
}

/* =========================================
   Logo + drawer Home link v12
   ========================================= */

/* New uploaded logo is wider; keep it readable in the top header. */
.md-logo img,
.md-logo svg {
  max-width: 150px !important;
  height: 36px !important;
  object-fit: contain !important;
}

/* In narrow drawer title, hide logo to avoid overlap with page title. */
@media screen and (max-width: 76.25em) {
  .md-nav--primary .md-nav__title .md-logo,
  .md-nav--primary .md-nav__title .md-logo img,
  .md-nav--primary .md-nav__title .md-logo svg {
    display: none !important;
  }

  .ht-drawer-home-link {
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    min-height: 2.55rem !important;
    padding: .62rem 1rem !important;
    color: #0b5cf0 !important;
    background: #f3f7ff !important;
    border-bottom: 1px solid #dbeafe !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  .ht-drawer-home-link:hover {
    background: #eaf2ff !important;
    color: #064fd8 !important;
  }

  .ht-drawer-home-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.35rem !important;
    height: 1.35rem !important;
    border-radius: 999px !important;
    background: rgba(11,92,240,.10) !important;
    color: #0b5cf0 !important;
    font-weight: 900 !important;
  }
}

/* =========================================
   Drawer Home link visibility v13
   The injected "← Home" links are hidden on full-width desktop and only
   displayed when the browser is in split-screen/drawer width.
   ========================================= */
.ht-drawer-home-link {
  display: none !important;
}

@media screen and (max-width: 1220px) {
  .ht-drawer-home-link {
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    min-height: 2.55rem !important;
    padding: .62rem 1rem !important;
    color: #0b5cf0 !important;
    background: #f3f7ff !important;
    border-bottom: 1px solid #dbeafe !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  .ht-drawer-home-link:hover {
    background: #eaf2ff !important;
    color: #064fd8 !important;
  }

  .ht-drawer-home-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.35rem !important;
    height: 1.35rem !important;
    border-radius: 999px !important;
    background: rgba(11,92,240,.10) !important;
    color: #0b5cf0 !important;
    font-weight: 900 !important;
  }
}

/* =========================================
   Header logo external link v14
   ========================================= */
.md-header .md-logo {
  cursor: pointer;
}
