/*
 * Pixel naming compatibility layer.
 * Keep legacy lqd/ld selectors alive while new px/ip/pixel selectors roll out.
 */

:root {
	--px-site-width: var(--lqd-site-width, 1140px);
	--px-z-index: var(--lqd-z-index, 20);
	--px-sticky-header-height: var(--lqd-sticky-header-height, 0px);
	--px-sticky-header-sentinel-top: var(--lqd-sticky-header-sentinel-top, 100%);
	--px-sticky-header-placeholder-height: var(--lqd-sticky-header-placeholder-height, 80px);
	--px-top-scroll-ind-height: var(--lqd-top-scroll-ind-height, 0);
	--px-snickersbar-animation-time: var(--lqd-snickersbar-animation-time, 1.2s);
	--px-snickersbar-stay-time: var(--lqd-snickersbar-stay-time, 4s);
	--px-menu-items-top-padding: var(--lqd-menu-items-top-padding, 10px);
	--px-menu-items-bottom-padding: var(--lqd-menu-items-bottom-padding, 10px);
	--px-menu-items-left-padding: var(--lqd-menu-items-left-padding, 15px);
	--px-menu-items-right-padding: var(--lqd-menu-items-right-padding, 15px);
	--px-cc-bc: var(--lqd-cc-bc, var(--color-primary));
	--px-cc-bg: var(--lqd-cc-bg, var(--color-primary));
	--px-cc-size-outer: var(--lqd-cc-size-outer, 35px);
	--px-cc-size-inner: var(--lqd-cc-size-inner, 7px);
	--px-cc-bw: var(--lqd-cc-bw, 1px);
	--px-cc-br: var(--lqd-cc-br, calc(var(--px-cc-size-outer) / 2));
	--px-cc-active-bc: var(--lqd-cc-active-bc, var(--color-primary));
	--px-cc-active-bg: var(--lqd-cc-active-bg, var(--color-primary));
	--px-cc-active-bw: var(--lqd-cc-active-bw, 1px);
	--px-cc-active-circle-color: var(--lqd-cc-active-circle-color, #fff);
	--px-cc-active-circle-txt: var(--lqd-cc-active-circle-txt, #000);
	--px-cc-active-arrow-color: var(--lqd-cc-active-arrow-color, #fff);
}

/*
 * Header/module selector aliases.
 * These mirror the most common ld/lqd selectors without removing the legacy
 * selectors, so existing Elementor data continues to render while px/ip markup
 * can receive the same styling.
 */

.pixel-main-header-default .ip-module-trigger {
	width: 46px;
	height: 46px;
	border: 1px solid rgba(0, 0, 0, 0.3);
}

.pixel-main-header-default .ip-module-trigger-icon {
	font-size: 16px;
}

.ip-module-trigger {
	color: #000;
	cursor: pointer;
	transition: color 0.3s, background 0.3s, border 0.3s;
}

.ip-module-trigger-icon {
	font-size: 24px;
}

.ip-module-trigger-txt {
	display: inline-grid;
	margin-inline-end: 8px;
	grid-template-columns: 1fr auto auto;
}

.ip-module-trigger-txt:only-child,
.ip-module-trigger-txt:last-child {
	margin-inline-end: 0;
}

.ip-module-trigger-txt svg,
.ip-module-trigger-txt img {
	margin-inline-end: 0.5em;
	margin-inline-start: 0.5em;
}

.ip-module-trigger-txt img.emoji:first-child {
	margin-inline-end: 0.5em !important;
}

.ip-module-trigger-txt img.emoji:last-child {
	margin-inline-start: 0.5em !important;
}

.ip-module-trigger-txt i {
	margin-inline-start: 0.5em;
}

.ip-module-trigger-txt .amount + span {
	grid-column: 1 / span 3;
	order: -1;
}

.ip-module-trigger-txt:empty {
	display: none;
}

.ip-module-trigger-count {
	width: 20px;
	height: 20px;
	margin-inline-start: 5px;
	background-color: var(--color-primary);
	font-size: 12px;
	line-height: 20px;
	color: #fff;
}

.ip-module-trigger-txt + .ip-module-trigger-count {
	margin-inline-start: 0;
}

.ip-module-trigger-count-sup {
	top: -0.75em;
	right: -0.75em;
}

.pixel-module-trigger-txt-right .ip-module-trigger-txt {
	margin-inline-start: 10px;
	order: 1;
	text-align: start;
}

.pixel-module-trigger-txt-right .ip-module-trigger-count-sup {
	left: -0.75em;
	right: auto;
}

.pixel-module-trigger-txt-left .ip-module-trigger-txt {
	margin-inline-end: 10px;
	order: -1;
}

.pixel-module-trigger-txt-left .ip-module-trigger-count-sup {
	right: -0.75em;
	left: auto;
}

.pixel-module-hide-icon .ip-module-trigger-count {
	width: 2em;
	height: 2em;
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	font-size: 1em;
}

.pixel-module-icon-outline .ip-module-trigger-icon {
	width: 48px;
	height: 48px;
	font-size: 20px;
	border-radius: 50em;
}

.pixel-module-icon-outline .ip-module-trigger-icon:before {
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid;
	opacity: 0.15;
	border-radius: inherit;
}

.pixel-module-icon-outline .ip-module-trigger-count-sup {
	margin: 0;
	top: -0.25em;
	right: -0.25em;
}

.pixel-module-icon-outline.pixel-module-trigger-txt-right .ip-module-trigger-count-sup {
	left: 35px;
}

.pixel-module-badge-outline .ip-module-trigger-count {
	background: none;
	border: 1px solid;
	color: inherit;
}

.ip-module-dropdown {
	top: 100%;
	right: 0;
	z-index: 20;
	background-color: #fff;
	text-align: left;
}

.ip-module-dropdown.left {
	right: auto;
	left: 0;
}

.ip-dropdown-menu-content {
	width: 210px;
	padding: 20px 30px;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.ip-dropdown-menu-content a {
	display: inline-block;
	position: relative;
}

.ip-dropdown-menu-content ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.ip-dropdown-menu-content ul ul {
	margin-inline-start: 0.3em;
}

.ip-dropdown-menu-content li {
	position: relative;
}

.ip-dropdown-menu-content li:not(:last-child) a {
	margin-bottom: 0.625em;
}

.ip-dropdown-menu-underlined li a:before {
	content: "";
	display: inline-block;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -2px;
	left: 0;
	background-color: currentColor;
	transform-origin: right center;
	transform: scaleX(0);
	transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1);
}

.ip-dropdown-menu-underlined li a:hover:before {
	transform-origin: left center;
	transform: scaleX(1);
}

.ip-sd-inner .main-nav {
	flex-direction: column;
}

.ip-sd-inner .main-nav > li {
	width: 100%;
}

#pixel-site-content {
	position: relative;
	z-index: 2;
	background-color: #fff;
	transition: transform 0.3s;
}

#pixel-contents-wrap > .elementor:before,
#pixel-contents-wrap > .elementor:after {
	content: "";
	display: table;
}

#pixel-contents-wrap > .elementor:after {
	clear: both;
}

