/* =========================================================
   Solve Skin Care - Motion System
   Global visual motion layer, tuned per section
   ========================================================= */

:root{
	--sm-ease: cubic-bezier(.2,.8,.2,1);
	--sm-ease-soft: cubic-bezier(.22,1,.36,1);
	--sm-dur-xs: .18s;
	--sm-dur-sm: .28s;
	--sm-dur-md: .55s;
	--sm-dur-lg: .85s;
	--sm-rise: 18px;
	--sm-shadow-soft: 0 18px 44px rgba(36,27,29,.10);
	--sm-shadow-hover: 0 24px 58px rgba(36,27,29,.16);
}

html.solve-motion-ready{
	scroll-behavior: smooth;
}

/* ---------------------------------------------------------
   Base reveal system
   --------------------------------------------------------- */
.solve-reveal{
	opacity: 0;
	transform: translate3d(0,var(--sm-rise),0);
	transition:
		opacity var(--sm-dur-md) var(--sm-ease-soft),
		transform var(--sm-dur-lg) var(--sm-ease-soft);
	transition-delay: var(--sm-delay, 0ms);
	will-change: opacity, transform;
}
.solve-reveal.solve-inview{
	opacity: 1;
	transform: translate3d(0,0,0);
}
.solve-reveal--fade{
	transform: none;
}
.solve-reveal--left{
	transform: translate3d(-22px,0,0);
}
.solve-reveal--right{
	transform: translate3d(22px,0,0);
}
.solve-reveal--scale{
	transform: translate3d(0,12px,0) scale(.975);
}
.solve-reveal--scale.solve-inview{
	transform: translate3d(0,0,0) scale(1);
}

/* ---------------------------------------------------------
   Site header: elegant entry + interactive navigation
   --------------------------------------------------------- */
.whb-header{
	isolation: isolate;
}
html.solve-motion-ready .whb-header{
	animation: solveHeaderEnter .72s var(--sm-ease-soft) both;
}
@keyframes solveHeaderEnter{
	from{ opacity: 0; transform: translate3d(0,-14px,0); }
	to{ opacity: 1; transform: translate3d(0,0,0); }
}
.whb-header .site-logo img{
	transition: transform var(--sm-dur-sm) var(--sm-ease), filter var(--sm-dur-sm) var(--sm-ease);
}
.whb-header .site-logo:hover img{
	transform: translateY(-1px) scale(1.035);
	filter: drop-shadow(0 8px 16px rgba(191,47,134,.15));
}
.wd-header-nav .wd-nav > li > a{
	position: relative;
}
.wd-header-nav .wd-nav > li > a::after{
	content: "";
	position: absolute;
	inset-inline-start: 50%;
	bottom: 5px;
	width: 0;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg,#c83b7d,#f28a76);
	transform: translateX(-50%);
	transition: width var(--sm-dur-sm) var(--sm-ease);
}
.wd-header-nav .wd-nav > li:is(:hover,.current-menu-item) > a::after{
	width: calc(100% - 24px);
}
.solve-search-shell{
	transition: transform var(--sm-dur-sm) var(--sm-ease), filter var(--sm-dur-sm) var(--sm-ease);
}
.solve-search-shell:focus-within{
	transform: translateY(-1px);
	filter: drop-shadow(0 14px 24px rgba(191,47,134,.12));
}

/* ---------------------------------------------------------
   General interactive elements
   --------------------------------------------------------- */
:is(.button,.btn,.solve-modern-primary,.solve-modern-secondary,.solve-modern-cart,.solve-footer-contact){
	transition:
		transform var(--sm-dur-sm) var(--sm-ease),
		box-shadow var(--sm-dur-sm) var(--sm-ease),
		filter var(--sm-dur-sm) var(--sm-ease),
		background-position var(--sm-dur-md) var(--sm-ease) !important;
}
:is(.button,.btn,.solve-modern-primary,.solve-modern-secondary,.solve-modern-cart):hover{
	transform: translateY(-2px);
}

/* ---------------------------------------------------------
   Homepage: hero, service bar, categories, editorial, cards
   --------------------------------------------------------- */
