/* Event Calendar Component styles
   Add this file as css/calendar.css and link it in calendar.html,
   or merge these rules into the existing css/style.css. */

:root {
  --cal-accent: #2b5797;
  --cal-border: #e2e2e2;
  --cal-bg-date: #f4f6f9;
  --cal-text: #222;
  --cal-muted: #6b7280;
}

.cal-list {
  max-width: 720px;
}

.cal-month h1 {
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--cal-accent);
  border-bottom: 2px solid var(--cal-accent);
  padding-bottom: 4px;
  margin: 1.5rem 0 0.75rem;
}

article.cal {
  display: block;
  margin-bottom: 0.75rem;
}

.cal-wrapper {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  border: 1px solid var(--cal-border);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  background: #fff;
}

.cal-date {
  flex: 0 0 48px;
  background: var(--cal-bg-date);
  border-radius: 6px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  padding: 0.5rem 0;
  color: var(--cal-accent);
}

.cal-title h1 {
  font-size: 1rem;
  margin: 0 0 0.15rem;
  color: var(--cal-text);
}

.cal-title {
  flex: 1;
}

.cal-title .cal-location {
  font-size: 0.85rem;
  color: var(--cal-muted);
}

.cal-event {
  flex: 2;
  font-size: 0.9rem;
  color: var(--cal-muted);
  border-left: 1px solid var(--cal-border);
  padding-left: 1rem;
}

.cal-empty,
.cal-loading {
  font-style: italic;
  color: var(--cal-muted);
}

.cal-error {
  color: #a33;
}

@media (max-width: 560px) {
  .cal-wrapper {
    flex-direction: column;
  }
  .cal-event {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid var(--cal-border);
    padding-top: 0.5rem;
  }
}
