/**
 * Accordion Container — frontend styles
 *
 * @package celeste_Theme
 * @since 2.21.7
 */

 .cac-wrapper {
	--cac-border-width: 1px;
	--cac-color-border: #1a1a1a;
	--cac-color-title: inherit;
	--cac-color-icon: currentColor;
	--cac-color-toggle-bg: transparent;
	--cac-color-content-bg: transparent;
	--cac-content-padding: 0px;
	--cac-content-border-width: 0px;
	--cac-color-content-border: transparent;
	--cac-content-border-radius: 0px;
	--cac-border-radius: 0px;
	--cac-t-line-height: normal;
	--cac-t-transform: none;
	--cac-t-color: currentColor;
	--cac-t-font: var(--h3-font-family);
	--cac-t-weight: var(--h3-font-weight, 700);
	--cac-t-size: var(--h3-size-fluid, clamp(1.25rem, -4.14px + 4.31vw, 2.5rem));
	--cac-toggle-pad: 12px 0;
	/* New Internal Var */
	--cac-body-height: 0px;
}

.cac-title {
	font-family: var(--cac-t-font);
	font-weight: var(--cac-t-weight);
	font-size: var(--cac-t-size);
	line-height: var(--cac-t-line-height);
	text-transform: var(--cac-t-transform);
	color: var(--cac-t-color);
}

.cac-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	text-align: left;
	cursor: pointer;
	background: var(--cac-color-toggle-bg);
	color: var(--cac-color-title);
	border: none;
	padding: var(--cac-toggle-pad);
}

.cac-wrapper[data-border-layout="dividers"] .cac-panel + .cac-panel .cac-toggle {
	border-top: var(--cac-border-width) solid var(--cac-color-border);
}

.cac-wrapper[data-border-layout="top"] .cac-toggle {
	border-top: var(--cac-border-width) solid var(--cac-color-border);
}

.cac-wrapper[data-border-layout="bottom"] .cac-toggle {
	border-bottom: var(--cac-border-width) solid var(--cac-color-border);
}

.cac-wrapper[data-border-layout="all"] .cac-toggle {
	border: var(--cac-border-width) solid var(--cac-color-border);
	border-radius: var(--cac-border-radius);
}

/* .cac-body — Refactored for numerical height transition */
.cac-body {
	height: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), 
	            opacity 0.3s ease, 
	            visibility 0.35s;
}

.cac-body.is-active {
	height: var(--cac-body-height);
	opacity: 1;
	visibility: visible;
}

/* .cac-body-inner — all visual properties */
.cac-body-inner {
	padding: var(--cac-content-padding);
	border: var(--cac-content-border-width) solid var(--cac-color-content-border);
	border-radius: var(--cac-content-border-radius);
	background: var(--cac-color-content-bg);
}

.cac-wrapper[data-content-spacing='none'] .cac-body-inner .wpb_content_element,
.cac-wrapper[data-content-spacing='custom'] .cac-body-inner .wpb_content_element {
	margin-bottom: var(--cac-content-margin);
}

.cac-icon {
	position: relative;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	color: var(--cac-color-icon);
}

.cac-icon::before,
.cac-icon::after {
	content: '';
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.cac-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.cac-panel.is-active .cac-icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
	opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
	.cac-body {
		transition: none;
	}
}