/**
 * ABIS motion and interaction layer.
 * v2.6.1: paint-safe spring-settle motion with neutral first frames to remove pre-motion flicker.
 */

:root{
	--abis-motion-ease:cubic-bezier(.22,.61,.36,1);
	--abis-motion-fast:260ms;
	--abis-motion-base:420ms;
	--abis-motion-shadow:0 12px 28px rgba(20,61,108,.105);
	--abis-motion-border:#c5dcf8;
	--abis-motion-soft-blue:#f1f7ff;
}

/* Keep keyboard navigation visible and consistent. */
body .abis-hp-card a:focus-visible,
body .abis-hp-card button:focus-visible,
body .abis-dp-theme__tabs button:focus-visible,
body .abis-home-arrow:focus-visible{
	outline:3px solid rgba(8,105,237,.24);
	outline-offset:3px;
}

/* Shared homepage cards. */
body .abis-hp-card{
	transition:
		transform var(--abis-motion-base) var(--abis-motion-ease),
		border-color var(--abis-motion-fast) ease,
		box-shadow var(--abis-motion-base) var(--abis-motion-ease);
}
body .abis-hp-card__image img{
	transition:transform 520ms var(--abis-motion-ease),filter 420ms ease;
}
body .abis-hp-card__name a{
	transition:color var(--abis-motion-fast) ease;
}
body .abis-hp-card__cart{
	position:relative;
	overflow:hidden;
	transition:
		transform 320ms var(--abis-motion-ease),
		box-shadow 320ms ease,
		filter 320ms ease!important;
}
body .abis-hp-card__favorite{
	transition:
		transform 320ms var(--abis-motion-ease),
		background-color 320ms ease,
		border-color 320ms ease,
		box-shadow 320ms ease!important;
}
body .abis-home-arrow{
	transition:
		transform 320ms var(--abis-motion-ease),
		color 320ms ease,
		border-color 320ms ease,
		box-shadow 320ms ease,
		background-color 320ms ease;
}

/* Discount tabs: keep all hover surfaces transparent and blue. */
body .abis-dp-theme__tabs button,
body .abis-dp-theme__tabs button:hover,
body .abis-dp-theme__tabs button:focus,
body .abis-dp-theme__tabs button:focus-visible,
body .abis-dp-theme__tabs button:active{
	background:transparent!important;
	background-color:transparent!important;
	box-shadow:none!important;
}
body .abis-dp-theme__tabs button{
	transition:color 320ms ease,transform 320ms var(--abis-motion-ease);
}
body .abis-dp-theme__tabs button::after{
	transform:scaleX(0);
	transform-origin:right center;
	transition:transform 360ms var(--abis-motion-ease);
}
body .abis-dp-theme__tabs button.is-active::after{
	transform:scaleX(1);
}

/* Replace every pink/red hover surface on wishlist controls with a soft blue one. */
body .abis-hp-card__favorite:not(.is-active):hover,
body .abis-hp-card__favorite:not(.is-active):focus-visible,
body .abis-card__favorite:not(.is-active):hover,
body .abis-card__favorite:not(.is-active):focus-visible,
body .abis-product-icon-button:not(.is-active):hover,
body .abis-product-icon-button:not(.is-active):focus-visible,
body .abis-mini-product-card__favorite:not(.is-active):hover,
body .abis-mini-product-card__favorite:not(.is-active):focus-visible{
	background:var(--abis-motion-soft-blue)!important;
	background-color:var(--abis-motion-soft-blue)!important;
	border-color:#c9def8!important;
	color:#0869ed!important;
	box-shadow:0 7px 16px rgba(26,76,133,.12)!important;
}

/* Special-offer module overrides its original intentionally static hover rules. */
body .abis-so .abis-so__card{
	transition:
		transform var(--abis-motion-base) var(--abis-motion-ease),
		border-color var(--abis-motion-fast) ease,
		box-shadow var(--abis-motion-base) var(--abis-motion-ease)!important;
}
body .abis-so .abis-so__image img{
	transition:transform 520ms var(--abis-motion-ease),filter 420ms ease!important;
}
body .abis-so .abis-so__name a{
	transition:color 320ms ease!important;
}
body .abis-so .abis-so__cart{
	position:relative!important;
	overflow:hidden!important;
	transition:
		transform 320ms var(--abis-motion-ease),
		box-shadow 320ms ease,
		filter 320ms ease!important;
}
body .abis-so .abis-so__arrow{
	transition:
		transform 320ms var(--abis-motion-ease),
		color 320ms ease,
		border-color 320ms ease,
		box-shadow 320ms ease!important;
}

