:root {
  --onhava-status-height: 42px;
}

.onhava-status-banner {
  position: fixed;
  inset: 0 0 auto;
  z-index: 5000;
  min-height: var(--onhava-status-height);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.55rem 3.25rem 0.55rem 1rem;
  background: #f5f0e8;
  border-bottom: 1px solid rgba(116, 81, 41, 0.22);
  box-shadow: 0 3px 12px rgba(45, 35, 24, 0.08);
  color: #382a20;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.015em;
  line-height: 1.35;
  text-align: center;
}

.onhava-status-banner::before {
  content: "✦";
  color: #b97a1d;
  font-size: 0.65rem;
}

.onhava-status-close {
  position: absolute;
  top: 50%;
  right: 0.85rem;
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid rgba(116, 81, 41, 0.25);
  border-radius: 50%;
  background: transparent;
  color: #382a20;
  cursor: pointer;
  font: inherit;
  font-size: 1.1rem;
  line-height: 1;
}

.onhava-status-close:hover,
.onhava-status-close:focus-visible {
  background: #eadcc2;
  outline: none;
}

.onhava-growing-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin-left: 0.55rem;
  padding: 0.24rem 0.55rem;
  border: 1px solid rgba(185, 122, 29, 0.48);
  border-radius: 999px;
  background: #fff8e8;
  color: #8a5200;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 0.57rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.onhava-growing-badge::before {
  content: "•";
  margin-right: 0.3rem;
  color: #b97a1d;
  font-size: 0.82em;
}

body.onhava-status-active .nuts-nav,
body.onhava-status-active .top-nav,
body.onhava-status-active nav {
  top: var(--onhava-status-height);
}

body.onhava-status-active .hamburger {
  top: calc(1.1rem + var(--onhava-status-height));
}

body.onhava-status-active .nav-menu {
  top: calc(4.3rem + var(--onhava-status-height));
}

.logo-wrapper.onhava-logo-with-badge {
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}

.logo-wrapper .onhava-growing-badge {
  position: static;
  margin: 0 0 0.85rem;
  transform: none;
}

.logo-wrapper.onhava-logo-with-badge + .byline {
  margin-top: 0;
}

@media (max-width: 600px) {
  :root {
    --onhava-status-height: 54px;
  }

  .onhava-status-banner {
    gap: 0.45rem;
    padding: 0.48rem 2.7rem 0.48rem 0.75rem;
    font-size: 0.66rem;
  }

  .onhava-status-close {
    right: 0.6rem;
    width: 24px;
    height: 24px;
  }

  .onhava-growing-badge {
    margin-left: 0.35rem;
    padding: 0.22rem 0.45rem;
    font-size: 0.5rem;
    letter-spacing: 0.08em;
  }

  /* Map and guide pages render their logo inside a sticky nav. Keep the
     badge under that logo so it cannot reach the fixed hamburger on mobile. */
  nav .nav-logo.onhava-logo-with-badge {
    position: relative;
    align-self: flex-start;
    padding-bottom: 1.15rem;
  }

  nav .nav-logo.onhava-logo-with-badge .onhava-growing-badge {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    transform: none;
  }
}