/* =====================================================
   HEA Accordion Widget
   ===================================================== */

/* Wrapper */
.hea-wrapper {
	position: relative;
}

/* Floating hover image */
.hea-float-img-wrap {
	position: absolute;
	right: 0;
	top: 0;
	pointer-events: none;
	z-index: 10;
	opacity: 0;
	transition: opacity 0.35s ease, top 0.25s ease;
	width: 180px;
}

.hea-float-img-wrap.hea-img-visible {
	opacity: 1;
}

.hea-float-img-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

/* Accordion list */
.hea-accordion {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

/* Single item */
.hea-item {
	position: relative;
	border-bottom: 1px solid #e5e5e5;
	transition: background-color 0.25s ease;
}

.hea-item:first-child {
	border-top: 1px solid #e5e5e5;
}

/* Header row */
.hea-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 0;
	cursor: pointer;
	user-select: none;
}

/* Title */
.hea-title {
	font-size: 18px;
	font-weight: 600;
	color: #111111;
	flex: 1;
	line-height: 1.4;
	transition: color 0.2s ease;
}

/* Icon */
.hea-icon-wrap {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	transition: color 0.2s ease;
}

.hea-icon-wrap .hea-icon-open {
	display: none;
}

.hea-item.hea-active .hea-icon-wrap .hea-icon-closed {
	display: none;
}

.hea-item.hea-active .hea-icon-wrap .hea-icon-open {
	display: flex;
}

.hea-icon-wrap i,
.hea-icon-wrap svg {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: #111111;
	fill: #111111;
	transition: color 0.2s ease, fill 0.2s ease;
}

/* Body (collapsible) */
.hea-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, padding 0.3s ease;
	padding-bottom: 0;
}

.hea-item.hea-active .hea-body {
	max-height: 2000px;
	padding-bottom: 20px;
}

/* Description */
.hea-desc {
	font-size: 15px;
	line-height: 1.7;
	color: #555555;
	margin: 0;
}

.hea-desc p {
	margin: 0 0 12px;
}

.hea-desc p:last-child {
	margin-bottom: 0;
}

/* Active item states */
.hea-item.hea-active .hea-title {
	color: inherit;
}
