/* ------------------------- */
/* BODY & PAGE */
body {
  background: #f4f1ee;
  background-image: url("diary_pics/gradient.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;

  font-family: serif;
  color: #2b2b2b;
  margin: 0;
}

.page {
  width: 900px;
  margin: 40px auto;
}

/* ------------------------- */
/* TOP TITLE BOX */
.title-box {
  border: 1px solid #aaa;
  padding: 20px;
  text-align: left; /* aligns image left, text can stay left too */
  margin-bottom: 20px;
  background-image: url("diary_pics/banner.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-attachment: fixed;
  height: 100px;
  width: 670px; /* keeps box size fixed */
  overflow: hidden; /* prevents image from expanding box */
}

.title-box img {
  display: block;
  width: 250px; /* bigger image without changing box size */
  height: auto;
  margin-bottom: 10px;
}

/* ------------------------- */
/* MAIN ROW */
.main-row {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

/* ------------------------- */
/* NAV BOX */
.nav-box {
  width: 180px;
  border: 1px solid #aaa;
  padding: 10px;
  font-size: 14px;
  background-color: #f4f1ee;
}

.nav-box h2 {
  margin-top: 0;
  font-size: 16px;
  text-align: center;
  margin-bottom: 10px;
}

.month p {
  font-weight: bold;
  margin-bottom: 5px;
}

.month ul {
  list-style: none;
  padding-left: 0;
}

.month li {
  margin-bottom: 4px;
}

.month a {
  text-decoration: none;
  color: #555;
}

.month a:hover {
  text-decoration: underline;
}

/* ------------------------- */
/* DIARY BOX */
.diary-box {
  flex: 1;
  border: 1px solid #aaa;
  padding: 15px;
  height: 400px;

  /* Grid background stays fixed inside box */
  background-image: url("diary_pics/grid.jpg");
  background-repeat: no-repeat;       /* no tiling */
  background-size: cover;             /* fill the diary box */
  background-attachment: local;       /* key: stays fixed when scrolling entries */
  
  overflow-y: auto;                   /* scroll entries */
  position: relative;
}

.diary-box iframe.diary-frame {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* ------------------------- */
/* ENTRY BOXES (if needed in future) */
.entry {
  border-bottom: 1px dashed #ccc;
  padding: 10px 15px;
  margin-bottom: 15px;
  background-color: transparent;
}

.entry h3 {
  margin-top: 0;
}

/* ------------------------- */
/* PHOTO BOX */
.photo-box {
  width: 160px;
  border: 1px solid #aaa;
  padding: 5px;
  background-color: #f4f1ee;
}

.photo-box img {
  width: 100%;
  display: block;
}