.solve-modern-home{
	isolation: isolate;
}
.solve-modern-home:before{
	animation: solveAura 10s ease-in-out infinite alternate;
}
@keyframes solveAura{
	0%{ transform: translate3d(0,0,0) scale(1); opacity: .72; }
	100%{ transform: translate3d(1.5%, -1%, 0) scale(1.06); opacity: 1; }
}
.solve-modern-hero__content > *{
	will-change: transform, opacity;
}
html.solve-motion-ready .solve-modern-hero__content .solve-modern-kicker{
	animation: solveHeroUp .62s var(--sm-ease-soft) .05s both;
}
html.solve-motion-ready .solve-modern-hero__content h1{
	animation: solveHeroUp .72s var(--sm-ease-soft) .12s both;
}
html.solve-motion-ready .solve-modern-hero__content p{
	animation: solveHeroUp .72s var(--sm-ease-soft) .20s both;
}
html.solve-motion-ready .solve-modern-actions{
	animation: solveHeroUp .72s var(--sm-ease-soft) .28s both;
}
html.solve-motion-ready .solve-modern-proof{
	animation: solveHeroUp .72s var(--sm-ease-soft) .36s both;
}
@keyframes solveHeroUp{
	from{ opacity: 0; transform: translate3d(0,18px,0); }
	to{ opacity: 1; transform: translate3d(0,0,0); }
}
.solve-modern-glow{
	animation: solveGlow 5.6s ease-in-out infinite;
}
@keyframes solveGlow{
	0%,100%{ transform: scale(1); opacity: .82; }
	50%{ transform: scale(1.08); opacity: 1; }
}
.solve-modern-float{
	transition: transform var(--sm-dur-sm) var(--sm-ease), box-shadow var(--sm-dur-sm) var(--sm-ease);
}
.solve-modern-float--1{ animation: solveFloatOne 5.4s ease-in-out infinite; }
.solve-modern-float--2{ animation: solveFloatTwo 6.2s ease-in-out infinite; }
.solve-modern-float--3{ animation: solveFloatThree 5.8s ease-in-out infinite; }
@keyframes solveFloatOne{
	0%,100%{ transform: translate3d(0,0,0) rotate(-4deg); }
	50%{ transform: translate3d(0,-12px,0) rotate(-1deg); }
}
@keyframes solveFloatTwo{
	0%,100%{ transform: translate3d(0,0,0) rotate(4deg); }
	50%{ transform: translate3d(0,10px,0) rotate(1deg); }
}
@keyframes solveFloatThree{
	0%,100%{ transform: translate3d(0,0,0) rotate(-2deg); }
	50%{ transform: translate3d(0,-9px,0) rotate(2deg); }
}
.solve-modern-float:hover{
	animation-play-state: paused;
	transform: translate3d(0,-8px,0) scale(1.03) !important;
	box-shadow: var(--sm-shadow-hover);
}
.solve-modern-primary,
.solve-modern-cart{
	background-size: 180% 100% !important;
	background-position: 0 50% !important;
}
.solve-modern-primary:hover,
.solve-modern-cart:hover{
	background-position: 100% 50% !important;
}
.solve-modern-proof span,
.solve-modern-servicebar div{
	transition: transform var(--sm-dur-sm) var(--sm-ease), box-shadow var(--sm-dur-sm) var(--sm-ease), border-color var(--sm-dur-sm) var(--sm-ease);
}
.solve-modern-proof span:hover,
.solve-modern-servicebar div:hover{
	transform: translateY(-4px);
	box-shadow: var(--sm-shadow-soft);
}
.solve-modern-servicebar div:nth-child(1){ --sm-delay: 40ms; }
.solve-modern-servicebar div:nth-child(2){ --sm-delay: 100ms; }
.solve-modern-servicebar div:nth-child(3){ --sm-delay: 160ms; }
.solve-modern-servicebar div:nth-child(4){ --sm-delay: 220ms; }
.solve-modern-category{
	transition:
		transform var(--sm-dur-sm) var(--sm-ease),
		box-shadow var(--sm-dur-sm) var(--sm-ease),
		border-color var(--sm-dur-sm) var(--sm-ease);
}
.solve-modern-category::before,
.solve-modern-category::after{
	transition: transform var(--sm-dur-md) var(--sm-ease-soft), opacity var(--sm-dur-md) var(--sm-ease-soft);
}
.solve-modern-category:hover{
	transform: translateY(-6px);
	box-shadow: var(--sm-shadow-hover);
}
.solve-modern-category:hover::before{
	transform: scale(1.08) rotate(4deg);
}
.solve-modern-category:hover::after{
	transform: translate3d(-4px,-4px,0) scale(1.06);
}
.solve-modern-editorial{
	position: relative;
	overflow: hidden;
}
.solve-modern-editorial::after{
	content: "";
	position: absolute;
	inset: -40% auto -40% -20%;
	width: 38%;
	background: linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
	transform: translateX(-140%) skewX(-18deg);
	animation: solveEditorialSweep 5.6s ease-in-out infinite;
	pointer-events: none;
}
@keyframes solveEditorialSweep{
	0%,62%{ transform: translateX(-140%) skewX(-18deg); }
	84%,100%{ transform: translateX(420%) skewX(-18deg); }
}
.solve-modern-card{
	transition:
		transform var(--sm-dur-sm) var(--sm-ease),
		box-shadow var(--sm-dur-sm) var(--sm-ease),
		border-color var(--sm-dur-sm) var(--sm-ease);
}
.solve-modern-card:hover{
	transform: translateY(-8px);
	box-shadow: var(--sm-shadow-hover);
}
.solve-modern-card__image img{
	transition: transform .6s var(--sm-ease-soft), filter .6s var(--sm-ease-soft);
}
.solve-modern-card:hover .solve-modern-card__image img{
	transform: scale(1.06);
	filter: saturate(1.08);
}
.solve-modern-sale{
	animation: solveSalePulse 2.8s ease-in-out infinite;
}
@keyframes solveSalePulse{
	0%,100%{ transform: scale(1); }
	50%{ transform: scale(1.06); }
}

