/**
 * WV Social Proof — Luxury Toast Notification Styles
 * Bottom-left on desktop, centered bottom on mobile.
 *
 * @package WestVibe_Core
 */

/* ── Toast card ─────────────────────────────────────────────────── */
.wv-sp-toast {
	position: fixed;
	left: 28px;
	bottom: 28px;
	z-index: 99999;

	width: min(360px, calc(100vw - 40px));
	min-height: 78px;
	padding: 12px 14px;

	display: flex;
	align-items: center;
	gap: 12px;

	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.94));
	border: 1px solid rgba(210, 170, 92, 0.32);
	border-radius: 18px;
	box-shadow:
		0 22px 55px rgba(0, 0, 0, 0.38),
		0 0 0 1px rgba(255, 255, 255, 0.03) inset;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);

	color: #1a1a1a;
	text-decoration: none;
	font-family: var(--wv-font-body, 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif);

	opacity: 0;
	transform: translateY(18px) scale(0.97);
	pointer-events: none;

	transition:
		opacity 0.48s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.48s cubic-bezier(0.16, 1, 0.3, 1),
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

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

.wv-sp-toast--hiding {
	opacity: 0;
	transform: translateY(12px) scale(0.97);
	pointer-events: none;
}

.wv-sp-toast:hover,
.wv-sp-toast:focus-visible {
	border-color: rgba(210, 170, 92, 0.72);
	box-shadow:
		0 26px 70px rgba(0, 0, 0, 0.48),
		0 0 28px rgba(210, 170, 92, 0.12);
	outline: none;
}

.wv-sp-toast:focus-visible {
	outline: 2px solid rgba(210, 170, 92, 0.8);
	outline-offset: 3px;
}

/* ── Media: thumbnail or icon ───────────────────────────────────── */
.wv-sp-toast__media {
	width: 52px;
	height: 52px;
	min-width: 52px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: rgba(210, 170, 92, 0.09);
	border: 1px solid rgba(210, 170, 92, 0.26);
	color: #1b1b1b;
}

.wv-sp-toast__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ── Body: label + message + CTA ────────────────────────────────── */
.wv-sp-toast__body {
	min-width: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.wv-sp-toast--no-media {
	padding-left: 18px;
}

.wv-sp-toast__label {
	display: block;
	color: #000;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1;
}

.wv-sp-toast__message {
	display: block;
	color: rgba(49, 48, 45, 0.96);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.35;

	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.wv-sp-toast__cta {
	display: block;
	margin-top: 1px;
	color: rgba(26, 26, 26, 0.96);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.2;
}

/* ── Mobile: centered bottom, near full width ─────────────────────── */
@media screen and (max-width: 640px) {
	.wv-sp-toast {
		left: 50%;
		bottom: 18px;
		width: calc(100vw - 28px);
		max-width: 420px;
		transform: translateX(-50%) translateY(18px) scale(0.97);
	}

	.wv-sp-toast--visible {
		transform: translateX(-50%) translateY(0) scale(1);
	}

	.wv-sp-toast--hiding {
		transform: translateX(-50%) translateY(12px) scale(0.97);
	}
}