/* ==========================================================================
   DeVsN Addons — Floating side cart icon — v3.7.7
   ========================================================================== */

.devsn-float-cart {
	--dfc-bg: #0f172a;
	--dfc-color: #fff;
	--dfc-total-bg: #2563eb;
	--dfc-total-color: #fff;
	--dfc-top: 50%;
	--dfc-radius: 14px;
	--dfc-size: 64px;

	position: fixed;
	top: var(--dfc-top);
	transform: translateY(-50%);
	z-index: 99990;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: var(--dfc-size);
	min-width: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: inherit;
	line-height: 1;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.22);
	transition: transform 0.25s ease, opacity 0.25s ease;
	-webkit-tap-highlight-color: transparent;
}

.devsn-float-cart--right {
	right: 0;
	border-radius: var(--dfc-radius) 0 0 var(--dfc-radius);
}

.devsn-float-cart--left {
	left: 0;
	border-radius: 0 var(--dfc-radius) var(--dfc-radius) 0;
}

.devsn-float-cart--right:hover {
	transform: translateY(-50%) translateX(-3px);
}

.devsn-float-cart--left:hover {
	transform: translateY(-50%) translateX(3px);
}

.devsn-float-cart__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px 6px 10px;
	background: var(--dfc-bg);
	color: var(--dfc-color);
	border-radius: inherit;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.devsn-float-cart:not(:has(.devsn-float-cart__total)) .devsn-float-cart__top {
	border-radius: inherit;
}

.devsn-float-cart__icon {
	display: block;
	width: 26px;
	height: 26px;
}

.devsn-float-cart__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.devsn-float-cart__count {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.devsn-float-cart__count-num {
	font-size: 15px;
	font-weight: 800;
}

.devsn-float-cart__total {
	display: block;
	padding: 8px 6px;
	background: var(--dfc-total-bg);
	color: var(--dfc-total-color);
	font-size: 13px;
	font-weight: 800;
	text-align: center;
	border-radius: inherit;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.devsn-float-cart.is-bump .devsn-float-cart__top {
	animation: devsn-float-bump 0.45s ease;
}

@keyframes devsn-float-bump {
	0% { transform: scale(1); }
	40% { transform: scale(1.12); }
	100% { transform: scale(1); }
}

.devsn-float-cart.is-empty {
	opacity: 0;
	pointer-events: none;
}

/* Device visibility */
@media (max-width: 767px) {
	.devsn-float-cart--dev-desktop {
		display: none;
	}
	.devsn-float-cart {
		--dfc-size: 56px;
	}
	.devsn-float-cart__icon {
		width: 22px;
		height: 22px;
	}
}

@media (min-width: 768px) {
	.devsn-float-cart--dev-mobile {
		display: none;
	}
}

/* Fallback drawer host: only the drawer itself is used, never its toggle. */
.devsn-float-cart-host .devsn-cart__toggle {
	display: none !important;
}

.devsn-float-cart-host > .elementor-element,
.devsn-float-cart-host .elementor-widget-container {
	margin: 0;
	padding: 0;
}
