/* Blok 16: FAQ-accordeon. */

.ps-faq .ps-faq__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--72);
	align-items: start;
}
.ps-faq .ps-faq__intro { gap: var(--wp--preset--spacing--20); max-width: 400px; }

.ps-faq .ps-faq__contact {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--16);
	border: 1px solid var(--ps-border);
	border-radius: var(--wp--preset--border-radius--large);
	background-color: var(--wp--preset--color--surface);
}
.ps-section--dark .ps-faq__contact { background-color: color-mix(in srgb, var(--wp--preset--color--white) 6%, transparent); }
.ps-faq .ps-faq__photo { flex: none; width: 88px; height: 88px; border-radius: var(--wp--preset--border-radius--medium); }
.ps-faq .ps-faq__person { display: flex; flex-direction: column; gap: 4px; }
.ps-faq .ps-faq__name { font-size: var(--wp--preset--font-size--medium); font-weight: 700; color: var(--ps-fg); }
.ps-faq .ps-faq__role { font-size: var(--wp--preset--font-size--small); line-height: 1.45; color: var(--ps-muted); }
.ps-faq .ps-faq__link { margin-top: 4px; font-size: var(--wp--preset--font-size--small); }

.ps-faq .ps-faq__list { border-bottom: 1px solid var(--ps-border); }
.ps-faq .ps-faq__item { border-top: 1px solid var(--ps-border); }
.ps-faq .ps-faq__q {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding: 22px 0;
	cursor: pointer;
	list-style: none;
	font-size: var(--wp--preset--font-size--article);
	font-weight: 600;
	line-height: 1.4;
	color: var(--ps-fg);
	transition: color var(--wp--custom--transition);
}
.ps-faq .ps-faq__q::-webkit-details-marker { display: none; }
.ps-faq .ps-faq__q:hover { color: var(--ps-accent); }
.ps-faq .ps-faq__q:focus-visible { outline: 2px solid var(--wp--preset--color--teal); outline-offset: 4px; }
.ps-faq .ps-faq__icon { flex: none; width: 20px; font-size: 20px; text-align: center; color: var(--ps-accent); }
.ps-faq .ps-faq__icon::before { content: "+"; }
.ps-faq .ps-faq__item[open] .ps-faq__icon::before { content: "−"; }
.ps-faq .ps-faq__a p {
	margin: 0;
	padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--24) 0;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.75;
	color: var(--ps-body);
	text-wrap: pretty;
}
