/* ═══════════════════════════════════════
   Slider LABA V5 — Liquid Glass
   Tutti i selettori sono scoped sotto
   .slv5-wrap per evitare collisioni col tema
═══════════════════════════════════════ */

.slv5-wrap,
.slv5-wrap *,
.slv5-wrap *::before,
.slv5-wrap *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.slv5-wrap {
	--orange:    #FF7230;
	--purple-l:  #7069A2;
	--purple-d:  #4F485F;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	isolation: isolate;
	opacity: 0;
}

.slv5-wrap .slv5-glow { display: none; }

.slv5-wrap .slv5-bubble {
	position: absolute;
	border-radius: 50%;
	overflow: hidden;
	pointer-events: none;
	z-index: 2;
}
.slv5-wrap .slv5-bubble__view { position: absolute; }
.slv5-wrap .slv5-bubble__img {
	display: block;
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	will-change: transform;
}

.slv5-wrap .slv5-slider {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 730px;
}

.slv5-wrap .slv5-main {
	display: flex;
	height: 610px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.slv5-wrap .slv5-img-outer {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	z-index: 0;
	overflow: hidden;
	background: var(--purple-d);
}

.slv5-wrap .slv5-img {
	display: block;
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	will-change: transform;
	transform: translateZ(0);
	backface-visibility: hidden;
}

.slv5-wrap .slv5-overlay {
	position: absolute;
	top: 0; left: 0;
	width: 50%; height: 100%;
	z-index: 1;
	pointer-events: none;
	mix-blend-mode: multiply;
	background: linear-gradient(
		to right,
		rgba(79, 72, 95, 0.92) 0%,
		rgba(79, 72, 95, 0.55) 50%,
		rgba(79, 72, 95, 0)    100%
	);
}

.slv5-wrap .slv5-text {
	position: relative;
	z-index: 2;
	flex: 0 0 42%;
	padding: 60px 40px 36px 56px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.slv5-wrap .slv5-title {
	font-size: 40px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #fff;
	margin-bottom: 32px;
}

.slv5-wrap a.slv5-cta {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding: 12px 24px;
	background: var(--orange);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 8px;
	margin-bottom: 28px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	-webkit-appearance: none;
	appearance: none;
}

.slv5-wrap .slv5-tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--orange);
	margin-bottom: 21px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.slv5-wrap .slv5-body {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.slv5-wrap .slv5-divider {
	position: relative;
	z-index: 20;
	height: 2px;
	background: rgba(255, 255, 255, 0.18);
	overflow: visible;
}

.slv5-wrap .slv5-fill {
	height: 100%;
	background: var(--orange);
	width: 0%;
}

.slv5-wrap .slv5-nav {
	position: absolute;
	bottom: 0;
	left: 61%;
	transform: translate(-50%, 50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}

.slv5-wrap .slv5-btn {
	all: unset;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #fff !important;
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.2s ease;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
.slv5-wrap .slv5-btn:hover { background: var(--orange) !important; }
.slv5-wrap .slv5-btn svg { display: block; width: 24px; height: 24px; overflow: visible; }
.slv5-wrap .slv5-btn svg path {
	stroke: #555 !important;
	stroke-width: 2.2 !important;
	fill: none !important;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.slv5-wrap .slv5-btn:hover svg path { stroke: #fff !important; }

/* ══ PANNELLI — LIQUID GLASS ══ */
.slv5-wrap .slv5-panels {
	position: relative;
	z-index: 1;
	display: flex;
}

@keyframes slv5-specular {
	0%   { opacity: 0.65; transform: skewX(0deg)    translateX(0); }
	40%  { opacity: 1;    transform: skewX(0.5deg)  translateX(3px); }
	70%  { opacity: 0.80; transform: skewX(-0.3deg) translateX(-2px); }
	100% { opacity: 0.65; transform: skewX(0deg)    translateX(0); }
}

.slv5-wrap .slv5-panel {
	height: 118px;
	padding: 24px 44px 24px 56px;
	cursor: pointer;
	user-select: none;
	overflow: hidden;
	position: relative;
	backdrop-filter: blur(22px) saturate(1.7) brightness(1.08);
	-webkit-backdrop-filter: blur(22px) saturate(1.7) brightness(1.08);
	transition: background 0.35s ease, box-shadow 0.35s ease;
}

.slv5-wrap .slv5-panel::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 60%;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0.28) 0%,
		rgba(255, 255, 255, 0.10) 35%,
		rgba(255, 255, 255, 0)    100%
	);
	pointer-events: none;
	z-index: 2;
	animation: slv5-specular 6s ease-in-out infinite;
	transform-origin: left center;
}

.slv5-wrap .slv5-panel::after {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 1.5px;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0)    0%,
		rgba(255, 255, 255, 0.55) 30%,
		rgba(255, 255, 255, 0.55) 70%,
		rgba(255, 255, 255, 0)    100%
	);
	pointer-events: none;
	z-index: 3;
}

.slv5-wrap .slv5-panel:hover::before {
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0.38) 0%,
		rgba(255, 255, 255, 0.12) 40%,
		rgba(255, 255, 255, 0)    100%
	);
}

