:host {
	--_ui5_user_settings_notifications_item_end_margin: 0.75rem;
	min-height: var(--sapElement_LineHeight);
	overflow: visible;
}

.ui5-li-root,
.ui5-li-content {
	overflow: visible;
}

.ui5-user-settings-notifications-form-item {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: var(--sapElement_LineHeight);
	padding: var(--_ui5_list_item_base_padding, 0 1rem);
	box-sizing: border-box;
	background: var(--sapList_Background);
	outline: none;
	position: relative;
	cursor: default;
}

@media (hover: hover) {
	.ui5-user-settings-notifications-form-item:hover {
		background: var(--sapList_Hover_Background);
	}
}

:host([navigable]) .ui5-user-settings-notifications-form-item {
	cursor: pointer;
}

.ui5-user-settings-notifications-form-item .ui5-user-settings-notifications-item-end {
	padding-inline-end: var(--_ui5_list_item_icon_size, 1.125rem);
}

:host([navigable]) .ui5-user-settings-notifications-form-item .ui5-user-settings-notifications-item-end {
	padding-inline-end: 0.25rem;
}

.ui5-user-settings-notifications-form-item .ui5-user-settings-notifications-item {
	flex: 1 1 auto;
	min-width: 0;
}

.ui5-user-settings-notifications-item-arrow {
	flex-shrink: 0;
}

:host([desktop]) .ui5-user-settings-notifications-form-item:focus::after,
.ui5-user-settings-notifications-form-item:focus-visible::after {
	content: "";
	border: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
	position: absolute;
	inset: 0.125rem;
	pointer-events: none;
}

@container style(--ui5_content_density: compact) {
	:host {
		--_ui5_user_settings_notifications_item_end_margin: 1rem;
		min-height: var(--sapElement_Compact_LineHeight);
	}
}

.ui5-user-settings-notifications-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.ui5-user-settings-notifications-item-start {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	gap: 0.75rem;
}

.ui5-user-settings-notifications-item-texts {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.ui5-user-settings-notifications-item-title {
	font-family: var(--sapFontFamily);
	font-size: var(--sapFontLargeSize);
	font-weight: normal;
	color: var(--sapList_TextColor);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@container style(--ui5_content_density: compact) {
	.ui5-user-settings-notifications-item-title {
		font-size: var(--sapFontSize);
	}
}

.ui5-user-settings-notifications-item-byline {
	font-family: var(--sapFontFamily);
	font-size: var(--sapFontSize);
	font-weight: normal;
	color: var(--sapContent_LabelColor);
	padding-top: 0.5rem;
	padding-bottom: 0.125rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ui5-user-settings-notifications-item-end {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin-inline-start: var(--_ui5_user_settings_notifications_item_end_margin);
	padding-inline-end: 0.25rem;
	overflow: visible;
}

/* Reserve space equal to the navigation icon min-width so the switch stays
   consistently aligned across navigable and non-navigable items in the same list. */
:host(:not([navigable])) .ui5-user-settings-notifications-item-end {
	padding-inline-end: calc(var(--_ui5_list_item_icon_size, 1.125rem) + 0.25rem);
}

.ui5-user-settings-notifications-item.has-byline {
	align-items: stretch;
	min-height: 5rem;
}

@container style(--ui5_content_density: compact) {
	.ui5-user-settings-notifications-item.has-byline {
		min-height: 4rem;
	}
}

.has-byline .ui5-user-settings-notifications-item-start {
	align-items: center;
}

.has-byline .ui5-user-settings-notifications-item-title {
	padding-top: 0.125rem;
}