/* ---------------------------------------------------------
   Product page: gallery, summary, CTA, sections
   --------------------------------------------------------- */
body.single-product .yoast-breadcrumb{
	transition: transform var(--sm-dur-sm) var(--sm-ease), box-shadow var(--sm-dur-sm) var(--sm-ease);
}
body.single-product .yoast-breadcrumb:hover{
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(36,27,29,.08);
}
body.single-product .woocommerce-product-gallery,
body.single-product .summary,
body.single-product .summary-inner,
body.single-product .elementor-element-1ee1ec8,
body.single-product .elementor-element-ec2f083 .elementor-element-3b05dd4,
body.single-product .wd-single-reviews,
body.single-product .wd-products-element{
	transition:
		transform var(--sm-dur-sm) var(--sm-ease),
		box-shadow var(--sm-dur-sm) var(--sm-ease),
		border-color var(--sm-dur-sm) var(--sm-ease);
}
body.single-product .woocommerce-product-gallery:hover,
body.single-product .summary:hover,
body.single-product .summary-inner:hover{
	transform: translateY(-3px);
	box-shadow: 0 24px 58px rgba(36,27,29,.11);
}
body.single-product .woocommerce-product-gallery__image img{
	transition: transform .7s var(--sm-ease-soft), filter .7s var(--sm-ease-soft);
}
body.single-product .woocommerce-product-gallery:hover .woocommerce-product-gallery__image img{
	transform: scale(1.018);
	filter: saturate(1.04);
}
body.single-product .woocommerce-product-gallery .product-label{
	animation: solveProductBadge 3.2s ease-in-out infinite;
}
@keyframes solveProductBadge{
	0%,100%{ transform: translate3d(0,0,0); }
	50%{ transform: translate3d(0,-3px,0); }
}
body.single-product .solve-product-kicker{
	position: relative;
	overflow: hidden;
}
body.single-product .solve-product-kicker::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);
	transform: translateX(-120%);
	animation: solveKickerSweep 4.8s ease-in-out infinite;
}
@keyframes solveKickerSweep{
	0%,68%{ transform: translateX(-120%); }
	100%{ transform: translateX(120%); }
}
body.single-product form.cart .single_add_to_cart_button,
body.single-product form.cart .wd-buy-now-btn,
body.single-product form.cart .wd-buy-now-button,
body.single-product .solve-product-whatsapp{
	position: relative;
	overflow: hidden;
}
body.single-product form.cart .single_add_to_cart_button::after,
body.single-product form.cart .wd-buy-now-btn::after,
body.single-product form.cart .wd-buy-now-button::after,
body.single-product .solve-product-whatsapp::after{
	content: "";
	position: absolute;
	inset: 0;
	width: 36%;
	background: linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
	transform: translateX(-150%) skewX(-18deg);
	transition: transform .65s var(--sm-ease-soft);
}
body.single-product form.cart .single_add_to_cart_button:hover::after,
body.single-product form.cart .wd-buy-now-btn:hover::after,
body.single-product form.cart .wd-buy-now-button:hover::after,
body.single-product .solve-product-whatsapp:hover::after{
	transform: translateX(360%) skewX(-18deg);
}
body.single-product .wd-gallery-thumb .wd-carousel-item:hover{
	transform: translateY(-3px) scale(1.02);
}
body.single-product .wd-single-content :is(h2,h3,h4){
	position: relative;
}
body.single-product .wd-single-content :is(h2,h3,h4)::after{
	content: "";
	display: block;
	width: 42px;
	height: 3px;
	margin-top: 10px;
	border-radius: 999px;
	background: linear-gradient(90deg,#c83b7d,#f28a76);
	transform-origin: right center;
	transition: width var(--sm-dur-sm) var(--sm-ease);
}
body.single-product .elementor-element-1ee1ec8:hover .wd-single-content :is(h2,h3,h4)::after{
	width: 72px;
}

/* ---------------------------------------------------------
   Footer: soft entrance, logo, links, badges, contacts
   --------------------------------------------------------- */
.solve-site-footer{
	position: relative;
	overflow: hidden;
}
.solve-site-footer::after{
	content: "";
	position: absolute;
	inset: auto -20% -55% auto;
	width: 420px;
	height: 420px;
	border-radius: 999px;
	background: radial-gradient(circle,rgba(200,59,125,.22),transparent 68%);
	animation: solveFooterGlow 8s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes solveFooterGlow{
	from{ transform: translate3d(0,0,0) scale(1); opacity: .55; }
	to{ transform: translate3d(-28px,-18px,0) scale(1.12); opacity: 1; }
}
.solve-footer-logo img{
	transition: transform var(--sm-dur-md) var(--sm-ease-soft), filter var(--sm-dur-md) var(--sm-ease-soft);
}
.solve-footer-logo:hover img{
	transform: translateY(-4px) rotate(-2deg);
	filter: drop-shadow(0 16px 22px rgba(242,138,118,.18));
}
.solve-footer-badges span{
	transition: transform var(--sm-dur-sm) var(--sm-ease), background-color var(--sm-dur-sm) var(--sm-ease), border-color var(--sm-dur-sm) var(--sm-ease);
}
.solve-footer-badges span:hover{
	transform: translateY(-3px);
}
.solve-site-footer__nav a{
	position: relative;
}
.solve-site-footer__nav a::after{
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: -5px;
	width: 0;
	height: 1px;
	background: currentColor;
	transition: width var(--sm-dur-sm) var(--sm-ease);
}
.solve-site-footer__nav a:hover::after{
	width: 100%;
}
.solve-footer-contact:hover{
	transform: translateY(-4px);
	box-shadow: 0 18px 34px rgba(0,0,0,.18);
}
.solve-footer-payments span{
	transition: transform var(--sm-dur-sm) var(--sm-ease), border-color var(--sm-dur-sm) var(--sm-ease);
}
.solve-footer-payments span:hover{
	transform: translateY(-3px);
}

/* ---------------------------------------------------------
   Cart / checkout / generic commerce surfaces
   --------------------------------------------------------- */
:is(.cart-collaterals,.woocommerce-cart-form,.woocommerce-checkout-review-order,#payment,.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-form-coupon){
	transition: transform var(--sm-dur-sm) var(--sm-ease), box-shadow var(--sm-dur-sm) var(--sm-ease);
}
:is(.cart-collaterals,.woocommerce-cart-form,.woocommerce-checkout-review-order,#payment,.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-form-coupon):hover{
	transform: translateY(-2px);
}

/* ---------------------------------------------------------
   Accessibility / performance guard
   --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.solve-reveal{
		opacity: 1 !important;
		transform: none !important;
	}
}
.solve-modern-hero__visual{
	transform: translate3d(var(--sm-parallax-x,0),var(--sm-parallax-y,0),0);
	transition: transform .45s var(--sm-ease-soft);
}


/* =========================================================
   Motion System V2 additions
   ========================================================= */

/* =========================================================
   Solve Skin Care - Motion System V2
   Contextual motion for navigation, tools, search, commerce,
   account, popups, notices, and secondary pages.
   ========================================================= */

:root{
	--solve-motion-pink: #c83b7d;
	--solve-motion-coral: #f28a76;
	--solve-motion-dark: #2b2022;
	--solve-motion-soft: rgba(200,59,125,.10);
	--solve-motion-line: rgba(43,32,34,.10);
	--solve-motion-shadow: 0 18px 42px rgba(36,27,29,.16);
	--solve-motion-ease: cubic-bezier(.22,.84,.24,1);
	--solve-motion-fast: .22s;
	--solve-motion-base: .42s;
}

@keyframes solveFadeUp{
	from{opacity:0;transform:translate3d(0,18px,0)}
	to{opacity:1;transform:none}
}
@keyframes solveFadeRight{
	from{opacity:0;transform:translate3d(-18px,0,0)}
	to{opacity:1;transform:none}
}
@keyframes solveScaleIn{
	from{opacity:0;transform:scale(.96)}
	to{opacity:1;transform:scale(1)}
}
@keyframes solvePulseSoft{
	0%,100%{transform:scale(1);box-shadow:var(--solve-motion-shadow)}
	50%{transform:scale(1.035);box-shadow:0 20px 46px rgba(200,59,125,.24)}
}
@keyframes solveFloatSoft{
	0%,100%{transform:translateY(0)}
	50%{transform:translateY(-4px)}
}
@keyframes solveShine{
	0%{transform:translateX(-130%) skewX(-22deg)}
	100%{transform:translateX(260%) skewX(-22deg)}
}
@keyframes solveSearchSweep{
	0%{background-position:130% 0}
	100%{background-position:-130% 0}
}
@keyframes solveWiggleTiny{
	0%,100%{transform:rotate(0)}
	25%{transform:rotate(-4deg)}
	75%{transform:rotate(4deg)}
}
@keyframes solveNoticeIn{
	from{opacity:0;transform:translateY(-10px) scale(.98)}
	to{opacity:1;transform:none}
}
@keyframes solveBadgeGlow{
	0%,100%{box-shadow:0 12px 24px rgba(191,47,134,.18)}
	50%{box-shadow:0 14px 30px rgba(191,47,134,.30)}
}

.solve-motion-reveal{
	opacity:0;
	transform:translate3d(0,18px,0);
	transition:opacity .58s var(--solve-motion-ease), transform .58s var(--solve-motion-ease);
	transition-delay:var(--solve-reveal-delay,0ms);
}
.solve-motion-reveal.is-visible{
	opacity:1;
	transform:none;
}
.solve-motion-reveal--scale{
	transform:scale(.96);
}
.solve-motion-reveal--scale.is-visible{
	transform:scale(1);
}

/* =========================================================
   1. Mobile side menu
   ========================================================= */
@media (max-width:1024px){
	.mobile-nav.wd-side-hidden-nav{
		transition:transform .42s var(--solve-motion-ease), opacity .36s ease, box-shadow .36s ease !important;
	}
	.mobile-nav.wd-side-hidden-nav::before{
		transform:translateY(-10px) scale(.96);
		opacity:0;
		transition:transform .48s var(--solve-motion-ease), opacity .36s ease !important;
	}
	body.solve-mobile-nav-open .mobile-nav.wd-side-hidden-nav::before,
	.mobile-nav.wd-opened::before{
		transform:none;
		opacity:1;
		animation:solveFloatSoft 4.6s ease-in-out .4s infinite;
	}
	.mobile-nav .mobile-pages-menu > li{
		opacity:0;
		transform:translateX(-14px);
		transition:opacity .38s ease, transform .48s var(--solve-motion-ease) !important;
		transition-delay:calc(var(--solve-nav-index,0) * 48ms);
	}
	body.solve-mobile-nav-open .mobile-nav .mobile-pages-menu > li,
	.mobile-nav.wd-opened .mobile-pages-menu > li{
		opacity:1;
		transform:none;
	}
	.mobile-nav .mobile-pages-menu .wd-sub-menu{
		opacity:0;
		transform:translateY(-8px);
		transform-origin:top center;
		transition:opacity .24s ease, transform .28s var(--solve-motion-ease) !important;
	}
	.mobile-nav .mobile-pages-menu .wd-sub-menu.wd-opened,
	.mobile-nav .mobile-pages-menu li.wd-opened > .wd-sub-menu,
	.mobile-nav .mobile-pages-menu li:hover > .wd-sub-menu{
		opacity:1;
		transform:none;
	}
	.mobile-nav .mobile-pages-menu .wd-sub-menu > li{
		transition:transform .22s ease, background .22s ease !important;
	}
	.mobile-nav .mobile-pages-menu .wd-sub-menu > li:hover{
		transform:translateX(-3px);
	}
	.wd-close-side{
		transition:opacity .32s ease, backdrop-filter .32s ease, background .32s ease !important;
	}
	body.solve-mobile-nav-open .wd-close-side,
	.wd-close-side.wd-close-side-opened{
		backdrop-filter:blur(7px) !important;
		-webkit-backdrop-filter:blur(7px) !important;
		background:rgba(28,20,22,.48) !important;
	}
}

/* =========================================================
   2. Unified language + currency toolbar
   ========================================================= */
.solve-tools-bar{
	will-change:transform, opacity;
}
.solve-tools-bar.is-visible{
	animation:solveScaleIn .42s var(--solve-motion-ease) both;
}
.solve-tools-bar.solve-currency-changed{
	animation:solvePulseSoft .52s var(--solve-motion-ease) both;
}
.solve-tools-btn{
	position:relative;
	overflow:hidden;
}
.solve-tools-btn::after{
	content:"";
	position:absolute;
	inset:-10% auto -10% -55%;
	width:42%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
	transform:translateX(-130%) skewX(-22deg);
	opacity:0;
}
.solve-tools-btn:hover::after,
.solve-tools-btn.is-open::after{
	opacity:1;
	animation:solveShine .72s ease both;
}
.solve-tools-btn--lang.solve-language-leaving{
	transform:translateY(-2px) scale(.96);
	opacity:.78;
}
.solve-tools-popover{
	transform-origin:bottom center;
}
.solve-tools-popover.is-open{
	animation:solveScaleIn .22s var(--solve-motion-ease) both !important;
}
.solve-tools-option{
	opacity:0;
	transform:translateY(5px);
}
.solve-tools-popover.is-open .solve-tools-option{
	animation:solveFadeUp .28s var(--solve-motion-ease) both;
	animation-delay:calc(var(--solve-option-index,0) * 36ms);
}

/* =========================================================
   3. WhatsApp + scroll top
   ========================================================= */
#ht-ctc-chat{
	transition:opacity .34s ease, transform .34s var(--solve-motion-ease), filter .28s ease !important;
	will-change:transform;
}
body.solve-scroll-idle #ht-ctc-chat{
	animation:solveFloatSoft 3.2s ease-in-out infinite;
}
#ht-ctc-chat::after{
	content:"";
	position:absolute;
	inset:-7px;
	border-radius:22px;
	border:1px solid rgba(37,211,102,.38);
	opacity:0;
	transform:scale(.82);
	transition:opacity .24s ease, transform .24s ease;
	pointer-events:none;
}
#ht-ctc-chat:hover::after{
	opacity:1;
	transform:scale(1);
}
#ht-ctc-chat:hover svg{
	animation:solveWiggleTiny .48s ease both;
}
.scrollToTop{
	transition:opacity .34s ease, transform .34s var(--solve-motion-ease), background .22s ease !important;
}
body.solve-footer-near #ht-ctc-chat,
body.solve-footer-near .scrollToTop,
body.solve-footer-near .solve-tools-bar{
	transform:translateY(-8px);
}
body.solve-scroll-down:not(.solve-footer-near) .scrollToTop:not(.button-show){
	transform:translateY(8px);
}

