.list-group-item-action {
	color: $cadmin-list-group-action-color;
	text-align: inherit;
	width: 100%;

	&:hover,
	&:focus {
		background-color: $cadmin-list-group-hover-bg;
		color: $cadmin-list-group-action-hover-color;
		text-decoration: none;
		z-index: 1;
	}

	&:active {
		background-color: $cadmin-list-group-action-active-bg;
		color: $cadmin-list-group-action-active-color;
	}
}

.list-group {
	@include clay-css($cadmin-list-group);

	.list-group {
		@include clay-css(map-get($cadmin-list-group, list-group));
	}
}

// List Group Header

.list-group-header {
	align-items: center;
	background-color: $cadmin-list-group-header-bg;
	border: $cadmin-list-group-border-width solid
		$cadmin-list-group-border-color;
	display: flex;
	justify-content: space-between;
	margin-bottom: math-sign($cadmin-list-group-border-width);
	padding: $cadmin-list-group-header-padding-y
		$cadmin-list-group-header-padding-x;

	&:first-child {
		@include border-top-radius($cadmin-list-group-border-radius);
	}

	&:last-child {
		@include border-bottom-radius($cadmin-list-group-border-radius);
	}
}

.list-group-header-title {
	@include clay-text-typography($cadmin-list-group-header-title);
}

// List Group Title

.list-group-title {
	@include clay-text-typography($cadmin-list-group-title);
}

// List Group Subtitle

.list-group-subtitle {
	@include clay-text-typography($cadmin-list-group-subtitle);
}

// List Group Text

.list-group-text {
	@include clay-text-typography($cadmin-list-group-text);
}

// List Group Subtext

.list-group-subtext {
	@include clay-text-typography($cadmin-list-group-subtext);
}

// List Group Details

.list-group-detail {
	margin-bottom: $cadmin-list-group-detail-margin-bottom;
	margin-top: $cadmin-list-group-detail-margin-top;
}

// List Group Item

.show-dropdown-action-on-active {
	.list-group-item.active {
		.dropdown-action {
			.dropdown-menu {
				background-color: $cadmin-list-group-active-bg;
			}

			.dropdown-item {
				color: $cadmin-list-group-active-color;
			}
		}
	}
}

.list-group-item {
	background-color: $cadmin-list-group-bg;
	border: $cadmin-list-group-border-width solid
		$cadmin-list-group-border-color;
	color: $cadmin-list-group-color;
	display: block;
	padding: $cadmin-list-group-item-padding-y $cadmin-list-group-item-padding-x;
	position: relative;

	&:first-child {
		@include border-top-radius($cadmin-list-group-border-radius);
	}

	&:last-child {
		@include border-bottom-radius($cadmin-list-group-border-radius);
	}

	&.active {
		background-color: $cadmin-list-group-active-bg;
		border-color: $cadmin-list-group-active-border-color;
		color: $cadmin-list-group-active-color;
		z-index: 2;

		&:focus,
		&.focus {
			z-index: 2;
		}

		.dropdown-action .dropdown-toggle,
		.list-group-link {
			color: $cadmin-list-group-active-color;
		}

		.list-group-title,
		a.list-group-title,
		.list-group-title a {
			color: $cadmin-list-group-title-active-color;
		}

		.list-group-text,
		a.list-group-text,
		.list-group-text a {
			color: $cadmin-list-group-text-active-color;
		}

		.list-group-subtext,
		a.list-group-subtext,
		.list-group-subtext a {
			color: $cadmin-list-group-subtext-active-color;
		}

		.list-group-link {
			color: $cadmin-list-group-link-active-color;
		}
	}

	&.disabled,
	&:disabled {
		background-color: $cadmin-list-group-disabled-bg;
		color: $cadmin-list-group-disabled-color;
		pointer-events: none;
	}

	+ .list-group-item {
		border-top-width: 0;

		&.active {
			border-top-width: $cadmin-list-group-border-width;
			margin-top: math-sign($cadmin-list-group-border-width);
		}
	}
}

