/**
 * STL FlipBox — contenitore titolo + descrizione.
 */
.elementor-widget-stl-flip-box .elementor-flip-box__layer__overlay {
	position: relative;
}

.elementor-widget-stl-flip-box .stl-flipbox__text-group {
	box-sizing: border-box;
	max-width: 100%;
	position: absolute;
	z-index: 2;
}

.elementor-widget-stl-flip-box .stl-flipbox__graphic {
	box-sizing: border-box;
	max-width: 100%;
	position: absolute;
	z-index: 2;
}

.elementor-widget-stl-flip-box .stl-flipbox__graphic .elementor-icon-wrapper,
.elementor-widget-stl-flip-box .stl-flipbox__graphic .elementor-flip-box__image {
	margin-bottom: 0;
}

.elementor-widget-stl-flip-box .stl-flipbox__graphic .elementor-flip-box__image {
	width: auto;
}

.elementor-widget-stl-flip-box .stl-flipbox__text-group .elementor-flip-box__layer__title:last-child,
.elementor-widget-stl-flip-box .stl-flipbox__text-group .elementor-flip-box__layer__description:last-child {
	margin-bottom: 0;
}

/* Layout split: card Front divisa in due righe grid complementari (somma 100%). */
.elementor-widget-stl-flip-box .elementor-flip-box {
	overflow: hidden;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split {
	overflow: hidden;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__front-split {
	--stl-flipbox-split-media-height: 45%;
	bottom: 0;
	box-sizing: border-box;
	display: grid;
	grid-template-rows: minmax(0, var(--stl-flipbox-split-media-height, 45%)) minmax(0, 1fr);
	height: 100%;
	left: 0;
	margin: 0;
	max-height: 100%;
	min-height: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__front-media {
	align-self: stretch;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	grid-row: 1;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__front-media::before {
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__front-body {
	align-items: stretch;
	align-self: stretch;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	grid-row: 2;
	justify-content: flex-start;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	padding: 0 !important;
	position: relative;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__text-group--a {
	bottom: auto;
	box-sizing: border-box;
	flex: 1 1 0;
	inset: auto;
	left: auto;
	margin: 0;
	max-height: 100%;
	max-width: 100%;
	min-height: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	right: auto;
	top: auto;
	transform: none;
	width: 100%;
	z-index: 2;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__text-group--a .elementor-flip-box__layer__title,
.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__text-group--a .elementor-flip-box__layer__description {
	overflow-wrap: break-word;
	word-break: break-word;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__text-group--a .elementor-flip-box__layer__title:last-child,
.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--split .stl-flipbox__text-group--a .elementor-flip-box__layer__description:last-child {
	margin-bottom: 0;
}

.elementor-widget-stl-flip-box .stl-flipbox__back-inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__text-group--b {
	position: relative;
	right: auto;
	bottom: auto;
	left: auto;
	top: auto;
	transform: none;
	z-index: 2;
}

.elementor-widget-stl-flip-box .elementor-flip-box__back .elementor-flip-box__button.stl-flipbox__button--corner {
	align-self: auto;
	margin-block: 0;
	margin-inline: 0;
	position: absolute;
	z-index: 3;
}

.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-top-left {
	bottom: auto;
	left: 16px;
	right: auto;
	top: 16px;
}

.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-top-right {
	bottom: auto;
	left: auto;
	right: 16px;
	top: 16px;
}

.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-bottom-right {
	bottom: 16px;
	left: auto;
	right: 16px;
	top: auto;
}

.elementor-widget-stl-flip-box .elementor-flip-box__back .stl-flipbox__button--corner-bottom-left {
	bottom: 16px;
	left: 16px;
	right: auto;
	top: auto;
}

/* Layout espansione: a riposo identico al split; in hover la fascia testi copre tutta la card. */
.elementor-widget-stl-flip-box .elementor-flip-box.stl-flipbox--no-flip .elementor-flip-box__front,
.elementor-widget-stl-flip-box .elementor-flip-box.stl-flipbox--no-flip:hover .elementor-flip-box__front {
	opacity: 1 !important;
	transform: none !important;
}

.elementor-widget-stl-flip-box .elementor-flip-box.stl-flipbox--no-flip {
	--stl-flipbox-expand-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--stl-flipbox-expand-duration: 0.68s;
	--stl-flipbox-reveal-duration: 0.52s;
	--stl-flipbox-reveal-delay: 0.14s;
	--stl-flipbox-expand-glass-blur: 4px;
	--stl-flipbox-expand-glass-bg: rgba(255, 255, 255, 0.72);
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand {
	background-color: var(--stl-flipbox-expand-body-bg, #e9e9e9) !important;
	background-image: none !important;
	overflow: hidden;
	transition: none !important;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__front-expand {
	background-color: var(--stl-flipbox-expand-body-bg, #e9e9e9);
	bottom: 0;
	box-sizing: border-box;
	height: 100%;
	isolation: isolate;
	left: 0;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__front-media {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	height: var(--stl-flipbox-split-media-height, 45%);
	left: 0;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: height var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1));
	width: 100%;
	z-index: 1;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__front-media::before {
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body {
	align-items: stretch;
	bottom: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	left: 0;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	padding: 0 !important;
	position: absolute;
	right: 0;
	top: var(--stl-flipbox-split-media-height, 45%);
	transition:
		top var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		background-color var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1));
	width: 100%;
	z-index: 2;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-viewport {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: 100%;
	justify-content: flex-start;
	min-height: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-track {
	align-items: inherit;
	bottom: auto;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	inset: auto;
	left: auto;
	margin: 0;
	max-width: 100%;
	min-height: min-content;
	padding: 0;
	position: relative;
	right: auto;
	text-align: inherit;
	top: auto;
	transform: none;
	width: 100%;
	z-index: 2;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-track .elementor-flip-box__layer__title,
.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-track .elementor-flip-box__layer__description,
.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-track .stl-flipbox__expand-description {
	flex-shrink: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}

.elementor-widget-stl-flip-box .stl-flipbox__expand-reveal {
	display: grid;
	grid-template-rows: 0fr;
	margin: 0;
	padding: 0;
	transition: grid-template-rows var(--stl-flipbox-reveal-duration, 0.52s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.elementor-widget-stl-flip-box .stl-flipbox__expand-reveal-inner {
	min-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translate3d(0, 0.35em, 0);
	transition:
		opacity calc(var(--stl-flipbox-reveal-duration, 0.52s) * 0.85) ease,
		transform calc(var(--stl-flipbox-reveal-duration, 0.52s) * 0.85) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.elementor-widget-stl-flip-box .elementor-flip-box:hover .stl-flipbox__expand-reveal,
.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .stl-flipbox__expand-reveal {
	grid-template-rows: 1fr;
	transition-delay: var(--stl-flipbox-reveal-delay, 0.14s);
}

.elementor-widget-stl-flip-box .elementor-flip-box:hover .stl-flipbox__expand-reveal-inner,
.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .stl-flipbox__expand-reveal-inner {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition-delay: calc(var(--stl-flipbox-reveal-delay, 0.14s) + 0.06s);
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-reveal {
	margin: 0;
	padding: 0;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-description {
	margin-bottom: 0;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-button {
	align-self: inherit;
	display: inline-block;
	flex-shrink: 0;
	margin-top: 1em;
	position: static;
	width: auto;
}

.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__front-media,
.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__front-media {
	height: 100%;
}

.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body,
.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body {
	top: 0;
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
	.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body {
		-webkit-backdrop-filter: blur(var(--stl-flipbox-expand-glass-blur, 4px));
		backdrop-filter: blur(var(--stl-flipbox-expand-glass-blur, 4px));
		background-color: var(--stl-flipbox-expand-glass-bg, rgba(255, 255, 255, 0.72)) !important;
		background-image: none !important;
	}
}

@supports not (backdrop-filter: blur(1px)) {
	.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body {
		background-color: rgba(233, 233, 233, 0.94) !important;
		background-image: none !important;
	}
}

.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body,
.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body {
	will-change: top;
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body,
	.elementor-widget-stl-flip-box .stl-flipbox__expand-reveal,
	.elementor-widget-stl-flip-box .stl-flipbox__expand-reveal-inner,
	.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand {
		transition: none;
	}

	.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--expand .stl-flipbox__expand-body,
	.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand {
		top: 0;
	}

	.elementor-widget-stl-flip-box .elementor-flip-box:hover .stl-flipbox__expand-reveal,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .stl-flipbox__expand-reveal {
		grid-template-rows: 1fr;
		transition-delay: 0s;
	}

	.elementor-widget-stl-flip-box .elementor-flip-box:hover .stl-flipbox__expand-reveal-inner,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .stl-flipbox__expand-reveal-inner {
		opacity: 1;
		transform: none;
		transition-delay: 0s;
	}
}

/* Layout overlay-expand: a riposo box testi classico; hover riempie tutta la card. */
.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand {
	overflow: hidden;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand {
	backface-visibility: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	max-height: 100%;
	overflow: hidden;
	transition:
		top var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		right var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		bottom var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		left var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		width var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		height var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		transform var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		margin var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		border-radius var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1)),
		background-color var(--stl-flipbox-expand-duration, 0.68s) var(--stl-flipbox-expand-ease, cubic-bezier(0.22, 1, 0.36, 1));
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand .elementor-flip-box__layer__title,
.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand .elementor-flip-box__layer__description,
.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand .stl-flipbox__expand-description {
	flex-shrink: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__expand-description {
	margin-bottom: 0;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__expand-button {
	align-self: inherit;
	display: inline-block;
	flex-shrink: 0;
	margin-top: 1em;
	position: static;
	width: auto;
}

.elementor-widget-stl-flip-box .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__expand-reveal {
	margin: 0;
	padding: 0;
}

.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand,
.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand {
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	transform: none !important;
	margin: 0 !important;
	overflow-x: hidden;
	overflow-y: auto;
	will-change: top, right, bottom, left, width, height, transform;
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
	.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand {
		-webkit-backdrop-filter: blur(var(--stl-flipbox-expand-glass-blur, 4px));
		backdrop-filter: blur(var(--stl-flipbox-expand-glass-blur, 4px));
		background-color: var(--stl-flipbox-expand-glass-bg, rgba(255, 255, 255, 0.72)) !important;
		background-image: none !important;
	}
}

@supports not (backdrop-filter: blur(1px)) {
	.elementor-widget-stl-flip-box .elementor-flip-box:hover .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand,
	.elementor-widget-stl-flip-box .elementor-flip-box:focus-within .elementor-flip-box__front.stl-flipbox__front--overlay-expand .stl-flipbox__overlay-expand {
		background-color: rgba(233, 233, 233, 0.94) !important;
		background-image: none !important;
	}
}
