body {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    text-align: center;
}

.logo-container {
    display: flex;
    justify-content: center; /* center horizontally */
    align-items: center;
    padding: 1rem 0;
}

.hut-logo {
    width: 100%;
    max-width: 150px;
    height: auto;
}

/* Cover Container: side-by-side layout with scroll if needed */
.covers {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 1rem;
    overflow-x: auto;
    padding: 1rem;
  }
  
  /* Make the images stay the same size */
  .covers img {
    max-width: 300px;
    width: 100%;
    height: auto;
    border-radius: 8px;
    cursor: pointer;
  }
  
  /* Add a black outline to all cover thumbnails */
  .covers img {
    border: 2px solid #000;
    border-radius: 8px;   /* keep your existing rounded corners */
    box-sizing: border-box;
  }
  /* Consistent size for cover thumbs */
  .covers img {
    width: clamp(180px, 40vw, 300px); /* responsive but capped */
    aspect-ratio: 2 / 3;              /* typical book ratio */
    object-fit: cover;                 /* crops if the source ratio differs */
    border: 2px solid #000;            /* your outline */
    border-radius: 8px;
    box-sizing: border-box;
    display: block;
  }
  /* Outline for images shown in the Lightbox overlay */
  .lb-image {
    border: 2px solid #000 !important;
    box-sizing: border-box;
    border-radius: 8px;
  }
  /* Make sure the button stays below */
  .download-button-wrapper {
    text-align: center;
    margin-top: 2rem;
  }
  
  .hut-button {
    display: inline-block;
    padding: 16px 32px;
    font-size: 24px;
    background-color: #02407a;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    transition: 0.3s ease;
  }
  
  .hut-button:hover {
    background-color: #71b4fa;
    color: #fff;
  }

  @media (max-width: 600px) {
    .hut-logo img {
      max-width: 80px;
    }
  }
.navbar {
  background: transparent;
  padding: 0.75rem 0;
}

/* Centered, constrained pill */
.nav-wrap {
  box-sizing: border-box;
  max-width: 960px;
  width: min(100% - 2rem, 960px);   /* keep inside viewport */
  margin: 0 auto;
  padding: 0.5rem 1rem;
  background-color: #02407a;
  border-radius: 9999px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  overflow: hidden;                 /* prevent bleed */
  padding-left: max(1rem, env(safe-area-inset-left));
  padding-right: max(1rem, env(safe-area-inset-right));
}

.nav-wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: clamp(0.5rem, 3.5vw, 2rem);  /* responsive gap */
  flex-wrap: nowrap;                /* keep one row */
}

.nav-wrap li { flex: 0 0 auto; min-width: 0; }

.nav-wrap a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  white-space: nowrap;                         /* one line per tab */
  font-size: clamp(14px, 3.8vw, 18px);         /* auto-shrink on small screens */
  padding: clamp(8px, 2.2vw, 12px) clamp(10px, 3.8vw, 18px); /* auto-shrink padding */
  border-radius: 8px;
  transition: background-color .3s ease, color .3s ease;
}

.nav-wrap a:hover { background-color: #71b4fa; color: #fff; }

/* Extra tightening for very small phones */
@media (max-width: 360px) {
  .nav-wrap ul { gap: 0.5rem; }
}