.list-group-item-flex {
	@include clay-css($cadmin-list-group-item-flex);

	&:last-child {
		margin-bottom: 0;
	}

	+ .list-group-item-flex {
		border-top-width: $cadmin-list-group-border-width;

		&.active {
			margin-top: 0;
		}
	}

	.autofit-col {
		@include clay-css(map-get($cadmin-list-group-item-flex, autofit-col));

		.custom-control:only-child {
			margin-bottom: 0;
			margin-top: $cadmin-list-group-item-flex-offset-top;

			.custom-control-input,
			.custom-control-label::before,
			.custom-control-label::after {
				margin-top: $cadmin-list-group-item-flex-checkbox-offset-top;
			}
		}

		.form-check:only-child {
			margin-bottom: 0;
			margin-top: $cadmin-list-group-item-flex-offset-top;
			padding-top: $cadmin-list-group-item-flex-checkbox-offset-top;
		}

		.sticker:only-child {
			margin-top: $cadmin-list-group-item-flex-offset-top;
		}

		.list-group-title:only-child {
			align-items: center;
			display: flex;
			margin-top: 0;
			min-height: 32px;

			// IE11 flexbox min-height workaround

			&::after {
				content: '';
				display: block;
				min-height: inherit;
			}
		}

		.dropdown-action {
			margin-top: $cadmin-list-group-item-flex-offset-top;
		}

		.quick-action-item {
			margin-top: $cadmin-list-group-item-flex-offset-top;
		}
	}
}

.list-group-item-action {
	@if ($cadmin-enable-c-inner) {
		.c-inner {
			margin: #{math-sign($cadmin-list-group-item-padding-y)}
				#{math-sign($cadmin-list-group-item-padding-x)};
			width: auto;
		}
	}
}

.list-group-item-action:focus {
	z-index: 1;
}

// List Group Link

.list-group-link {
	color: $cadmin-list-group-link-color;

	&:hover,
	&:focus {
		color: $cadmin-list-group-link-hover-color;
	}
}

// List Group Flush

%list-group-flush {
	.list-group-item {
		border-left-width: 0;

		@include border-radius(0);

		border-right-width: 0;

		&:first-child {
			border-top-width: 0;
		}

		&:last-child {
			.list-group-item:last-child {
				border-bottom-width: 0;
			}
		}

		> .autofit-col {
			&:first-child {
				padding-left: 0;
			}

			&:last-child {
				padding-right: 0;
			}
		}
	}
}

%list-group-flush-vertical {
	.list-group-item {
		border-left-width: 0;

		@include border-radius(0);

		border-right-width: 0;

		> .autofit-col {
			&:first-child {
				padding-left: 0;
			}

			&:last-child {
				padding-right: 0;
			}
		}
	}

	&:first-child {
		.list-group-item:first-child {
			border-top-width: 0;
		}
	}

	&:last-child {
		.list-group-item:last-child {
			border-bottom-width: 0;
		}
	}
}

.list-group-flush {
	@extend %list-group-flush !optional;
}

// Show Quick Action

.show-quick-actions-on-hover {
	.list-group-item:not(.active) {
		&:hover {
			.quick-action-menu {
				display: flex;
			}
		}
	}

	.focus:not(.active) {
		.quick-action-menu {
			display: flex;
		}
	}
}

.list-group {
	.quick-action-menu {
		align-items: $cadmin-list-group-item-flex-align-items;
		background-color: $cadmin-list-group-bg;
		margin-bottom: math-sign($cadmin-list-group-item-padding-y);
		margin-top: math-sign($cadmin-list-group-item-padding-y);
		padding-bottom: $cadmin-list-group-item-padding-y;
		padding-top: $cadmin-list-group-item-padding-y;
	}
}

.list-group-item-flex.active {
	.quick-action-menu {
		background-color: $cadmin-list-group-active-bg;
	}

	.quick-action-item {
		color: $cadmin-list-group-active-color;
	}
}

// List Group Notification

.list-group-notification {
	.list-group-item {
		border-width: 0;

		@include clay-list-group-notification-item-variant(
			$cadmin-list-group-notification-item
		);
	}

	.list-group-item-flex {
		&.active {
			border-top-width: 0;
		}
	}

	.list-group-item-primary {
		@include clay-list-group-notification-item-variant(
			$cadmin-list-group-notification-item-primary
		);
	}

	.quick-action-menu {
		margin-bottom: calc(
			#{math-sign($cadmin-list-group-item-padding-y)} + #{$cadmin-list-group-notification-item-border-bottom-width}
		);
		margin-top: calc(
			#{math-sign($cadmin-list-group-item-padding-y)} + #{$cadmin-list-group-notification-item-border-top-width}
		);
	}

	.autofit-col .quick-action-item {
		margin-top: $cadmin-list-group-notification-item-border-top-width -
			$cadmin-list-group-item-flex-offset-top;
	}
}

// List Group Sm

.list-group-sm {
	.list-group-item {
		@include clay-css($cadmin-list-group-sm-item);
	}

	.quick-action-menu {
		@include clay-css($cadmin-list-group-sm-quick-action-menu);
	}
}
