/* ============================================================
   Invisio FAQ Accordion — faq-accordion.css
   Elevate Solutions RE style: flat table-row, green brand
   ============================================================ */

/* ── Kill ALL Elementor pink / purple interference ───────────── */
.faq-wrapper *,
.faq-wrapper *:focus,
.faq-wrapper *:focus-visible,
.faq-wrapper *:hover,
.faq-wrapper *:active,
.faq-wrapper button,
.faq-wrapper button:focus,
.faq-wrapper button:focus-visible,
.faq-wrapper button:hover,
.faq-wrapper button:active {
	outline: none !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	border-color: inherit !important; /* will be overridden per-element below */
}
/* Elementor sets a pink/purple --e-global-color on focus – neutralise it */
.faq-wrapper button:focus-visible {
	outline: 2px solid #2e7d32 !important; /* accessible green fallback */
	outline-offset: 2px !important;
}

/* ── Elevate brand tokens ────────────────────────────────────── */
:root {
	--faq-green:        #2e7d32;
	--faq-green-light:  #e8f5e9;
	--faq-border:       #d0d0d0;
	--faq-border-open:  #2e7d32;
	--faq-text-q:       #2e7d32;
	--faq-text-a:       #333333;
	--faq-bg:           #ffffff;
	--faq-bg-open:      #ffffff;
}

/* ── Wrapper ─────────────────────────────────────────────────── */
.faq-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
	border: 1px solid var(--faq-border);
	border-bottom: none;
	border-radius: 4px;
	overflow: hidden;
}

/* ── Each row ────────────────────────────────────────────────── */
.faq-item {
	border-radius: 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--faq-border) !important;
	background: var(--faq-bg);
	box-shadow: none !important;
	transition: background 0.2s ease;
}

.faq-item.active {
	background: var(--faq-bg-open);
	border-bottom-color: var(--faq-border-open) !important;
}

/* ── Question button ─────────────────────────────────────────── */
.faq-question {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	padding: 16px 20px;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	cursor: pointer;
	text-align: left;
	gap: 14px;
	font-family: inherit;
	outline: none !important;
}

/* Remove the right-side arrow — not in the target design */
.faq-arrow {
	display: none;
}

/* ── Icon: circle with ? (closed) → circle with ✓ (open) ─────── */
.faq-left {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
}

.faq-plus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 2px solid var(--faq-green) !important;
	color: var(--faq-green);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	background: transparent;
	transition: background 0.2s ease, color 0.2s ease;
	/* Show "?" by default via content trick handled in PHP */
}

/* Open state: filled green circle with checkmark */
.faq-item.active .faq-plus {
	background: var(--faq-green);
	color: #fff;
	border-color: var(--faq-green) !important;
	transform: none; /* no rotation — checkmark replaces + */
}

/* ── Question text ───────────────────────────────────────────── */
.faq-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--faq-text-q);
	line-height: 1.4;
}

/* Closed state: text stays green but slightly muted */
.faq-item:not(.active) .faq-title {
	color: #1a1a1a;
	font-weight: 600;
}

/* Open state: bold green */
.faq-item.active .faq-title {
	color: var(--faq-text-q);
	font-weight: 700;
}

/* ── Answer panel ────────────────────────────────────────────── */
.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease;
	border-top: 1px solid var(--faq-border);
}

.faq-item.active .faq-answer {
	max-height: 800px;
	border-top-color: var(--faq-border);
}

.faq-answer-inner {
	padding: 16px 20px 20px 58px; /* align text under the question title */
	font-size: 0.95rem;
	color: var(--faq-text-a);
	line-height: 1.75;
}

.faq-answer-inner p:first-child { margin-top: 0; }
.faq-answer-inner p:last-child  { margin-bottom: 0; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 600px) {
	.faq-question {
		padding: 14px 14px;
		gap: 10px;
	}

	.faq-answer-inner {
		padding: 14px 14px 18px 50px;
	}

	.faq-title {
		font-size: 0.9rem;
	}
}
