/**
 * Jane's Edibles freshness notice.
 *
 * Floating, dismissible bubble. Anchored bottom-left on desktop so it never
 * collides with the site's floating WhatsApp button on the right.
 */

.jes-notice {
	--jes-pink: #e8388a;
	--jes-lime: #a5cd39;
	--jes-teal: #00a78f;
	--jes-green: #0c2e1c;
	--jes-cream: #fffcf5;

	position: fixed;
	z-index: 99990;
	bottom: 24px;
	left: 24px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	box-sizing: border-box;
	width: calc(100vw - 48px);
	max-width: 360px;
	padding: 16px 16px 16px 20px;
	overflow: hidden;
	background: var(--jes-cream);
	border: 1px solid rgba(12, 46, 28, 0.08);
	border-radius: 18px;
	box-shadow: 0 18px 44px rgba(12, 46, 28, 0.18);
	opacity: 0;
	transform: translateY(18px) scale(0.98);
	transition: opacity 0.32s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
}

.jes-notice[hidden] {
	display: none;
}

.jes-notice.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

/* Gradient spine down the left edge. */
.jes-notice__accent {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 5px;
	background: linear-gradient(180deg, var(--jes-pink) 0%, var(--jes-lime) 100%);
}

.jes-notice__body {
	flex: 1 1 auto;
	min-width: 0;
}

.jes-notice__title {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--jes-green);
	letter-spacing: -0.01em;
}

.jes-notice__dot {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	background: var(--jes-lime);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(165, 205, 57, 0.28);
}

.jes-notice__text {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #4a5a50;
}

.jes-notice__close {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	color: #6b7a70;
	background: rgba(12, 46, 28, 0.05);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.jes-notice__close:hover,
.jes-notice__close:focus-visible {
	color: #fff;
	background: var(--jes-pink);
}

.jes-notice__close:focus-visible {
	outline: 2px solid var(--jes-teal);
	outline-offset: 2px;
}

/* Mobile: full width, lifted clear of floating action buttons. */
@media (max-width: 600px) {
	.jes-notice {
		right: 12px;
		bottom: 84px;
		left: 12px;
		width: auto;
		max-width: none;
		padding: 14px 14px 14px 18px;
		border-radius: 16px;
	}

	.jes-notice__text {
		font-size: 12.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jes-notice {
		transform: none;
		transition: opacity 0.01ms linear;
	}

	.jes-notice.is-visible {
		transform: none;
	}
}
