/* TL Accordion Widget — Frontend CSS — prefix: tl-acw- */

.tl-acw-wrap {
	width: 100%;
}

/* ── ITEM ── */
.tl-acw-item {
	border-style: solid;
	border-width: 1px;
	border-color: #e8ecf1;
	overflow: hidden;
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

/* ── HEADER ── */
.tl-acw-header {
	display: flex;
	align-items: center;
	cursor: pointer;
	user-select: none;
	transition: background-color 0.2s ease;
	border-radius: inherit;
}
.tl-acw-header:focus-visible {
	outline: 2px solid #4ecdc4;
	outline-offset: -2px;
}

/* ── ICON CIRCLE ── */
.tl-acw-icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform 0.3s ease;
}
.tl-acw-item:hover .tl-acw-icon-circle {
	transform: scale(1.05);
}

.tl-acw-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.tl-acw-icon-wrap i {
	display: block;
}
.tl-acw-icon-wrap svg {
	display: block;
	fill: currentColor;
}

/* ── TITLE ── */
.tl-acw-title {
	flex: 1;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0.2px;
}

/* ── TOGGLE ── */
.tl-acw-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}
.tl-acw-toggle svg {
	stroke: currentColor;
	fill: none;
}

/* Chevron: rotate when active */
.tl-acw-active .tl-acw-toggle svg {
	transform: rotate(180deg);
}

/* Arrow: rotate when active */
.tl-acw-item[data-toggle="arrow"] .tl-acw-active .tl-acw-toggle svg {
	transform: rotate(90deg);
}

/* Toggle left spacing */
.tl-acw-toggle-left {
	margin-right: 4px;
}
.tl-acw-toggle-right {
	margin-left: auto;
}

/* ── BODY ── */
.tl-acw-body {
	overflow: hidden;
	height: 0;
}
.tl-acw-body-inner {
	font-size: 14px;
	line-height: 1.7;
}
.tl-acw-body-inner p {
	margin: 0 0 10px;
}
.tl-acw-body-inner p:last-child {
	margin-bottom: 0;
}

/* ── SEPARATOR ── */
.tl-acw-separator {
	height: 1px;
	margin: 0 24px;
}

/* ── RESPONSIVE ── */
@media (max-width: 767px) {
	.tl-acw-header {
		padding: 14px 16px !important;
	}
	.tl-acw-body-inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