/* Hover effects are limited to real pointer devices; touch layout stays calm. */
@media (hover:hover) and (pointer:fine){
	body .abis-hp-card:hover,
	body .abis-hp-card:focus-within{
		transform:translateY(-1px);
		border-color:var(--abis-motion-border);
		box-shadow:var(--abis-motion-shadow);
	}
	body .abis-hp-card:hover .abis-hp-card__image img,
	body .abis-hp-card:focus-within .abis-hp-card__image img{
		transform:scale(1.035);
		filter:drop-shadow(0 7px 11px rgba(24,65,111,.085));
	}
	body .abis-hp-card:hover .abis-hp-card__name a,
	body .abis-hp-card:focus-within .abis-hp-card__name a{
		color:#075fd7;
	}
	body .abis-hp-card__cart:hover,
	body .abis-hp-card__cart:focus-visible{
		transform:translateY(-1px) scale(1.025);
		box-shadow:0 8px 17px rgba(8,105,237,.25)!important;
		filter:brightness(1.025);
	}
	body .abis-hp-card__favorite:hover,
	body .abis-hp-card__favorite:focus-visible{
		transform:translateY(-1px) scale(1.045);
	}
	body .abis-hp-card__favorite.is-active:hover,
	body .abis-hp-card__favorite.is-active:focus-visible{
		box-shadow:0 7px 17px rgba(227,38,54,.26)!important;
	}
	body .abis-home-arrow:hover,
	body .abis-home-arrow:focus-visible{
		color:#0869ed;
		border-color:#c5daf5;
		background:#f8fbff!important;
		box-shadow:0 8px 20px rgba(22,60,100,.14);
		transform:translateY(-50%) scale(1.055);
	}
	body .abis-dp-theme__tabs button:hover{
		color:#0869ed!important;
		transform:translateY(-1px);
	}

	body .abis-so .abis-so__card:hover,
	body .abis-so .abis-so__card:focus-within{
		transform:translateY(-1px)!important;
		border-color:#c4dcf8!important;
		box-shadow:0 13px 29px rgba(22,75,135,.13),inset 0 1px 0 rgba(255,255,255,.98)!important;
	}
	body .abis-so .abis-so__card:hover .abis-so__image img,
	body .abis-so .abis-so__card:focus-within .abis-so__image img{
		transform:scale(1.035)!important;
		filter:drop-shadow(0 8px 11px rgba(32,67,106,.11))!important;
	}
	body .abis-so .abis-so__card:hover .abis-so__name a,
	body .abis-so .abis-so__card:focus-within .abis-so__name a{
		color:#075fd7!important;
	}
	body .abis-so .abis-so__cart:hover,
	body .abis-so .abis-so__cart:focus-visible{
		transform:translateY(-1px) scale(1.025)!important;
		box-shadow:0 8px 17px rgba(8,102,232,.26)!important;
		filter:brightness(1.025);
	}
	body .abis-so .abis-so__arrow:hover,
	body .abis-so .abis-so__arrow:focus-visible{
		color:#0866e8!important;
		border-color:#c3daf7!important;
		background:#f8fbff!important;
		box-shadow:0 8px 20px rgba(32,86,151,.17)!important;
		transform:translateY(-50%) scale(1.055)!important;
	}

	/* Product-insight tracks scroll horizontally; vertical lifting gets clipped by
	 * the scroll container. Keep the card stationary and use border/shadow only. */
	body .abis-pi-theme .abis-hp-card--insight:hover,
	body .abis-pi-theme .abis-hp-card--insight:focus-within{
		transform:none!important;
		border-color:var(--abis-motion-border)!important;
		box-shadow:0 7px 19px rgba(20,61,108,.085)!important;
	}
}


/* --------------------------------------------------------------------------
 * Modern section-entry accents
 * ----------------------------------------------------------------------- */

/* The motion layer never hides content. The accent is an independent line
 * reveal, so a late observer event cannot make a section flash or disappear. */
body .abis-motion-accent .abis-so__title::after,
body .abis-motion-accent.abis-dp-theme__tabs::after,
body .abis-motion-accent.abis-pi-theme__row > header h2::before{
	animation:abisMotionAccentLine 920ms cubic-bezier(.16,1,.3,1) both;
	transform-origin:right center;
}

/* A tiny highlight sweep over the active hot-deal tab underline. */
body .abis-motion-accent.abis-dp-theme__tabs button.is-active::after{
	animation:abisMotionTabLine 760ms cubic-bezier(.16,1,.3,1) both;
	transform-origin:right center;
}

@keyframes abisMotionAccentLine{
	0%,14%{transform:scaleX(1);filter:none}
	64%{transform:scaleX(1.035);filter:saturate(1.06)}
	100%{transform:scaleX(1);filter:none}
}

@keyframes abisMotionTabLine{
	0%,14%{transform:scaleX(1)}
	66%{transform:scaleX(1.04)}
	100%{transform:scaleX(1)}
}

/* Give animated panels a stable compositing layer only while the one-time
 * entrance motion is running. The class remains harmless afterwards. */
body .abis-motion-accent{
	transform-origin:50% 0;
	backface-visibility:hidden;
}
body .abis-motion-complete{
	will-change:auto;
}

/* Do not animate when the visitor has explicitly requested reduced motion. */
@media (prefers-reduced-motion:reduce){
	body .abis-hp-card,
	body .abis-hp-card__image img,
	body .abis-hp-card__cart,
	body .abis-hp-card__favorite,
	body .abis-home-arrow,
	body .abis-dp-theme__tabs button,
	body .abis-dp-theme__tabs button::after,
	body .abis-so .abis-so__card,
	body .abis-so .abis-so__image img,
	body .abis-so .abis-so__cart,
	body .abis-so .abis-so__arrow{
		transition:none!important;
		animation:none!important;
		scroll-behavior:auto!important;
	}
}
