.ct-layers {
	list-style: none;
	margin: 0;
	padding: 0;

	&:not(:empty) + button {
		margin-top: 20px;
	}
}

.ct-layer {
	list-style: none;
	background: #fff;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
	z-index: 9999999;

	&:not(:last-child) {
		margin-bottom: 10px;
	}

	&.ct-disabled {
		opacity: 0.6;

		&:hover {
			opacity: 0.8;
		}

		.ct-layer-controls {
			.ct-visibility:before {
				opacity: 1;
			}

			.ct-toggle {
				pointer-events: none;
			}
		}

		.ct-layer-content {
			display: none;
		}
	}
}

.ct-layer-controls {
	display: flex;
	height: 40px;
	border: 1px solid var(--optionBorderColor);
	user-select: none;
	box-sizing: border-box;

	button {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 40px;
		width: 40px;
		height: 100%;
		border: none;
		background: transparent;
		box-shadow: none;
		padding: 0;
		cursor: pointer;
		color: #72777c;

		svg {
			fill: currentColor;
		}

		&.ct-toggle,
		&.ct-remove {
			font: 400 16px dashicons;
			-webkit-font-smoothing: antialiased;
		}

		&.ct-toggle:before {
			content: '\f140';
		}

		&.ct-remove {
			&:before {
				content: '\f335';
			}

			&:hover {
				&:before {
					color: #dd4b39;
				}
			}
		}

		&.ct-clone:hover {
			.ct-tooltip-top {
				opacity: 1;
				visibility: visible;
				transform: translate3d(0px, -42px, 0px);
			}
		}

		&.ct-visibility {
			position: relative;

			&:before {
				opacity: 0;
				position: absolute;
				content: '';
				width: 18px;
				height: 2px;
				background: #656565;
				border-radius: 5px;
				transform: rotate(-45deg);
				box-shadow: 0px 0px 0px 1px #fff;
				transition: opacity 0.1s ease;
			}

			&:hover {
				&:before {
					opacity: 1;
				}
			}
		}

		&:focus {
			outline: none;
		}
	}

	span {
		display: flex;
		align-items: center;
		flex: 1 1 auto;
		font-size: 12px;
		font-weight: 600;
		padding: 0 15px;
		cursor: move;
	}

	> * {
		&:not(:last-child) {
			border-right: 1px solid var(--optionBorderColor);
		}
	}
}

.ct-layer-content {
	display: flex;
	flex-direction: column;
	border-top: none !important;
	
	&:not(:empty) {
		border: 1px solid var(--optionBorderColor);
	}

	> *:not(:empty) {
		margin-top: 17px !important;
		padding: var(--layer-content-padding, 0 17px 17px 17px ) !important;

		&:not(:last-child) {
			border-bottom: 1px solid var(--optionBorderColor);
		}
	}
}


// add layer
.ct-add-layer-controls {
	display: flex;
	padding-bottom: 10px;

	.ct-select-input {
		max-width: 100%;
	}

	button {
		padding: 0 8px 1px 8px !important;
		margin-left: 10px !important;
	}
}

// hide spacing option from first layer
[data-layers="title-elements"] .ct-layer:first-child {
	.ct-control {
		&:nth-last-child(2) {
			border-bottom: none;
		}
		
		&:last-child {
			display: none;
		}
	}
}