/* ========================================== */
/* CSS for control sap.ui.layout/BlockLayout  */
/* Quartz Dark theme                          */
/* ========================================== */

@_sap_ui_layout_BlockLayout_FontSizeLandXL: var(--sapFontHeader2Size);

/* ============ Custom Cell Background Color ============== */
@_sap_ui_layout_BlockLayout_BlockColorAccentType1A: darken(@sapUiAccent1, 53);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1B: darken(@sapUiAccent1, 51);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1C: darken(@sapUiAccent1, 49);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1D: darken(@sapUiAccent1, 47);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1E: var(--sapAccentColor1);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1F: lighten(@sapUiAccent1, 3);

@_sap_ui_layout_BlockLayout_BlockColorAccentType2A: darken(@sapUiAccent2, 50);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2B: darken(@sapUiAccent2, 48);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2C: darken(@sapUiAccent2, 46);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2D: darken(@sapUiAccent2, 44);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2E: var(--sapAccentColor2);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2F: lighten(@sapUiAccent2, 4);

@_sap_ui_layout_BlockLayout_BlockColorAccentType3A: darken(@sapUiAccent3, 49);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3B: darken(@sapUiAccent3, 47);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3C: darken(@sapUiAccent3, 45);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3D: darken(@sapUiAccent3, 43);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3E: var(--sapAccentColor3);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3F: lighten(@sapUiAccent3, 6);

@_sap_ui_layout_BlockLayout_BlockColorAccentType4A: darken(@sapUiAccent4, 50);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4B: darken(@sapUiAccent4, 48);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4C: darken(@sapUiAccent4, 46);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4D: darken(@sapUiAccent4, 44);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4E: var(--sapAccentColor4);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4F: lighten(@sapUiAccent4, 6);

@_sap_ui_layout_BlockLayout_BlockColorAccentType5A: darken(@sapUiAccent5, 49);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5B: darken(@sapUiAccent5, 47);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5C: darken(@sapUiAccent5, 45);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5D: darken(@sapUiAccent5, 43);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5E: var(--sapAccentColor5);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5F: lighten(@sapUiAccent5, 6);

@_sap_ui_layout_BlockLayout_BlockColorAccentType6A: darken(@sapUiAccent6, 55);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6B: darken(@sapUiAccent6, 53);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6C: darken(@sapUiAccent6, 51);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6D: darken(@sapUiAccent6, 49);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6E: var(--sapAccentColor6);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6F: lighten(@sapUiAccent6, 10);

@_sap_ui_layout_BlockLayout_BlockColorAccentType7A: darken(@sapUiAccent7, 37);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7B: darken(@sapUiAccent7, 35);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7C: darken(@sapUiAccent7, 33);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7D: darken(@sapUiAccent7, 31);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7E: var(--sapAccentColor7);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7F: lighten(@sapUiAccent7, 3);

@_sap_ui_layout_BlockLayout_BlockColorAccentType8A: darken(@sapUiAccent8, 55);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8B: darken(@sapUiAccent8, 53);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8C: darken(@sapUiAccent8, 51);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8D: darken(@sapUiAccent8, 49);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8E: var(--sapAccentColor8);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8F: lighten(@sapUiAccent8, 6);

@_sap_ui_layout_BlockLayout_BlockColorAccentType9A: darken(@sapUiAccent9, 54);
@_sap_ui_layout_BlockLayout_BlockColorAccentType9B: darken(@sapUiAccent9, 52);
@_sap_ui_layout_BlockLayout_BlockColorAccentType9C: darken(@sapUiAccent9, 50);
@_sap_ui_layout_BlockLayout_BlockColorAccentType9D: darken(@sapUiAccent9, 48);
@_sap_ui_layout_BlockLayout_BlockColorAccentType9E: var(--sapAccentColor9);
@_sap_ui_layout_BlockLayout_BlockColorAccentType9F: lighten(@sapUiAccent9, 6);

@_sap_ui_layout_BlockLayout_BlockColorAccentType10A: darken(@sapUiAccent10, 50);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10B: darken(@sapUiAccent10, 48);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10C: darken(@sapUiAccent10, 46);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10D: darken(@sapUiAccent10, 44);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10E: var(--sapAccentColor10);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10F: lighten(@sapUiAccent10, 51);

