/* Be a B.E.A.S.T — site-specific static styles */

/* Header logo: never overflow the viewport */
.site-logo a { display: inline-block; max-width: 100%; }
.site-logo img.header-image,
.header-image.is-logo-image {
  max-width: 100%;
  height: auto;
  width: auto;
  display: block;
}
@media (max-width: 768px) {
  .inside-header { padding: 20px 16px !important; }
  .site-logo { text-align: center; }
  .site-logo img.header-image {
    max-height: 72px;
    margin: 0 auto;
  }
}

/* Mobile menu: GeneratePress hides ul under 768px; reveal when toggled */
@media (max-width: 768px) {
  .main-navigation.toggled ul {
    display: block;
  }
  .main-navigation.toggled .menu-toggle {
    background-color: #3f3f3f;
  }
}

/* Search control in the nav bar */
.nav-search-item a {
  display: inline-block;
  padding: 0 14px;
  line-height: 42px;
  color: #ffffff;
  text-decoration: none;
  font-family: "Merriweather Sans", sans-serif;
  font-weight: 300;
  font-size: 13px;
}
.nav-search-item a:hover,
.nav-search-item a:focus {
  background-color: #3f3f3f;
  color: #ffffff;
}
@media (max-width: 768px) {
  .nav-search-item a { display: block; }
}

/* Images in content */
.entry-content img,
.inside-article img {
  max-width: 100%;
  height: auto;
}

/* Cookie notice */
.cookie-notice {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #222222;
  color: #ffffff;
  padding: 14px 20px;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
  font-size: 15px;
  line-height: 1.5;
}
.cookie-notice[hidden] { display: none !important; }
.cookie-notice-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cookie-notice a { color: #ffffff; text-decoration: underline; }
.cookie-notice a:hover { color: #cccccc; }
.cookie-notice-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.cookie-notice button {
  cursor: pointer;
  border: 0;
  border-radius: 3px;
  padding: 8px 16px;
  font-size: 14px;
  font-family: "Merriweather Sans", sans-serif;
}
.cookie-notice .cookie-accept { background: #1e73be; color: #fff; }
.cookie-notice .cookie-accept:hover { background: #155a96; }
.cookie-notice .cookie-decline { background: #444; color: #fff; }
.cookie-notice .cookie-decline:hover { background: #333; }

/* Holding pages */
.holding-page { text-align: left; }
.holding-page .holding-actions { margin-top: 1.5em; }
.holding-page .holding-actions a {
  display: inline-block;
  margin-right: 0.75em;
  margin-bottom: 0.5em;
}

/* Search page */
.search-page .search-box {
  display: flex;
  gap: 8px;
  margin-bottom: 1.5em;
}
.search-page input[type="search"] {
  flex: 1;
  padding: 8px 12px;
  font-size: 18px;
}
.search-page button[type="submit"] {
  padding: 8px 18px;
}
.search-results-count { color: #595959; margin-bottom: 1em; }
.search-hit { margin-bottom: 1.5em; padding-bottom: 1em; border-bottom: 1px solid #eee; }
.search-hit h2 { margin: 0 0 0.25em; font-size: 24px; }
.search-hit .hit-meta { color: #595959; font-size: 0.9em; margin-bottom: 0.4em; }
.no-results { color: #595959; }

/* 404 */
.page-title { font-family: "Lora", serif; font-weight: 500; }

/* ConvertKit form tweaks so it fits the 700px column */
.formkit-form, .seva-form { max-width: 100%; }
.formkit-form img { max-width: 100%; height: auto; }

/* Spotify / Anchor embeds */
.entry-content iframe {
  max-width: 100%;
}

/* Back to top */
a.generate-back-to-top {
  position: fixed;
  right: 20px;
  bottom: 80px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 2px;
  text-decoration: none;
  display: none;
  z-index: 100;
}
a.generate-back-to-top.is-visible { display: block; }

/* Footer bar menus stay horizontal and wrap */
.footer-bar .menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 1.25em; }
.footer-bar .menu a { color: #fff; }
.site-info a { text-decoration: none; }
.copyright-bar { margin-top: 0.5em; }

/* Don't let pasted ChatGPT heading styles leak if any remain */
.entry-content h1,
.entry-content h2,
.entry-content h3 {
  font-family: "Lora", serif;
}

/* Room for the fixed cookie bar so it doesn't cover the last lines of copy */
body.has-cookie-notice { padding-bottom: 130px; }
@media (max-width: 768px) {
  body.has-cookie-notice { padding-bottom: 170px; }
}
