:root {
  --clr-range: #555;
  --clr-today-ring: #1da1f2;
}
.calendar-intro-section {
  max-width: 700px;
  margin: 0 auto 0.5em auto;
  padding-top: 2.5em;
  text-align: center;
}
.calendar-intro-section h2 {
  margin-bottom: 0.5em;
  font-size: 2.2em;
  font-weight: 600;
  color: #8B7355;
}
.calendar-intro-section p {
  margin-bottom: 0.5em;
  font-size: 1.13em;
  color: #333;
}
.calendar-section {
  margin-top: 0.2em;
  width: 100%;
  /* Remove flex and height styles if present */
  display: block;
  padding-bottom: 2em;
}
#horizon-calendar {
  width: 100%;
}
.months-container {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  max-width: 700px;
  margin: 0 auto;
  justify-content: center;
}
.calendar-nav {
  display: flex;
  justify-content: center;
  margin-bottom: 0.5em;
}
.month {
  /* Remove grid layout from .month, keep only padding and box-sizing */
  padding: 16px;
  box-sizing: border-box;
}
.days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}
.month-header {
  grid-column: span 7;
  text-align: center;
  font-weight: 600;
  font-size: 1.1em;
  margin-bottom: 8px;
}
.weekdays {
  grid-column: span 7;
  display: grid; grid-template-columns: repeat(7, 1fr);
  font-size: 0.97em;
  color: #888;
  margin-bottom: 4px;
}
.weekday { text-align: center; }
.day {
  min-width: 40px; min-height: 40px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; user-select: none;
  border-radius: 8px;
  font-size: 1.08em;
  transition: background 0.2s, color 0.2s;
}
.range-start,
.range-end,
.in-range {
  background-color: var(--clr-range, #555);
  transition: background-color 0.2s ease;
}
.range-start {
  border-radius: 4px 0 0 4px;
}
.range-end {
  border-radius: 0 4px 4px 0;
}
.day.today {
  border: 2px solid var(--clr-today-ring, #1da1f2);
  border-radius: 50%;
}
.day.blocked {
  background: #eee;
  color: #bbb;
  pointer-events: none;
  text-decoration: none;
}

.day:hover:not(.blocked):not(.range-start):not(.range-end):not(.in-range) {
  background: #eaf4ff;
  color: #222;
}
main h2, main h3, section h2, section h3 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media(max-width:480px){
  .months-container { flex-direction: column; }
  .month { padding: 8px; gap: 4px; }
  .calendar-section { height: auto; min-height: 100vh; }
} 