/** Theme-native WooCommerce Product Slider */
.spw-slider,
.spw-slider *,
.spw-slider *::before,
.spw-slider *::after { box-sizing: border-box; }

.spw-slider {
	--spw-items-desktop: 4;
	--spw-items-tablet: 3;
	--spw-items-mobile: 1;
	--spw-items: var(--spw-items-desktop);
	--spw-effective-items: var(--spw-items);
	--spw-gap: 18px;
	--spw-scroll-items: 1;
	--spw-arrow-size: 42px;
	--spw-arrow-offset: -12px;
	position: relative;
	width: 100%;
	min-width: 0;
	isolation: isolate;
}

@media (max-width: 1024px) { .spw-slider { --spw-items: var(--spw-items-tablet); } }
@media (max-width: 767px) { .spw-slider { --spw-items: var(--spw-items-mobile); } }

.spw-viewport { width: 100%; min-width: 0; overflow: hidden; padding: 4px; margin: -4px; }
.spw-track {
	display: flex;
	align-items: stretch;
	gap: var(--spw-gap);
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0;
	margin: 0;
	scroll-snap-type: inline mandatory;
	scroll-behavior: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	touch-action: pan-y pinch-zoom;
	cursor: grab;
	list-style: none;
}
.spw-track::-webkit-scrollbar { display: none; width: 0; height: 0; }
.spw-track:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.spw-drag-disabled .spw-track { cursor: auto; }
.spw-track.spw-is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.spw-is-animating .spw-track { scroll-snap-type: none; will-change: scroll-position; }
.spw-track.spw-is-dragging a, .spw-track.spw-is-dragging button { pointer-events: none; }

.spw-item {
	flex: 0 0 calc((100% - (var(--spw-effective-items) - 1) * var(--spw-gap)) / var(--spw-effective-items));
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}

.spw-slider[data-slider-enabled="no"] .spw-viewport { overflow: visible; }
.spw-slider[data-slider-enabled="no"] .spw-track { overflow: visible; flex-wrap: wrap; cursor: auto; scroll-snap-type: none; }
.spw-slider[data-slider-enabled="no"] .spw-nav { display: none !important; }