.elementor-page:not(.has-sidebar):not(.single-product) #pixel-site-content > .container {
	max-width: none;
	width: 100%;
	padding: 0;
}

body:not(.elementor-page) #pixel-contents-wrap {
	min-height: 50vh;
}

#pixel-contents-wrap .elementor-section-wrap:before,
#pixel-contents-wrap .elementor-section-wrap:after {
	content: "";
	display: table;
}

#pixel-contents-wrap .elementor-section-wrap:after {
	clear: both;
}

[data-elementor-device-mode=mobile] #pixel-contents-wrap {
	overflow-x: hidden;
}

/*
 * Carousel/header bundle aliases.
 * The carousel Elementor bundle includes shared layout and sticky-header CSS,
 * so keep px/pixel markup aligned with the legacy lqd rules.
 */

.px-fade-sides:not(.carousel-container),
.pixel-fade-sides:not(.carousel-container) {
	mask-image: linear-gradient(to right, transparent 0%, #000 20%, #000 80%, transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 20%, #000 80%, transparent 100%);
}

.px-fade-sides:not(.carousel-container).carousel-container .flickity-viewport,
.pixel-fade-sides:not(.carousel-container).carousel-container .flickity-viewport {
	mask-image: linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 15%, #000 85%, transparent 100%);
}

.px-overlay,
.pixel-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.is-stuck .px-head-sec-wrap,
.is-stuck .pixel-head-sec-wrap {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.px-smart-sticky-header,
.pixel-smart-sticky-header {
	animation: none;
}

.px-smart-sticky-header.px-just-stuck,
.pixel-smart-sticky-header.pixel-just-stuck {
	transform: translateY(-100%);
}

.px-smart-sticky-hide,
.pixel-smart-sticky-hide {
	animation: stickySlideOut 0.4s cubic-bezier(0.23, 1, 0.32, 1) both;
}

.px-smart-sticky-show,
.pixel-smart-sticky-show {
	animation: stickySlideDown 0.65s cubic-bezier(0.23, 1, 0.32, 1) both;
}

.elementor-section > .px-sticky-sentinel,
.titlebar > .px-sticky-sentinel,
.elementor-section > .pixel-sticky-sentinel,
.titlebar > .pixel-sticky-sentinel {
	--lqd-sticky-header-sentinel-top: calc(100% - var(--lqd-sticky-header-height, 0px) - 2px);
	--px-sticky-header-sentinel-top: calc(100% - var(--px-sticky-header-height, var(--lqd-sticky-header-height, 0px)) - 2px);
}

.is-stuck .px-show-onstuck,
.is-stuck .pixel-show-onstuck {
	display: block;
}

.is-stuck .px-hide-onstuck,
.is-stuck .pixel-hide-onstuck {
	display: none;
}

.px-stickybar,
.pixel-stickybar {
	display: flex;
	width: 100%;
	height: 100%;
	position: relative;
	writing-mode: vertical-rl;
	overflow: visible;
}

.px-stickybar-wrap,
.pixel-stickybar-wrap {
	display: flex;
	justify-content: center;
	width: 100px;
	height: 100vh;
	padding-top: 5vh;
	padding-bottom: 5vh;
	position: absolute !important;
	top: 0;
	z-index: 10;
}

.px-stickybar-wrap > .elementor-container,
.pixel-stickybar-wrap > .elementor-container {
	writing-mode: vertical-lr;
	height: 100%;
}

.px-stickybar-wrap > .elementor-container,
.px-stickybar-wrap > .elementor-container > .elementor-column,
.pixel-stickybar-wrap > .elementor-container,
.pixel-stickybar-wrap > .elementor-container > .elementor-column {
	flex-grow: 1;
	width: 100% !important;
}

.px-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap,
.pixel-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
	align-content: center;
	flex-direction: column !important;
}

.px-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element,
.pixel-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element {
	display: flex;
	align-items: center;
	width: 100% !important;
}

.px-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ip_button,
.pixel-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ip_button {
	transform: rotate(-180deg);
}

.px-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-social-icons,
.pixel-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-social-icons {
	transform: rotate(180deg);
}

.px-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-social-icons .elementor-icon i,
.pixel-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-social-icons .elementor-icon i {
	display: inherit;
	align-items: inherit;
	justify-content: inherit;
}

.px-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ip_button .elementor-widget-container,
.pixel-stickybar-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ip_button .elementor-widget-container {
	writing-mode: horizontal-tb;
	transform: rotate(90deg);
}

.px-stickybar-wrap .elementor-widget-container,
.pixel-stickybar-wrap .elementor-widget-container {
	transform: rotate(-180deg);
}

.px-stickybar-wrap .elementor-first-add,
.pixel-stickybar-wrap .elementor-first-add {
	width: calc(100% - 20px);
}

.px-stickybar-wrap.px-show-onstuck,
.px-stickybar-wrap.px-hide-onstuck,
.pixel-stickybar-wrap.pixel-show-onstuck,
.pixel-stickybar-wrap.pixel-hide-onstuck {
	transition: transform 1.25s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s 0.3s;
}

.is-stuck .px-stickybar-wrap.px-show-onstuck,
.is-stuck .pixel-stickybar-wrap.pixel-show-onstuck {
	transition-delay: 0.15s;
}

[data-sticky-header] .px-stickybar-wrap,
[data-sticky-header] .pixel-stickybar-wrap {
	position: fixed !important;
}

.admin-bar .px-stickybar-wrap,
.admin-bar .pixel-stickybar-wrap {
	top: 32px;
}

.admin-bar .is-stuck .px-stickybar-wrap,
.admin-bar .is-stuck .pixel-stickybar-wrap {
	top: 0;
}

[data-sticky-values-measured=false] .px-stickybar-wrap,
[data-sticky-values-measured=false] .pixel-stickybar-wrap {
	visibility: hidden !important;
	opacity: 0 !important;
	transform: translateX(0) !important;
}

.is-stuck .px-stickybar-wrap,
.is-stuck .pixel-stickybar-wrap {
	display: flex;
}

[data-elementor-device-mode=mobile] .px-stickybar-wrap,
[data-elementor-device-mode=tablet] .px-stickybar-wrap,
[data-elementor-device-mode=mobile] .pixel-stickybar-wrap,
[data-elementor-device-mode=tablet] .pixel-stickybar-wrap {
	display: none;
}

.px-stickybar-left,
.pixel-stickybar-left {
	left: 0;
}

.is-stuck.px-smart-sticky-hide .px-stickybar-left,
.is-stuck .px-stickybar-left.px-hide-onstuck,
[data-sticky-header].is-not-stuck .px-stickybar-left.px-show-onstuck,
.is-stuck.pixel-smart-sticky-hide .pixel-stickybar-left,
.is-stuck .pixel-stickybar-left.pixel-hide-onstuck,
[data-sticky-header].is-not-stuck .pixel-stickybar-left.pixel-show-onstuck {
	transform: translateX(-100%);
}

.px-stickybar-right,
.pixel-stickybar-right {
	right: 0;
}

.is-stuck.px-smart-sticky-hide .px-stickybar-right,
.is-stuck .px-stickybar-right.px-hide-onstuck,
[data-sticky-header].is-not-stuck .px-stickybar-right.px-show-onstuck,
.is-stuck.pixel-smart-sticky-hide .pixel-stickybar-right,
.is-stuck .pixel-stickybar-right.pixel-hide-onstuck,
[data-sticky-header].is-not-stuck .pixel-stickybar-right.pixel-show-onstuck {
	transform: translateX(100%);
}

.px-stickybar-right .elementor-widget-ip_header_fullproj .px-fullproj-trigger,
.pixel-stickybar-right .elementor-widget-ip_header_fullproj .pixel-fullproj-trigger {
	transform: rotate(180deg);
}

.px-stickybar-right > .elementor-container,
.pixel-stickybar-right > .elementor-container {
	writing-mode: vertical-rl;
}

.mobile-nav-activated [data-mobile-nav-style=modern] #pixel-site-content,
.module-expanding [data-mobile-nav-style=modern] #pixel-site-content,
.module-collapsing [data-mobile-nav-style=modern] #pixel-site-content {
	transition: transform 0.65s cubic-bezier(0.23, 1, 0.32, 1);
}

