/**
 * Custom Accordion Module Styles
 * Divi Child Theme - does not modify Divi core
 */

/* Module wrapper */
.et_pb_dch_accordion {
	box-sizing: border-box;
	margin-bottom: 1em;
}

/* Clickable header */
.dch-accordion__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5em;
	padding: 1em 1.25em;
	cursor: pointer;
	user-select: none;
	transition: background-color 0.2s ease;
}

.dch-accordion__header:hover {
	background-color: rgba(0, 0, 0, 0.03);
}

.dch-accordion__header:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Header text block */
.dch-accordion__header .dch-accordion__title,
.dch-accordion__header .dch-accordion__subtitle {
	margin: 0;
	flex: 1 1 auto;
}

.dch-accordion__header .dch-accordion__subtitle {
	font-size: 0.9em;
	opacity: 0.85;
}

/* Toggle icon */
.dch-accordion__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5em;
	height: 1.5em;
	flex-shrink: 0;
	transition: transform 0.25s ease;
}

.dch-accordion__icon::before {
	content: '';
	width: 0.5em;
	height: 0.5em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	margin-bottom: 0.25em;
}

.dch-accordion--open .dch-accordion__icon::before {
	transform: rotate(-135deg);
	margin-bottom: -0.25em;
}

/* Content panel */
.dch-accordion__panel {
	overflow: hidden;
}

.dch-accordion__content {
	padding: 1em 1.25em;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.dch-accordion__content p:first-child {
	margin-top: 0;
}

.dch-accordion__content p:last-child {
	margin-bottom: 0;
}

