/* TODO: Use SVG animtation to replace CSS icons */
.citizen-search {
	.citizen-dropdown-summary {
		> .citizen-ui-icon {
			box-sizing: content-box; // Magic
			display: flex;
			align-items: center;
			justify-content: center;
			transition: var( --transition-hover );
			transition-property: transform;

			> span {
				position: relative;
				filter: var( --filter-invert );
				border-radius: var( --border-radius-base );
				opacity: var( --opacity-icon-base );
				transition: inherit;

				&:first-child {
					top: 0.3125rem;
					/* @noflip */
					left: 0.75rem;
					height: 0.5rem;
					transform: rotate( -45deg );
				}

				&:nth-child( 2 ) {
					width: 0.625rem;
					height: 0.625rem;
					margin-top: -0.3125rem;
					/* @noflip */
					margin-left: -0.125rem;
					border: 0.125rem solid #000;
					border-radius: 100%;
					transform: rotate( -45deg );
				}

				&:last-child {
					left: -0.4375rem;
					height: 1rem;
					opacity: 0;
					transform: rotate( -135deg );
				}

				&:first-child,
				&:last-child {
					width: 0.125rem;
					background-color: #000;
				}
			}

			// Since this is a CSS icon, we don't need this
			&::before {
				content: none;
			}
		}

		&:hover {
			> .citizen-ui-icon {
				> span {
					&:not( :last-child ) {
						opacity: var( --opacity-icon-base--hover );
					}

					&:first-child {
						height: 0.375rem;
						transform: translate3d( 0.125rem, 0.125rem, 0 ) rotate( -45deg );
					}
				}
			}
		}

		&:active {
			> .citizen-ui-icon {
				> span {
					&:not( :last-child ) {
						opacity: var( --opacity-icon-base--selected );
					}
				}
			}
		}
	}

	> .citizen-dropdown-details[ open ] {
		> .citizen-dropdown-summary {
			> .citizen-ui-icon {
				> span {
					&:first-child {
						height: 1rem;
						transform: translate3d( -0.3125rem, -0.3125rem, 0 ) rotate( 135deg );
					}

					&:nth-child( 2 ) {
						border-color: transparent;
					}

					&:last-child {
						opacity: var( --opacity-icon-base );
					}
				}
			}

			&:hover {
				> .citizen-ui-icon {
					transform: scale( 0.85 );
				}
			}
		}
	}
}

/* @noflip */
.rtl {
	.citizen-search .citizen-dropdown-summary:hover {
		> .citizen-ui-icon > span {
			&:first-child {
				left: 0.125rem;
			}

			&:nth-child( 2 ) {
				margin-left: -0.25rem;
			}
		}
	}
}
