.off-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.off-menu-item {
	margin: 0 0 0 5px;
	padding: 0;
}

/* Gestione Bordo Superiore sui link */
.off-menu-item .off-menu-link {
	border-top: 1px solid rgba(255, 255, 255, 0.43);
}

.off-menu-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	padding: 25px 0;
	/* Includiamo border-color nella transizione per un effetto fluido */
	transition:
		border-color 0.25s ease,
		border-width 0.25s ease;
}

.off-menu-link:hover {
	border-top-color: rgba(255, 255, 255, 0.83);
}

.off-menu-link .off-menu-text {
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.off-menu-link:hover .off-menu-text {
	opacity: 0.85;
	transform: translateX(4px);
}

.off-menu-icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.off-menu-icon {
	display: block;
	width: 34px;
	height: 34px;
	transform-origin: center center;
	transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.off-menu-link:hover .off-menu-icon {
	transform: rotate(45deg);
}

/* Overlay Sfondo (Oscuramento leggero) */
.off-canvas-overlay {
	top: 0 !important;
	left: 0 !important;
	background: rgba(0, 0, 0, 0.4) !important;
	backdrop-filter: blur(2px);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.4s ease,
		visibility 0.4s ease;
	z-index: 999998 !important;
	touch-action: none;
}

.off-canvas-overlay.is-active {
	opacity: 1;
	visibility: visible;
}

.off-canvas-panel {
	top: 15px !important;
	right: 15px !important;
	width: 520px !important;
	max-width: calc(100vw - 30px) !important;
	height: calc(100vh - 30px) !important;
	max-height: calc(100vh - 30px) !important;
	border-radius: 27px !important;
	padding: 35px !important;
	box-sizing: border-box !important;
	z-index: 999999 !important;

	transform: translateX(calc(100% + 50px));
	visibility: hidden;
	transition:
		transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
		visibility 0.4s ease;
	box-shadow: -5px 10px 30px rgba(0, 0, 0, 0.25);

	overflow: hidden !important;
}

.off-canvas-panel.is-active {
	transform: translateX(0) !important;
	visibility: visible !important;
}

.off-canvas-close {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background-color: #d5cdbe !important;
	border: none !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
	z-index: 1000000 !important;
}

.off-canvas-close:hover {
	background-color: #c5bbb0 !important;
	transform: scale(1.08);
}

.off-canvas-close:focus-visible {
	outline: 2px solid #000000 !important;
	outline-offset: 2px;
}

.off-canvas-close svg path {
	stroke: #000000 !important;
}

.off-canvas-content {
	flex: 1 1 auto !important;
	max-height: 100% !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	overscroll-behavior: contain !important;
	-webkit-overflow-scrolling: touch !important;
	touch-action: pan-y !important;
	box-sizing: border-box !important;
}

.off-canvas-content::-webkit-scrollbar {
	width: 6px !important;
	background-color: #ebe6dc !important;
}

.off-canvas-content::-webkit-scrollbar-track {
	background: #ebe6dc !important;
	border-radius: 4px !important;
}

.off-canvas-content::-webkit-scrollbar-thumb {
	background: #d5cdbe !important;
	border-radius: 4px !important;
}

.off-canvas-content::-webkit-scrollbar-thumb:hover {
	background: #c5bbb0 !important;
}

.off-canvas-content {
	scrollbar-color: #d5cdbe #ebe6dc !important;
	scrollbar-width: thin !important;
}

.off-canvas-block {
	scroll-margin-top: 20px;
	transition: background-color 0.3s ease;
}

.off-canvas-block.is-highlighted {
	animation: highlightFade 1.5s ease;
}

@keyframes highlightFade {
	0% {
		background-color: rgba(0, 0, 0, 0.08);
	}

	100% {
		background-color: transparent;
	}
}

.off-canvas-title {
	margin: 0 0 6px 0 !important;
}

.off-canvas-subtitle {
	font-size:17.2px
}

.off-canvas-desc {
	margin: 0 !important;
}

.off-canvas-desc p{
	margin-bottom:10px
}
.off-canvas-desc p:last-child{
	margin-bottom:0px
}

.off-canvas-hr {
	border: none !important;
	border-top: 1px solid #000000 !important;
	margin: 30px 0 27px !important;
	opacity: 1 !important;
}

@media (max-width: 549px) {
	.off-canvas-panel {
		padding: 26px !important;
	}
}