/* =========================================================
   4. Quick search
   ========================================================= */
.solve-search-results{
	transform-origin:top center;
	transition:opacity .22s ease, visibility .22s ease, transform .28s var(--solve-motion-ease) !important;
	transform:translateY(8px) scale(.985);
}
.solve-search-results.is-active{
	transform:none;
}
.solve-search-results.is-loading{
	overflow:hidden;
}
.solve-search-results.is-loading::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.65) 46%,transparent 72%);
	background-size:220% 100%;
	animation:solveSearchSweep 1.1s linear infinite;
	pointer-events:none;
}
.solve-search-result{
	opacity:0;
	transform:translateY(8px);
	animation:solveFadeUp .32s var(--solve-motion-ease) both;
	animation-delay:calc(var(--solve-result-index,0) * 42ms);
}
.solve-search-result:hover{
	transform:translateY(-2px) scale(1.01) !important;
}
.solve-search-result img{
	transition:transform .32s var(--solve-motion-ease), filter .32s ease;
}
.solve-search-result:hover img{
	transform:scale(1.06);
	filter:saturate(1.08);
}
.solve-search-viewall{
	transition:transform .22s ease, box-shadow .22s ease !important;
}
.solve-search-viewall:hover{
	transform:translateY(-2px);
}

/* =========================================================
   5. Shop, archive, category, search results
   ========================================================= */
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .products > .product,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .wd-products > .product,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .product-grid-item{
	transition:transform .34s var(--solve-motion-ease), box-shadow .34s ease !important;
}
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .product-grid-item:hover,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .products > .product:hover{
	transform:translateY(-6px);
}
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .shop-loop-head,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .wd-shop-tools,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .woocommerce-ordering,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .wd-show-sidebar-btn{
	animation:solveFadeUp .48s var(--solve-motion-ease) both;
}
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .wd-shop-tools > *,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .woocommerce-ordering select{
	transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .wd-shop-tools > *:hover,
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .woocommerce-ordering select:hover{
	transform:translateY(-2px);
}
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .wd-load-more{
	position:relative;
	overflow:hidden;
}
:is(.post-type-archive-product,.tax-product_cat,.woocommerce-shop,.search-results) .wd-load-more.loading::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.6) 46%,transparent 72%);
	background-size:220% 100%;
	animation:solveSearchSweep 1s linear infinite;
}

