:root {
	--cp-slider-ink: #354a48;
	--cp-slider-accent: #e50064;
	--cp-slider-track: #dedede;
}

/* cp-mobile-carousel: only touch layout on mobile. Desktop stays as Elementor set it. */
.elementor-widget-jet-woo-categories .jet-woo-categories__item:not(:has(.jet-woo-category-thumbnail img)),
.cp-mobile-carousel .jet-woo-categories__item:not(:has(.jet-woo-category-thumbnail img)),
.jet-woo-categories .swiper-slide:not(:has(.jet-woo-category-thumbnail img)) {
	display: none !important;
	width: 0 !important;
	max-width: 0 !important;
	min-width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.cp-mobile-carousel .jet-woo-categories__inner-box,
.cp-mobile-carousel .jet-woo-category-thumbnail img,
.cp-mobile-carousel .jet-woo-category-title {
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, border-color .25s ease, color .25s ease;
}

@media (hover: hover) and (pointer: fine) {
	.cp-mobile-carousel .jet-woo-categories__item:hover .jet-woo-categories__inner-box {
		transform: translateY(-7px);
		border-color: var(--cp-slider-accent) !important;
		box-shadow: 0 16px 34px rgba(49, 52, 54, .14);
	}

	.cp-mobile-carousel .jet-woo-categories__item:hover .jet-woo-category-thumbnail img {
		transform: scale(1.035);
	}

	.cp-mobile-carousel .jet-woo-categories__item:hover .jet-woo-category-title {
		color: var(--cp-slider-accent) !important;
	}
}

.cp-mobile-carousel-nav,
.cp-product-carousel-nav,
.cp-benefit-clone,
.elementor-widget-jet-woo-categories .cp-category-nav,
.cp-mobile-carousel .cp-category-nav {
	display: none !important;
}

/* cp-carousel-carteleria: independent JetWoo product slider. */
.cp-carousel-carteleria .elementor-widget-container {
	width: 100%;
	overflow: hidden;
}

.cp-carousel-carteleria .jet-woo-products {
	display: grid !important;
	width: 100% !important;
	grid-auto-flow: column;
	grid-template-rows: repeat(2, auto);
	grid-auto-columns: calc((100% - 16px) / 2);
	gap: 16px !important;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.cp-carousel-carteleria .jet-woo-products::-webkit-scrollbar {
	display: none;
}

.cp-carousel-carteleria .jet-woo-products__item {
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	scroll-snap-align: start;
}

.cp-carousel-carteleria .jet-woo-products__inner-box {
	height: auto !important;
}

.cp-carousel-carteleria .cp-product-carousel-nav {
	display: flex !important;
	width: 100%;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}

.cp-product-carousel-track {
	width: min(180px, 45%);
	height: 4px;
	overflow: hidden;
	margin-right: 4px;
	border-radius: 99px;
	background: var(--cp-slider-track);
}

.cp-product-carousel-progress {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background: var(--cp-slider-accent);
	transform: scaleX(var(--cp-product-progress, .25));
	transform-origin: left center;
	transition: transform .2s ease;
}

.cp-product-carousel-arrow,
.cp-mobile-carousel-button {
	display: grid !important;
	width: 38px !important;
	height: 38px !important;
	flex: 0 0 38px !important;
	place-items: center;
	padding: 0 !important;
	border: 1px solid #d7d7d7 !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #353535 !important;
	cursor: pointer;
}

.cp-product-carousel-arrow:not(:disabled):hover,
.cp-product-carousel-arrow:not(:disabled):focus-visible,
.cp-mobile-carousel-button:not(:disabled):active {
	border-color: var(--cp-slider-accent) !important;
	background: #fff0fa !important;
	color: var(--cp-slider-accent) !important;
}

.cp-product-carousel-arrow:disabled,
.cp-mobile-carousel-button:disabled {
	opacity: .3;
	cursor: default;
}

.cp-product-carousel-arrow svg,
.cp-mobile-carousel-button svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

@media (max-width: 767px) {
	.cp-mobile-carousel .jet-woo-categories {
		display: flex !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 4px 2px 16px !important;
		gap: 12px !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-padding-inline: 2px;
		scroll-snap-type: x mandatory;
		overscroll-behavior-inline: contain;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.cp-mobile-carousel .jet-woo-categories::-webkit-scrollbar {
		display: none;
	}

	.cp-mobile-carousel .jet-woo-categories__item {
		width: calc((100% - 12px) / 2) !important;
		max-width: calc((100% - 12px) / 2) !important;
		flex: 0 0 calc((100% - 12px) / 2) !important;
		margin: 0 !important;
		padding: 0 !important;
		scroll-snap-align: start;
	}

	.cp-mobile-carousel .jet-woo-categories__inner-box {
		height: 100%;
		overflow: hidden;
		border: 1px solid #e2e2e2;
		border-radius: 20px !important;
		box-shadow: 0 8px 22px rgba(31, 31, 31, .06);
	}

	.cp-mobile-carousel .jet-woo-category-thumbnail img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.cp-mobile-carousel .jet-woo-categories-content {
		display: flex;
		min-height: 58px;
		align-items: center;
		padding: 10px 12px !important;
	}

	.cp-mobile-carousel .jet-woo-category-title {
		width: 100%;
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
	}

	.cp-mobile-carousel-nav {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		margin: 2px 0 0;
	}

	.cp-mobile-carousel-button,
	.cp-mobile-carousel .cp-category-arrow,
	.elementor-widget-jet-woo-categories .cp-category-arrow {
		display: none !important;
	}

	.elementor-widget-jet-woo-categories .cp-category-nav,
	.cp-mobile-carousel .cp-category-nav {
		display: none !important;
	}

	.cp-mobile-carousel-track {
		min-width: 0;
		height: 4px;
		overflow: hidden;
		border-radius: 99px;
		background: var(--cp-slider-track);
	}

	.cp-mobile-carousel-progress {
		display: block;
		width: 34%;
		height: 100%;
		border-radius: inherit;
		background: var(--cp-slider-accent);
		transform: translateX(0);
		transition: transform .16s linear;
	}

	/* cp-mobile-marquee: infinite benefits ribbon. */
	.cp-mobile-marquee {
		display: block !important;
		width: 100% !important;
		overflow: hidden !important;
		padding: 20px 0 !important;
	}

	.cp-mobile-marquee > .e-con-inner {
		display: flex !important;
		width: max-content !important;
		max-width: none !important;
		gap: 12px !important;
		grid-template-columns: none !important;
		animation: cp-benefits-marquee-left 24s linear infinite;
		will-change: transform;
	}

	.cp-mobile-marquee > .e-con-inner > .e-con {
		width: min(76vw, 300px) !important;
		max-width: min(76vw, 300px) !important;
		min-width: 0 !important;
		flex: 0 0 min(76vw, 300px) !important;
		margin: 0 !important;
	}

	.cp-mobile-marquee .cp-benefit-clone {
		display: flex !important;
	}

	.cp-mobile-marquee > .e-con-inner > .e-con:first-child,
	.cp-mobile-marquee > .e-con-inner > .e-con:nth-child(5) {
		margin-left: 18px !important;
	}

	.cp-carousel-carteleria .jet-woo-products {
		grid-template-rows: auto;
		grid-auto-columns: min(78vw, 300px);
		gap: 12px !important;
	}

	.cp-carousel-carteleria .cp-product-carousel-nav {
		justify-content: center;
	}

	.cp-product-carousel-track {
		width: min(150px, 42%);
	}
}

@keyframes cp-benefits-marquee-left {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(calc(-50% - 6px), 0, 0); }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	.cp-mobile-marquee {
		overflow-x: auto !important;
	}

	.cp-mobile-marquee > .e-con-inner {
		animation: none !important;
		transform: none !important;
	}

	.cp-mobile-carousel .jet-woo-categories,
	.cp-carousel-carteleria .jet-woo-products,
	.cp-featured-showcase .copi-slider {
		scroll-behavior: auto;
	}
}

/* Shared grey circular arrows (Más vendidos + featured). */
.cp-slider-arrow,
.copi-arrow,
.cp-product-carousel-arrow,
.cp-mobile-carousel-button,
.jet-listing-grid__slider-icon.prev-arrow,
.jet-listing-grid__slider-icon.next-arrow {
	width: 40px !important;
	height: 40px !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #eeeeee !important;
	color: #1b1b1b !important;
	box-shadow: none !important;
}

.copi-arrow:hover,
.cp-slider-arrow:hover,
.cp-product-carousel-arrow:not(:disabled):hover,
.jet-listing-grid__slider-icon.prev-arrow:hover,
.jet-listing-grid__slider-icon.next-arrow:hover {
	background: #e4e4e4 !important;
	color: #111 !important;
	transform: none !important;
}

/* Featured HTML block: 2-up carousel on mobile, all cards reachable. */
.cp-featured-showcase .copi-slider,
.copi-showcase .copi-slider {
	overflow-x: auto;
	scrollbar-width: none;
}

.cp-featured-showcase .copi-arrows,
.copi-showcase .copi-arrows {
	display: flex !important;
}

@media (max-width: 767px) {
	.copi-showcase .copi-card,
	.cp-featured-showcase .copi-card {
		flex: 0 0 calc((100% - 12px) / 2) !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	.copi-showcase .copi-card p,
	.cp-featured-showcase .copi-card p {
		min-height: 0;
	}
}

/* Service cards: white pill, magenta on hover. */
.cp-service-hover .elementor-button {
	background: #fff !important;
	color: #263f48 !important;
	border-radius: 999px !important;
	transition: background-color .25s ease, color .25s ease;
}

.cp-service-hover:hover .elementor-button,
.cp-service-hover .elementor-button:hover {
	background: #e50064 !important;
	color: #fff !important;
}

.categoria-destacada-slider .cp-category-nav ~ .cp-category-nav {
	display: none !important;
}
