/* Shared navigation and simple information pages. */
.site-header { position: sticky; top: 0; z-index: 100; background: #f6f1e7; border-bottom: 1px solid #c7baa4; box-shadow: 0 2px 8px #302a2310; }
.site-nav { max-width: 1200px; margin: auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.site-brand { color: #493925; text-decoration: none; font: 24px/1.2 Georgia, serif; }
.site-brand span { display: block; margin-top: 5px; font: 12px/1.5 Arial, sans-serif; letter-spacing: .05em; color: #655541; }
.site-links { display: flex; gap: 8px; }
.site-links a { padding: 10px 14px; color: #493925; text-decoration: none; font: 16px/1.5 Arial, sans-serif; border-radius: 4px; }
.site-links a:hover, .site-links a[aria-current] { background: #493925; color: #fffcf5; }
.menu-toggle { border: 1px solid #9b886b; background: #fffcf5; color: #493925; border-radius: 4px; padding: 10px 12px; font: 16px/1.5 Arial, sans-serif; cursor: pointer; }
.site-skip { position: fixed; top: -100px; left: 16px; z-index: 200; padding: 12px; background: #fffcf5; color: #493925; }
.site-skip:focus { top: 8px; }
#main, #keyword-filter, [id] { scroll-margin-top: 110px; }
.info-page { max-width: 850px; margin: 40px auto 64px; padding: 36px; background: #fffcf5; border: 1px solid #c7baa4; border-radius: 6px; }
.info-page h1 { font-size: clamp(32px, 5vw, 44px); }
.info-page h2 { font-size: 28px; margin-top: 32px; }
.info-page .eyebrow { color: #71563b; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.contact-details { font-style: normal; }
@media (min-width: 701px) { .menu-toggle { display: none; } }
@media (max-width: 700px) {
  .site-nav { flex-wrap: wrap; padding: 12px 16px; gap: 12px; }
  .site-brand { font-size: 21px; }
  .site-brand span { font-size: 10px; }
  .site-links { width: 100%; flex-direction: column; }
  .has-site-menu .menu-toggle[aria-expanded="false"] + .site-links { display: none; }
  .info-page { margin: 24px 12px 40px; padding: 24px 20px; }
}
/* Two book cards per row, with one column on small screens. */
#main { max-width: 1200px; }
#intro { min-height: 0 !important; }
#intro .intro-container { min-height: 390px; }
.book-category { overflow: hidden; }
.book-category > summary { background: #e8ddc9; border-bottom: 1px solid #c7baa4; }
.book-category .category-title { color: #493925; font-weight: bold; font-size: clamp(18px, 2.5vw, 24px); }
.category-thumbnail { width: 42px; height: 54px; object-fit: contain; flex: 0 0 42px; }
.category-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 20px; }
.category-content > .centered, #speakers > .centered { min-width: 0; width: 100%; max-width: none; margin: 0; padding: 24px; background: #fffcf5; border: 1px solid #d5c9b5; border-radius: 5px; text-align: left; font-size: 16px; line-height: 1.6; }
#speakers .centered h2 { color: #493925; font-weight: bold; font-size: 24px; line-height: 1.3; }
#speakers .centered h3 { color: #695941; font: 16px/1.5 Arial, sans-serif; margin-bottom: 12px; }
#speakers .centered img { display: block; width: auto !important; max-width: 100%; max-height: 210px; margin: 0 auto; object-fit: contain; }
#speakers .centered .book-link, #speakers .centered .medium-link { font-size: 17px; font-weight: bold; }
#speakers .centered i { font-size: 14px !important; font-style: normal; color: #605443; }
#speakers .centered i[style] { font-size: 16px !important; color: #302a23; }
.category-content > :not(.centered) { grid-column: 1 / -1; }
@media (max-width: 700px) {
  .category-content { grid-template-columns: 1fr; padding: 12px; gap: 12px; }
  .category-content > .centered { padding: 20px 16px; }
  .book-category > summary { flex-wrap: nowrap; gap: 8px; padding: 14px 10px; }
  .category-count { font-size: 12px; margin-left: 0; white-space: normal; text-align: right; }
  #intro .intro-container { min-height: 320px; }
}

#main.info-page { max-width: 850px; }

/* Home catalog: prominent browsing controls and two desktop category columns. */
#catalog-controls { max-width: none; margin: 20px 24px 24px; padding: 22px 20px; background: #e8ddc9; border: 1px solid #b49c78; border-radius: 6px; }
#catalog-controls p { color: #493925; font-size: 17px; }
#catalog-controls button { min-height: 48px; min-width: 165px; padding: 12px 24px; margin: 6px; border: 2px solid #493925; background: #493925; color: #fffcf5; font-size: 18px; font-weight: bold; box-shadow: 0 2px 4px #302a2320; }
#catalog-controls button:hover { background: #302a23; border-color: #302a23; }
#catalog-controls #collapse-all { background: #fffcf5; color: #493925; }
#catalog-controls #collapse-all:hover { background: #f0e7d7; }
#speakers.catalog-ready { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; }
#speakers.catalog-ready .book-category { min-width: 0; width: 100%; margin: 0; }
#speakers.catalog-ready .category-content { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) {
  #speakers.catalog-ready { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  #catalog-controls { margin: 20px 12px; padding: 18px 12px; }
  #catalog-controls button { min-width: 140px; }
}
