/**
 * Quantity-offer cards, the sticky "Order now" bar (phones) and the floating
 * WhatsApp button. Uses the theme tokens, so each Store template colours them.
 */

/* ---- Quantity offers ---- */
.safa-offers { margin-block: var(--space-4); }
.safa-offers__title {
	font-weight: var(--font-weight-bold);
	font-size: var(--text-sm);
	color: var(--color-primary);
	margin-block-end: var(--space-2);
}
.safa-offers__list { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.safa-offers__tier {
	flex: 1 1 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: var(--space-3) var(--space-3);
	background: var(--color-card);
	border: 1.5px dashed var(--color-border-strong);
	border-radius: var(--radius-md);
	color: var(--color-text);
	cursor: pointer;
	transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);
}
.safa-offers__tier strong { font-size: var(--text-base); color: var(--color-primary); }
.safa-offers__tier span { font-size: var(--text-xs); color: var(--color-accent-strong); font-weight: var(--font-weight-bold); }
.safa-offers__tier:hover { border-color: var(--color-accent); transform: translateY(-1px); }
.safa-offers__tier.is-active {
	border-style: solid;
	border-color: var(--color-accent);
	background: var(--color-accent-tint);
}
.safa-offers__tier:focus-visible { outline: 2px solid var(--color-accent-strong); outline-offset: 2px; }

/* The live offer line in the Quick Order card. */
.quick-order-card__offer {
	margin: 0;
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	color: var(--color-accent-strong);
}

/* ---- Sticky "Order now" bar (phones only) ---- */
.safa-sticky { display: none; }
@media (max-width: 768px) {
	.safa-sticky {
		position: fixed;
		inset-inline: 0;
		inset-block-end: 0;
		z-index: 90;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--space-3);
		padding: var(--space-3) var(--space-4);
		padding-block-end: calc(var(--space-3) + env(safe-area-inset-bottom, 0px));
		background: var(--color-background);
		border-top: 1px solid var(--color-border);
		box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
		transform: translateY(110%);
		transition: transform var(--transition-base);
	}
	.safa-sticky.is-visible { transform: translateY(0); }
	.safa-sticky[hidden] { display: none; }
	.safa-sticky__price { font-weight: var(--font-weight-bold); font-size: var(--text-md); color: var(--color-primary); }
	.safa-sticky__price del { font-weight: var(--font-weight-regular); color: var(--color-text-muted); font-size: var(--text-sm); }
	.safa-sticky__price ins { text-decoration: none; }
	.safa-sticky__btn { flex: 0 0 auto; padding-inline: var(--space-6); }
	body.has-safa-sticky { padding-block-end: 72px; }
}
@media (prefers-reduced-motion: reduce) {
	.safa-sticky { transition: none; }
}

/* ---- Floating WhatsApp button ---- */
.safa-wa {
	position: fixed;
	inset-block-end: 16px;
	z-index: 95;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #25d366;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.safa-wa--end { inset-inline-end: 16px; }
.safa-wa--start { inset-inline-start: 16px; }
.safa-wa:hover { transform: scale(1.06); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3); }
.safa-wa:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
@media (max-width: 768px) {
	/* Sit above the sticky order bar when there is one. */
	body.has-safa-sticky .safa-wa { inset-block-end: 84px; }
}
