.itlu-event-calendar {
	container-type: inline-size;
}

.itlu-event-calendar--boxed {
	padding: var(--itlu-card-padding);
	border: var(--itlu-card-border-width) var(--itlu-border-style) var(--itlu-card-border-color);
	border-radius: var(--itlu-card-radius);
	background: var(--itlu-card-background);
	box-shadow: var(--itlu-card-shadow);
}

.itlu-event-calendar__header,
.itlu-event-calendar__header nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--itlu-space-3) var(--itlu-space-4);
	align-items: center;
	justify-content: space-between;
}

.itlu-event-calendar__table-wrap {
	overflow-x: auto;
	margin-block: var(--itlu-space-4);
}

.itlu-event-calendar table {
	inline-size: 100%;
	min-inline-size: var(--itlu-width-reading);
	border-collapse: collapse;
	table-layout: fixed;
}

.itlu-event-calendar th,
.itlu-event-calendar td {
	padding: var(--itlu-space-2);
	border: var(--itlu-border-width) var(--itlu-border-style) var(--itlu-color-border);
	vertical-align: top;
}

.itlu-event-calendar td > time {
	display: block;
	font-weight: var(--itlu-font-weight-strong);
}

.itlu-event-calendar td .itlu-events-list {
	margin-block-start: var(--itlu-space-2);
	font-size: var(--itlu-font-size-small);
}

.itlu-event-calendar__empty {
	background: var(--itlu-color-surface-alt);
}

@container (max-width: 45rem) {

	.itlu-event-calendar__header {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {

	.itlu-event-calendar * {
		scroll-behavior: auto;
	}
}
