/* ==========================================================================
   MMX-ACC-DIAMOND-BANNER
   Card-style banner with a heading and a row of diamond milestone items,
   reproducing the Accessotronik "Our Story" ready-theme section. Each item
   has an image or inline SVG graphic with a center-overlaid text and a
   description, connected by a keyline. Background supports both a color and
   an image. Items stack vertically with a horizontal internal layout on
   tablet & mobile (from the "Our Story" section's own breakpoint).
   ========================================================================== */

.mmx-acc-diamond-banner {
	box-sizing: border-box;
	position: relative;
	box-shadow: var(--mmxadb-shadow, none);
	border-radius: var(--mmxadb-radius, 0px);
	padding: var(--mmxadb-padding, 32px);
	background-color: var(--mmxadb-bg-color, #ffffff);
	/* --mmxadb-bg-color is also applied here so a gradient function (e.g.
	   linear-gradient(...)) typed into the Background Color field renders as
	   a background-image layer; a plain color value is invalid in this
	   position and is simply ignored, leaving background-color above in
	   effect instead. */
	background-image: var(--mmxadb-bg-image, none), var(--mmxadb-bg-color, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.mmx-acc-diamond-banner *,
.mmx-acc-diamond-banner *::before,
.mmx-acc-diamond-banner *::after {
	box-sizing: border-box;
}

/* Background responsive images
   ========================================================================== */

@media screen and (max-width: 39.999em) {
	.mmx-acc-diamond-banner {
		background-image: var(--mmxadb-bg-image-mobile, var(--mmxadb-bg-image, none)), var(--mmxadb-bg-color, none);
	}
}

@media screen and (min-width: 40em) and (max-width: 59.999em) {
	.mmx-acc-diamond-banner {
		background-image: var(--mmxadb-bg-image-tablet, var(--mmxadb-bg-image, none)), var(--mmxadb-bg-color, none);
	}
}

/* Heading
   ========================================================================== */

.mmx-acc-diamond-banner__heading {
	display: block;
	margin: 0 0 var(--mmxadb-heading-margin-bottom, 25px);
	font-family: var(--mmxadb-heading-font-family, "Electrolize", sans-serif);
	font-size: var(--mmxadb-heading-font-size, 36px);
	font-weight: var(--mmxadb-heading-font-weight, 400);
	color: var(--mmxadb-heading-color, #D81313);
	line-height: 1.187;
}

.mmx-acc-diamond-banner[data-align="left"] .mmx-acc-diamond-banner__heading {
	text-align: left;
}

.mmx-acc-diamond-banner[data-align="center"] .mmx-acc-diamond-banner__heading {
	text-align: center;
}

.mmx-acc-diamond-banner[data-align="right"] .mmx-acc-diamond-banner__heading {
	text-align: right;
}

/* Content
   ========================================================================== */

.mmx-acc-diamond-banner__content {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 16px;
}

.mmx-acc-diamond-banner[data-link-position="horisontal"] .mmx-acc-diamond-banner__content {
	flex-direction: row;
	justify-content: var(--mmxadb-content-align-items, flex-start);
	align-items: var(--mmxadb-content-justify, flex-end);
}

.mmx-acc-diamond-banner[data-link-position="vertical"] .mmx-acc-diamond-banner__content {
	flex-direction: column;
	justify-content: var(--mmxadb-content-justify, flex-end);
	align-items: var(--mmxadb-content-align-items, flex-start);
}

/* Keyline
   ========================================================================== */

.mmx-acc-diamond-banner__content .c-keyline {
	width: var(--mmxadb-keyline-width, 60px);
	height: var(--mmxadb-keyline-height-desktop, 67px);
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--mmxadb-keyline-color, #D81313);
}

/* Items Row
   ========================================================================== */

.mmx-acc-diamond-banner__items {
	display: flex;
	justify-content: var(--mmxadb-item-alignment, center);
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 15px var(--mmxadb-items-gap-desktop, 60px);
}

.abus_our-story_year {
	display: flex;
	flex-direction: var(--mmxadb-media-direction, column);
	align-items: center;
	width: 100%;
	gap: var(--mmxadb-content-gap, 0px);
	max-width: var(--mmxadb-item-width, 20%);
	min-width: 230px;
	margin-bottom: var(--mmxadb-item-margin-bottom, 0);
}

.mmx-acc-diamond-banner[data-item-content-position="column"] .abus_our-story_year {
	flex: 1 1 0%;
}

.mmx-acc-diamond-banner[data-item-content-position="row"] .abus_our-story_year {
	flex: auto;
}


/* Media (image / svg) with center-overlaid text
   ========================================================================== */

.mmx-acc-diamond-banner__media {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 174px;
	min-width: 174px;
	max-width: 100%;
	height: auto;
	background: var(--mmxadb-item-bg-color, #ffffff);
	padding: 0 20px;
}

.mmx-acc-diamond-banner__img-container {
	position: relative;
}

.mmx-acc-diamond-banner__media img,
.mmx-acc-diamond-banner__media svg {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.mmx-acc-diamond-banner__above-text {
	display: block;
	text-align: center;
	font-family: var(--mmxadb-item-above-font-family, "Open Sans", sans-serif);
	font-size: var(--mmxadb-item-above-font-size, 18px);
	font-weight: var(--mmxadb-item-above-font-weight, 400);
	color: var(--mmxadb-item-above-color, #1c1c1c);
	margin: 0 0 var(--mmxadb-item-above-margin-bottom, 8px);
}

.mmx-acc-diamond-banner__media-text {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mmxadb-item-text-font-family, "Open Sans", sans-serif);
	font-size: var(--mmxadb-item-text-font-size, 32px);
	font-weight: var(--mmxadb-item-text-font-weight, 700);
	line-height: 1;
	color: var(--mmxadb-item-text-color, #1c1c1c);
	text-align: center;
}

/* Text Container: Title + Description
   ========================================================================== */

.mmx-acc-diamond-banner__text-container {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.mmx-acc-diamond-banner__title {
	margin: 0 0 var(--mmxadb-item-title-margin-bottom, 8px);
	font-family: var(--mmxadb-item-title-font-family, "Electrolize", sans-serif);
	font-size: var(--mmxadb-item-title-font-size, 24px);
	font-weight: var(--mmxadb-item-title-font-weight, 400);
	text-align: center;
	color: var(--mmxadb-item-title-color, #1c1c1c);
	line-height: 1.333;
	padding: 0 10px;
}

.mmx-acc-diamond-banner[data-item-content-position="row"] .mmx-acc-diamond-banner__title {
	text-align: left;
}

.mmx-acc-diamond-banner__description {
	font-family: var(--mmxadb-item-desc-font-family, "Electrolize", sans-serif);
	font-size: var(--mmxadb-item-desc-font-size, 24px);
	font-weight: var(--mmxadb-item-desc-font-weight, 400);
	text-align: center;
	color: var(--mmxadb-item-desc-color, #1c1c1c);
	line-height: 1.333;
	padding: 0 10px;
}

.mmx-acc-diamond-banner[data-item-content-position="row"] .mmx-acc-diamond-banner__description {
	text-align: left;
}

/* Button / Link
   ========================================================================== */

.mmx-acc-diamond-banner__button-container {
	display: block;
}

.mmx-acc-diamond-banner__link {
	cursor: pointer;
}

/* Text-link variant */
.mmx-acc-diamond-banner__link--text-link {
	display: inline-block;
	text-decoration: var(--mmxadb-link-decoration, underline);
	font-family: var(--mmxadb-link-font-family, "Open Sans", sans-serif);
	font-size: var(--mmxadb-link-font-size, 20px);
	font-weight: var(--mmxadb-link-font-weight, 400);
	color: var(--mmxadb-link-color, #1c1c1c);
}

/* Button variant */
.mmx-acc-diamond-banner__link--button {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	font-family: var(--mmxadb-link-font-family, "Open Sans", sans-serif);
	font-size: var(--mmxadb-button-font-size, 20px);
	font-weight: var(--mmxadb-button-font-weight, 700);
	color: var(--mmxadb-button-color, #ffffff);
	background-color: var(--mmxadb-button-bg, #d81313);
	border: 1px solid var(--mmxadb-button-bg, #d81313);
	border-radius: var(--mmxadb-button-radius, 10px);
	padding: var(--mmxadb-button-padding, 8px 20px);
	width: max-content;
	max-width: 100%;
}

.mmx-acc-diamond-banner__link--button:hover {
	background-color: var(--mmxadb-button-hover-bg, #ffffff);
	color: var(--mmxadb-button-hover-color, #1c1c1c);
	border-color: var(--mmxadb-button-hover-color, #1c1c1c);
}

/* Decorative Corner Images
   ========================================================================== */

.mmx-acc-diamond-banner .bg-bottom-left,
.mmx-acc-diamond-banner .bg-top-right {
	position: absolute;
}

.mmx-acc-diamond-banner .bg-bottom-left {
	bottom: 0;
	left: 0;
	opacity: var(--mmxadb-bg-bottom-left-opacity, 1);
}

.mmx-acc-diamond-banner .bg-top-right {
	top: 0;
	right: 0;
	opacity: var(--mmxadb-bg-top-right-opacity, 1);
}

/* ==========================================================================
   Responsive — breakpoints follow the "Our Story" ready-theme section
   ========================================================================== */

@media screen and (max-width: 1300px) {
	.mmx-acc-diamond-banner[data-link-position="horisontal"] .mmx-acc-diamond-banner__content,
	.mmx-acc-diamond-banner[data-link-position="vertical"] .mmx-acc-diamond-banner__content {
		flex-direction: column;
		justify-content: var(--mmxadb-content-justify, flex-end);
		align-items: var(--mmxadb-content-align-items, flex-start);
	}

	.mmx-acc-diamond-banner__media-text {
		font-size: calc(var(--mmxadb-item-text-font-size, 32px) * 0.9375);
	}

	.mmx-acc-diamond-banner__description {
		font-size: calc(var(--mmxadb-item-desc-font-size, 24px) * 0.8333);
	}
}

@media screen and (max-width: 1200px) {
	.mmx-acc-diamond-banner__description {
		font-size: calc(var(--mmxadb-item-desc-font-size, 24px) * 0.75);
	}
}

@media screen and (max-width: 960px) {
	.mmx-acc-diamond-banner__items {
		flex-direction: column;
		gap: var(--mmxadb-items-gap-mobile, 15px) 0;
	}

	.abus_our-story_year {
		flex-direction: row;
		max-width: none;
		margin-bottom: 0;
	}

	.mmx-acc-diamond-banner__media {
		width: 88px;
		min-width: 88px;
		padding: 5px 0;
	}

	.mmx-acc-diamond-banner__above-text {
		margin: 0;
	}

	.mmx-acc-diamond-banner__content .c-keyline {
		width: var(--mmxadb-keyline-width-mobile, 45px);
		height: 15px;
		border: 0;
		border-right: 1px solid var(--mmxadb-keyline-color, #D81313);
	}

	.mmx-acc-diamond-banner__media-text {
		font-size: calc(var(--mmxadb-item-text-font-size, 32px) * 0.65625);
	}

	.mmx-acc-diamond-banner__title,
	.mmx-acc-diamond-banner__description {
		text-align: left;
	}

	.mmx-acc-diamond-banner__title {
		font-size: calc(var(--mmxadb-item-title-font-size, 24px) * 0.9375);
	}

	.mmx-acc-diamond-banner__description {
		/* font-size: calc(var(--mmxadb-item-desc-font-size, 24px) * 0.9167); */
		font-size: 16px;
	}
}

@media screen and (max-width: 550px) {
	.mmx-acc-diamond-banner {
		padding: 32px;
	}

	.mmx-acc-diamond-banner__title {
		font-size: calc(var(--mmxadb-item-title-font-size, 24px) * 0.8333);
	}

	.mmx-acc-diamond-banner__description {
		/* font-size: calc(var(--mmxadb-item-desc-font-size, 24px) * 0.6667); */
		font-size: 14px;
	}

	.mmx-acc-diamond-banner__link--text-link,
	.mmx-acc-diamond-banner__link--button {
		font-size: 16px;
	}
}

@media screen and (max-width: 500px) {
	.mmx-acc-diamond-banner__heading {
		font-size: calc(var(--mmxadb-heading-font-size, 36px) * 0.889);
	}

	.mmx-acc-diamond-banner__button-container {
		width: 100%;
	}

	.mmx-acc-diamond-banner[data-button-full-width="1"] .mmx-acc-diamond-banner__link--button {
		width: 100%;
		text-align: center;
		padding-left: 20px;
		padding-right: 20px;
	}
}
