/**
 * AltCtrl product card — add-to-cart loading + success overlay.
 */

:root {
	--altctrl-atc-blue: #0066ff;
	--altctrl-atc-text: #0f172a;
	--altctrl-atc-muted: #64748b;
	--altctrl-atc-radius: 0.75rem;
	--ac-card-btn-height: 2.5rem;
	--ac-card-btn-height-mobile: 2.375rem;
	--ac-card-btn-radius: 0.5rem;
	--ac-card-btn-gap: 0.5rem;
	--ac-card-btn-gap-mobile: 0.375rem;
	--ac-card-btn-padding-x: 0.5rem;
	--ac-card-btn-font-size: clamp(0.6875rem, 2.8vw, 0.8125rem);
	/* Same size for Shop Now / Add to cart / Notify Me / Out of Stock on mobile */
	--ac-card-btn-font-size-mobile: 0.625rem;
}

:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc, .altctrl-daily-deals__card.has-altctrl-atc, .altctrl-recently-viewed__card.has-altctrl-atc) {
	position: relative;
}

ul.products li.product.has-altctrl-atc .product-inner,
ul.products li.product.has-altctrl-atc .woocommerce-loop-product__link,
div.product.has-altctrl-atc .product-inner,
div.product.has-altctrl-atc .woocommerce-loop-product__link {
	position: relative;
}

:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-loading > .blockUI,
:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-success > .blockUI,
:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-loading .blockUI,
:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-success .blockUI {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.altctrl-deal-card__footer .added_to_cart.altctrl-atc-feedback__hide-default,
.product.has-altctrl-atc .added_to_cart.altctrl-atc-feedback__hide-default,
:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-in-cart .added_to_cart.wc-forward:not(.altctrl-view-cart-button) {
	display: none !important;
}

:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc) .altctrl-view-cart-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}

/* -------------------------------------------------------------------------- */
/* Overlay shell                                                              */
/* -------------------------------------------------------------------------- */

:is(.altctrl-deal-card__cart-feedback, .altctrl-product-card__cart-feedback) {
	position: absolute;
	inset: 0;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--altctrl-atc-radius);
	overflow: hidden;
	pointer-events: none;
}

.altctrl-deal-card__media-wrap :is(.altctrl-deal-card__cart-feedback, .altctrl-product-card__cart-feedback) {
	border-radius: calc(var(--ac-deals-radius, 0.75rem) - 0.25rem);
}

:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-loading :is(.altctrl-deal-card__cart-feedback, .altctrl-product-card__cart-feedback),
:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-success :is(.altctrl-deal-card__cart-feedback, .altctrl-product-card__cart-feedback) {
	pointer-events: auto;
}

.altctrl-atc-feedback__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.72);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity 0.25s ease;
}

:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-loading .altctrl-atc-feedback__backdrop,
:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-success .altctrl-atc-feedback__backdrop {
	opacity: 1;
}

.altctrl-atc-feedback__panel {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 1.5rem);
	max-width: 15.5rem;
	min-height: 8.5rem;
	padding: 1.15rem 1rem 1rem;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 0.75rem 2rem rgba(15, 23, 42, 0.12);
	opacity: 0;
	transform: translateY(0.5rem) scale(0.96);
	transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-loading .altctrl-atc-feedback__panel,
:is(.altctrl-deal-card, .altctrl-product-card, .product.has-altctrl-atc).is-atc-success .altctrl-atc-feedback__panel {
	opacity: 1;
	transform: translateY(0) scale(1);
}

/* Loading state */
.altctrl-atc-feedback__loader {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
}

.altctrl-atc-feedback__spinner {
	display: block;
	width: 2rem;
	height: 2rem;
	border: 0.2rem solid rgba(0, 102, 255, 0.15);
	border-top-color: var(--altctrl-atc-blue);
	border-radius: 50%;
	animation: altctrl-atc-spin 0.75s linear infinite;
}

.altctrl-atc-feedback__loader-text {
	color: var(--altctrl-atc-muted);
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
	white-space: nowrap;
}

@keyframes altctrl-atc-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Success state */
.altctrl-atc-feedback__success {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center;
}

