/* Desiderio Bike — Add to cart premium */

.single-product .elementor-kitify-wooproduct-addtocart {
	margin: 8px 0 28px !important;
}

.single-product .elementor-add-to-cart {
	padding: 0 !important;
}

.single-product .elementor-add-to-cart .stock.in-stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 600;
	color: #1a7f4b;
	background: rgba(26, 127, 75, 0.08);
	border-radius: 999px;
	border: 1px solid rgba(26, 127, 75, 0.15);
}

.single-product .elementor-add-to-cart .stock.in-stock::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
	animation: desiderio-stock-pulse 2s infinite;
}

@keyframes desiderio-stock-pulse {
	0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45); }
	70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
	100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

/* Stile condiviso pulsante */
.desiderio-atc--single,
.desiderio-atc--grid {
	--atc-a: #40c4b0;
	--atc-b: #2dafa0;
	--atc-c: #5dd4c4;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: none !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	color: #fff !important;
	text-decoration: none !important;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(120deg, var(--atc-a) 0%, var(--atc-b) 45%, var(--atc-c) 100%) !important;
	background-size: 200% 200% !important;
	box-shadow: 0 6px 18px rgba(64, 196, 176, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.desiderio-atc--single {
	width: 100%;
	min-height: 58px;
	padding: 0 28px !important;
	font-size: 16px !important;
}

.desiderio-atc--grid {
	flex: 1;
	min-height: 44px;
	padding: 0 14px !important;
	font-size: 12px !important;
	margin-top: 0 !important;
}

.desiderio-atc--grid.desiderio-atc--secondary {
	background: #fff !important;
	color: #111 !important;
	border: 1px solid #ddd !important;
	box-shadow: none !important;
}

.desiderio-atc--grid.desiderio-atc--secondary:hover {
	background: #f7f7f7 !important;
	color: #111 !important;
	border-color: #bbb !important;
}

.desiderio-atc--single::before,
.desiderio-atc--grid:not(.desiderio-atc--secondary)::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.18) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 0.55s ease;
	pointer-events: none;
}

.desiderio-atc--single:hover,
.desiderio-atc--grid:not(.desiderio-atc--secondary):hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(64, 196, 176, 0.32);
	color: #fff !important;
	filter: brightness(1.03);
}

.desiderio-atc--single:hover::before,
.desiderio-atc--grid:not(.desiderio-atc--secondary):hover::before {
	transform: translateX(120%);
}

.desiderio-atc--single.is-loading,
.desiderio-atc--grid.is-loading {
	pointer-events: none;
	opacity: 0.92;
	color: #fff !important;
}

.desiderio-atc--single.is-success,
.desiderio-atc--grid.is-success {
	background: linear-gradient(120deg, #22c55e, #16a34a) !important;
	color: #fff !important;
}

.desiderio-atc__icon {
	display: inline-flex;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
}

.desiderio-atc--single .desiderio-atc__icon {
	width: 20px;
	height: 20px;
}

.desiderio-atc__arrow {
	font-size: 17px;
	line-height: 1;
	opacity: 0.9;
	transition: transform 0.25s ease;
}

.desiderio-atc--single:hover .desiderio-atc__arrow {
	transform: translateX(4px);
}

.single-product .desiderio-atc-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-top: 14px;
	font-size: 12px;
	color: #666;
}

