@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Nunito+Sans:wght@400;600;700&display=swap');

/* W&M Primary Palette -- https://www.wm.edu/brand/visual-brand/color-palette/ */
[data-md-color-primary="custom"] {
  --md-primary-fg-color:        #004E38; /* W&M Green */
  --md-primary-fg-color--light: #28463D; /* Griffin Green */
  --md-primary-fg-color--dark:  #00231B; /* Dark Green */
  --md-primary-bg-color:        #FFFFFF;
  --md-primary-bg-color--light: #FFFFFF;
}

[data-md-color-accent="custom"] {
  --md-accent-fg-color:               #866f45; /* Accessible Gold (WCAG-safe variant of W&M Gold #B79257) */
  --md-accent-fg-color--transparent:  #866f4526;
  --md-accent-bg-color:               #FFFFFF;
  --md-accent-bg-color--light:        #FFFFFF;
}

:root {
  --wm-green: #004E38;
  --wm-gold: #B79257;
  --wm-gold-accessible: #866f45;
  --wm-silver: #D8DCDB;
  --wm-sage: #B8DDB1;
  --wm-patina: #76A190;
}

/* Widen the content column ~15% beyond Material's default (61rem -> 70rem) */
.md-grid {
  max-width: 70rem;
}

/* Headings get a nod to W&M's Baskerville heading style (Avenir/Baskerville require a paid license,
   so we use the free alternatives recommended by W&M Libraries: Nunito Sans for body, Libre Baskerville for headings) */
h1, h2, h3,
.md-typeset h1, .md-typeset h2, .md-typeset h3 {
  font-family: "Libre Baskerville", Georgia, serif;
  font-weight: 700;
  color: var(--wm-green);
}

.md-typeset a {
  color: var(--wm-green);
  font-weight: 700;
}
.md-typeset a:hover {
  color: var(--wm-gold-accessible);
}

/* Table styling with W&M silver/sage accents */
.md-typeset table:not([class]) {
  font-size: 1em; /* Material shrinks tables by default; match regular body text instead */
}
.md-typeset table:not([class]) th {
  background-color: var(--wm-green);
  color: #ffffff;
  font-family: "Nunito Sans", sans-serif;
}
.md-typeset table:not([class]) tr:nth-child(even) {
  background-color: #f4f6f5;
}
.md-typeset table:not([class]) tr:hover {
  background-color: var(--wm-sage);
}

/* Card grid for the Projects page */
.wm-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.wm-card {
  border: 1px solid var(--wm-silver);
  border-top: 4px solid var(--wm-gold);
  border-radius: 6px;
  padding: 0.65rem 0.9rem;
  background: #ffffff;
}
.wm-card h3 {
  margin: 0 0 0.15rem;
  font-size: 0.9rem;
}
.wm-card .wm-meta {
  font-size: 0.75rem;
  color: var(--wm-patina);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.25rem;
}
.wm-card p, .wm-card {
  line-height: 1.4;
}

/* Secondary summary line under each Schedule topic */
.wm-sched-sub {
  display: inline-block;
  margin-top: 0.15rem;
  font-size: 0.82rem;
  color: #55625c;
}

/* Inline slide/reading links next to a lecture title on the Schedule page */
.wm-sched-links {
  display: block;
  margin-top: 0.2rem;
  margin-left: 0.5rem;
  font-size: 0.78rem;
  font-weight: 400;
}
.wm-sched-links a {
  color: var(--wm-gold-accessible);
}

/* Announcement boxes on the Home page (each is a plain markdown paragraph
   tagged with {: .wm-announcement } via attr_list -- keeps link/markdown
   processing simple and reliable, no raw nested HTML blocks involved) */
.wm-announcement {
  display: block;
  border: 1px solid var(--wm-silver);
  border-left: 4px solid var(--wm-green);
  border-radius: 6px;
  padding: 0.8rem 1.1rem;
  margin: 1rem 0;
  background: #f9fbfa;
  color: #1c1c1c;
}
.wm-announcement-date {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wm-patina);
  margin-bottom: 0.25rem;
}

/* Member name pills on the Teams section of the Projects page */
.wm-member-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.55rem;
}
.wm-member {
  display: inline-block;
  background: #f4f6f5;
  border: 1px solid var(--wm-silver);
  border-radius: 20px;
  padding: 0.15rem 0.6rem;
  font-size: 0.78rem;
  color: #1c1c1c;
  white-space: nowrap;
}