/* =========================================================
   6. Cart details
   ========================================================= */
body.solve-cart-page .wc-block-cart-items__row,
body.solve-cart-page .cart_item{
	transition:transform .28s var(--solve-motion-ease), opacity .28s ease, box-shadow .28s ease !important;
}
body.solve-cart-page .wc-block-cart-items__row.solve-cart-bump,
body.solve-cart-page .cart_item.solve-cart-bump{
	transform:scale(1.015);
	box-shadow:0 14px 32px rgba(200,59,125,.10);
}
body.solve-cart-page .wc-block-cart-items__row.solve-cart-removing,
body.solve-cart-page .cart_item.solve-cart-removing{
	opacity:0;
	transform:translateX(-16px) scale(.98);
}
body.solve-cart-page .wc-block-cart__sidebar,
body.solve-cart-page .cart_totals{
	animation:solveScaleIn .54s var(--solve-motion-ease) both;
}
body.solve-cart-page .wc-block-components-totals-coupon,
body.solve-cart-page .coupon{
	transition:transform .28s ease, box-shadow .28s ease !important;
}
body.solve-cart-page .wc-block-components-totals-coupon:focus-within,
body.solve-cart-page .coupon:focus-within{
	transform:translateY(-2px);
	box-shadow:0 14px 28px rgba(200,59,125,.10);
}
body.solve-cart-page .solve-cart-empty-state{
	animation:solveScaleIn .56s var(--solve-motion-ease) both;
}