.spw-nav {
	position: absolute;
	top: 50%;
	z-index: 6;
	display: none;
	align-items: center;
	justify-content: center;
	width: var(--spw-arrow-size);
	height: var(--spw-arrow-size);
	min-width: var(--spw-arrow-size);
	min-height: var(--spw-arrow-size);
	padding: 0;
	margin: 0;
	transform: translateY(-50%);
	background: #fff;
	border: 1px solid #e4e7ec;
	border-radius: 50%;
	box-shadow: 0 3px 14px rgba(16, 24, 40, .12);
	color: #22262c;
	line-height: 1;
	cursor: pointer;
	transition: opacity .18s ease, visibility .18s ease, color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
	appearance: none;
}
.spw-is-ready[data-arrows="yes"] .spw-nav { display: flex; }
.spw-prev { inset-inline-start: var(--spw-arrow-offset); }
.spw-next { inset-inline-end: var(--spw-arrow-offset); }
.spw-nav svg { display: block; width: 16px; height: 16px; pointer-events: none; }
.spw-nav:hover, .spw-nav:focus-visible { transform: translateY(-50%) scale(1.05); }
.spw-nav:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.spw-nav[disabled] { cursor: default; opacity: .34; }
.spw-hide-disabled .spw-nav[disabled] { visibility: hidden; opacity: 0; pointer-events: none; }
.spw-no-overflow .spw-nav { display: none !important; }
.spw-empty-message { padding: 16px 18px; border: 1px dashed #c8cdd6; border-radius: 8px; background: #f8f9fb; color: #4c5564; }

/* Override only layout dimensions; the product card itself remains theme controlled. */
.spwps-widget.woocommerce ul.products.spw-track,
.woocommerce .spwps-widget ul.products.spw-track,
.woocommerce-page .spwps-widget ul.products.spw-track {
	display: flex !important;
	grid-template-columns: none !important;
	gap: var(--spw-gap) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.spwps-widget.woocommerce ul.products.spw-track::before,
.spwps-widget.woocommerce ul.products.spw-track::after { display: none !important; content: none !important; }
.spwps-widget.woocommerce ul.products.spw-track li.product.spw-item,
.woocommerce .spwps-widget ul.products.spw-track li.product.spw-item,
.woocommerce-page .spwps-widget ul.products.spw-track li.product.spw-item {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	flex: 0 0 calc((100% - (var(--spw-effective-items) - 1) * var(--spw-gap)) / var(--spw-effective-items)) !important;
}
.spwps-widget ul.products li.product a { -webkit-tap-highlight-color: transparent; }

@media (max-width: 767px) { .spw-hide-arrows-mobile .spw-nav { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .spw-track, .spw-nav { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* Product-data visibility controls for the theme-native slider. */
.spwps-widget .spwps-category {
	display: block;
	margin: 0 0 6px;
	color: inherit;
	font-size: 12px;
	line-height: 1.3;
	text-decoration: none !important;
	opacity: .72;
}
.spwps-widget .spwps-short-description {
	margin: 7px 0;
	font-size: 13px;
	line-height: 1.5;
	opacity: .78;
}
.spwps-widget.spwps-hide-image li.product .astra-shop-thumbnail-wrap,
.spwps-widget.spwps-hide-image li.product .ast-shop-product-out-of-stock,
.spwps-widget.spwps-hide-image li.product a.woocommerce-LoopProduct-link > img,
.spwps-widget.spwps-hide-image li.product a.woocommerce-loop-product__link > img,
.spwps-widget.spwps-hide-image li.product img.attachment-woocommerce_thumbnail,
.spwps-widget.spwps-hide-image li.product img.wp-post-image {
	display: none !important;
}
.spwps-widget.spwps-hide-sale-badge li.product .onsale,
.spwps-widget.spwps-hide-sale-badge li.product .ast-onsale-card,
.spwps-widget.spwps-hide-sale-badge li.product .sale-flash {
	display: none !important;
}
.spwps-widget.spwps-hide-category li.product .spwps-category,
.spwps-widget.spwps-hide-category li.product .ast-woo-product-category,
.spwps-widget.spwps-hide-category li.product .product-category,
.spwps-widget.spwps-hide-category li.product .wc-block-components-product-category {
	display: none !important;
}
.spwps-widget.spwps-hide-title li.product .woocommerce-loop-product__title,
.spwps-widget.spwps-hide-title li.product .wc-block-components-product-name,
.spwps-widget.spwps-hide-title li.product .ast-loop-product__link > h2,
.spwps-widget.spwps-hide-title li.product .ast-loop-product__link > h3 {
	display: none !important;
}
.spwps-widget.spwps-hide-rating li.product .star-rating,
.spwps-widget.spwps-hide-rating li.product .woocommerce-product-rating,
.spwps-widget.spwps-hide-rating li.product .ast-rating-wrap {
	display: none !important;
}
.spwps-widget.spwps-hide-price li.product .price,
.spwps-widget.spwps-hide-price li.product .woocommerce-Price-amount,
.spwps-widget.spwps-hide-price li.product .wc-block-components-product-price {
	display: none !important;
}
.spwps-widget.spwps-hide-description li.product .spwps-short-description,
.spwps-widget.spwps-hide-description li.product .woocommerce-product-details__short-description,
.spwps-widget.spwps-hide-description li.product .product-excerpt {
	display: none !important;
}
.spwps-widget.spwps-hide-button li.product a.button,
.spwps-widget.spwps-hide-button li.product button.button,
.spwps-widget.spwps-hide-button li.product .added_to_cart,
.spwps-widget.spwps-hide-button li.product .ast-on-card-button,
.spwps-widget.spwps-hide-button li.product .astra-shop-thumbnail-wrap .button {
	display: none !important;
}

/* Use one consistent category label when the Product Category option is enabled. */
.spwps-widget li.product .ast-woo-product-category,
.spwps-widget li.product .product-category,
.spwps-widget li.product .wc-block-components-product-category {
	display: none !important;
}
