/* ================================== */
/* CSS for control sap.m/RadioButton  */
/* Quartz High Contrast White theme   */
/* ================================== */

.sapMRb {
	height: 2.75rem;

	.sapMRbBOut {
		stroke-width: 0.125rem;
	}

	&:not(.sapMRbErr):not(.sapMRbWarn) {

		.sapMRbBOut {
			stroke-width: var(--sapField_BorderWidth);
		}
	}
}

.sapMRb:focus {
	outline: none;
}

.sapMRb .sapMRbB {
	height: 2.75rem;
	line-height: 2.75rem;
	width: 2.75rem;
}

.sapMRb > .sapMRbBLabel {
	line-height: 2.75rem;
	height: 2.75rem;
}

.sapMRbSvg {
	margin: 0.6875rem;
}

.sapMRbHasLabel.sapMRb:focus::before {
	bottom: 0.5rem;
	top: 0.5rem;
	left: 0.5rem;
	right: 0;
}

/* Right to left */
.sapMRbG[dir=rtl] .sapMRbHasLabel.sapMRb:focus::before {
	left: 0;
	right: 0.5rem;
}

.sapMRbHasLabel .sapMRbB {
	width: 2.75rem;
}

/* Align RadioButton in Form with other controls */
.sapUiForm.sapUiFormEdit-CTX {

	.sapMRb > .sapMRbB {
		width: 2.1875rem;
	}
}

.sapUiSizeCompact {

	.sapMRbB {
		height:2rem;
		line-height: 2rem;
		width: 2rem;
	}

	.sapMRb > .sapMLabel {
		height: 2rem;
		line-height: 2rem;
	}

	.sapMRb:focus::before {
		bottom: 0.325rem;
		top: 0.325rem;
		left: 0.325rem;
		right: 0.325rem;
	}
}

.sapMRb:not(.sapMRbErr):not(.sapMRbWarn):not(.sapMRbInfo):not(.sapMRbSucc) .sapMRbB.sapMRbHoverable:hover {

	.sapMRbSvg .sapMRbBOut {
		fill: var(--sapSelectedColor); /* contrast themes specific */
	}
}

.sapMRb:not(.sapMRbErr):not(.sapMRbWarn):not(.sapMRbInfo):not(.sapMRbSucc) .sapMRbHoverable:hover .sapMRbBOut {
	stroke: var(--sapField_Hover_BorderColor);
	fill: var(--sapSelectedColor); /* contrast themes specific */
}

.sapMRb:focus::before {
	border: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
	bottom: 0.5rem;
	top: 0.5rem;
	left: 0.5rem;
	right: 0.5rem;
}

.sapMLIBActive .sapMRbB .sapMRbBOut {
	border: 1px solid var(--sapList_Active_TextColor);
}

.sapMLIBActive .sapMRbSel .sapMRbBOut {
	background-color: var(--sapList_Active_Background);
}

.sapMRbDis {
	opacity: var(--sapContent_DisabledOpacity);
}

.sapMRbSel .sapMRbBInn {
	fill: var(--sapContent_IconColor); /* contrast themes specific */
}

/* Value states */
.sapMRbErr,
.sapMRbWarn,
.sapMRbInfo {

	.sapMRbB .sapMRbBOut {
		stroke-dasharray: 4; /* contrast themes specific */
	}
}

.sapMRbErr.sapMRbSel,
.sapMRbErr.sapMRbSel.sapMRbRo {

	.sapMRbBInn {
		fill: var(--sapField_InvalidColor);
		stroke: none;
	}
}

.sapMRbErr,
.sapMRbErr.sapMRbBTouched {

	.sapMRbB .sapMRbBOut {
		stroke: var(--sapField_InvalidColor);
		fill: var(--sapField_InvalidBackground);
	}
}

.sapMRbWarn.sapMRbSel,
.sapMRbWarn.sapMRbSel.sapMRbRo {

	.sapMRbBInn {
		fill: var(--sapField_TextColor);
		stroke: none;
	}
}

.sapMRbWarn,
.sapMRbWarn.sapMRbBTouched {

	.sapMRbB .sapMRbBOut {
		stroke: var(--sapField_WarningColor);
		fill: var(--sapField_WarningBackground);
	}
}

.sapMRbSucc.sapMRbSel,
.sapMRbSucc.sapMRbSel.sapMRbRo {

	.sapMRbBInn {
		fill: var(--sapField_SuccessColor);
		stroke: none;
	}
}

.sapMRbSucc,
.sapMRbSucc.sapMRbBTouched {

	.sapMRbB .sapMRbBOut {
		stroke: var(--sapField_SuccessColor);
		fill: var(--sapField_SuccessBackground);
	}
}

.sapMRbInfo.sapMRbSel,
.sapMRbInfo.sapMRbSel.sapMRbRo {

	.sapMRbBInn {
		fill: var(--sapField_InformationColor);
		stroke: none;
	}
}

.sapMRbInfo,
.sapMRbInfo.sapMRbBTouched {

	.sapMRbB .sapMRbBOut {
		stroke: var(--sapField_InformationColor);
		fill: var(--sapField_InformationBackground);
	}
}