.agenda-item {
  grid-template-columns: 112px 1fr;
  align-items: start;
}

.agenda-date {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 112px;
  padding: 12px;
  border-radius: 16px;
  background: #fff;
  color: #0a1a30;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .22);
  line-height: 1;
}

.agenda-date strong { font-size: 3rem; letter-spacing: -.08em; }
.agenda-date span { margin-top: 7px; font-size: .78rem; font-weight: 900; letter-spacing: .14em; color: #386ca6; }
.agenda-date small { margin-top: 11px; color: #496078; font-weight: 700; text-transform: none; }
.agenda-full-date { margin: 0 0 4px; color: var(--accent-2); font-size: .88rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.agenda-item h2 { margin: 0; }
.location-link a { color: #d4e8ff; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(108, 181, 255, .55); text-underline-offset: 3px; }
.location-link a:hover { color: #fff; text-decoration-color: var(--accent); }
.location-link a:focus-visible { outline: 3px solid rgba(99, 169, 248, .42); outline-offset: 3px; border-radius: 3px; }
.agenda-item:has(.agenda-image) { grid-template-columns: 112px minmax(0, 1fr) 238px; gap: 20px; }
.agenda-item:has(.agenda-image) > div { min-width: 0; }
.agenda-image { width: 238px; height: 148px; margin: 0; overflow: hidden; border-radius: 14px; border: 1px solid rgba(255,255,255,.12); align-self: center; }
.agenda-image img { display: block; width: 100%; height: 148px; object-fit: cover; }
.event-card { grid-template-columns: 96px 1fr; }
.event-card .agenda-date { min-height: 96px; padding: 9px; }
.event-card .agenda-date strong { font-size: 2.5rem; }
.event-card .agenda-date small { margin-top: 8px; }
.event-card .agenda-full-date { margin-top: 2px; }
.soft-section .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.course-links { margin-top: 42px; padding: 24px; border: 1px solid var(--card-border); border-radius: 20px; background: var(--card); }
.course-links p { margin-top: 0; }

@media (max-width: 760px) {
  .soft-section .cards { grid-template-columns: 1fr; }
  .agenda-item { grid-template-columns: 86px 1fr; gap: 17px; }
  .agenda-item:has(.agenda-image) { grid-template-columns: 86px 1fr; }
  .agenda-image { grid-column: 1 / -1; width: 100%; height: 190px; }
  .agenda-image img { height: 190px; }
  .agenda-date { min-height: 90px; border-radius: 13px; }
  .agenda-date strong { font-size: 2.35rem; }
  .agenda-date small { font-size: .72rem; }
}
