/* CH Farm Accordions — single product page.
   Native <details>/<summary>, so no JavaScript is required. */

.chfa-accordions {
	margin: 1.5em 0;
}

.chfa-item {
	border: 1px solid var(--chfa-border, #e3e3e3);
	border-radius: var(--chfa-radius, 3px);
	margin-bottom: 10px;
	background: #fff;
}

.chfa-item[open] {
	background: #fff;
}

.chfa-summary {
	list-style: none;
	cursor: pointer;
	padding: 16px 20px;
	font-weight: 600;
	color: var(--chfa-header-color, #5a5a52);
	background: var(--chfa-header-bg, #f4f4f2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	user-select: none;
	border-radius: var(--chfa-radius, 3px);
}

/* Remove the native disclosure triangle across browsers. */
.chfa-summary::-webkit-details-marker {
	display: none;
}
.chfa-summary::marker {
	content: "";
}

.chfa-item[open] > .chfa-summary {
	background: var(--chfa-header-bg-open, #fff);
	border-bottom: 1px solid var(--chfa-border, #e3e3e3);
	border-radius: var(--chfa-radius, 3px) var(--chfa-radius, 3px) 0 0;
}

/* +/- icon on the right, drawn with pseudo-elements. */
.chfa-icon {
	position: relative;
	width: 22px;
	height: 22px;
	border: 1px solid #cfcfcf;
	border-radius: 50%;
	flex: 0 0 auto;
	margin-left: 12px;
}
.chfa-icon::before,
.chfa-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 2px;
	background: var(--chfa-icon-color, #8a8a82);
	transform: translate(-50%, -50%);
	transition: opacity 0.15s ease;
}
.chfa-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
/* Collapse the vertical stroke when open → "−". */
.chfa-item[open] > .chfa-summary .chfa-icon::after {
	opacity: 0;
}

/* Glyph icon mode: a character that differs between closed and open. Replaces
   the geometric +/- (the circle and strokes) with text content. */
.chfa-glyph-icons .chfa-icon {
	border: 0;
	width: auto;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 1em;
}
.chfa-glyph-icons .chfa-icon::after {
	content: none;
	display: none;
}
.chfa-glyph-icons .chfa-icon::before {
	content: var(--chfa-icon-closed, "+");
	position: static;
	top: auto;
	left: auto;
	width: auto;
	height: auto;
	background: none;
	transform: none;
	font-size: 18px;
	line-height: 1;
	color: var(--chfa-icon-color, #8a8a82);
}
.chfa-glyph-icons .chfa-item[open] > .chfa-summary .chfa-icon::before {
	content: var(--chfa-icon-open, "–");
}

.chfa-body {
	padding: 16px 20px;
	color: var(--chfa-body-color, #4a4a4a);
	line-height: 1.6;
}
.chfa-body > :first-child {
	margin-top: 0;
}
.chfa-body > :last-child {
	margin-bottom: 0;
}

/* Auto-generated kit component list. */
.chfa-body .chfa-kit-components {
	list-style: none;
	margin: 0;
	padding: 0;
}
.chfa-body .chfa-kit-components li {
	padding: 4px 0;
	border-bottom: 1px solid #f0f0ef;
}
.chfa-body .chfa-kit-components li:last-child {
	border-bottom: 0;
}
.chfa-body .chfa-kit-components .chfa-qty {
	font-weight: 600;
	color: #5a5a52;
	margin-right: 6px;
}
