/* Shared structure loaded under every theme. Keep this minimal.
   Anything visual/aesthetic belongs in a theme file under themes/. */

#theme-switcher {
  position: fixed;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 1000;
  /* Forms side by side: language switcher (only on a page that has a
     translation), protocol switcher, then theme switcher. */
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px 8px;
}

#theme-switcher form {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

/* Stop oversized media from blowing out the layout. */
img {
  max-width: 100%;
  height: auto;
}

/* 88x31 button wall. Fixed-size badges, so opt out of the img rule above and
   keep them at their native pixel dimensions rather than scaling. */
.badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.badges img {
  display: block;
  width: 88px;
  height: 31px;
  max-width: none;
}

/* Every blog post's <h1> is a row: the title on the left, the Pangram
   "100% Human" badge pinned to the right. */
.post-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.post-title a {
  flex: none;
  line-height: 0;
}

/* Skip link.

ubuntu804.css overrides both states to place and paint it against the desktop. */
.skip:not(:focus) {
  position: absolute;
  left: -100vw;
}