.altctrl-atc-feedback__confetti {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.altctrl-atc-feedback__confetti-piece {
	position: absolute;
	opacity: 0;
	animation-name: altctrl-atc-confetti-burst;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	animation-fill-mode: forwards;
}

.altctrl-atc-feedback__confetti-piece.is-circle {
	border-radius: 50%;
}

.altctrl-atc-feedback__confetti-piece.is-diamond {
	border-radius: 2px;
	transform: rotate(45deg);
}

.altctrl-atc-feedback__confetti-piece.is-plus::before,
.altctrl-atc-feedback__confetti-piece.is-plus::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	background: currentColor;
	border-radius: 1px;
	transform: translate(-50%, -50%);
}

.altctrl-atc-feedback__confetti-piece.is-plus::before {
	width: 100%;
	height: 2px;
}

.altctrl-atc-feedback__confetti-piece.is-plus::after {
	width: 2px;
	height: 100%;
}

@keyframes altctrl-atc-confetti-burst {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.4) rotate(0deg);
	}

	12% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translate3d(var(--altctrl-confetti-x, 0), var(--altctrl-confetti-y, -2.5rem), 0) scale(1) rotate(240deg);
	}
}

.altctrl-atc-feedback__confetti-piece:nth-child(3n + 1) {
	--altctrl-confetti-x: -1.1rem;
	--altctrl-confetti-y: -2rem;
}

.altctrl-atc-feedback__confetti-piece:nth-child(3n + 2) {
	--altctrl-confetti-x: 1rem;
	--altctrl-confetti-y: -2.35rem;
}

.altctrl-atc-feedback__confetti-piece:nth-child(3n) {
	--altctrl-confetti-x: 0.2rem;
	--altctrl-confetti-y: -2.75rem;
}

.altctrl-atc-feedback__icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.75rem;
	height: 3.75rem;
	margin: 0 0 0.65rem;
}

.altctrl-atc-feedback__icon-ring {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: rgba(34, 197, 94, 0.12);
	color: #16a34a;
	animation: altctrl-atc-icon-pop 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both;
}

.altctrl-atc-feedback__icon-cart {
	width: 1.55rem;
	height: 1.55rem;
}

.altctrl-atc-feedback__icon-check {
	position: absolute;
	right: 0.15rem;
	bottom: 0.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #22c55e;
	color: #fff;
	box-shadow: 0 0.15rem 0.45rem rgba(34, 197, 94, 0.35);
	animation: altctrl-atc-check-pop 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
}

.altctrl-atc-feedback__icon-check svg {
	width: 0.7rem;
	height: 0.7rem;
}

.altctrl-atc-feedback__icon-check svg path {
	stroke-dasharray: 18;
	stroke-dashoffset: 18;
	animation: altctrl-atc-check-draw 0.35s ease 0.38s forwards;
}

