/* Runde 8: eine Kopfzeile; das geöffnete Menü erhält eine eigene Rasterzeile. */
.brand-short { display: none; }
.category-card h3 a { color: inherit; }
.category-card h3 a::after { content: ''; position: absolute; inset: 0; }
.category-card h3 a:focus-visible::after { outline: 3px solid var(--focus); outline-offset: -3px; }
.sequence-item { border-top: 1px solid var(--soft-edge); padding-top: 18px; }
.sequence-item:last-child { text-align: right; }
.sequence .sequence-item a { display: block; border: 0; padding: 0; text-align: inherit; }
.cover-title,
.cover-grid .book-item a.book-title {
  overflow-wrap: normal; word-break: normal;
  -webkit-hyphens: auto; hyphens: auto;
}
.book-item a.badge { max-width: 100%; white-space: normal; -webkit-hyphens: auto; hyphens: auto; }
.cover-title-long { font-size: .88rem; }
.detail-cover .cover-title-long { font-size: 1.1rem; }
.cover-grid .book-cover .cover-title-long { font-size: .9rem; }
@media (max-width: 640px) {
  .sequence-item:last-child { text-align: left; }
  .site-header .container {
    display: grid; grid-template-columns: minmax(0, 1fr) auto 40px auto;
    align-items: center; gap: 5px; padding: 8px; text-align: left;
  }
  .site-header .brand { grid-column: 1; grid-row: 1; margin: 0; gap: 5px; min-width: 0; }
  .site-header .brand img { flex: 0 0 28px; width: 28px; height: 28px; }
  .site-header .brand-text { font-size: .66rem; max-width: none; white-space: nowrap; letter-spacing: 0; }
  .site-header .menu-toggle { grid-column: 2; grid-row: 1; padding: 6px 8px; min-height: 44px; font-size: .78rem; }
  .site-header .theme-toggle { grid-column: 3; grid-row: 1; width: 40px; height: 44px; padding: 8px; }
  .site-header .header-donate { grid-column: 4; grid-row: 1; padding: 6px 9px; min-height: 44px; font-size: .78rem; border-radius: 999px; white-space: nowrap; }
  .site-header .header-panel { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
  .cover-grid .book-cover .cover-title-long { font-size: .7rem; }
  .book-hero .detail-cover .cover-title-long { font-size: .95rem; }
}
@media (max-width: 399px) {
  .site-header .brand-full { display: none; }
  .site-header .brand-short { display: inline; }
}
@media (max-width: 359px) {
  .site-header .brand-text { display: none; }
}
