/* Public navigation and notice enhancements; the original site.css is preserved. */
.site-header .menu-button[hidden],
.site-header .nav[hidden],
.cookie-notice [hidden],
.cookie-notice-reopen[hidden] { display: none !important; }

.cookie-notice {
  box-sizing: border-box;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.cookie-notice__body { min-width: 0; }
.cookie-notice__details { margin-top: .35rem; }
.cookie-notice__details summary {
  width: fit-content;
  padding-block: .5rem;
  cursor: pointer;
  color: var(--fog);
  font-size: .88rem;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.cookie-notice__details .text-link { display: inline-block; margin-top: .5rem; }
.cookie-notice__reset {
  display: block; border: 0; padding: .5rem 0; background: transparent; color: var(--fog);
  font: inherit; text-align: left; text-decoration: underline; text-underline-offset: .2em; cursor: pointer;
}
.cookie-notice__status { color: var(--fog); }
.cookie-notice__actions > button { min-height: 44px; white-space: normal; }
.cookie-notice-reopen {
  border: 0;
  padding: .35rem 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: .2em;
  cursor: pointer;
}
.cookie-notice:not([data-cookie-ready]) { position: static; margin: 0 auto 1.5rem; max-height: none; }
.cookie-notice:not([data-cookie-ready]) .cookie-notice__actions { display: none; }

@media (max-width: 980px) {
  .site-header:not([data-navigation-ready]) { position: relative; }
  .site-header:not([data-navigation-ready]) .site-header__inner { flex-wrap: wrap; padding-block: .75rem; }
  .site-header:not([data-navigation-ready]) .nav {
    display: flex;
    position: static;
    flex-basis: 100%;
    padding: 0;
    border-bottom: 0;
  }
  .site-header[data-navigation-ready] .nav {
    inset: 100% 0 auto;
    max-height: calc(100vh - 5.5rem);
    max-height: calc(100dvh - 5.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-header .menu-button { min-height: 44px; }
}

@media (max-width: 760px), (max-height: 540px) {
  .cookie-notice { align-items: stretch; flex-direction: column; gap: .65rem; padding: .75rem; }
  .cookie-notice__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .cookie-notice__actions > button { width: 100%; padding: .65rem .5rem; }
  .cookie-notice__actions > [data-cookie-permanent] { grid-column: 1 / -1; }
}

@media (max-height: 360px) {
  .cookie-notice { right: .5rem; bottom: .5rem; left: .5rem; max-height: calc(100vh - 1rem); max-height: calc(100dvh - 1rem); }
}
