/*--------------------------------------------------------------
# FAQ Accordion Component
#
# Bootstrap 5 accordion overrides using design tokens.
# Used on city landing pages and FAQ hub page.
--------------------------------------------------------------*/

/* ==========================================================================
   FAQ Section
   ========================================================================== */

.faq-section {
	padding: var(--space-8) 0;
}

.faq-section__heading {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-2xl);
	color: var(--color-primary);
	margin-bottom: var(--space-6);
}

/* ==========================================================================
   Accordion Overrides
   ========================================================================== */

.faq-accordion .accordion-item {
	border: var(--border);
	border-radius: var(--radius-lg) !important;
	margin-bottom: var(--space-3);
	overflow: hidden;
}

.faq-accordion .accordion-button {
	font-family: var(--font-heading);
	font-weight: var(--weight-semibold);
	font-size: var(--text-md);
	color: var(--color-primary);
	padding: var(--space-5);
	background-color: var(--color-bg);
	border: none;
	box-shadow: none;
	gap: var(--space-3);
}

.faq-accordion .accordion-button:not(.collapsed) {
	background-color: var(--color-bg-light);
	color: var(--color-primary);
	box-shadow: none;
}

.faq-accordion .accordion-button::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2307203f'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.faq-accordion .accordion-button:not(.collapsed)::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2307203f'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.faq-accordion .accordion-button:focus {
	box-shadow: 0 0 0 3px rgba(213, 173, 54, 0.3);
	border-color: var(--color-accent);
}

.faq-accordion .accordion-button .faq-icon {
	width: 36px;
	height: 36px;
	min-width: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-accent);
	color: var(--color-primary-dark);
	border-radius: var(--radius-full);
	font-size: var(--text-sm);
}

.faq-accordion .accordion-body {
	padding: 0 var(--space-5) var(--space-5);
	font-family: var(--font-body);
	font-size: var(--text-md);
	line-height: var(--leading-relaxed);
	color: var(--color-text);
}

/* ==========================================================================
   FAQ Footer CTA
   ========================================================================== */

.faq-section__footer {
	margin-top: var(--space-6);
	padding: var(--space-5);
	background-color: var(--color-bg-light);
	border-radius: var(--radius-lg);
	text-align: center;
	font-size: var(--text-base);
	color: var(--color-text-light);
}

.faq-section__footer a {
	color: var(--color-primary);
	font-weight: var(--weight-semibold);
	text-decoration: none;
}

.faq-section__footer a:hover {
	color: var(--color-accent-dark);
	text-decoration: underline;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 767.98px) {
	.faq-section__heading {
		font-size: var(--text-xl);
	}

	.faq-accordion .accordion-button {
		font-size: var(--text-base);
		padding: var(--space-4);
	}

	.faq-accordion .accordion-body {
		font-size: var(--text-base);
		padding: 0 var(--space-4) var(--space-4);
	}
}
