/* SITE MAP and YOUR DATA, plus their footer links. */
.info-body {
  max-width: 56rem;
}

.info-list {
  margin: 6px 0 0;
  padding-left: 1.2rem;
  font-size: 0.85rem;
  line-height: 1.5;
}

.info-list li + li {
  margin-top: 5px;
}

/* Signed out, the page sits on the sign-in background: let it scroll. */
.info-signed-out {
  box-sizing: border-box;
  width: 100%;
  max-height: 100dvh;
  overflow-y: auto;
  padding-block: 16px;
}

.site-map-groups {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 14px;
  align-items: start;
}

/* Each group reads as one tidy card: a heading with its count, then its pages as rows rather than a run-on list. */
.site-map-groups .records-card {
  padding-bottom: 4px;
}

.site-map-count {
  margin-left: 6px;
  color: var(--c-grey-aaa);
  font-size: 0.7rem;
  font-weight: normal;
}

.site-map-links {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.82rem;
}

.site-map-links li + li {
  border-top: 1px solid var(--c-grey-222);
}

.site-map-links a {
  display: block;
  padding: 7px 4px;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.site-map-links a:hover,
.site-map-links a:focus-visible {
  background: var(--c-grey-111);
}

.footer-links {
  display: flex;
  gap: 10px;
  font-size: 0.7rem;
  white-space: nowrap;
}

.footer-links a {
  color: inherit;
  text-decoration: none;
}

@media (max-width: 640px) {
  .footer-links {
    gap: 6px;
    font-size: 0.62rem;
  }

  /* Room for everything in the 25px footer: the site map and data links become just their icons, and FULLSCREEN shrinks. */
  #footer .footer-link-label {
    display: none;
  }

  #footer .footer-links {
    gap: 10px;
    font-size: 0.8rem;
  }

  #footer .fullscreen-btn {
    padding: 1px 4px;
    font-size: 0.55rem;
    white-space: nowrap;
  }

  #footer #sync-text,
  #footer #sync-time {
    font-size: 0.62rem;
    white-space: nowrap;
  }
}
