/* Barra inferior móvil Eldesa (mismo patrón que Electrodescuento). */

.el-dock {
	display: none;
}

@media (max-width: 849px) {
	.el-dock {
		display: flex;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		top: auto !important;
		z-index: 10050;
		align-items: stretch;
		justify-content: space-around;
		height: auto;
		min-height: 56px;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 8px 4px max(8px, env(safe-area-inset-bottom, 0px));
		box-sizing: border-box;
		background: #fff !important;
		border-top: 1px solid #e5eaf0;
		box-shadow: 0 -6px 20px rgba(13, 27, 42, 0.12);
		transform: none !important;
		-webkit-transform: none !important;
		filter: none !important;
	}

	html,
	body {
		padding-bottom: 0;
	}

	#footer,
	#footer.footer-1,
	.footer-wrapper {
		padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
		background-color: #0d1b2a;
	}

	.el-dock.is-overscroll {
		opacity: 0 !important;
		pointer-events: none;
	}

	.el-dock {
		transition: opacity 0.12s ease;
	}

	.el-dock-item {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		min-width: 0;
		text-decoration: none !important;
		color: #0d1b2a;
		position: relative;
	}

	.el-dock-item.is-active::before {
		content: "";
		position: absolute;
		top: 0;
		left: 18%;
		right: 18%;
		height: 3px;
		background: #1e73be;
		border-radius: 0 0 3px 3px;
	}

	.el-dock-icon {
		position: relative;
		width: 24px;
		height: 24px;
		display: block;
	}

	.el-dock-icon svg {
		width: 24px;
		height: 24px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linejoin: round;
		stroke-linecap: round;
	}

	.el-dock-item.is-active .el-dock-icon svg {
		fill: #1e73be;
		stroke: #0d1b2a;
	}

	.el-dock-label {
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.02em;
		line-height: 1;
		white-space: nowrap;
	}

	.el-dock-badge {
		position: absolute;
		top: -6px;
		right: -10px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 99px;
		background: #1e73be;
		color: #fff;
		font-size: 10px;
		font-weight: 800;
		line-height: 16px;
		text-align: center;
	}

	.el-dock-badge--empty {
		display: none;
	}

	body.single-product .related .product-small .box,
	body.single-product .upsells .product-small .box {
		display: flex;
		flex-direction: column;
		height: 100%;
		background: #fff;
	}

	body.single-product .related .product-small .box-image,
	body.single-product .upsells .product-small .box-image {
		aspect-ratio: 1 / 1;
		overflow: hidden;
		background: #fff;
	}

	body.single-product .related .product-small .box-image img,
	body.single-product .upsells .product-small .box-image img {
		object-fit: contain !important;
		object-position: center;
		width: 100%;
		height: 100%;
		padding: 8px;
		box-sizing: border-box;
	}

	body.single-product .related .product-small .box-text,
	body.single-product .upsells .product-small .box-text {
		display: block !important;
		visibility: visible !important;
		height: auto !important;
		overflow: visible !important;
		padding: 8px 10px 12px !important;
		min-height: 3.2em;
	}

	body.single-product .related .flickity-viewport,
	body.single-product .upsells .flickity-viewport {
		height: auto !important;
		overflow: visible !important;
	}

	body.single-product .related .product-small .name a,
	body.single-product .upsells .product-small .name a {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		white-space: normal !important;
		font-size: 12px;
		line-height: 1.25;
	}
}

/* FABs: subir izquierda, WhatsApp derecha. En celu, arriba del dock. */
#top-link,
.back-to-top,
.scroll-to-top,
.qlwapp,
.qlwapp-container,
div#qlwapp {
	display: none !important;
}

.el-wa-fab,
.el-top-fab {
	position: fixed;
	z-index: 10060;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	bottom: 20px;
	box-sizing: border-box;
}

.el-wa-fab {
	right: 16px;
	background: #25d366;
	box-shadow: 0 6px 16px rgba(0,0,0,.22);
}

.el-wa-fab svg {
	width: 26px;
	height: 26px;
	display: block;
}

.el-top-fab {
	left: 16px;
	background: #fff;
	border: 1.5px solid #0d1b2a;
	color: #0d1b2a;
	box-shadow: 0 4px 12px rgba(13,27,42,.12);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
}

.el-top-fab.is-on {
	opacity: 1;
	pointer-events: auto;
}

.el-top-fab svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 849px) {
	.el-wa-fab,
	.el-top-fab {
		bottom: calc(76px + env(safe-area-inset-bottom, 0px));
		width: 48px;
		height: 48px;
	}
}

.el-top-fab:hover,
.el-top-fab:focus {
	background: #1e73be;
	border-color: #1e73be;
	color: #fff;
}
.el-top-fab:hover svg,
.el-top-fab:focus svg {
	stroke: #fff;
}

