/* ==========================================================================
   FAQ Accordion Widget — Forklifts Australia
   Fonts: Lato (headings), Roboto (body)
   Primary: #2B2B2B | Accent: #E72B2D | Secondary: #404040
   ========================================================================== */

/* ---------- Wrapper ---------- */

.faq-accordion-wrapper {
	max-width: 960px;
	margin: 0 auto;
	padding: 40px 0;
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ---------- Header ---------- */

.faq-accordion-header {
	text-align: center;
	margin-bottom: 48px;
}

.faq-accordion-heading {
	font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-weight: 800;
	font-size: 2.125rem;
	color: #2B2B2B;
	margin: 0 0 16px;
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-transform: none;
}

.faq-accordion-subheading {
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	font-size: 1.0625rem;
	color: #6B6B6B;
	margin: 0 auto;
	line-height: 1.65;
	max-width: 680px;
}

/* ---------- Accordion List ---------- */

.faq-accordion-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* ---------- Accordion Item ---------- */

.faq-accordion-item {
	border-bottom: 1px solid #E4E4E7;
	transition: background-color 0.25s ease;
	border-radius: 0;
}

.faq-accordion-item:first-child {
	border-top: 1px solid #E4E4E7;
}

.faq-accordion-item.is-active {
	background-color: #FFF8F8;
}

/* ---------- Trigger Button ---------- */

.faq-accordion-wrapper .faq-accordion-trigger {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
	padding: 22px 24px;
	margin: 0;
	border: none !important;
	border-radius: 0;
	background: transparent !important;
	cursor: pointer;
	text-align: left;
	gap: 20px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: background-color 0.2s ease;
}

.faq-accordion-wrapper .faq-accordion-trigger:hover {
	background-color: #F8F8FA !important;
}

.faq-accordion-wrapper .faq-accordion-item.is-active .faq-accordion-trigger:hover {
	background-color: transparent !important;
}

.faq-accordion-wrapper .faq-accordion-trigger:focus-visible {
	outline: 2px solid #E72B2D;
	outline-offset: -2px;
}

/* ---------- Question Text ---------- */

.faq-accordion-wrapper .faq-accordion-question {
	font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-weight: 700;
	font-size: 1.0625rem;
	color: #2B2B2B;
	line-height: 1.55;
	flex: 1 1 0%;
	min-width: 0;
}

/* ---------- Icon ---------- */

.faq-accordion-wrapper .faq-accordion-icon {
	flex: 0 0 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: #FEF1F1;
	color: #E72B2D;
	transition: background-color 0.25s ease, transform 0.3s ease;
}

.faq-accordion-wrapper .faq-accordion-item.is-active .faq-accordion-icon {
	background-color: #E72B2D;
	color: #FFFFFF;
}

.faq-accordion-wrapper .faq-accordion-icon .faq-icon-minus {
	display: none;
}

.faq-accordion-wrapper .faq-accordion-icon .faq-icon-plus {
	display: block;
}

.faq-accordion-wrapper .faq-accordion-item.is-active .faq-accordion-icon .faq-icon-plus {
	display: none;
}

.faq-accordion-wrapper .faq-accordion-item.is-active .faq-accordion-icon .faq-icon-minus {
	display: block;
}

/* ---------- Panel / Answer ---------- */

.faq-accordion-wrapper .faq-accordion-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-accordion-wrapper .faq-accordion-answer {
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	font-size: 0.9875rem;
	color: #3D3D3D;
	line-height: 1.75;
	padding: 0 24px 24px 24px;
}

.faq-accordion-wrapper .faq-accordion-answer p {
	margin: 0 0 12px;
	color: inherit;
}

.faq-accordion-wrapper .faq-accordion-answer p:last-child {
	margin-bottom: 0;
}

/* ---------- Responsive ---------- */

@media (max-width: 768px) {
	.faq-accordion-wrapper {
		padding: 24px 0;
	}

	.faq-accordion-header {
		margin-bottom: 32px;
	}

	.faq-accordion-heading {
		font-size: 1.625rem;
	}

	.faq-accordion-subheading {
		font-size: 0.9375rem;
	}

	.faq-accordion-wrapper .faq-accordion-trigger {
		padding: 18px 16px;
		gap: 14px;
	}

	.faq-accordion-wrapper .faq-accordion-question {
		font-size: 0.9375rem;
	}

	.faq-accordion-wrapper .faq-accordion-answer {
		padding: 0 16px 20px 16px;
		font-size: 0.875rem;
	}

	.faq-accordion-wrapper .faq-accordion-icon {
		flex: 0 0 32px;
		width: 32px;
		height: 32px;
	}

	.faq-accordion-wrapper .faq-accordion-icon svg {
		width: 16px;
		height: 16px;
	}
}

@media (max-width: 480px) {
	.faq-accordion-heading {
		font-size: 1.375rem;
	}

	.faq-accordion-wrapper .faq-accordion-trigger {
		padding: 16px 12px;
		gap: 12px;
	}

	.faq-accordion-wrapper .faq-accordion-answer {
		padding: 0 12px 16px 12px;
		font-size: 0.8125rem;
		line-height: 1.65;
	}

	.faq-accordion-wrapper .faq-accordion-icon {
		flex: 0 0 28px;
		width: 28px;
		height: 28px;
	}
}

/* ---------- Elementor Editor Preview ---------- */

.elementor-editor-active .faq-accordion-wrapper .faq-accordion-panel {
	max-height: none;
	overflow: visible;
}

.elementor-editor-active .faq-accordion-wrapper .faq-accordion-icon .faq-icon-plus {
	display: none;
}

.elementor-editor-active .faq-accordion-wrapper .faq-accordion-icon .faq-icon-minus {
	display: block;
}
