/* Base */
body {
  font-family: "Garamond", "EB Garamond", serif;
  background: #f9f9f9;
  color: #222;
}

/* Centered layout */
main {
  max-width: 750px;
  width: auto;
  margin: 60px auto;
  padding: 0 6.5%;
  line-height: 1.6;

  /* transition for content changes */
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Fade effect helper */
main.fade-out {
  opacity: 0;
  transform: translateY(10px);
}

/* Header / Title */
.site-header {
  text-align: center;
  margin-top: 40px;
}

.day-header {
  text-align: center;
  margin-top: 20px;
}

/* Large elegant title */
.site-title {
  display: block;
  font-size: 40px;
  font-weight: normal;
  letter-spacing: 1px;
  padding-top: 20px;
  margin: 40px;

  /* subtle elegance */
  color: #111;
}

.day-title {
  font-size: 22px;
  font-weight: normal;
  padding-top: 20px;
}

/* Slight spacing before nav */
.main-nav {
  /* margin-top: 10px; */
}

/* --- NAVIGATION --- */

/* Container for navbars */
.main-nav,
.sub-nav {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding-top: 10px;
  margin-top: 40px;
}

/* Tabs (shared style) */
.main-nav button,
.sub-nav button {
  font-family: "Garamond", "EB Garamond", serif;
  border: none;
  background: white;
  padding: 10px 18px;
  cursor: pointer;

  border-radius: 10px;
  font-size: 16px;

  /* box-shadow: 0 2px 6px rgba(0,0,0,0.08); */

  transition: all 0.25s ease;
}

/* Hover effect */
.main-nav button:hover,
.sub-nav button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* Active tab */
.main-nav button.active,
.sub-nav button.active {
  background: #aaa;
  color: white;
  font-weight: bold;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Subnav spacing */
.sub-nav {
  margin-top: 10px;
}

/* Typography tweaks */
h1 {
  font-weight: normal;
  font-size: 36px;
}

p {
  font-size: 24px;
  text-align: justify;
}