/**
 * Utilities & responsive helpers
 */
.fc-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.fc-m-0 { margin: 0 !important; }
.fc-mt-2 { margin-top: var(--fc-space-2) !important; }
.fc-mt-4 { margin-top: var(--fc-space-4) !important; }
.fc-mb-2 { margin-bottom: var(--fc-space-2) !important; }
.fc-mb-4 { margin-bottom: var(--fc-space-4) !important; }
.fc-mb-6 { margin-bottom: var(--fc-space-6) !important; }
.fc-p-4 { padding: var(--fc-space-4) !important; }
.fc-gap-2 { gap: var(--fc-space-2) !important; }
.fc-gap-4 { gap: var(--fc-space-4) !important; }
.fc-w-full { width: 100% !important; }
.fc-min-w-0 { min-width: 0 !important; }

.fc-border { border: 1px solid var(--fc-color-border) !important; }
.fc-rounded { border-radius: var(--fc-radius-md) !important; }
.fc-rounded-lg { border-radius: var(--fc-radius-lg) !important; }
.fc-shadow-sm { box-shadow: var(--fc-shadow-sm) !important; }
.fc-bg-surface { background: var(--fc-color-surface) !important; }
.fc-bg-muted { background: var(--fc-color-bg) !important; }

.fc-hide-mobile { display: none !important; }
.fc-hide-desktop { display: initial !important; }

@media (min-width: 48rem) {
	.fc-hide-mobile { display: initial !important; }
	.fc-hide-desktop { display: none !important; }
}

@media (max-width: 47.98rem) {
	.fc-portal-definition-list > div {
		grid-template-columns: 1fr !important;
	}
}