.mobile-nav-activated [data-mobile-nav-style=modern] #pixel-site-content {
	transform: translate3d(-80vw, 0, 0);
}

.module-expanding [data-mobile-nav-style=modern] #pixel-site-content,
.module-collapsing [data-mobile-nav-style=modern] #pixel-site-content {
	transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1);
}

.module-expanding [data-mobile-nav-style=modern] #pixel-site-content {
	transition-delay: 0.025s;
}

.pixel-sticky-placeholder,
.px-sticky-placeholder {
	height: var(--px-sticky-header-placeholder-height, var(--lqd-sticky-header-placeholder-height, 0));
}

.px-sticky-sentinel {
	position: absolute;
	top: var(--px-sticky-header-sentinel-top, var(--lqd-sticky-header-sentinel-top, 100%));
	pointer-events: none;
}

.elementor-widget-ld_header_image.pixel-active-row-light .navbar-brand .logo-dark,
.elementor-widget-ip_header_image.pixel-active-row-light .navbar-brand .logo-dark {
	opacity: 1;
	visibility: visible;
}

.elementor-widget-ld_header_image.pixel-active-row-light .navbar-brand .logo-dark ~ img,
.elementor-widget-ip_header_image.pixel-active-row-light .navbar-brand .logo-dark ~ img {
	opacity: 0;
	visibility: hidden;
}

