.sabin-expandable {
	--sabin-expandable-height: 320px;
	--sabin-expandable-fade-height: 120px;
	--sabin-expandable-fade-color: #fff;
	--sabin-expandable-button-align: center;
	--sabin-expandable-button-gap: 18px;
	position: relative;
	width: 100%;
}

.sabin-expandable__content {
	position: relative;
	width: 100%;
}

.sabin-expandable--ready .sabin-expandable__content {
	transition: max-height 0.42s ease;
}

.sabin-expandable--collapsed .sabin-expandable__content {
	overflow: hidden;
}

.sabin-expandable--expanded .sabin-expandable__content,
.sabin-expandable--not-needed .sabin-expandable__content {
	overflow: visible;
}

.sabin-expandable__content-inner,
.sabin-expandable__content-inner > .e-con {
	width: 100%;
}

.sabin-expandable__fade {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	height: var(--sabin-expandable-fade-height);
	background: linear-gradient(to bottom, transparent 0%, var(--sabin-expandable-fade-color) 92%);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.sabin-expandable--ready.sabin-expandable--collapsed:not(.sabin-expandable--not-needed) .sabin-expandable__fade {
	opacity: 1;
	visibility: visible;
}

.sabin-expandable__actions {
	display: flex;
	justify-content: var(--sabin-expandable-button-align);
	width: 100%;
	margin-top: var(--sabin-expandable-button-gap);
}

.sabin-expandable__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	margin: 0;
	padding: 10px 22px;
	color: #112b3c;
	background-color: #fff;
	border: 1px solid #dfe5e9;
	border-radius: 8px;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.sabin-expandable__toggle:hover,
.sabin-expandable__toggle:focus-visible {
	color: #f66b0e;
	border-color: #f66b0e;
}

.sabin-expandable__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.sabin-expandable__toggle-icon {
	flex: 0 0 auto;
	transition: transform 0.3s ease;
}

.sabin-expandable--expanded .sabin-expandable__toggle-icon {
	transform: rotate(180deg);
}

.sabin-expandable--not-needed .sabin-expandable__actions {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.sabin-expandable--ready .sabin-expandable__content,
	.sabin-expandable__fade,
	.sabin-expandable__toggle,
	.sabin-expandable__toggle-icon {
		transition-duration: 0.01ms !important;
	}
}

/* Keep nested content fully available while editing in Elementor. */
.elementor-editor-active .sabin-expandable__content {
	max-height: none !important;
	overflow: visible !important;
}

.elementor-editor-active .sabin-expandable__content-inner {
	min-height: 90px;
}

.elementor-editor-active .sabin-expandable__fade {
	display: none !important;
}

.elementor-editor-active .sabin-expandable__toggle {
	pointer-events: none;
	opacity: 0.7;
}
