/* Cache-safe cart access. The bottom slot stays free for privacy controls. */
.isla-cart-indicator {
	position: fixed;
	z-index: 80;
	left: max(16px, env(safe-area-inset-left, 0px));
	bottom: calc(84px + env(safe-area-inset-bottom, 0px));
	max-width: calc(100vw - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
	font-family: var(--move-sans, "Google Sans", sans-serif);
}
.isla-cart-indicator[hidden] { display: none; }
.isla-cart-indicator .isla-cart-indicator__link {
	box-sizing: border-box;
	min-height: 56px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 15px;
	border: 1px solid #c8bddf;
	border-radius: 999px;
	background: var(--e-paper, #fffefd);
	box-shadow: 0 5px 20px rgba(38, 43, 65, .12);
	color: var(--e-ink, #25283b);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
}
.isla-cart-indicator .isla-cart-indicator__link:hover { background: var(--e-violet-soft, #e8e0fb); }
.isla-cart-indicator .isla-cart-indicator__link:focus-visible { outline: 3px solid #5638bd; outline-offset: 4px; }
.isla-cart-indicator [data-isla-cart-count] {
	min-width: 28px;
	min-height: 28px;
	display: grid;
	place-items: center;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--e-violet-soft, #e8e0fb);
	color: var(--e-ink, #25283b);
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}
/* Artwork is optional; markup must only supply a separately approved asset. */
.isla-cart-indicator__art { width: 48px; height: 48px; object-fit: contain; }
.isla-cart-indicator__status {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.isla-cart-indicator__fallback { margin: 16px; font-family: var(--move-sans, "Google Sans", sans-serif); }
.isla-cart-indicator__fallback a { min-height: 48px; display: inline-flex; align-items: center; color: #5638bd; text-underline-offset: 3px; }
@media print {
	.isla-cart-indicator { display: none; }
}
