/* =========================================================================
   NaviSystems 246 — FAQ accordion.
   Matches the light content-body style used on legal/contact pages
   (see .navi-section--light / .navi-prose in main.css). Native
   <details>/<summary> only — zero JS, fully keyboard accessible.
   Loaded only on pages that use the [navi_faqs] shortcode.
   ========================================================================= */

.navi-faq-intro {
	max-width: 46rem;
	margin: 0 auto 2rem;
	text-align: center;
}

.navi-faq-intro h2 {
	margin-top: 0;
}

.navi-faq-intro__sub {
	color: #475569;
	font-size: 1.05rem;
	line-height: 1.7;
	margin: 0;
}

.navi-faq-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	max-width: 48rem;
	margin: 0 auto;
}

.navi-faq-item {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.navi-faq-item:hover {
	border-color: rgba(6, 182, 212, 0.4);
}

.navi-faq-item[open] {
	border-color: rgba(6, 182, 212, 0.45);
	box-shadow: 0 16px 32px -20px rgba(6, 182, 212, 0.4);
}

.navi-faq-item[open] .navi-faq-item__question {
	color: #0e7490;
}

.navi-faq-item__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	cursor: pointer;
	min-height: 44px;
	padding: 1.1rem 1.25rem;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.4;
	color: #0f172a;
	-webkit-tap-highlight-color: transparent;
}

.navi-faq-item__question::-webkit-details-marker,
.navi-faq-item__question::marker {
	display: none;
	content: "";
}

.navi-faq-item__question:focus-visible {
	outline: 2px solid #06b6d4;
	outline-offset: -2px;
	border-radius: 8px;
}

.navi-faq-item__question span {
	flex: 1 1 auto;
}

.navi-faq__icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	padding: 3px;
	border-radius: 50%;
	color: #0e7490;
	background: rgba(6, 182, 212, 0.10);
	transition: transform 0.25s ease, color 0.2s ease, background-color 0.2s ease;
}

.navi-faq-item[open] .navi-faq__icon {
	transform: rotate(45deg);
	color: #ffffff;
	background: #0891b2;
}

.navi-faq-item__answer {
	padding: 1rem 1.25rem 1.25rem;
	border-top: 1px solid #eef2f7;
	color: #475569;
	font-size: 0.975rem;
	line-height: 1.75;
}

.navi-faq-item__answer p {
	margin: 0 0 0.85rem;
}

.navi-faq-item__answer p:last-child {
	margin-bottom: 0;
}

@keyframes navi-faq-fade-in {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.navi-faq-item[open] .navi-faq-item__answer {
	animation: navi-faq-fade-in 0.25s ease;
}

@media (min-width: 768px) {
	.navi-faq-intro {
		margin-bottom: 3rem;
	}
	.navi-faq-item__question {
		padding: 1.25rem 1.5rem;
	}
	.navi-faq-item__answer {
		padding: 1rem 1.5rem 1.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.navi-faq-item,
	.navi-faq__icon,
	.navi-faq-item[open] .navi-faq-item__answer {
		transition: none;
		animation: none;
	}
}

/* --- Still have questions? ------------------------------------------------ */
.navi-faq-more {
	max-width: 48rem;
	margin: 2.5rem auto 0;
	padding: 1.75rem 1.5rem;
	background: #0f172a;
	border: 1px solid #1e293b;
	border-radius: 12px;
	text-align: center;
}

.navi-faq-more h3 {
	color: #ffffff;
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
}

.navi-faq-more p {
	color: #cbd5e1;
	font-size: 0.95rem;
	margin: 0 0 1.25rem;
}

.navi-faq-more__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}


/* Cascade guard: the light-prose link rule (cyan-700 + underline gradient)
 * must not restyle buttons inside this dark strip. */
.navi-section--light .navi-prose .navi-faq-more a { background-image: none; }
.navi-section--light .navi-prose .navi-faq-more a.navi-btn--primary { color: #ffffff; }
.navi-section--light .navi-prose .navi-faq-more a.navi-btn--primary:hover { color: #ffffff; }
.navi-section--light .navi-prose .navi-faq-more a.navi-btn--outline { color: #e2e8f0; }
.navi-section--light .navi-prose .navi-faq-more a.navi-btn--outline:hover { color: #ffffff; }
.navi-section--light .navi-prose .navi-faq-more h3 { color: #ffffff; margin-top: 0; }
.navi-section--light .navi-prose .navi-faq-more p { color: #cbd5e1; }