/* =========================================================
   7. Checkout details
   ========================================================= */
body.solve-checkout-page .wd-checkout-steps li,
body.solve-checkout-page .wc-block-components-checkout-step{
	transition:transform .28s ease, opacity .28s ease, box-shadow .28s ease !important;
}
body.solve-checkout-page .wd-checkout-steps li{
	animation:solveFadeUp .48s var(--solve-motion-ease) both;
	animation-delay:calc(var(--solve-step-index,0) * 80ms);
}
body.solve-checkout-page .wc-block-components-checkout-step:focus-within,
body.solve-checkout-page .woocommerce-billing-fields:focus-within,
body.solve-checkout-page .woocommerce-shipping-fields:focus-within{
	transform:translateY(-2px);
	box-shadow:0 18px 36px rgba(200,59,125,.10);
}
body.solve-checkout-page .form-row input,
body.solve-checkout-page .form-row textarea,
body.solve-checkout-page .form-row select,
body.solve-checkout-page .wc-block-components-text-input input,
body.solve-checkout-page .wc-block-components-select select{
	transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
body.solve-checkout-page .form-row.has-value input,
body.solve-checkout-page .form-row.has-value textarea,
body.solve-checkout-page .form-row.has-value select,
body.solve-checkout-page .wc-block-components-text-input.has-value input{
	border-color:rgba(200,59,125,.28) !important;
}
body.solve-checkout-page .wc_payment_method,
body.solve-checkout-page .wc-block-components-radio-control-accordion-option{
	transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
body.solve-checkout-page .wc_payment_method:has(input:checked),
body.solve-checkout-page .wc-block-components-radio-control-accordion-option:has(input:checked),
body.solve-checkout-page .solve-payment-selected{
	transform:translateY(-2px);
	box-shadow:0 16px 30px rgba(200,59,125,.12);
}
body.solve-checkout-page #place_order,
body.solve-checkout-page .wc-block-components-checkout-place-order-button{
	position:relative;
	overflow:hidden;
}
body.solve-checkout-page #place_order::after,
body.solve-checkout-page .wc-block-components-checkout-place-order-button::after{
	content:"";
	position:absolute;
	inset:-20% auto -20% -40%;
	width:36%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.56),transparent);
	transform:translateX(-140%) skewX(-22deg);
}
body.solve-checkout-page #place_order:hover::after,
body.solve-checkout-page .wc-block-components-checkout-place-order-button:hover::after{
	animation:solveShine .75s ease both;
}
body.solve-checkout-page .form-row,
body.solve-checkout-page .wc-block-components-address-form__address_2-toggle{
	transition:opacity .24s ease, transform .24s ease;
}
body.solve-checkout-page .form-row.solve-field-enter{
	animation:solveFadeUp .34s var(--solve-motion-ease) both;
}