@keyframes altctrl-atc-icon-pop {
	from {
		opacity: 0;
		transform: scale(0.55);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes altctrl-atc-check-pop {
	from {
		opacity: 0;
		transform: scale(0.4);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes altctrl-atc-check-draw {
	to {
		stroke-dashoffset: 0;
	}
}

.altctrl-atc-feedback__title {
	margin: 0 0 0.35rem;
	color: var(--altctrl-atc-text);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.25;
	animation: altctrl-atc-fade-up 0.4s ease 0.12s both;
}

.altctrl-atc-feedback__product {
	display: -webkit-box;
	margin: 0 0 0.85rem;
	overflow: hidden;
	color: var(--altctrl-atc-muted);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.35;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	animation: altctrl-atc-fade-up 0.4s ease 0.18s both;
}

.altctrl-atc-feedback__view-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.35rem;
	padding: 0.45rem 0.85rem;
	border: 1px solid var(--altctrl-atc-blue);
	border-radius: 999rem;
	background: #fff;
	color: var(--altctrl-atc-blue);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
	animation: altctrl-atc-fade-up 0.4s ease 0.24s both;
}

.altctrl-atc-feedback__view-cart:hover,
.altctrl-atc-feedback__view-cart:focus {
	background: var(--altctrl-atc-blue);
	color: #fff;
}

@keyframes altctrl-atc-fade-up {
	from {
		opacity: 0;
		transform: translateY(0.35rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Top-left badge on image */
:is(.altctrl-deal-card__added-badge, .altctrl-product-card__added-badge) {
	position: absolute;
	top: 0.65rem;
	left: 0.65rem;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	max-width: calc(100% - 3rem);
	padding: 0.28rem 0.55rem;
	border-radius: 999rem;
	background: rgba(34, 197, 94, 0.14);
	color: #15803d;
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	white-space: nowrap;
	animation: altctrl-atc-badge-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

:is(.altctrl-deal-card__added-badge, .altctrl-product-card__added-badge) svg {
	width: 0.7rem;
	height: 0.7rem;
	flex: 0 0 auto;
}

@keyframes altctrl-atc-badge-in {
	from {
		opacity: 0;
		transform: translateY(-0.25rem) scale(0.92);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* Button loading pulse while overlay is active */
.altctrl-deal-card.is-atc-loading .add_to_cart_button.loading,
.altctrl-deal-card.is-atc-loading .altctrl-deal-card__footer .button.loading,
.product.has-altctrl-atc.is-atc-loading .add_to_cart_button.loading,
.product.has-altctrl-atc.is-atc-loading .button.loading {
	opacity: 0.65;
	color: transparent !important;
}

.altctrl-deal-card.is-atc-loading .add_to_cart_button.loading::after,
.altctrl-deal-card.is-atc-loading .add_to_cart_button.loading::before,
.altctrl-deal-card.is-atc-loading .altctrl-deal-card__footer .button.loading::after,
.altctrl-deal-card.is-atc-loading .altctrl-deal-card__footer .button.loading::before,
.product.has-altctrl-atc.is-atc-loading .add_to_cart_button.loading::after,
.product.has-altctrl-atc.is-atc-loading .add_to_cart_button.loading::before,
.product.has-altctrl-atc.is-atc-loading .button.loading::after,
.product.has-altctrl-atc.is-atc-loading .button.loading::before {
	display: none !important;
	content: none !important;
}

/* Related / carousel cards — overlay covers product link (image + title + price) */
body.single-product .tm-related-products-carousel .product.has-altctrl-atc .altctrl-product-card__cart-feedback {
	border-radius: 0.875rem 0.875rem 0 0;
}

@media (prefers-reduced-motion: reduce) {
	.altctrl-atc-feedback__spinner,
	.altctrl-atc-feedback__confetti-piece,
	.altctrl-atc-feedback__icon-ring,
	.altctrl-atc-feedback__icon-check,
	.altctrl-atc-feedback__icon-check svg path,
	.altctrl-atc-feedback__title,
	.altctrl-atc-feedback__product,
	.altctrl-atc-feedback__view-cart,
	:is(.altctrl-deal-card__added-badge, .altctrl-product-card__added-badge),
	.altctrl-atc-feedback__panel {
		animation: none !important;
		transition: none !important;
		transform: none !important;
		opacity: 1 !important;
	}

	.altctrl-atc-feedback__icon-check svg path {
		stroke-dashoffset: 0;
	}
}

/* -------------------------------------------------------------------------- */
/* Product card footers — equal-size buttons (Shop Now, ATC, OOS, Notify)   */
/* -------------------------------------------------------------------------- */

.altctrl-daily-deals__card .altctrl-daily-deals__media :is(.altctrl-deal-card__cart-feedback, .altctrl-product-card__cart-feedback),
.altctrl-recently-viewed__card .altctrl-recently-viewed__image-link :is(.altctrl-deal-card__cart-feedback, .altctrl-product-card__cart-feedback) {
	border-radius: calc(var(--ac-radius-md, 1rem) - 0.25rem);
}

.altctrl-recently-viewed__image-link {
	position: relative;
}

.altctrl-home-card__footer,
.altctrl-stock-notify-actions--card,
body.altctrl-deals-archive .altctrl-deal-card__footer {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--ac-card-btn-gap);
	width: 100%;
	margin-top: auto;
	padding-top: 0.75rem;
}

.altctrl-daily-deals__footer.altctrl-home-card__footer {
	--ac-home-card-blue: var(--ac-ui-blue, #2b67f6);
	--ac-home-card-blue-hover: #1e4fd4;
}

.altctrl-home-card__footer > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card):not(.altctrl-recently-viewed__cart),
.altctrl-stock-notify-actions--card > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
body.altctrl-deals-archive .altctrl-deal-card__footer > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card, .product_type_simple, .product_type_variable) {
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-width: 0;
	height: var(--ac-card-btn-height) !important;
	min-height: var(--ac-card-btn-height) !important;
	max-height: var(--ac-card-btn-height) !important;
	margin: 0 !important;
	padding: 0 var(--ac-card-btn-padding-x) !important;
	border-radius: var(--ac-card-btn-radius) !important;
	font-family: inherit;
	font-size: var(--ac-card-btn-font-size) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap !important;
	overflow: hidden;
	box-shadow: none !important;
}

.altctrl-home-card__shop-now,
.altctrl-daily-deals__shop-now,
body.altctrl-deals-archive .altctrl-deal-card__shop-now {
	border: 0.0625rem solid var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
	background: #fff !important;
	color: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.altctrl-home-card__shop-now:hover,
.altctrl-home-card__shop-now:focus-visible,
.altctrl-daily-deals__shop-now:hover,
.altctrl-daily-deals__shop-now:focus-visible,
body.altctrl-deals-archive .altctrl-deal-card__shop-now:hover,
body.altctrl-deals-archive .altctrl-deal-card__shop-now:focus-visible {
	background: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
	border-color: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
	color: #fff !important;
}

.altctrl-home-card__footer .button,
.altctrl-home-card__footer .add_to_cart_button,
.altctrl-home-card__footer .altctrl-view-cart-button,
.altctrl-home-card__footer a.product_type_variable,
body.altctrl-deals-archive .altctrl-deal-card__footer .button,
body.altctrl-deals-archive .altctrl-deal-card__footer .add_to_cart_button,
body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-view-cart-button,
body.altctrl-deals-archive .altctrl-deal-card__footer .product_type_simple,
body.altctrl-deals-archive .altctrl-deal-card__footer .product_type_variable,
body.altctrl-deals-archive .altctrl-deal-card__footer a.product_type_variable {
	border: 0.0625rem solid var(--ac-home-card-blue-hover, var(--ac-deals-blue-hover, #0052cc)) !important;
	background: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #0066cc))) !important;
	color: #fff !important;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.altctrl-home-card__footer .button:hover,
.altctrl-home-card__footer .add_to_cart_button:hover,
.altctrl-home-card__footer .altctrl-view-cart-button:hover,
.altctrl-home-card__footer a.product_type_variable:hover,
body.altctrl-deals-archive .altctrl-deal-card__footer .button:hover,
body.altctrl-deals-archive .altctrl-deal-card__footer .add_to_cart_button:hover,
body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-view-cart-button:hover,
body.altctrl-deals-archive .altctrl-deal-card__footer a.product_type_variable:hover {
	background: var(--ac-home-card-blue-hover, var(--ac-deals-blue-hover, #0052cc)) !important;
	border-color: var(--ac-home-card-blue-hover, var(--ac-deals-blue-hover, #0052cc)) !important;
	color: #fff !important;
}

.altctrl-stock-notify-actions--card .altctrl-oos-btn--card,
.altctrl-deal-card__footer .altctrl-oos-btn--card,
body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-oos-btn--card {
	border: 0 !important;
	background: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #0066cc))) !important;
	color: #fff !important;
	opacity: 0.72;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

.altctrl-stock-notify-actions--card .altctrl-notify-me-btn--card,
.altctrl-deal-card__footer .altctrl-notify-me-btn--card,
body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-notify-me-btn--card {
	border: 0 !important;
	background: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #0066cc))) !important;
	color: #fff !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	transition: none;
	-webkit-appearance: none;
	appearance: none;
}

.altctrl-stock-notify-actions--card .altctrl-notify-me-btn--card:hover,
.altctrl-stock-notify-actions--card .altctrl-notify-me-btn--card:focus,
.altctrl-deal-card__footer .altctrl-notify-me-btn--card:hover,
.altctrl-deal-card__footer .altctrl-notify-me-btn--card:focus,
body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-notify-me-btn--card:hover,
body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-notify-me-btn--card:focus {
	background: var(--ac-home-card-blue-hover, var(--ac-deals-blue-hover, #0052cc)) !important;
	color: #fff !important;
}

body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-view-cart-button.added_to_cart {
	width: 100% !important;
	border: 0.0625rem solid var(--ac-deals-blue-hover, #1e4fd4) !important;
	background: var(--ac-deals-blue, #2b67f6) !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	.altctrl-home-card__footer,
	.altctrl-stock-notify-actions--card,
	body.altctrl-deals-archive .altctrl-deal-card__footer {
		gap: var(--ac-card-btn-gap-mobile);
		padding-top: 0.6rem;
	}

	.altctrl-home-card__footer > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card, .altctrl-deal-card__shop-now, .altctrl-home-card__shop-now, .altctrl-daily-deals__shop-now),
	.altctrl-stock-notify-actions--card > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
	body.altctrl-deals-archive .altctrl-deal-card__footer > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card, .altctrl-deal-card__shop-now, .product_type_simple, .product_type_variable) {
		height: var(--ac-card-btn-height-mobile) !important;
		min-height: var(--ac-card-btn-height-mobile) !important;
		max-height: var(--ac-card-btn-height-mobile) !important;
		padding: 0 0.25rem !important;
		font-size: var(--ac-card-btn-font-size-mobile) !important;
		font-weight: 400 !important;
		line-height: 1.15 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
	}

	/*
	 * OOS pair: same typography as Shop Now / Add to cart.
	 * Hide icons so full labels fit the half-width mobile columns.
	 */
	body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
	.altctrl-deal-card.is-out-of-stock .altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
	.altctrl-daily-deals__card.is-out-of-stock .altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
	.altctrl-recently-viewed__card.is-out-of-stock .altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
	body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-deal-card__footer > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card) {
		box-sizing: border-box;
		height: var(--ac-card-btn-height-mobile) !important;
		min-height: var(--ac-card-btn-height-mobile) !important;
		max-height: var(--ac-card-btn-height-mobile) !important;
		padding: 0 0.25rem !important;
		border-radius: var(--ac-card-btn-radius) !important;
		font-size: var(--ac-card-btn-font-size-mobile) !important;
		font-weight: 400 !important;
		line-height: 1.15 !important;
		letter-spacing: 0 !important;
		gap: 0 !important;
		white-space: nowrap !important;
		overflow: visible !important;
		text-overflow: clip;
	}

	body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-notify-me-btn--card svg,
	body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-oos-btn--card svg,
	.altctrl-deal-card.is-out-of-stock .altctrl-notify-me-btn--card svg,
	.altctrl-deal-card.is-out-of-stock .altctrl-oos-btn--card svg,
	.altctrl-daily-deals__card.is-out-of-stock .altctrl-notify-me-btn--card svg,
	.altctrl-daily-deals__card.is-out-of-stock .altctrl-oos-btn--card svg,
	.altctrl-recently-viewed__card.is-out-of-stock .altctrl-notify-me-btn--card svg,
	.altctrl-recently-viewed__card.is-out-of-stock .altctrl-oos-btn--card svg {
		display: none !important;
	}

	/* Match Shop Now (outline) + Add to cart (filled) */
	body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-notify-me-btn--card,
	.altctrl-deal-card.is-out-of-stock .altctrl-notify-me-btn--card,
	.altctrl-daily-deals__card.is-out-of-stock .altctrl-notify-me-btn--card,
	.altctrl-recently-viewed__card.is-out-of-stock .altctrl-notify-me-btn--card {
		border: 0.0625rem solid var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
		background: #fff !important;
		color: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
	}

	body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-oos-btn--card,
	.altctrl-deal-card.is-out-of-stock .altctrl-oos-btn--card,
	.altctrl-daily-deals__card.is-out-of-stock .altctrl-oos-btn--card,
	.altctrl-recently-viewed__card.is-out-of-stock .altctrl-oos-btn--card {
		border: 0.0625rem solid var(--ac-home-card-blue-hover, var(--ac-deals-blue-hover, #0052cc)) !important;
		background: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #0066cc))) !important;
		color: #fff !important;
		opacity: 1 !important;
	}
}

/* Tablet (iPad) — uniform card CTAs: Shop Now / Notify Me + Add to cart / Out of Stock */
@media (min-width: 768px) and (max-width: 1024px) {
	body.altctrl-deals-archive .altctrl-deal-card__footer,
	body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-deal-card__footer,
	.altctrl-home-card__footer,
	.altctrl-daily-deals__footer.altctrl-home-card__footer,
	.altctrl-stock-notify-actions--card,
	.altctrl-deal-card.is-out-of-stock .altctrl-stock-notify-actions--card,
	.altctrl-daily-deals__card.is-out-of-stock .altctrl-stock-notify-actions--card,
	.altctrl-recently-viewed__card.is-out-of-stock .altctrl-stock-notify-actions--card {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.35rem !important;
		min-width: 0;
		width: 100%;
		flex-direction: unset !important;
	}

	body.altctrl-deals-archive .altctrl-deal-card__footer > :is(
		a,
		button,
		.button,
		.add_to_cart_button,
		.altctrl-view-cart-button,
		.altctrl-oos-btn--card,
		.altctrl-notify-me-btn--card,
		.altctrl-deal-card__shop-now,
		.product_type_simple,
		.product_type_variable
	),
	.altctrl-home-card__footer > :is(
		a,
		button,
		.button,
		.add_to_cart_button,
		.altctrl-view-cart-button,
		.altctrl-oos-btn--card,
		.altctrl-notify-me-btn--card,
		.altctrl-home-card__shop-now,
		.altctrl-daily-deals__shop-now
	),
	.altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
	.altctrl-daily-deals__card .altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
	.altctrl-recently-viewed__card .altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card) {
		box-sizing: border-box !important;
		display: inline-flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 2.125rem !important;
		min-height: 2.125rem !important;
		max-height: 2.125rem !important;
		margin: 0 !important;
		padding: 0 0.35rem !important;
		border-radius: 0.375rem !important;
		font-size: 0.6875rem !important;
		font-weight: 400 !important;
		line-height: 1.15 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		writing-mode: horizontal-tb !important;
		word-break: normal !important;
		overflow: hidden !important;
		text-overflow: clip !important;
		box-shadow: none !important;
		flex: none !important;
	}

	/* Hide icons so labels match Shop Now / Add to cart text-only look */
	body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-notify-me-btn--card svg,
	body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-oos-btn--card svg,
	.altctrl-home-card__footer .altctrl-notify-me-btn--card svg,
	.altctrl-home-card__footer .altctrl-oos-btn--card svg,
	.altctrl-stock-notify-actions--card .altctrl-notify-me-btn--card svg,
	.altctrl-stock-notify-actions--card .altctrl-oos-btn--card svg,
	.altctrl-daily-deals__card .altctrl-notify-me-btn--card svg,
	.altctrl-daily-deals__card .altctrl-oos-btn--card svg,
	.altctrl-recently-viewed__card .altctrl-notify-me-btn--card svg,
	.altctrl-recently-viewed__card .altctrl-oos-btn--card svg {
		display: none !important;
	}

	body.altctrl-deals-archive .altctrl-deal-card__footer .button::before,
	body.altctrl-deals-archive .altctrl-deal-card__footer .add_to_cart_button::before,
	body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-view-cart-button::before,
	.altctrl-home-card__footer .button::before,
	.altctrl-home-card__footer .add_to_cart_button::before,
	.altctrl-home-card__footer .altctrl-view-cart-button::before {
		display: none !important;
		content: none !important;
	}

	/* Notify Me = Shop Now (outline) */
	.altctrl-notify-me-btn--card,
	.altctrl-stock-notify-actions--card .altctrl-notify-me-btn--card,
	body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-notify-me-btn--card,
	.altctrl-daily-deals__card .altctrl-notify-me-btn--card,
	.altctrl-recently-viewed__card .altctrl-notify-me-btn--card {
		border: 0.0625rem solid var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
		background: #fff !important;
		color: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
		opacity: 1 !important;
	}

	/* Out of Stock = Add to cart (solid) */
	.altctrl-oos-btn--card,
	.altctrl-stock-notify-actions--card .altctrl-oos-btn--card,
	body.altctrl-deals-archive .altctrl-deal-card__footer .altctrl-oos-btn--card,
	.altctrl-daily-deals__card .altctrl-oos-btn--card,
	.altctrl-recently-viewed__card .altctrl-oos-btn--card {
		border: 0.0625rem solid var(--ac-home-card-blue-hover, var(--ac-deals-blue-hover, #0052cc)) !important;
		background: var(--ac-home-card-blue, var(--altctrl-atc-blue, var(--ac-deals-blue, #2b67f6))) !important;
		color: #fff !important;
		opacity: 1 !important;
	}
}

/* Shared icon tooltips on product cards */
.altctrl-has-tooltip {
	position: relative;
}

.altctrl-has-tooltip::after {
	content: attr(data-tooltip);
	position: absolute;
	top: calc(100% + 0.4rem);
	right: 0;
	left: auto;
	z-index: 30;
	min-width: max-content;
	max-width: 11rem;
	padding: 0.35rem 0.55rem;
	border-radius: 0.375rem;
	background: var(--altctrl-atc-text, #0f172a);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-0.15rem);
	transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
	pointer-events: none;
}

.altctrl-has-tooltip.altctrl-tooltip--above::after {
	top: auto;
	bottom: calc(100% + 0.4rem);
	transform: translateY(0.15rem);
}

.altctrl-has-tooltip:hover::after,
.altctrl-has-tooltip:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

body.altctrl-deals-archive .altctrl-deal-card__wishlist,
.altctrl-recently-viewed__card,
.altctrl-daily-deals__card {
	overflow: visible;
}

body.altctrl-deals-archive .altctrl-deal-card__wishlist .yith-wcwl-add-to-wishlist-button,
body.altctrl-deals-archive .altctrl-deal-card__wishlist a,
body.altctrl-deals-archive .altctrl-deal-card__wishlist .yith-add-to-wishlist-button-block a,
body.altctrl-deals-archive .altctrl-deal-card__wishlist .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--anchor {
	overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
	.altctrl-has-tooltip::after {
		transition: none;
	}
}

/*
 * Card CTA pairs (Shop Now / Add to cart, Notify Me / Out of Stock)
 * must stay on one horizontal line at every viewport width.
 */
.altctrl-home-card__footer,
.altctrl-daily-deals__footer.altctrl-home-card__footer,
.altctrl-deal-card__footer,
body.altctrl-deals-archive .altctrl-deal-card__footer,
.altctrl-stock-notify-actions--card,
.altctrl-deal-card.is-out-of-stock .altctrl-stock-notify-actions--card,
.altctrl-daily-deals__card.is-out-of-stock .altctrl-stock-notify-actions--card,
body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-deal-card__footer .altctrl-stock-notify-actions--card {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-auto-flow: column !important;
	align-items: stretch !important;
	flex-direction: unset !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	min-width: 0 !important;
}

/* OOS footer usually has one child wrapper — keep it full-width, buttons inside stay 2-col */
.altctrl-deal-card.is-out-of-stock .altctrl-deal-card__footer,
body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-deal-card__footer {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	flex-direction: unset !important;
}

.altctrl-deal-card.is-out-of-stock .altctrl-deal-card__footer > .altctrl-stock-notify-actions--card,
body.altctrl-deals-archive .altctrl-deal-card.is-out-of-stock .altctrl-deal-card__footer > .altctrl-stock-notify-actions--card,
.altctrl-daily-deals__card > .altctrl-stock-notify-actions--card {
	grid-column: 1 / -1;
	width: 100% !important;
}

.altctrl-home-card__footer > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card, .altctrl-home-card__shop-now, .altctrl-daily-deals__shop-now),
.altctrl-deal-card__footer > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card, .altctrl-deal-card__shop-now, .product_type_simple, .product_type_variable),
.altctrl-stock-notify-actions--card > :is(.altctrl-oos-btn--card, .altctrl-notify-me-btn--card),
body.altctrl-deals-archive .altctrl-deal-card__footer > :is(a, button, .button, .add_to_cart_button, .altctrl-view-cart-button, .altctrl-oos-btn--card, .altctrl-notify-me-btn--card, .altctrl-deal-card__shop-now) {
	flex-direction: row !important;
	white-space: nowrap !important;
	writing-mode: horizontal-tb !important;
	min-width: 0 !important;
	max-width: 100% !important;
}
