/* ===================================================================
   NW Bee Club — base
   Resets and type defaults for new-design pages.
   Loaded AFTER legacy styles.css; uses .al-page / .ed-page scopes
   to avoid breaking unmigrated pages.
   =================================================================== */

/* ---- Almanac (public) page scope ---------------------------------- */
body.al-page {
  margin: 0;
  padding: 0;
  background: var(--al-paper);
  background-image: radial-gradient(
    rgba(122, 87, 10, 0.05) 1px,
    transparent 1px
  );
  background-size: 4px 4px;
  color: var(--al-ink);
  font-family: var(--ff-body);
  font-size: var(--fs-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.al-page * {
  box-sizing: border-box;
}

body.al-page h1,
body.al-page h2,
body.al-page h3,
body.al-page h4 {
  font-family: var(--ff-display);
  color: var(--al-ink);
  letter-spacing: -0.3px;
  line-height: 1.15;
  margin: 0;
  font-weight: 600;
}

body.al-page p {
  margin: 0;
}

body.al-page button {
  font-family: var(--ff-body);
  cursor: pointer;
}

/* ---- Editorial (members) page scope ------------------------------- */
body.ed-page {
  margin: 0;
  padding: 0;
  background: var(--ed-cream);
  color: var(--ed-ink);
  font-family: var(--ff-body);
  font-size: var(--fs-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.ed-page * {
  box-sizing: border-box;
}

body.ed-page h1,
body.ed-page h2,
body.ed-page h3,
body.ed-page h4 {
  font-family: var(--ff-display);
  color: var(--ed-ink);
  letter-spacing: -0.3px;
  line-height: 1.15;
  margin: 0;
  font-weight: 600;
}

body.ed-page p {
  margin: 0;
}

body.ed-page button {
  font-family: var(--ff-body);
  cursor: pointer;
}

/* ---- Reusable container ------------------------------------------- */
.al-container,
.ed-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media (max-width: 768px) {
  .al-container,
  .ed-container {
    padding-left: var(--gutter-mobile);
    padding-right: var(--gutter-mobile);
  }
}

/* ---- Visually hidden (accessibility) ------------------------------ */
.al-sr-only,
.ed-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