@_sap_ui_layout_BlockLayout_BlockColorAccentType11A: darken(@sapUiHighlight, 65);
@_sap_ui_layout_BlockLayout_BlockColorAccentType11B: darken(@sapUiHighlight, 63);
@_sap_ui_layout_BlockLayout_BlockColorAccentType11C: darken(@sapUiHighlight, 61);
@_sap_ui_layout_BlockLayout_BlockColorAccentType11D: darken(@sapUiHighlight, 59);
@_sap_ui_layout_BlockLayout_BlockColorAccentType11E: lighten(@sapUiHighlight, 2);
@_sap_ui_layout_BlockLayout_BlockColorAccentType11F: lighten(@sapUiHighlight, 7);


@_sap_ui_layout_BlockLayout_BackgroundDashboardMargin: 0.5rem;
@_sap_ui_layout_BlockLayout_BackgroundDashboardEdgeChildMargin: 1rem;
@_sap_ui_layout_BlockLayout_BackgroundDashboardAfterScrollbarMargin: 0.75rem;

@_sap_ui_layout_BlockLayout_LinkTextShadow: none;

@_sap_ui_layout_BlockLayout_BackgroundDashboardColor: var(--sapTile_Background);
@_sap_ui_layout_BlockLayout_BackgroundDashboardBorderRadius: 0.25rem;

/* Create classes which would just set background color of the BlockLayout cells */
.generateCellColorSets (@backgroundColorSet, @backgroundColorShade) {
	@css-param: "@{backgroundColorSet}@{backgroundColorShade}"; /* Concat the params */
	@css-selector: ~"sapUiBlockLayoutCellColor@{css-param}"; /* Create the css selector string */
	@color-param: "_sap_ui_layout_BlockLayout_BlockColorAccentType@{css-param}"; /* Build the color param name */

	/* Build the real CSS selector.
	The output would be something like this: .sapUiBlockLayoutCellColor1A { background-color: "#996b00"; } */
	.@{css-selector} {
		background-color: @@color-param;

		.sapUiBlockCellContent {
			color: contrast(@@color-param, @sapUiBaseText, @sapUiContentContrastTextColor, @sapUiContentContrastTextThreshold);

			.sapMText,
			.sapMLabel,
			.sapUiBlockCellTitle{
				color: inherit;
			}
		}
	}
	.sapContrast.@{css-selector},
	.sapContrast .@{css-selector},
	.sapContrastPlus.@{css-selector},
	.sapContrastPlus .@{css-selector} {
		background-color: inherit; /* Read from the */

		.sapUiBlockCellContent {
			color: inherit;
		}
	}
}

/* Define a loop and go trough 11 color sets and for each set apply 4 or 6 shades (depending on the theme) */
.loop-cell-colors(@i: 1) when (@i =< 11) {
	.generateCellColorSets(@i, "A");
	.generateCellColorSets(@i, "B");
	.generateCellColorSets(@i, "C");
	.generateCellColorSets(@i, "D");
	.generateCellColorSets(@i, "E"); /* only for Fiori 3 theme */
	.generateCellColorSets(@i, "F"); /* only for Fiori 3 theme */

	.loop-cell-colors(@i + 1); /* Execute next loop iteration */
}

/*Execute Loop through color sets */
.loop-cell-colors(1);

/**
 * Mixin to set contrast containers for Light background
 */
.setLightContrastContainers (@evenCell, @oddCell) {

	/* Match every even cell */
	.sapUiBlockLayoutCell.sapContrast:nth-child(2n),
	.sapUiBlockLayoutCell.sapContrastPlus:nth-child(2n) {

		.sapUiBlockCellContent {
			background-color: @oddCell;
		}
	}

	.sapUiBlockLayoutCell.sapContrast:nth-child(2n+1),
	.sapUiBlockLayoutCell.sapContrastPlus:nth-child(2n+1) {

		.sapUiBlockCellContent {
			background-color: @evenCell;
		}
	}
}

/*Link as title */
.sapUiBlockCellTitle .sapMLnk {
	color: darken(@sapUiLink, 4);
}

.sapUiBlockCellTitle .sapMLnk:visited {
	color: darken(@sapUiLinkVisited, 4);
}

.sapUiBlockCellTitle .sapMLnk:hover:not(.sapMLnkDsbl) {
	color: darken(@sapUiLinkHover, 4);
}
/* disabled and emphasized links: we do not support this at all here. */

