.faq-categories,
.faq-categories * {
	box-sizing: border-box;
}

.faq-categories {
	--faq-header-height: 64px;
	--faq-admin-bar-height: 0px;
	--faq-anchor-gap: 64px;
	--faq-anchor-offset: calc(
		var(--faq-header-height) +
		var(--faq-admin-bar-height) +
		var(--faq-anchor-gap)
	);

	width: 100%;
	padding: 0 30px;
	background: var(--faq-categories-background, #eaf1fa);
	color: #333;
}

.admin-bar .faq-categories {
	--faq-admin-bar-height: 32px;
}

.faq-categories__inner {
	display: flex;
	flex-direction: column;
	gap: 64px;
	width: 100%;
	max-width: 1380px;
	margin: 0 auto;
}

.faq-categories__heading {
	width: 100%;
	margin: 0;
	color: #333;
	font-size: 60px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.8px;
	text-align: center;
}

.faq-categories__layout {
	display: grid;
	grid-template-columns: minmax(220px, 327px) minmax(0, 1fr);
	align-items: start;
	gap: 141px;
	width: 100%;
}

.faq-categories__sidebar {
	position: sticky;
	top: var(--faq-anchor-offset);
	width: 100%;
}

.faq-categories__navigation,
.faq-categories__navigation-list {
	width: 100%;
}

.faq-categories__navigation-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.faq-categories__navigation-item {
	width: 100%;
	border-bottom: 1px solid #d9d9d9;
}

.faq-categories__navigation-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 20px 0;
	color: #333;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.66px;
	text-decoration: none;
}

.faq-categories__navigation-link:hover,
.faq-categories__navigation-link:focus-visible,
.faq-categories__navigation-link.is-active {
	color: #1169ec;
}

.faq-categories__navigation-icon {
	display: inline-flex;
	flex: 0 0 16px;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #1169ec;
	color: #fff;
	font-size: 11px;
	line-height: 1;
}

.faq-categories__content {
	display: flex;
	flex-direction: column;
	gap: 64px;
	width: 100%;
	min-width: 0;
}

.faq-categories__category {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
	scroll-margin-top: var(--faq-anchor-offset);
	scroll-margin-block-start: var(--faq-anchor-offset);
}

.faq-categories__category-heading {
	width: 100%;
	margin: 0;
	color: #333;
	font-size: 38px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -1.14px;
	text-align: center;
}

.faq-categories__questions {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.faq-categories__item {
	width: 100%;
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
}

.faq-categories__toggle {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: 100%;
	min-height: 58px;
	margin: 0;
	padding: 16px 24px;
	border: 0;
	border-radius: 8px;
	background: #fff !important;
	color: #333 !important;
	text-align: center;
	cursor: pointer;
}

.faq-categories__question {
	display: block;
	width: 100%;
	color: #333;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.72px;
	transition: color 0.2s ease;
}

.faq-categories__answer {
	display: none;
	width: 100%;
	color: #333;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.faq-categories__answer p {
	margin: 0;
}

.faq-categories__item.is-open .faq-categories__toggle {
	gap: 16px;
}

.faq-categories__item.is-open .faq-categories__question {
	color: var(--faq-categories-active-color, #fe5f35);
}

.faq-categories__item.is-open .faq-categories__answer {
	display: block;
}

.faq-categories__empty {
	width: 100%;
	padding: 24px;
	border: 1px dashed #1169ec;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.6);
	text-align: center;
}

@media (max-width: 1024px) {
	.faq-categories__heading {
		font-size: 48px;
	}

	.faq-categories__layout {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 64px;
	}
}

@media (max-width: 782px) {
	.admin-bar .faq-categories {
		--faq-admin-bar-height: 46px;
	}
}

@media (max-width: 767px) {
	.faq-categories {
		--faq-anchor-gap: 16px;

		padding: 64px 16px;
	}

	.faq-categories__inner {
		gap: 64px;
	}

	.faq-categories__heading {
		font-size: 40px;
		line-height: 1.1;
		letter-spacing: -1.2px;
	}

	.faq-categories__layout {
		display: block;
	}

	.faq-categories__sidebar {
		display: none;
	}

	.faq-categories__content {
		gap: 64px;
	}

	.faq-categories__category {
		gap: 24px;
		scroll-margin-top: var(--faq-anchor-offset);
		scroll-margin-block-start: var(--faq-anchor-offset);
	}

	.faq-categories__category-heading {
		font-size: 32px;
		line-height: 1.1;
		letter-spacing: -0.96px;
	}

	.faq-categories__questions {
		gap: 16px;
	}

	.faq-categories__toggle {
		min-height: 58px;
		padding: 16px 24px;
	}

	.faq-categories__question {
		font-size: 24px;
		white-space: normal;
	}

	.faq-categories__answer {
		font-size: 16px;
	}
}

html {
	scroll-padding-top: 128px;
}

.admin-bar .faq-categories__category {
	scroll-margin-top: 160px;
}

@media (max-width: 782px) {
	html {
		scroll-padding-top: 126px;
	}

	.admin-bar .faq-categories__category {
		scroll-margin-top: 150px;
	}
}