/* Only the explicit web-calendar choice panel and its event modal. */
.calendar-actions { min-width: 0; max-width: 100%; }
.calendar-actions[hidden], .calendar-actions [hidden] { display: none !important; }
.calendar-actions > summary { cursor: pointer; list-style: none; flex-wrap: wrap; text-align: center; }
.calendar-actions > summary::-webkit-details-marker { display: none; }
.calendar-actions > summary .bi-chevron-down { margin-left: .3rem; }
.calendar-actions[open] > summary .bi-chevron-down { transform: rotate(180deg); }
.calendar-actions__panel { display: grid; gap: .85rem; margin-top: .75rem; padding: 1rem; border: 1px solid #dce4ed; border-radius: 16px; background: #fff; color: #253a52; }
.calendar-actions__panel p { margin: 0; color: inherit; font-size: .95rem; line-height: 1.5; }
.calendar-actions__links { display: grid; gap: .6rem; min-width: 0; }
.calendar-actions__links .btn { min-width: 0; white-space: normal; flex-wrap: wrap; justify-content: flex-start; text-align: left; }
.calendar-actions__links small { flex-basis: 100%; font-size: .8rem; font-weight: 400; }
.calendar-actions__panel .calendar-actions__note { color: #526477; font-size: .82rem; }
.event-modal__dialog:has(.calendar-actions) { max-height: calc(100dvh - 32px); overflow-y: auto; }
.event-modal__actions > .calendar-actions { flex-basis: 100%; }
@media (max-width: 600px) {
  .congress-teaser-copy .hero-actions > .calendar-actions { width: 100%; }
  .congress-teaser-copy .calendar-actions > summary { width: 100%; }
}
