#calendar {
  max-width: 800px;
  margin: 20px auto;
  width: 95%;
}

#weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
}

.week-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-top: 6px;
}

.day-cell {
  border: 1px solid #ddd;
  border-radius: 6px;
  min-height: 80px;
  padding: 0.5rem;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 4px;
}
.day-cell.empty-day {
  background: transparent;
  border: 1px solid transparent; /* keeps spacing but looks empty */
}

#month-states {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px auto 0;
}

#month-label {
  margin: 0;
  text-align: center;
}
#previous-month,
#next-month {
  position: fixed;
  bottom: 10px;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: white;
  cursor: pointer;
  z-index: 1000;
}

/* Place them side by side */
#previous-month {
  right: 140px;
}

#next-month {
  right: 20px;
}
#controls {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 12px auto;
}
.event-btn {
  font-size: 0.7rem;
  padding: 2px 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #f5f5f5;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
