/* Trellis FAQs - accordion styles, matching the eligibility form's visual language
   (same navy/purple palette, fonts, thin hairline dividers, minimal shadows).
   Scoped under .trellis-elig-faqs-wrap so it can sit inline in normal page content
   (unlike the eligibility form, this does not break out to full page width).
   Categories are a second collapsible level above individual questions: a
   category toggle reveals/hides its question list, and each question still
   expands independently within that list. */

.trellis-elig-faqs-wrap [hidden] {
	display: none !important;
}

.trellis-elig-faqs-wrap {
	--tr-navy: #1e2a4a;
	--tr-navy-deep: #0d1428;
	--tr-ink: #5b6478;
	--tr-ink-faint: #8b93a7;
	--tr-purple: #7657f2;
	--tr-tint: #7657f21c;
	--tr-white: #ffffff;
	/* ================= EDITABLE DESIGN CONTROLS =================
	   ================================================================ */
	--tr-display: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--tr-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--tr-page-title-size: clamp(30px, 5vw, 44px);
	--tr-page-title-line: 1.06;
	--tr-page-title-bottom: 11px;
	--tr-body-size: 16px;
	--tr-body-line: 1.6;
	--tr-intro-bottom: 32px;
	--tr-question-padding: var(--tr-question-padding);

	box-sizing: border-box;
	max-width: 820px;
	margin: 0 auto;
	color: var(--tr-ink);
	font-family: var(--tr-body);
	font-size: 16px;
	line-height: 1.5;
}

.trellis-elig-faqs-wrap *,
.trellis-elig-faqs-wrap *::before,
.trellis-elig-faqs-wrap *::after {
	box-sizing: border-box;
}

.trellis-elig-faqs-empty {
	margin: 0;
	color: var(--tr-ink-faint);
}

/* Page introduction */
.trellis-elig-faqs-wrap .trellis-elig-page-intro {
	margin: 0 0 var(--tr-intro-bottom);
	text-align: center;
}

.trellis-elig-faqs-wrap .trellis-elig-page-eyebrow {
	margin: 0 0 9px;
	color: var(--tr-purple);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.3;
}

.trellis-elig-faqs-wrap .trellis-elig-page-intro h1 {
	margin: 0 0 var(--tr-page-title-bottom);
	color: var(--tr-navy);
	font-family: var(--tr-display);
	font-size: var(--tr-page-title-size);
	font-weight: 700;
	line-height: var(--tr-page-title-line);
	letter-spacing: -.035em;
}

.trellis-elig-faqs-wrap .trellis-elig-page-intro > p:last-child {
	max-width: 650px;
	margin: 0 auto;
	color: var(--tr-ink);
	font-family: var(--tr-body);
	font-size: 16px;
	line-height: 1.6;
}

/* Search box */
.trellis-elig-faqs-search {
	margin: 0 0 20px;
}

.trellis-elig-faqs-search-input {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	padding: 12px 16px;
	background: var(--tr-white);
	border: 1px solid var(--tr-navy);
	border-radius: 999px;
	box-shadow: none;
	color: var(--tr-navy);
	font-family: var(--tr-body);
	font-size: 15px;
	transition: border-color 0.15s ease;
}

.trellis-elig-faqs-search-input::placeholder {
	color: var(--tr-ink-faint);
}

.trellis-elig-faqs-search-input:focus {
	outline: none;
	border-color: var(--tr-purple);
}

.trellis-elig-faqs-no-results {
	margin: 0 0 16px;
	color: var(--tr-ink-faint);
	font-size: 14px;
}

/* Category groups — each is a collapsible section. The toggle is
   deliberately much louder than a question row (larger, uppercase,
   bottom rule) so the hierarchy between "section" and "content" reads
   at a glance. */
.trellis-elig-faqs {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.trellis-elig-faqs-group {
	border-bottom: 1px solid rgba(30, 42, 74, 0.12);
}

.trellis-elig-faqs-group:last-child {
	border-bottom: 0;
}

.trellis-elig-faqs-group-flat {
	border-bottom: 0;
}

.trellis-elig-faqs-group-heading {
	margin: 0;
	font: inherit;
}

.trellis-elig-faqs-group-toggle {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 18px 4px;
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	color: var(--tr-navy);
}

.trellis-elig-faqs-group-title {
	font-family: var(--tr-display);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.trellis-elig-faqs-group-count {
	flex-shrink: 0;
	min-width: 22px;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--tr-tint);
	color: var(--tr-purple);
	font-size: 12px;
	font-weight: 800;
	text-align: center;
}

.trellis-elig-faqs-group-icon {
	position: relative;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-left: auto;
}

.trellis-elig-faqs-group-icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border: solid var(--tr-navy);
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -65%) rotate(45deg);
	transition: transform 0.2s ease;
}

.trellis-elig-faqs-group.is-open .trellis-elig-faqs-group-icon::before {
	transform: translate(-50%, -35%) rotate(225deg);
}

/* Question rows — plain list rows, not boxed tiles: no card background,
   no border-box, no shadow. Just a hairline divider between rows. */
.trellis-elig-faqs-list {
	display: flex;
	flex-direction: column;
	padding: 0 0 14px;
}

.trellis-elig-faq-item {
	border-top: 1px solid rgba(30, 42, 74, 0.08);
}

.trellis-elig-faq-item:first-child {
	border-top: 0;
}

.trellis-elig-faq-heading {
	margin: 0;
	font: inherit;
}

.trellis-elig-faq-question {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	margin: 0;
	padding: 13px 4px;
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	color: var(--tr-navy);
}

.trellis-elig-faq-question-text {
	font-family: var(--tr-body);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.trellis-elig-faq-item.is-open .trellis-elig-faq-question-text {
	color: var(--tr-purple);
}

.trellis-elig-faq-icon {
	position: relative;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

.trellis-elig-faq-icon::before,
.trellis-elig-faq-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--tr-ink);
	transition: transform 0.2s ease;
}

.trellis-elig-faq-icon::before {
	width: 11px;
	height: 1.5px;
	transform: translate(-50%, -50%);
}

.trellis-elig-faq-icon::after {
	width: 1.5px;
	height: 11px;
	transform: translate(-50%, -50%);
}

.trellis-elig-faq-item.is-open .trellis-elig-faq-icon::before,
.trellis-elig-faq-item.is-open .trellis-elig-faq-icon::after {
	background: var(--tr-purple);
}

.trellis-elig-faq-item.is-open .trellis-elig-faq-icon::after {
	transform: translate(-50%, -50%) rotate(90deg) scaleY(0);
}

.trellis-elig-faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease;
}

.trellis-elig-faq-answer-inner {
	padding: 0 22px 16px 4px;
	color: var(--tr-ink);
	font-size: 15px;
}

.trellis-elig-faq-answer-inner p {
	margin: 0 0 12px;
}

.trellis-elig-faq-answer-inner p:last-child {
	margin-bottom: 0;
}

@media (max-width: 600px) {
	.trellis-elig-faqs-group-toggle {
		padding: 15px 2px;
	}

	.trellis-elig-faqs-group-title {
		font-size: 16px;
	}

	.trellis-elig-faq-question {
		padding: 11px 2px;
	}

	.trellis-elig-faq-question-text {
		font-size: 14px;
	}

	.trellis-elig-faq-answer-inner {
		padding: 0 18px 14px 2px;
	}
}
