/* BIS Access Notice Banner styles */
#bis-sticky-notice {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999;
  background: var(--bis-bg, #111827);
  color: var(--bis-fg, #ffffff);
  box-shadow: 0 4px 10px rgba(0,0,0,.25);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}
/* Offset for WordPress admin bar when logged in */
body.admin-bar #bis-sticky-notice { top: 32px; }
@media screen and (max-width: 782px){
  body.admin-bar #bis-sticky-notice { top: 46px; }
}

#bis-sticky-notice .bis-sticky-wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem 1rem;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: .75rem 1rem;
  line-height: 1.35;
}
#bis-sticky-notice .bis-title {
  color: var(--bis-accent, #22d3ee);
  font-weight: 700;
  margin-right: .5rem;
}
#bis-sticky-notice .bis-text {
  grid-column: 1 / -2;
}
#bis-sticky-notice .bis-close {
  grid-column: -2 / -1;
  justify-self: end;
  background: transparent;
  border: none;
  color: var(--bis-fg, #ffffff);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  padding: .25rem .5rem;
  border-radius: .375rem;
}
#bis-sticky-notice .bis-close:hover,
#bis-sticky-notice .bis-close:focus { outline: 2px solid var(--bis-accent, #22d3ee); }
@media (min-width: 768px) {
  #bis-sticky-notice .bis-sticky-wrap {
    grid-template-columns: auto 1fr auto;
  }
  #bis-sticky-notice .bis-title { grid-column: 1 / 2; }
  #bis-sticky-notice .bis-text  { grid-column: 2 / 3; }
  #bis-sticky-notice .bis-close { grid-column: 3 / 4; }
}

/* Add top offset to page so banner doesn't cover content */
html:not(.bis-notice-closed) body { margin-top: 56px; }
@media (min-width: 768px){
  html:not(.bis-notice-closed) body { margin-top: 58px; }
}
/* If admin bar present, add its height too */
body.admin-bar html:not(.bis-notice-closed) body { margin-top: calc(58px + 32px); }
@media screen and (max-width: 782px){
  body.admin-bar html:not(.bis-notice-closed) body { margin-top: calc(56px + 46px); }
}
