.fv-expand{
	display:flex;
	flex-direction:column;
	width:100%;
	margin:1rem 0;
}

.fv-expand__short{
	display:block;
}

.fv-expand__short > *:last-child,
.fv-expand__long > *:last-child{
	margin-bottom:0;
}

.fv-expand__long{
	overflow:hidden;
	max-height:0;
	opacity:0;
	transform:translateY(-10px);
	transition:
		max-height .42s ease,
		opacity .28s ease,
		transform .42s ease,
		margin-top .42s ease;
	will-change:max-height, opacity, transform;
	margin-top:0;
	pointer-events:none;
}

.fv-expand.is-open .fv-expand__long{
	opacity:1;
	transform:translateY(0);
	margin-top:.5rem;
	pointer-events:auto;
}

.fv-expand__toggle{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	margin-top:.75rem;
	margin-left:auto;
	padding:.6rem .95rem;
	border:none;
	background:#fff;
	cursor:pointer;
	font:inherit;
	line-height:1.2;
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		background-color .2s ease;
}

.fv-expand__toggle:hover{
	transform:translateY(-1px);
}

.fv-expand__toggle:focus{
	outline:2px solid rgba(0,0,0,.2);
	outline-offset:2px;
}

.fv-expand__toggle:disabled{
	opacity:1;
	cursor:default;
}

.fv-expand__icon{
	font-size:.95em;
	line-height:1;
	min-width:1em;
	text-align:center;
}

@media (max-width: 767px){
	.fv-expand{
		margin:.85rem 0;
	}

	.fv-expand__toggle{
		max-width:100%;
	}
}

@media (prefers-reduced-motion: reduce){
	.fv-expand__long,
	.fv-expand__toggle{
		transition:none !important;
	}
}