.mod-accordion {
	--mod-accordion-duration: 300ms;
	--mod-accordion-easing: ease;
	--mod-accordion-icon-rotation: 45deg;
}
.mod-accordion__title,
.mod-accordion__content-inner,
.mod-accordion__content-panel,
.mod-accordion__title-icon {
	box-sizing: border-box;
}
.mod-accordion__title {
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.mod-accordion__title:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}
.mod-accordion__title .mod-accordion__title-text {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	font-size: inherit;
	line-height: inherit;
	transform: none !important;
}
.mod-accordion__title-icon {
	position: relative;
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	line-height: 1;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.mod-accordion__icon-layer {
	display: inline-grid;
	place-items: center;
	grid-area: 1 / 1;
	font-size: 24px;
	line-height: 1;
	transition: opacity var(--mod-accordion-duration) var(--mod-accordion-easing), transform var(--mod-accordion-duration) var(--mod-accordion-easing);
}
.mod-accordion__icon-layer svg {
	display: block;
	width: 1em;
	height: 1em;
	color: inherit;
	fill: currentColor !important;
}
.mod-accordion__title-icon,
.mod-accordion__title-icon i,
.mod-accordion__title-icon svg {
	color: inherit;
}
.mod-accordion__icon-layer--active {
	opacity: 0;
	transform: rotate(calc(-1 * var(--mod-accordion-icon-rotation)));
}
/* The legacy base stylesheet rotates every Header span on Active. Reset that
 * broad rule first so text and the Icon background box stay rectangular. */
.mod-accordion__item.is-active .mod-accordion__title > .mod-accordion__title-text,
.mod-accordion__item.is-active .mod-accordion__title > .mod-accordion__title-icon {
	transform: none !important;
}
.mod-accordion__item.is-active .mod-accordion__title-icon:not(.has-active-icon) .mod-accordion__icon-layer--closed {
	transform: rotate(var(--mod-accordion-icon-rotation));
}
.mod-accordion__item.is-active .mod-accordion__title-icon.has-active-icon .mod-accordion__icon-layer--closed {
	opacity: 0;
	transform: rotate(var(--mod-accordion-icon-rotation));
}
.mod-accordion__item.is-active .mod-accordion__title-icon.has-active-icon .mod-accordion__icon-layer--active {
	opacity: 1;
	transform: rotate(0deg);
}
.mod-accordion__item .mod-accordion__content,
.mod-accordion__item.is-active .mod-accordion__content {
	display: grid;
	grid-template-rows: 0fr;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: grid-template-rows var(--mod-accordion-duration) var(--mod-accordion-easing), opacity var(--mod-accordion-duration) var(--mod-accordion-easing), visibility 0s linear var(--mod-accordion-duration);
}
.mod-accordion__item.is-active .mod-accordion__content {
	grid-template-rows: 1fr;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}
.mod-accordion__content-panel {
	min-height: 0;
	padding: 0 20px 20px;
}
.mod-accordion__content-inner {
	min-height: 0;
	overflow: hidden;
}
.mod-accordion__content-title {
	margin: 0 0 10px;
	font-weight: 800;
	line-height: 1.3;
}
.mod-accordion__content-body > :first-child {
	margin-top: 0;
}
.mod-accordion__content-body > :last-child {
	margin-bottom: 0;
}
.mod-accordion__content-body ul,
.mod-accordion__content-body ol {
	margin-inline: 0;
	padding-inline-start: 1.4em;
	list-style-position: outside;
}
.mod-accordion__content-body li {
	padding-inline-start: .15em;
}
@media (prefers-reduced-motion: reduce) {
	.mod-accordion__title,
	.mod-accordion__title-icon,
	.mod-accordion__icon-layer,
	.mod-accordion__item .mod-accordion__content {
		transition: none;
	}
}