/* ============ Background type: Light ============== */
.sapUiBlockLayoutBackgroundLight {

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3 {

		.setCellsColorDoubles(darken(@sapUiHighlight, 61), darken(@sapUiHighlight, 65));
		.setLightContrastContainers(darken(@sapUiHighlight, 61), darken(@sapUiHighlight, 65));
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1Inverted,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3Inverted {

		.setCellsColorDoubles(darken(@sapUiHighlight, 65), darken(@sapUiHighlight, 61));
		.setLightContrastContainers(darken(@sapUiHighlight, 65), darken(@sapUiHighlight, 61));
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4 {

		.setCellsColorDoubles(darken(@sapUiHighlight, 63), darken(@sapUiHighlight, 59));
		.setLightContrastContainers(darken(@sapUiHighlight, 63), darken(@sapUiHighlight, 59));
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2Inverted,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4Inverted {

		.setCellsColorDoubles(darken(@sapUiHighlight, 59), darken(@sapUiHighlight, 63));
		.setLightContrastContainers(darken(@sapUiHighlight, 59), darken(@sapUiHighlight, 63));
	}
}

/* ============ Background type: Mixed  - Deprecated as of version 1.50 ============== */
.sapUiBlockLayoutBackgroundMixed {

	.sapUiBlockLayoutBackgroundLight; // Use the same rules as in sapUiBlockLayoutBackgroundLight

	&.sapUiBlockLayoutSizeL,
	&.sapUiBlockLayoutSizeXL {

		.sapUiBlockLayoutRow {

			.sapContrast,
			.sapContrastPlus {

				&.sapUiBlockLayoutCell {
					background-color: darken(@sapUiBaseColor, 12);
				}

				&.sapUiBlockLayoutCell.sapUiBlockLayoutBackgroundContrast2 {
					background-color: darken(@sapUiBaseColor, 4);
				}
			}
		}
	}
}

/* ============ Background type: Accent ============== */
.sapUiBlockLayoutBackgroundAccent {

	.sapUiBlockCellContent,
	.sapUiBlockCellTitle,
	.sapUiBlockCellContent .sapMText {
		color: var(--sapContent_ContrastTextColor);
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1 {
		.setCellsColorDoubles(darken(@sapUiAccent7, 8), darken(@sapUiAccent7, 11)); /* Colors A & B */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1Inverted {
		.setCellsColorDoubles(darken(@sapUiAccent7, 11), darken(@sapUiAccent7, 8)); /* Colors B & A */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2 {
		.setCellsColorDoubles(darken(@sapUiAccent6, 13), darken(@sapUiAccent6, 26)); /* Colors C & D */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2Inverted {
		.setCellsColorDoubles(darken(@sapUiAccent6, 26), darken(@sapUiAccent6, 13)); /* Colors D & C */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3 {
		.setCellsColorDoubles(@sapUiAccent5, darken(@sapUiAccent5, 6)); /* Colors E & F */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3Inverted {
		.setCellsColorDoubles(darken(@sapUiAccent5, 6), @sapUiAccent5); /* Colors F & E */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4 {
		.setCellsColorDoubles(darken(@sapUiGroupContentBackground, 2), darken(@sapUiGroupContentBackground, 0)); /* Colors G & H */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4Inverted {
		.setCellsColorDoubles(darken(@sapUiGroupContentBackground, 0), darken(@sapUiGroupContentBackground, 2)); /* Colors H & G */
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4 {

		.sapUiBlockLayoutCell.sapUiBlockLayoutBackgroundColorSetGray1 {
			background-color: darken(@sapUiGroupContentBackground, 0); /* color: H */
		}

		.sapUiBlockLayoutCell.sapUiBlockLayoutBackgroundColorSetGray2 {
			background-color: darken(@sapUiGroupContentBackground, 2); /* color: G */
		}
	}

	.sapUiBlockLayoutBackgroundColorSet4,
	.sapUiBlockLayoutBackgroundColorSet4Inverted,
	.sapUiBlockLayoutBackgroundColorSetGray1,
	.sapUiBlockLayoutBackgroundColorSetGray2 {

		.sapUiBlockCellContent,
		.sapUiBlockCellTitle,
		.sapUiBlockCellContent .sapMText {
			color: var(--sapGroup_TitleTextColor);
		}
	}
}