/* Gemeinsame Korrekturen für die öffentlichen Informationsseiten. */
.public-menu-toggle {
  display: none;
  border: 1px solid #d7dfd8;
  border-radius: 11px;
  background: #fff;
  color: var(--forest, #123d2a);
  padding: 10px 13px;
  font: 700 14px/1 Montserrat, sans-serif;
  cursor: pointer;
}

.shopfab {
  display: none !important;
}

@media (max-width: 860px) {
  body {
    padding-bottom: 86px;
  }

  .top .wrap {
    justify-content: center;
  }

  .top .wrap > span:first-child {
    display: none;
  }

  .top a {
    white-space: nowrap;
  }

  .nav {
    position: relative;
    min-height: 122px !important;
    justify-content: space-between !important;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .nav .logo img {
    width: 148px !important;
    height: auto !important;
    max-height: none;
    object-fit: contain;
  }

  .public-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    min-height: 44px;
  }

  .nav .links {
    display: none !important;
    position: absolute;
    z-index: 50;
    top: calc(100% - 2px);
    left: 14px;
    right: 14px;
    padding: 10px;
    border: 1px solid #d7dfd8;
    border-radius: 14px;
    background: #fffefa;
    box-shadow: 0 18px 40px rgba(18, 61, 42, .18);
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }

  .nav.public-menu-open .links {
    display: grid !important;
  }

  .nav .links a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 10px;
    border-radius: 9px;
    text-align: left;
  }

  .nav .links a:hover,
  .nav .links a:focus-visible {
    background: #edf3ec;
  }

  .nav .links .btn {
    justify-content: center;
    grid-column: 1 / -1;
    margin-top: 4px;
    color: #fff;
  }

  .phonebar {
    z-index: 60 !important;
  }

  .reviewfab,
  .shopfab {
    display: none !important;
  }
}

@media (max-width: 430px) {
  .nav .links {
    grid-template-columns: 1fr;
  }

  .nav .links .btn {
    grid-column: auto;
  }
}