/* =========================================================
   8. My account
   ========================================================= */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{
	animation:solveFadeUp .54s var(--solve-motion-ease) both;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
	transition:transform .22s ease, background .22s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:hover{
	transform:translateX(-4px);
}
.woocommerce-account .woocommerce-orders-table tbody tr,
.woocommerce-account .woocommerce-table--order-details tbody tr{
	transition:transform .22s ease, background .22s ease !important;
}
.woocommerce-account .woocommerce-orders-table tbody tr:hover,
.woocommerce-account .woocommerce-table--order-details tbody tr:hover{
	transform:translateY(-1px);
}

/* =========================================================
   9. Wishlist + compare
   ========================================================= */
.wd-wishlist-content .product,
.wishlist_table tbody tr,
.wd-compare-table tr,
.compare-table tr{
	transition:transform .28s var(--solve-motion-ease), opacity .28s ease, box-shadow .28s ease !important;
}
.wd-wishlist-content .product:hover,
.wishlist_table tbody tr:hover,
.wd-compare-table tr:hover,
.compare-table tr:hover{
	transform:translateY(-3px);
}
.solve-wishlist-removing,
.solve-compare-removing{
	opacity:0 !important;
	transform:translateX(-14px) scale(.98) !important;
}

/* =========================================================
   10. Side panels and popups
   ========================================================= */
.wd-side-hidden,
.cart-widget-side,
.login-form-side,
.wd-side-hidden-nav{
	transition:transform .42s var(--solve-motion-ease), opacity .34s ease !important;
}
.wd-dropdown-cart,
.mfp-wrap .mfp-content,
.popup-quick-view,
.wd-popup{
	animation:solveScaleIn .34s var(--solve-motion-ease) both;
}
.mfp-bg{
	transition:opacity .28s ease !important;
}

/* =========================================================
   11. Interactive states
   ========================================================= */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner,
.wd-notice{
	animation:solveNoticeIn .42s var(--solve-motion-ease) both;
}
.woocommerce-message:before,
.wc-block-components-notice-banner.is-success:before{
	animation:solvePulseSoft 1.25s ease 1;
}
.loading,
.blockUI.blockOverlay{
	transition:opacity .24s ease !important;
}
body.single-product .out-of-stock,
body.single-product .solve-product-stock-support{
	animation:solveScaleIn .44s var(--solve-motion-ease) both;
}
body.single-product .woocommerce-product-gallery .product-label{
	animation:solveBadgeGlow 2.8s ease-in-out infinite;
}
.cart-empty,
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart__title{
	animation:solveScaleIn .54s var(--solve-motion-ease) both;
}

/* =========================================================
   12. Secondary pages
   ========================================================= */
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content > *,
body.error404 .main-page-wrapper > *,
body.error404 .site-content > *{
	animation:solveFadeUp .54s var(--solve-motion-ease) both;
}
body.error404 .page-title,
body.error404 h1{
	animation:solveScaleIn .54s var(--solve-motion-ease) both;
}

/* =========================================================
   Accessibility / performance
   ========================================================= */
@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
		scroll-behavior:auto !important;
	}
	.solve-motion-reveal{
		opacity:1 !important;
		transform:none !important;
	}
}

