.olg-faq {
	width: 100%;
	max-width: 100%;
	margin-block: 1.5em;
	box-sizing: border-box;
}

.olg-faq *,
.olg-faq *::before,
.olg-faq *::after {
	box-sizing: border-box;
}

.olg-faq__item + .olg-faq__item {
	margin-top: 0.5em;
}

.olg-faq__question {
	margin: 0;
}

.olg-faq__toggle {
	display: flex;
	align-items: center;
	gap: 0.55em;
	width: 100%;
	padding: 0.75em 0;
	border: 0;
	background: transparent;
	background-color: var(--olg-faq-question-background-color, transparent);
	color: inherit;
	font: inherit;
	transition: color 0.16s ease, background-color 0.16s ease;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.olg-faq__icon {
	display: inline-flex;
	flex: 0 0 auto;
	min-width: 1.25em;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	line-height: 1;
}

.olg-faq__icon-state {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--olg-faq-icon-size, 1.25em);
	height: var(--olg-faq-icon-size, 1.25em);
}

.olg-faq__icon-state--open {
	display: none;
}

.olg-faq__item.is-open .olg-faq__icon-state--closed {
	display: none;
}

.olg-faq__item.is-open .olg-faq__icon-state--open {
	display: inline-flex;
}

.olg-faq__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
	stroke: currentColor;
}

.olg-faq__icon-fallback {
	display: inline-block;
	line-height: 1;
}

.olg-faq__answer {
	padding: 0 0 0.75em 1.8em;
}

.olg-faq__answer > :first-child {
	margin-top: 0;
}

.olg-faq__answer > :last-child {
	margin-bottom: 0;
}

.olg-faq {
	color: var(--olg-faq-text-color, inherit);
	background-color: var(--olg-faq-background-color, transparent);
}

.olg-faq__title {
	font-size: var(--olg-faq-title-size, inherit);
}

.olg-faq__toggle {
	color: var(--olg-faq-question-color, inherit);
	font-size: var(--olg-faq-question-size, inherit);
	font-weight: var(--olg-faq-question-weight, 700);
}

.olg-faq__toggle:hover,
.olg-faq__toggle:focus {
	background-color: var(--olg-faq-hover-question-background-color, var(--olg-faq-question-background-color, transparent));
	color: var(--olg-faq-hover-question-color, var(--olg-faq-question-color, inherit));
}

.olg-faq__item.is-open .olg-faq__toggle {
	background-color: var(--olg-faq-active-question-background-color, var(--olg-faq-question-background-color, transparent));
	color: var(--olg-faq-active-question-color, var(--olg-faq-question-color, inherit));
}

.olg-faq__item.is-open .olg-faq__toggle:hover,
.olg-faq__item.is-open .olg-faq__toggle:focus {
	background-color: var(--olg-faq-hover-question-background-color, var(--olg-faq-active-question-background-color, var(--olg-faq-question-background-color, transparent)));
	color: var(--olg-faq-hover-question-color, var(--olg-faq-active-question-color, var(--olg-faq-question-color, inherit)));
}

.olg-faq__icon {
	color: var(--olg-faq-icon-color, currentColor);
}

.olg-faq__toggle:hover .olg-faq__icon,
.olg-faq__toggle:focus .olg-faq__icon {
	color: var(--olg-faq-hover-icon-color, var(--olg-faq-icon-color, currentColor));
}

.olg-faq__item.is-open .olg-faq__icon {
	color: var(--olg-faq-active-icon-color, var(--olg-faq-icon-color, currentColor));
}

.olg-faq__item.is-open .olg-faq__toggle:hover .olg-faq__icon,
.olg-faq__item.is-open .olg-faq__toggle:focus .olg-faq__icon {
	color: var(--olg-faq-hover-icon-color, var(--olg-faq-active-icon-color, var(--olg-faq-icon-color, currentColor)));
}

.olg-faq__answer {
	color: var(--olg-faq-answer-color, inherit);
	font-size: var(--olg-faq-answer-size, inherit);
}

.olg-faq--spacing-compact .olg-faq__item + .olg-faq__item {
	margin-top: 0.25em;
}

.olg-faq--spacing-compact .olg-faq__toggle {
	padding: 0.45em 0;
}

.olg-faq--spacing-compact .olg-faq__answer {
	padding-bottom: 0.5em;
}

.olg-faq--spacing-large .olg-faq__item + .olg-faq__item {
	margin-top: 0.85em;
}

.olg-faq--spacing-large .olg-faq__toggle {
	padding: 1em 0;
}

.olg-faq--spacing-large .olg-faq__answer {
	padding-bottom: 1em;
}

.olg-faq--style-lines .olg-faq__item {
	border-bottom: 1px solid var(--olg-faq-border-color, #dcdcde);
}

.olg-faq--style-lines .olg-faq__item + .olg-faq__item {
	margin-top: 0;
}

.olg-faq--style-cards {
	padding: 0.75em;
}

.olg-faq--style-cards .olg-faq__item {
	padding: 0.25em 1em;
	background: var(--olg-faq-background-color, #fff);
	border: 1px solid var(--olg-faq-border-color, #dcdcde);
	border-radius: 6px;
}

.olg-faq--style-cards .olg-faq__answer {
	padding-left: 1.8em;
}
