/* Public-website cookie-consent modal (category-based) + reopen button. */

.rosterli-consent-modal .modal-content {
	border: 0;
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
}

.rosterli-consent-modal .rosterli-consent-categories {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	border-top: 1px solid var(--bs-border-color-translucent);
}

.rosterli-consent-modal .rosterli-consent-category {
	border-bottom: 1px solid var(--bs-border-color-translucent);
	margin: 0;
	padding-left: 0.25rem;
	padding-right: 0.25rem;
}

.rosterli-consent-modal .rosterli-consent-category .form-check-input {
	margin-left: 0;
	margin-top: 0.35rem;
}

/* Strictly-necessary switch is read-only: keep it visibly "on" but inert. */
.rosterli-consent-modal .rosterli-consent-category .form-check-input:disabled {
	opacity: 1;
	cursor: not-allowed;
}

.rosterli-consent-modal .form-check-label {
	cursor: pointer;
}

.rosterli-consent-modal .form-check-input:disabled ~ .form-check-label {
	cursor: default;
}

.rosterli-consent-reopen {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 1040;
	border-radius: 999px;
	padding: 0.45rem 0.6rem;
	line-height: 1;
}

.rosterli-consent-reopen[hidden] {
	display: none !important;
}

@media (max-width: 575.98px) {
	.rosterli-consent-modal .modal-dialog {
		margin: 0.5rem;
	}
}