.slv5-wrap .slv5-panel:hover {
	background: rgba(255, 114, 48, 0.72) !important;
	box-shadow: none !important;
}
.slv5-wrap .slv5-panel:hover .slv5-panel__label { color: rgba(255, 255, 255, 0.75) !important; }
.slv5-wrap .slv5-panel:hover .slv5-panel__title { color: #fff !important; }

.slv5-wrap .slv5-panel-glass {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	filter: url(#slv5-liquid);
	opacity: 0.55;
}

.slv5-wrap .slv5-panel__content {
	position: relative;
	z-index: 4;
	will-change: transform;
}

.slv5-wrap .slv5-panel--prev {
	flex: 0 0 61%;
	background: rgba(112, 105, 162, 0.90) !important;
	box-shadow:
		210px -20px 50px -10px inset rgba(88, 83, 124, 0.35),
		inset 0 0 0 0.5px rgba(255, 255, 255, 0.12);
}

.slv5-wrap .slv5-panel--next {
	flex: 0 0 39%;
	background: rgba(79, 72, 95, 0.90) !important;
	padding-left: 80px;
	padding-right: 48px;
	box-shadow:
		-20px -20px 50px -10px inset rgba(59, 53, 72, 0.35),
		inset 0 0 0 0.5px rgba(255, 255, 255, 0.10);
}

.slv5-wrap .slv5-panel__label {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--orange) !important;
	margin-bottom: 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.slv5-wrap .slv5-panel__title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
	color: rgba(255, 255, 255, 0.92) !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ══ RESPONSIVE — 3 breakpoint Elementor ══ */

/* Tablet: 768–1024px — slider resta 730px per non rompere il clip-path */
@media (min-width: 768px) and (max-width: 1024px) {
	.slv5-wrap .slv5-text    { flex: 0 0 50%; padding: 48px 28px 28px 40px; }
	.slv5-wrap .slv5-title   { font-size: 30px; margin-bottom: 22px; }
	.slv5-wrap a.slv5-cta    { font-size: 11px; padding: 10px 18px; margin-bottom: 20px; }
	.slv5-wrap .slv5-body    { -webkit-line-clamp: 3; }
	.slv5-wrap .slv5-panel__title { font-size: 14px; }
}

/* Mobile: ≤767px */
@media (max-width: 767px) {
	.slv5-wrap .slv5-bubble         { display: none; }
	.slv5-wrap .slv5-slider         { height: auto; clip-path: none !important; }
	.slv5-wrap .slv5-main           { height: 450px; }
	.slv5-wrap .slv5-text           { flex: 0 0 100%; padding: 60px 24px 36px 24px; }
	.slv5-wrap .slv5-title          { font-size: 26px; }
	.slv5-wrap .slv5-nav            { left: 50%; }
	.slv5-wrap .slv5-panel--prev    { display: none; }
	.slv5-wrap .slv5-panel--next {
		flex: none;
		width: 100%;
		height: auto;
		padding: 20px 24px;
		background: rgba(79, 72, 95, 0.85) !important;
		box-shadow: none;
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
	}
}
