/* MCC Beursagenda */
:root {
  --agenda-accent: var(--bs-primary, #0d6efd);
  --agenda-border: #e3e3e3;
  --agenda-muted: #6c757d;
}

/* Toolbar */
.agenda-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 20px;
}
.agenda-search {
  flex: 1 1 280px;
  max-width: 480px;
}
.agenda-period {
  margin-bottom: 10px;
}

/* List view */
.agenda-month {
  font-size: 1.15rem;
  font-weight: 600;
  text-transform: capitalize;
  border-bottom: 2px solid var(--agenda-border);
  padding-bottom: 6px;
  margin: 28px 0 12px;
}
.agenda-item {
  display: flex;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--agenda-border);
}
.agenda-item.is-past {
  opacity: .7;
}
.agenda-date {
  flex: 0 0 64px;
  text-align: center;
  line-height: 1.1;
}
.agenda-date span {
  display: block;
}
.agenda-date-weekday,
.agenda-date-month {
  font-size: .8rem;
  text-transform: uppercase;
  color: var(--agenda-muted);
}
.agenda-date-day {
  font-size: 1.9rem;
  font-weight: 700;
}
.agenda-body {
  flex: 1 1 auto;
  min-width: 0;
}
.agenda-when,
.agenda-where {
  font-size: .9rem;
  color: var(--agenda-muted);
}
.agenda-title {
  font-size: 1.25rem;
  margin: 4px 0;
}
.agenda-title a {
  text-decoration: none;
}
.agenda-summary {
  margin: 8px 0 4px;
}
.agenda-more {
  font-size: .9rem;
  text-decoration: none;
}
.agenda-thumb {
  flex: 0 0 200px;
  max-width: 200px;
}
.agenda-empty {
  padding: 30px 0;
  color: var(--agenda-muted);
}
.agenda-pagination {
  margin-top: 16px;
}
.agenda-subscribe {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0;
  padding-top: 16px;
  border-top: 1px solid var(--agenda-border);
}

/* Month view */
.agenda-month-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}
.agenda-month-nav h2 {
  font-size: 1.3rem;
  margin: 0 0 0 10px;
  text-transform: capitalize;
}
.agenda-grid {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.agenda-grid th {
  text-align: center;
  font-size: .8rem;
  text-transform: uppercase;
  color: var(--agenda-muted);
  padding: 6px 0;
}
.agenda-grid td {
  vertical-align: top;
  height: 100px;
  padding: 4px;
  border: 1px solid var(--agenda-border);
}
.agenda-grid td.is-outside {
  background: #f8f9fa;
  color: #adb5bd;
}
.agenda-grid td.is-today .agenda-grid-day {
  background: var(--agenda-accent);
  color: #fff;
  border-radius: 50%;
}
.agenda-grid-day {
  display: inline-block;
  min-width: 24px;
  line-height: 24px;
  text-align: center;
  font-size: .85rem;
  font-weight: 600;
}
.agenda-grid-event {
  display: block;
  margin-top: 3px;
  padding: 2px 5px;
  font-size: .78rem;
  line-height: 1.3;
  border-radius: 3px;
  background: var(--agenda-accent);
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.agenda-grid-event:hover {
  color: #fff;
  filter: brightness(1.1);
}
.agenda-grid-event.is-past {
  background: var(--agenda-muted);
}

/* Detail page */
.agenda-back {
  display: inline-block;
  margin-bottom: 10px;
  text-decoration: none;
}
.agenda-facts dt {
  font-weight: 600;
  margin-top: 12px;
}
.agenda-facts dd {
  margin: 2px 0 0 22px;
}
.agenda-add {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 18px 0;
}
.agenda-add-label {
  font-weight: 600;
}
.agenda-image {
  margin-bottom: 16px;
}
.agenda-description {
  margin-top: 20px;
}

/* Layout module (widget) */
.agenda-widget .list-group-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.agenda-widget .agenda-date {
  flex: 0 0 44px;
}
.agenda-widget .agenda-date-day {
  font-size: 1.3rem;
}
.agenda-widget-title {
  font-weight: 600;
  display: block;
}
.agenda-widget-meta {
  font-size: .8rem;
  color: var(--agenda-muted);
}

/* Small screens */
@media (max-width: 767.98px) {
  .agenda-item {
    flex-wrap: wrap;
    gap: 12px;
  }
  .agenda-date {
    flex-basis: 52px;
  }
  .agenda-body {
    flex-basis: calc(100% - 64px);
  }
  .agenda-thumb {
    flex-basis: 100%;
    max-width: 100%;
  }
  .agenda-grid td {
    height: 56px;
    padding: 2px;
  }
  .agenda-grid-event {
    font-size: 0;
    height: 6px;
    padding: 0;
  }
}
