/* Public TopMenu / CMS chrome extras on top of generic-site.css */
.public-site-shell {
  min-height: 100vh;
  background: var(--canvas, #090f1b);
  color: var(--text, #dce5eb);
}

.public-site-main {
  min-height: 40vh;
}

.cms-public-body {
  padding-block: 48px 80px;
}

.mobile-nav {
  display: none;
}

.mobile-nav-panel {
  display: grid;
  gap: 4px;
  padding: 12px 0 16px;
}

.mobile-nav-panel a {
  padding: 12px 4px;
  color: var(--dim);
  font-size: 14px;
  font-weight: 600;
}

.mobile-nav-panel a:is(:hover, :focus-visible) {
  color: var(--ivory);
}

@media (max-width: 980px) {
  .primary-nav {
    display: none;
  }

  .mobile-nav {
    display: block;
    margin-inline-start: auto;
  }

  .mobile-nav > summary {
    list-style: none;
  }

  .mobile-nav > summary::-webkit-details-marker {
    display: none;
  }

  .header-inner {
    flex-wrap: wrap;
  }

  .header-actions {
    width: 100%;
    justify-content: flex-end;
    padding-bottom: 12px;
  }

  .mobile-nav[open] .mobile-nav-panel,
  .mobile-nav-panel {
    width: 100%;
  }

  .mobile-nav[open] {
    display: contents;
  }

  .site-header .mobile-nav[open] .mobile-nav-panel {
    display: grid;
    flex-basis: 100%;
    order: 8;
  }
}
