.faq-accordion {
	--faq-space-y: 0.75em;
	--faq-space-x: 0.75em;
	--faq-question-size: 1rem;
	--faq-question-color: inherit;
	--faq-question-bg: #ffffff;
	--faq-question-color-hover: inherit;
	--faq-question-bg-hover: transparent;
	--faq-question-color-focus: inherit;
	--faq-question-bg-focus: transparent;
	--faq-answer-size: 1rem;
	--faq-answer-color: inherit;
	--faq-answer-bg: #ffffff;
	--faq-border-color: #ccc;
	--faq-border: 1px solid var(--faq-border-color);
	--faq-border-radius: 0.5rem;
}

.faq-accordion.faq-with-gap {
    display: flex;
    flex-direction: column;
    gap: 1rem;
	--faq-border: none;
}

.faq-accordion .faq-accordion__item {
    border-bottom: var(--faq-border);
	border-radius: var(--faq-border-radius);
	overflow: hidden;
}

.faq-accordion .faq-accordion__item:last-child {
    border-bottom: var(--faq-border-last, var(--faq-border));
}

.faq-accordion .faq-accordion__item section {
	padding: 0 var(--faq-space-x, 0) var(--faq-space-y, 0.75em);
}

.faq-accordion__item > *,
.faq-accordion .faq-accordion__item section > div > *:last-child {
    margin-bottom: 0;
}

.faq-accordion__item button {
    color: var(--faq-question-color, inherit);
	background-color: var(--faq-question-bg, transparent);
	border: none;
    width: 100%;
    text-align: left;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-weight: bold;
	padding: var(--faq-space-y, 0.75em) var(--faq-space-x, 0);
	font-size: var(--faq-question-size, 1rem);
	gap: 0.5rem;
}

.faq-accordion__item button:hover {
	color: var(--faq-question-color-hover, inherit);
	background-color: var(--faq-question-bg-hover, transparent);
}

.faq-accordion__item button:focus-visible {
	color: var(--faq-question-color-focus, inherit);
	background-color: var(--faq-question-bg-focus, transparent);
	outline-offset: -4px;
	outline-style: dashed;
}

.faq-accordion__item button span {
    transition: .3s all ease-in-out;
}

.faq-accordion__item button .accordion-label {
    flex: 1 1 100%;
}

.faq-accordion__item button .accordion-before {
    flex: 0 0 32px;
	padding: 6px;
    border-radius: 50%;
	line-height: 0;
}

.faq-accordion__item button .accordion-before svg {
    height: 20px;
	width: 20px;
}

.faq-accordion__item button > svg {
    flex: 0 0 32px;
    padding: 6px;
    border-radius: 50%;
    height: 32px;
	width: 32px;
}

.accordion-plus .faq-accordion__item button[aria-expanded="true"] > svg {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

.accordion-chevron .faq-accordion__item button[aria-expanded="true"] > svg {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.faq-accordion__item section {
	background: var(--faq-answer-bg);
}

.faq-accordion__item section,
.faq-accordion__item section p {
    font-size: var(--faq-answer-size, 1rem);
	color: var(--faq-answer-color, inherit);
}

.faq-accordion__item section > *:last-child {
    margin-bottom: 0;
}