/* ── Add to cart toast ── */
.sp-cart-toast {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 1200;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	width: min(360px, calc(100vw - 32px));
	padding: 16px 18px;
	border: 1px solid rgba(139, 26, 43, .14);
	border-radius: 16px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 20px 44px rgba(18, 12, 10, .18);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	opacity: 0;
	transform: translateY(18px);
	pointer-events: none;
	transition: opacity .22s ease, transform .22s ease;
}

.sp-cart-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.sp-cart-toast__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: rgba(139, 26, 43, .1);
	color: var(--wine, #8B1A2B);
}

.sp-cart-toast__body {
	min-width: 0;
	flex: 1 1 auto;
}

.sp-cart-toast__title {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--text, #1C1C1C);
}

.sp-cart-toast__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sp-cart-toast__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--wine, #8B1A2B);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background .15s ease, transform .15s ease;
}

.sp-cart-toast__link:hover {
	background: var(--wine-dark, #6A1221);
	color: #fff;
	transform: translateY(-1px);
}

.sp-cart-toast__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--muted, #6B6B6B);
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	transition: background .15s ease, color .15s ease;
}

.sp-cart-toast__close:hover {
	background: rgba(28, 28, 28, .06);
	color: var(--text, #1C1C1C);
}

@media (max-width: 767px) {
	.sp-cart-toast {
		right: 16px;
		bottom: 16px;
		left: 16px;
		width: auto;
		padding: 14px;
		gap: 12px;
	}

	.sp-cart-toast__title {
		font-size: 12.5px;
	}

	.sp-cart-toast__link {
		width: 100%;
	}

	.sp-cart-toast__actions {
		display: block;
	}
}

/* Compact reminder after the added-to-cart confirmation. */
.sp-cart-toast, .sp-cart-toast * { box-sizing: border-box; }
.sp-cart-toast[hidden] { display: none; }
.sp-cart-toast { bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
.sp-cart-toast.is-reminder {
 align-items: center;
 width: min(320px, calc(100vw - 32px));
 padding: 10px 12px;
 gap: 10px;
}
.sp-cart-toast.is-reminder .sp-cart-toast__icon {
 flex-basis: 32px;
 width: 32px;
 height: 32px;
}
.sp-cart-toast.is-reminder .sp-cart-toast__title {
 margin-bottom: 2px;
 font-size: 12px;
}
.sp-cart-toast.is-reminder .sp-cart-toast__link {
 min-height: 26px;
 padding: 0;
 background: transparent;
 color: var(--wine, #8B1A2B);
 font-size: 12px;
 letter-spacing: 0;
 text-transform: none;
 text-decoration: underline;
 text-underline-offset: 3px;
}
.sp-cart-toast.is-reminder .sp-cart-toast__link:hover {
 color: var(--wine-dark, #6A1221);
 transform: none;
}
.sp-cart-toast__link:focus-visible,
.sp-cart-toast__close:focus-visible {
 outline: 2px solid var(--wine, #8B1A2B);
 outline-offset: 3px;
}
body.ws-header-overlay-open .sp-cart-toast,
body.ws-cookie-consent-open .sp-cart-toast {
 visibility: hidden;
 pointer-events: none;
}
@media (max-width: 767px) {
 .sp-cart-toast,
 .sp-cart-toast.is-reminder {
  right: 12px;
  left: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  width: auto;
 }
 .sp-cart-toast__close { flex-basis: 40px; width: 40px; height: 40px; }
 .sp-cart-toast.is-reminder .sp-cart-toast__link { width: auto; }
}
@media (prefers-reduced-motion: reduce) {
 .sp-cart-toast,
 .sp-cart-toast__link { transition: none; }
}