.elementor-widget-ld_header_image.pixel-active-row-dark .navbar-brand .logo-light,
.elementor-widget-ip_header_image.pixel-active-row-dark .navbar-brand .logo-light {
	opacity: 1;
	visibility: visible;
}

.elementor-widget-ld_header_image.pixel-active-row-dark .navbar-brand .logo-light ~ img,
.elementor-widget-ip_header_image.pixel-active-row-dark .navbar-brand .logo-light ~ img {
	opacity: 0;
	visibility: hidden;
}

.px-active-row-dark #pp-nav,
.pixel-active-row-dark #pp-nav,
.px-active-row-dark #pp-nav a,
.pixel-active-row-dark #pp-nav a {
	color: #fff;
}

@media screen and (min-width: 769px) {
	.px-sticky-footer-shadow-1 #pixel-site-content,
	.lqd-sticky-footer-shadow-1 #pixel-site-content {
		box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.1);
	}

	.px-sticky-footer-shadow-2 #pixel-site-content,
	.lqd-sticky-footer-shadow-2 #pixel-site-content {
		box-shadow: 0 10px 25px -10px rgba(0, 0, 0, 0.1);
	}

	.px-sticky-footer-shadow-3 #pixel-site-content,
	.lqd-sticky-footer-shadow-3 #pixel-site-content {
		box-shadow: 0 25px 50px -15px rgba(0, 0, 0, 0.1);
	}

	.px-sticky-footer-shadow-4 #pixel-site-content,
	.lqd-sticky-footer-shadow-4 #pixel-site-content {
		box-shadow: 0 30px 70px -25px rgba(0, 0, 0, 0.1);
	}
}
