.ew-accordion {
	--ew-accordion-gap: 12px;
	--ew-accordion-image-width: 55%;
	--ew-accordion-columns-gap: 24px;
	display: flex;
	justify-content: space-between;
	gap: var( --ew-accordion-columns-gap );
	width: 100%;
}

/* ==========================================================
   Left column: accordion list
   ========================================================== */
.ew-accordion__list {
	width: 42%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var( --ew-accordion-gap );
}

.ew-accordion__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	background-color: transparent;
	border-radius: var( --ew-accordion-radius );
	border: 1px solid #F1F3FA;
	overflow: hidden;
	transition: background-color 0.3s ease;
}

.ew-accordion__item.is-active {
	background-color: #3F509E;
}

.ew-accordion__header {
	width: 100% !important;
	display: flex !important;
	align-items: flex-start;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer;
	text-align: left;
	font: inherit;
}

.ew-accordion__title {
	font-family: var(--ew-main-font);
	padding: 0 !important;
	margin: 0 !important;
	font-size: 18px;
	line-height: 24px;
	font-weight: 700;
	color: #1F2329;
	transition: all 0.3s ease;
}

.ew-accordion__item.is-active .ew-accordion__title {
	color: #F6F7F8;
	font-size: 24px;
	line-height: 32px;
}

.ew-accordion__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #14142B;
	transition: color 0.3s ease, transform 0.3s ease;
}

.ew-accordion__item.is-active .ew-accordion__icon {
	color: #FFFFFF;
	transform: rotate( 180deg );
}

.ew-accordion__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}

.ew-accordion__item.is-active .ew-accordion__panel {
	grid-template-rows: 1fr;
}

.ew-accordion__panel-inner {
	overflow: hidden;
	min-height: 0;
}

.ew-accordion__text {
	font-family: var(--ew-main-font);
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px;
	line-height: 26px;
	font-weight: 400;
	color: #E9EBF6;
}

/* ==========================================================
   Right column: image showcase
   Every item's image is stacked in the same spot; only the
   active one is visible, crossfading in on top of the rest.
   ========================================================== */
.ew-accordion__media {
	position: relative;
	width: var( --ew-accordion-image-width );
	align-self: stretch;
	min-height: 400px;
	overflow: hidden;
	border-radius: 24px;
}

.ew-accordion__media-item {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease;
}

.ew-accordion__media-item.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
}

.ew-accordion__media-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media ( max-width: 767px ) {
	.ew-accordion {
		flex-direction: column-reverse;
	}
	
	.ew-accordion__list{
		width: 100%;
	}

	.ew-accordion__media {
		flex-basis: auto;
		width: 100%;
	}

	.ew-accordion__title{
		font-size: 18px;
		line-height: 24px;
	}
	
	.ew-accordion__item.is-active .ew-accordion__title{
		font-size: 20px;
		line-height: 28px;
	}

	.ew-accordion__text {
		font-size: 14px;
		line-height: 20px;
	}
}
