/**
 * DB Accordion — e-n-accordion–like markup; scoped under .dbbk-widget-n-accordion.
 * No panel backgrounds, no outer frame; single chevron rotates when open.
 */

.dbbk-accordion__empty {
	padding: 1rem 0;
	opacity: 0.75;
	font-size: 0.95rem;
}

/* Beaver Builder often draws a border/shadow on .fl-module-content — strip for this module only. */
.fl-module-devbrothers-accordion > .fl-module-content {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.dbbk-widget-n-accordion {
	--dbbk-acc-motion: 0.5s;
	--n-accordion-title-font-size: 20px;
	--n-accordion-border-width: 0px;
	--n-accordion-border-color: #d5d8dc;
	--n-accordion-border-style: solid;
	--n-accordion-padding: 10px;
	--n-accordion-border-radius: 0px;
	--n-accordion-icon-size: 15px;
	--n-accordion-title-normal-color: #1f2124;
	--n-accordion-title-hover-color: #1f2124;
	--n-accordion-title-active-color: #1f2124;
	--n-accordion-icon-normal-color: var(--n-accordion-title-normal-color);
	--n-accordion-icon-hover-color: var(--n-accordion-title-hover-color);
	--n-accordion-icon-active-color: var(--n-accordion-title-active-color);
	--n-accordion-icon-gap: 0 10px;
	--n-accordion-content-color: #4a4f55;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	box-shadow: none;
	background: transparent;
	box-sizing: border-box;
}

.dbbk-widget-n-accordion .e-n-accordion {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

/* Hide native disclosure triangle (often still shows as extra “arrow” on the left). */
.dbbk-widget-n-accordion .e-n-accordion details > summary::-webkit-details-marker {
	display: none;
}

.dbbk-widget-n-accordion .e-n-accordion details > summary {
	list-style: none;
	list-style-type: none;
	appearance: none;
	-webkit-appearance: none;
	padding-inline-start: 0;
	margin-inline-start: 0;
}

.dbbk-widget-n-accordion .e-n-accordion details > summary::marker {
	content: '';
	font-size: 0;
	line-height: 0;
	color: transparent;
}

/* Some themes add a chevron via pseudo-elements on summary. */
.dbbk-widget-n-accordion summary.e-n-accordion-item-title::before,
.dbbk-widget-n-accordion summary.e-n-accordion-item-title::after {
	content: none !important;
	display: none !important;
}

.dbbk-widget-n-accordion .e-n-accordion-item-title-text::before,
.dbbk-widget-n-accordion .e-n-accordion-item-title-text::after {
	content: none !important;
	display: none !important;
}

.dbbk-widget-n-accordion .e-n-accordion-item {
	margin: 0;
	padding: 0;
	border-width: 0 0 var(--n-accordion-border-width) 0;
	border-style: var(--n-accordion-border-style);
	border-color: var(--n-accordion-border-color);
	border-radius: var(--n-accordion-border-radius);
	background: transparent !important;
	box-shadow: none !important;
}

.dbbk-widget-n-accordion .e-n-accordion-item:last-child {
	border-bottom-width: var(--n-accordion-border-width);
}

.dbbk-widget-n-accordion .e-n-accordion-item-title {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: var(--n-accordion-icon-gap);
	width: 100%;
	padding: var(--n-accordion-padding);
	margin: 0;
	cursor: pointer;
	font-size: var(--n-accordion-title-font-size);
	font-weight: 600;
	line-height: 1.35;
	color: var(--n-accordion-title-normal-color);
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: left;
	box-sizing: border-box;
}

.dbbk-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title {
	color: var(--n-accordion-title-active-color);
	background: transparent !important;
	background-color: transparent !important;
}

.dbbk-widget-n-accordion .e-n-accordion-item-title:hover {
	color: var(--n-accordion-title-hover-color);
	background: transparent !important;
	background-color: transparent !important;
}

.dbbk-widget-n-accordion .e-n-accordion-item-title-header {
	flex: 1 1 auto;
	min-width: 0;
}

.dbbk-widget-n-accordion .e-n-accordion-item-title-text {
	margin: 0;
}

.dbbk-widget-n-accordion .e-n-accordion-item-title-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--n-accordion-icon-size);
	color: var(--n-accordion-icon-normal-color);
	line-height: 1;
}

.dbbk-widget-n-accordion .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon {
	color: var(--n-accordion-icon-hover-color);
}

.dbbk-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon {
	color: var(--n-accordion-icon-active-color);
}

/* One icon: rotate when open (replaces separate e-opened / e-closed glyphs). */
.dbbk-widget-n-accordion .dbbk-n-accordion__icon-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: transform var(--dbbk-acc-motion) cubic-bezier(0.4, 0, 0.2, 1);
}

.dbbk-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title .dbbk-n-accordion__icon-inner {
	transform: rotate(180deg);
}

.dbbk-widget-n-accordion .e-n-accordion-item-title-icon i {
	display: block;
	line-height: 1;
}

.dbbk-widget-n-accordion .e-n-accordion-item-content {
	padding: 0 var(--n-accordion-padding) var(--n-accordion-padding);
	margin: 0;
	color: var(--n-accordion-content-color);
	font-size: calc(var(--n-accordion-title-font-size) * 0.9);
	line-height: 1.55;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Subtle open motion (native <details> doesn’t interpolate height; fade + slide reads as “slower”). */
.dbbk-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-content {
	animation: dbbk-acc-panel-in var(--dbbk-acc-motion) cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes dbbk-acc-panel-in {
	from {
		opacity: 0;
		transform: translateY(-0.35em);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.dbbk-widget-n-accordion .e-n-accordion-item-content > :first-child {
	margin-top: 0;
}

.dbbk-widget-n-accordion .e-n-accordion-item-content > :last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.dbbk-widget-n-accordion {
		--dbbk-acc-motion: 0.01s;
	}

	.dbbk-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-content {
		animation: none;
	}

	.dbbk-widget-n-accordion .dbbk-n-accordion__icon-inner {
		transition: none;
	}
}