/* QA refinements - reduce oversized button effects */
body.single-product form.cart .single_add_to_cart_button:hover::after,
body.single-product form.cart .wd-buy-now-btn:hover::after,
body.single-product form.cart .wd-buy-now-button:hover::after{
	animation-duration:.52s !important;
}
body.single-product form.cart .single_add_to_cart_button:hover,
body.single-product form.cart .wd-buy-now-btn:hover,
body.single-product form.cart .wd-buy-now-button:hover{
	transform:translateY(-1px) !important;
}


/* =========================================================
   QA final fix - calm Add to Cart motion on single product
   ========================================================= */
body.single-product form.cart .single_add_to_cart_button::after{
	display:none !important;
}

body.single-product form.cart .single_add_to_cart_button{
	overflow: visible !important;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		filter .18s ease !important;
}

body.single-product form.cart .single_add_to_cart_button:hover{
	transform: translateY(-1px) !important;
	filter: brightness(1.025) !important;
	box-shadow: 0 14px 24px rgba(191,47,134,.18) !important;
}

body.single-product form.cart .single_add_to_cart_button:active{
	transform: translateY(0) scale(.985) !important;
	box-shadow: 0 9px 18px rgba(191,47,134,.16) !important;
}

body.single-product form.cart .single_add_to_cart_button.added{
	animation: solveCartAddedPulse .42s ease both !important;
}

@keyframes solveCartAddedPulse{
	0%{ transform: scale(1); }
	40%{ transform: scale(1.02); }
	100%{ transform: scale(1); }
}

/* === Codex mobile side-panel layer fix 2026-05-11 === */
@media (max-width:1024px){
body.solve-side-panel-open,body.solve-mobile-nav-open{overflow:hidden!important;touch-action:none;}
body.solve-side-panel-open .wd-toolbar,body.solve-side-panel-open .wd-toolbar.wd-toolbar-label-show,body.solve-side-panel-open #ht-ctc-chat,body.solve-side-panel-open .ht-ctc,body.solve-side-panel-open .ht_ctc_chat,body.solve-side-panel-open .solve-product-whatsapp,body.solve-side-panel-open .solve-tools-bar,body.solve-mobile-nav-open .wd-toolbar,body.solve-mobile-nav-open .wd-toolbar.wd-toolbar-label-show,body.solve-mobile-nav-open #ht-ctc-chat,body.solve-mobile-nav-open .ht-ctc,body.solve-mobile-nav-open .ht_ctc_chat,body.solve-mobile-nav-open .solve-product-whatsapp,body.solve-mobile-nav-open .solve-tools-bar{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(18px)!important;}
.wd-close-side.wd-close-side-opened{z-index:999990!important;background:rgba(24,20,22,.54)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;}
.cart-widget-side.wd-side-hidden,.mobile-nav.wd-side-hidden-nav,.login-form-side.wd-side-hidden,.wd-side-hidden.wd-opened{z-index:1000000!important;}
.cart-widget-side.wd-opened,.mobile-nav.wd-opened{max-height:100dvh!important;height:100dvh!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important;}
.cart-widget-side.wd-opened .widget_shopping_cart,.cart-widget-side.wd-opened .shopping-cart-widget-body,.cart-widget-side.wd-opened .widget_shopping_cart_content{max-height:calc(100dvh - 34px)!important;}
}
