/*
 * FAQ Accordion — structural/layout CSS plus lightweight state presentation.
 * Colors remain configurable through Elementor controls (injected as CSS vars),
 * while the stylesheet handles layout, default weight, and the icon animation.
 */
.bdh-faq-accordion__item {
	display: block;
	border-bottom-style: solid; /* divider width/color come from controls */
}

.bdh-faq-accordion--cards {
	display: grid;
}

.bdh-faq-accordion--cards .bdh-faq-accordion__item {
	border-style: solid;
}

.bdh-faq-accordion--compact .bdh-faq-accordion__item {
	border-bottom-style: solid;
}

.bdh-faq-accordion__question,
.bdh-faq-accordion__answer {
	margin: 0;
}

/* Native <details>/<summary>: hide the default disclosure triangle so the
 * Elementor-controlled typography/alignment renders cleanly. Add an icon
 * back later via the "Accordion behavior + icons" enhancement if needed. */
.bdh-faq-accordion__question::-webkit-details-marker {
	display: none;
}

.bdh-faq-accordion__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	list-style: none;
	font-weight: 600;
}

.bdh-faq-accordion--icon-left .bdh-faq-accordion__question {
	justify-content: flex-start;
}

.bdh-faq-accordion--icon-left .bdh-faq-accordion__icons {
	order: -1;
}

.bdh-faq-accordion__question-text {
	min-width: 0;
}

.bdh-faq-accordion__icons {
	display: inline-grid;
	grid-template-areas: "stack";
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: var(--bdh-faq-accordion-icon-color, currentColor);
}

.bdh-faq-accordion__icon {
	display: inline-flex;
	grid-area: stack;
	align-items: center;
	justify-content: center;
	color: inherit;
	opacity: 1;
	transform: rotate(0deg);
	transition: transform 240ms ease, opacity 240ms ease, color 240ms ease;
	will-change: transform, opacity;
	pointer-events: none;
}

.bdh-faq-accordion__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	stroke: currentColor;
	transition: fill 240ms ease, stroke 240ms ease;
}

.bdh-faq-accordion__icons[data-icon-mode='dual'] .bdh-faq-accordion__icon--open {
	opacity: 0;
	transform: rotate(-180deg);
	color: var(--bdh-faq-accordion-icon-active-color, var(--bdh-faq-accordion-icon-color, currentColor));
}

.bdh-faq-accordion__item[open] .bdh-faq-accordion__icons[data-icon-mode='dual'] .bdh-faq-accordion__icon--closed {
	opacity: 0;
	transform: rotate(180deg);
	color: var(--bdh-faq-accordion-icon-active-color, var(--bdh-faq-accordion-icon-color, currentColor));
}

.bdh-faq-accordion__item[open] .bdh-faq-accordion__icons[data-icon-mode='dual'] .bdh-faq-accordion__icon--open {
	opacity: 1;
	transform: rotate(0deg);
	color: var(--bdh-faq-accordion-icon-active-color, var(--bdh-faq-accordion-icon-color, currentColor));
}

.bdh-faq-accordion__icons[data-icon-mode='single'] .bdh-faq-accordion__icon {
	opacity: 1;
	transform: rotate(0deg);
}

.bdh-faq-accordion__item[open] .bdh-faq-accordion__icons[data-icon-mode='single'] .bdh-faq-accordion__icon {
	opacity: 1;
	transform: rotate(180deg);
	color: var(--bdh-faq-accordion-icon-active-color, var(--bdh-faq-accordion-icon-color, currentColor));
}

.bdh-faq-accordion__question:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.bdh-faq-accordion__answer a:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

/* Answer content (WYSIWYG) — keep spacing sensible for nested lists/paragraphs. */
.bdh-faq-accordion__answer p:first-child {
	margin-top: 0;
}

.bdh-faq-accordion__answer p:last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.bdh-faq-accordion__icon,
	.bdh-faq-accordion__icon svg {
		transition-duration: 0s !important;
	}
}