/* Griglia: equal height — solo griglie statiche (shop), NON carousel Swiper homepage */
.kitify-products:not(.kitify-carousel) .kitify-products__list_wrapper ul.products,
ul.products.kitify-products__list:not(.swiper-wrapper) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list_wrapper ul.products > .product,
.kitify-products:not(.kitify-carousel) .kitify-products__list_wrapper ul.products > .product_item,
ul.products.kitify-products__list:not(.swiper-wrapper) > .product,
ul.products.kitify-products__list:not(.swiper-wrapper) > .product_item,
ul.products:not(.product-list-display):not(.swiper-wrapper) > .product,
ul.products:not(.product-list-display):not(.swiper-wrapper) > .product_item {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	height: auto;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list_wrapper ul.products .product-item,
ul.products.kitify-products__list:not(.swiper-wrapper) .product-item,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product .product-item {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	min-height: 100%;
	height: 100%;
}

/* Zona immagine uniforme */
.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__thumbnail,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__thumbnail {
	flex-shrink: 0;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__thumbnail-placeholder,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__thumbnail-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__thumbnail-placeholder a,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__thumbnail-placeholder a {
	width: 100%;
	height: 100%;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__thumbnail-placeholder img,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__thumbnail-placeholder img {
	width: 100% !important;
	height: 100% !important;
	max-height: 260px;
	object-fit: contain !important;
}

/* Testo: cresce, footer in basso */
.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__description,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__description {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	margin-top: auto;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__description--info,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__description--info {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__description--info .info-left,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__description--info .info-left {
	flex: 1 1 auto;
}

.kitify-products:not(.kitify-carousel) .kitify-products__list .woocommerce-loop-product__title,
ul.products:not(.product-list-display):not(.swiper-wrapper) .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	line-height: 1.35;
	min-height: calc(1.35em * 3);
}

.kitify-products:not(.kitify-carousel) .kitify-products__list .product-item__description--info .info-right,
ul.products:not(.product-list-display):not(.swiper-wrapper) .product-item__description--info .info-right {
	flex-shrink: 0;
	margin-top: 8px;
}

.desiderio-product-card__footer {
	display: flex;
	align-items: stretch;
	gap: 8px;
	flex-shrink: 0;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #ececec;
}

.product-item__description--actions {
	display: none !important;
}

.products .add_to_cart_button .vonica-addtocart,
.woocommerce ul.products .add_to_cart_button svg:not(.desiderio-atc__icon) {
	display: none !important;
}

.desiderio-product-card__footer .nova_product_quick_view_btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	min-width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #111 !important;
	color: #fff !important;
	text-decoration: none !important;
	transition: background 0.2s ease, transform 0.2s ease;
}

.desiderio-product-card__footer .nova_product_quick_view_btn:hover {
	background: #40c4b0 !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.desiderio-product-card__footer .nova_product_quick_view_btn i {
	font-size: 16px;
	line-height: 1;
}

/* Badge saldi e gradi — niente rosso */
.onsale,
.products .badge-sale,
span.onsale {
	background: #40c4b0 !important;
	color: #fff !important;
}

.desiderio-grado-grado-a { background: #40c4b0 !important; }
.desiderio-grado-grado-b { background: #2dafa0 !important; }
.desiderio-grado-grado-c { background: #1a8a7d !important; }

/* Filtri pulsante (grado, taglia): hover sempre leggibile */
.widget .novaapf-layered-nav.et-button-novaapf ul li > a,
.novaapf-layered-nav.et-button-novaapf ul li > a {
	color: #333 !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
}

.widget .novaapf-layered-nav.et-button-novaapf ul li > a:hover,
.widget .novaapf-layered-nav.et-button-novaapf ul li.chosen > a,
.novaapf-layered-nav.et-button-novaapf ul li > a:hover,
.novaapf-layered-nav.et-button-novaapf ul li.chosen > a,
.novaapf-layered-nav.et-button-novaapf ul li > a.active {
	background: #40c4b0 !important;
	border-color: #40c4b0 !important;
	color: #fff !important;
}

.widget .novaapf-layered-nav.et-button-novaapf ul li.chosen > a:hover,
.novaapf-layered-nav.et-button-novaapf ul li.chosen > a:hover {
	background: #2dafa0 !important;
	border-color: #2dafa0 !important;
	color: #fff !important;
}

.widget .novaapf-layered-nav.et-button-novaapf ul li .count,
.novaapf-layered-nav.et-button-novaapf ul li .count {
	color: inherit !important;
	opacity: 0.85;
}

/* Overlay azioni sull'immagine — nascosto (JS sposta in footer) */
.product-item__thumbnail .product-item__description--actions {
	display: none !important;
}

.single-product .kitify-wc-products .desiderio-product-card__footer {
	margin-top: 12px;
}

/* ── Prodotto esaurito / venduto (shop + homepage) ── */
ul.products li.product.outofstock .product-item__thumbnail,
ul.products li.product.outofstock .product-item__thumbnail-placeholder,
.kitify-wc-products li.product.outofstock .product-item__thumbnail,
.kitify-wc-products li.product.outofstock .product-item__thumbnail-placeholder,
.kitify-wc-products li.outofstock .product-item__thumbnail,
.kitify-wc-products li.outofstock .product-item__thumbnail-placeholder {
	position: relative;
}

ul.products li.product.outofstock .product-item__thumbnail-placeholder img,
ul.products li.product.outofstock .product-item__thumbnail img,
.kitify-wc-products li.outofstock .product-item__thumbnail-placeholder img,
.kitify-wc-products li.outofstock .product-item__thumbnail img,
.kitify-wc-products li.product.outofstock .product-item__thumbnail-placeholder img,
.kitify-wc-products li.product.outofstock .product-item__thumbnail img {
	filter: grayscale(100%) contrast(1.05);
	opacity: 0.68;
	transition: filter 0.35s ease, opacity 0.35s ease;
}

ul.products li.product.outofstock .product-item__thumbnail-placeholder::before,
.kitify-wc-products li.outofstock .product-item__thumbnail-placeholder::before,
.kitify-wc-products li.product.outofstock .product-item__thumbnail-placeholder::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.45) 100%);
	pointer-events: none;
	z-index: 2;
}

/* Badge "Venduta" */
ul.products li.product.outofstock .product-item__thumbnail-placeholder a .out-of-stock,
ul.products li.product.outofstock .stock.out-of-stock,
.kitify-wc-products li.outofstock .product-item__thumbnail-placeholder a .out-of-stock,
.kitify-wc-products li.outofstock .stock.out-of-stock,
.kitify-wc-products li.product.outofstock .product-item__thumbnail-placeholder a .out-of-stock,
.kitify-wc-products li.product.outofstock .stock.out-of-stock {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	transform: translate(-50%, -50%);
	margin: 0 !important;
	z-index: 5;
	width: auto !important;
	min-width: 0 !important;
	background: rgba(17, 17, 17, 0.78) !important;
	color: #fff !important;
	font-size: 0 !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 11px 20px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
	white-space: nowrap;
}

ul.products li.product.outofstock .out-of-stock::after,
.kitify-wc-products li.outofstock .out-of-stock::after,
.kitify-wc-products li.product.outofstock .out-of-stock::after {
	content: "Venduta";
	font-size: 11px;
	letter-spacing: 0.16em;
}

ul.products li.product.outofstock .product-item__description .price,
.kitify-wc-products li.outofstock .product-item__description .price,
.kitify-wc-products li.product.outofstock .product-item__description .price {
	opacity: 0.5;
}

ul.products li.product.outofstock .desiderio-atc--grid.desiderio-atc--secondary,
ul.products li.product.outofstock .desiderio-product-card__footer .button,
.kitify-wc-products li.outofstock .desiderio-atc--grid.desiderio-atc--secondary,
.kitify-wc-products li.outofstock .desiderio-product-card__footer .button {
	opacity: 0.85;
}

/* Scheda prodotto esaurita */
.single-product .product.outofstock .woocommerce-product-gallery__image img,
.single-product .product.outofstock .product-item__thumbnail img {
	filter: grayscale(100%);
	opacity: 0.78;
}

.single-product .stock.out-of-stock {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	padding: 7px 14px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #555 !important;
	background: #f3f3f3 !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 999px !important;
}

.single-product .stock.out-of-stock::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #999;
}

/* Niente rosso tema su stock */
.elementor-kitify-wooproduct-stock .stock.out-of-stock,
.kitify .stock.out-of-stock {
	background-color: transparent !important;
	color: #555 !important;
}

