:host {
	/* Fixes layout bug. The OV_root is created with the entire layout width and it has a weird UX behaviour */
	.no-size {
		height: 0px !important;
		width: 0px !important;
	}

	.participant-name-container {
		background-color: var(--ov-secondary-action-color);
		padding: 3px 6px;
		color: var(--ov-text-primary-color);
		font-weight: 400;
		border-radius: var(--ov-video-radius);
		font-size: 12px;
		line-height: 1.2;
		width: fit-content;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.participant-name {
		padding: 2px;
		position: absolute;
		z-index: 999;
		border-radius: var(--ov-video-radius);
		font-family: 'Roboto', 'RobotoDraft', Helvetica, Arial, sans-serif;
	}

	#audio-wave-container {
		position: absolute;
		right: 0;
		z-index: 999;
		padding: 5px;
	}

	.fullscreen {
		top: 40px;
	}

	.flex-container {
		display: flex;
		justify-content: center;
		gap: 2px;
		flex-wrap: nowrap;
		button {
			margin: 0;
			min-width: 32px;
			width: 32px;
			height: 32px;
			padding: 4px;

			mat-icon {
				font-size: 18px;
				width: 18px;
				height: 18px;
			}
		}
	}

	.muted-btn {
		color: var(--ov-error-color) !important;
	}

	.stream-video-controls {
		background-color: var(--ov-primary-action-color);
		border-radius: var(--ov-video-radius);
		backdrop-filter: blur(8px);
		width: fit-content;
		height: auto;
		opacity: 0.5;
		position: absolute;
		display: inline-grid;
		z-index: 9999;
		bottom: 8px;
		left: 50%;
		transform: translateX(-50%);
		transition: opacity 0.3s ease, transform 0.3s ease;
		padding: 2px 4px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
		button {
			color: var(--ov-text-primary-color);
			transition: all 0.2s ease;
		}
	}

	.stream-video-controls:hover {
		opacity: 1;
		transform: translateX(-50%) translateY(-2px);
	}

	.status-icons {
		position: absolute;
		bottom: 8px;
		z-index: 999;
		left: 8px;
		display: flex;
		gap: 6px;
		align-items: center;
		background-color: rgba(0, 0, 0, 0.5);
		backdrop-filter: blur(8px);
		padding: 4px 8px;
		border-radius: 20px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);

		#status-mic,
		#status-muted-forcibly,
		#status-pinned {
			font-size: 20px;
			width: 20px;
			height: 20px;
			display: flex;
			align-items: center;
			justify-content: center;
		}
		#status-mic,
		#status-muted-forcibly {
			color: var(--ov-error-color);
		}
		#status-pinned {
			color: var(--ov-accent-action-color);
		}
	}

	/* Contains the video element, used to fix video letter-boxing */
	.OV_stream {
		width: 100%;
		height: 100%;
		position: relative;
		overflow: hidden;
		background-color: transparent;
		border-radius: var(--ov-video-radius);
		border: 2px solid var(--ov-background-color);
		box-sizing: border-box;
	}

	.OV_stream.speaking {
		border-color: var(--ov-accent-action-color);
	}
}
