.fusion-privacy-element {
	margin-top: var(--awb-margin-top);
	margin-right: var(--awb-margin-right);
	margin-bottom: var(--awb-margin-bottom);
	margin-left: var(--awb-margin-left);
	padding-top: var(--awb-padding-top, 0);
	padding-right: var(--awb-padding-right, 0);
	padding-bottom: var(--awb-padding-bottom, 0);
	padding-left: var(--awb-padding-left, 0);
	font-family: var(--awb-text-font-family, inherit);
	font-size: var(--awb-text-font-size, inherit);
	font-weight: var(--awb-text-font-weight, inherit);
	font-style: var(--awb-text-font-style, inherit);
	line-height: var(--awb-text-line-height, inherit);
	letter-spacing: var(--awb-text-letter-spacing, inherit);
	text-transform: var(--awb-text-text-transform, inherit);
	color: var(--awb-text-color, inherit);

	.fusion-privacy-group-title {
		font-family: var(--awb-title-font-family, inherit);
		font-size: var(--awb-title-font-size, inherit);
		font-weight: var(--awb-title-font-weight, inherit);
		font-style: var(--awb-title-font-style, inherit);
		line-height: var(--awb-title-line-height, inherit);
		letter-spacing: var(--awb-title-letter-spacing, inherit);
		text-transform: var(--awb-title-text-transform, inherit);
		color: var(--awb-title-color, inherit);
	}

	.fusion-privacy-form {
		ul {
			list-style: none;
			margin: 0 0 20px 0;
			padding: 0;
		}
	}

	.fusion-privacy-form-floated {
		ul {
			li {
				display: inline-block;

				input[type="checkbox"] {
					margin-inline-end: 0.5em;
				}				

				.awb-privacy-desc-toggle {
					margin-inline-start: 0.5em;
				}
			}
		}

		> ul {
			li {
				margin-inline-end: 1.25em;
			}
		}

		.fusion-privacy-group {
			ul {
				li {
					width: 100%;
				}
			}
		}
	}

	.fusion-privacy-form-intro {
		margin-bottom: 0.75em;
	}

	.fusion-privacy-group-title {
		margin: 0 0 0.75em 0;
	}

	.fusion-privacy-group-heading {
		display: flex;
		align-items: center;
		justify-content: space-between;

		.fusion-privacy-group-title {
			margin: 0;
			flex: 1 1 auto;
		}
	}

	.awb-privacy-group-master-input {
		flex: 0 0 auto;
		margin-inline-start: 0.5em;
		cursor: pointer;
	}

	.awb-privacy-group-toggle {
		flex: 0 0 auto;
		background: none;
		border: none;
		padding-inline-start: 0.5em;
		cursor: pointer;
		color: inherit;
		font-size: calc(var(--awb-title-font-size, var(--h4_typography-font-size)) * 0.75);
		line-height: 1;
		transition: transform 0.2s ease;

		i {
			display: block;
			transition: transform 0.2s ease;
		}

		&.awb-rotate i {
			transform: rotate(-180deg) translateY(-0.125em);
		}
	}

	.fusion-privacy-group-body {
		margin-top: 0.75em;
	}

	.fusion-privacy-group-description {
		margin-bottom: 0.75em;
	}

	.fusion-privacy-choices {
		> li {
			display: grid;
			grid-template-columns: auto 1fr;
			column-gap: 0.5em;
			margin-bottom: 0.4em;

			&:has(.awb-privacy-desc-toggle) {
				grid-template-columns: auto 1fr auto;
			}

			label {
				display: contents;
			}

			input {
				grid-column: 1;
				align-self: center;
			}

			.label-text {
				grid-column: 2;
			}

			.awb-cookie-lifespan {
				grid-column: 2;
				display: inline-block;
				font-size: 0.85em;
				color: var(--awb-lifespan-color, var(--awb-text-color, inherit));
				margin-inline-start: 0.3em;

				&::before {
					content: '(';
				}

				&::after {
					content: ')';
				}
			}

			.awb-privacy-desc-toggle {
				grid-column: 3;
				grid-row: 1;
				align-self: center;
				justify-self: end;
				background: none;
				border: none;
				padding: 0;
				cursor: pointer;
				color: inherit;
				font-size: 0.85em;
				line-height: 1;
				transition: transform 0.2s ease;

				i {
					display: block;
					transition: transform 0.2s ease;
				}

				&.awb-rotate i {
					transform: rotate(-180deg) translateY(-0.125em);
				}
			}

			.awb-cookie-description {
				grid-column: 2;
				margin: 0.2em 0;
				font-size: var(--awb-desc-font-size, 0.85em);
				color: var(--awb-desc-color, var(--awb-text-color, inherit));
			}

			&.is-necessary {
				opacity: var(--awb-necessary-opacity, var(--privacy_necessary_opacity, 0.7));
			}
		}
	}

	.fusion-privacy-groups--columns {
		display: flex;
		flex-wrap: wrap;
		gap: var(--awb-group-columns-gap, 1em);

		.fusion-privacy-group {
			flex: 1 1 var(--awb-group-columns-min-width, 200px);
			min-width: 0;
		}
	}

	.fusion-privacy-element-button-wrapper {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-top: 1em;
		gap: 0.75rem;
		justify-content: var(--awb-buttons-alignment);
	}

	&.awb-desc-collapsed .awb-cookie-description {
		display: none;
	}

	.fusion-privacy-form--toggle {
		input[type="checkbox"] {
			appearance: none;
			-webkit-appearance: none;
			position: relative;
			display: inline-block;
			
			width: 2.2em;
			height: 1.2em;
			min-width: 2.2em;
			border-radius: 1em;
			background-color: var(--awb-toggle-off-color, var(--awb-color3));
			transition: background-color .2s ease;
			cursor: pointer;
			vertical-align: middle;
			margin: 0;
			flex-shrink: 0;

			&::after {
				content: '';
				position: absolute;
				top: .1em;
				left: .1em;
				width: 1em;
				height: 1em;
				border-radius: 50%;
				background-color: var(--awb-toggle-thumb-color, var(--awb-color1));
				transition: left .2s ease;
			}

			&:checked {
				background-color: var(--awb-toggle-on-color, var(--awb-color5));

				&::after {
					left: 1.1em;
				}
			}

			&:indeterminate {
				&::after {
					left: .6em;
				}
			}

			&:focus-visible {
				outline: 2px solid var(--awb-toggle-on-color, var(--awb-color5));
				outline-offset: 2px;
			}

			&:disabled {
				cursor: not-allowed;
			}
		}

		.awb-privacy-group-master-input[type="checkbox"] {
			margin-inline-start: 0.5em;
			--awb-master-toggle-font-size: var(--awb-text-font-size, 1rem);
			font-size: ~"max(calc(var(--awb-title-font-size, var(--h4_typography-font-size)) * .65), var(--awb-master-toggle-font-size))";
		}
	}
}
