/* FAQ — dark photo panel with an accordion. */

.faq__panel {
	position: relative;
	max-width: var(--container);
	margin: 0 auto;
	padding: 50px 30px;
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.faq__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.faq__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.faq__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(26, 41, 74, 0.75);
}

.faq__content {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 45px;
}

.faq__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 45px;
	max-width: 520px;
}

.faq__list {
	display: flex;
	flex-direction: column;
	max-width: 622px;
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.faq__item { border-bottom: 1px solid rgba(255, 255, 255, 0.2); }

.faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 28px 0;
	text-align: left;
	color: var(--color-neutral-7);
	font-family: var(--font-body);
	font-size: var(--h6-size);
	font-weight: var(--h6-weight);
	line-height: var(--h6-lh);
	letter-spacing: var(--h6-ls);
}

/* Plus / minus toggle drawn in CSS — two accent bars. */

.faq__icon {
	position: relative;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.faq__icon::before,
.faq__icon::after {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 16px;
	height: 2px;
	background: var(--color-accent);
}

.faq__icon::before { transform: rotate(90deg); transition: transform .2s ease; }

.faq__question[aria-expanded="true"] .faq__icon::before { transform: rotate(0deg); }

.faq__answer {
	display: none;
	padding-bottom: 28px;
	color: var(--color-hero-muted);
	font-size: 15px;
	line-height: 1.4;
}

.faq__item.is-open .faq__answer { display: block; }

/*
 * Plain variant — Figma 447:4679 (Další služby). No photo panel: a centred
 * 900px column, navy questions on the grey band, neutral rules.
 */
.faq--plain .faq__panel {
	max-width: 900px;
	padding: 0;
	border-radius: 0;
	overflow: visible;
}

.faq--plain .faq__content { gap: 40px; }
.faq--plain .faq__intro { align-items: center; max-width: none; }
.faq--plain .faq__list { max-width: none; border-top-color: var(--color-neutral-4); }
.faq--plain .faq__item { border-bottom-color: var(--color-neutral-4); }
.faq--plain .faq__question { color: var(--color-primary); }
.faq--plain .faq__answer { margin-top: -11px; color: var(--color-neutral-1); }

@media (min-width: 1024px) {
	.faq--plain .faq__panel { padding: 0; }
	.faq--plain .faq__content { flex-direction: column; align-items: stretch; gap: 60px; }
	.faq--plain .faq__intro { flex: none; }
}

@media (min-width: 1024px) {
	.faq__panel { padding: 100px 50px; }
	.faq__content {
		flex-direction: row;
		align-items: flex-start;
		gap: 98px;
	}
	.faq__intro { flex: 0 0 520px; }
}
