/* 90 — Functional Elementor fixes. Loads even when SENSA_LEGACY_CSS is false (see includes/assets.php).
   Visual design lives in Elementor (Kit #12 + V4 classes sn-*), not here. */

/* Loop Carousel with V4 loop items: on mobile the .swiper (a flex item with min-width:auto) grew to
   ~33M px because slide widths fed back into the container width. Pin it to its parent. (2026-09-28) */
.elementor-widget-loop-carousel .swiper {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/* V4 loop add-to-cart while the AJAX request runs (assets/js/sn-loop-atc.js). */
.sn-atc.is-loading {
	opacity: .6;
	pointer-events: none;
}

/* V2 header (template "Sensa V2 – Header", root .sn-header): the Theme Builder wrapper must be the sticky
   element (a sticky child can't outlive its own short parent). Negative top = the USP bar scrolls away,
   the main bar stays pinned. Scoped with :has() so the V1 header is untouched. */
[data-elementor-type="header"]:has(.sn-usp) {
	position: sticky;
	top: calc(-1 * var(--sn-usp-h, 34px));
	z-index: 90;
}
.admin-bar [data-elementor-type="header"]:has(.sn-usp) {
	top: calc(32px - var(--sn-usp-h, 34px));
}
@media (max-width: 767px) {
	[data-elementor-type="header"]:has(.sn-usp) { --sn-usp-h: 34px; }
}

/* Variation buttons (includes/variation-buttons.php): the native select stays for WooCommerce JS but is hidden. */
.sn-var__select {
	position: absolute !important;
	width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
