/* ==========================================================================
   Shared utilities

   Lifted out of product-tile.css once the product detail blocks needed the
   same thing. Anything here is used by more than one component by definition —
   a single-component helper belongs in that component's file.
   ========================================================================== */

/* Available to screen readers only. */
.tfs-u-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/*
 * Removed from view without being removed from the page.
 *
 * Distinct from .tfs-u-visually-hidden, which exists so screen readers keep
 * content sighted users do not need. This is the opposite: nobody is meant to
 * reach it at all. It is here for the honeypot input, which has to render and
 * lay out like a real field — display:none and visibility:hidden are both
 * things a bot can test for — while staying off-screen for everyone.
 *
 * Offset in vw rather than a spacing token because this is not spacing: no
 * token means "further than a viewport away", and inventing one would put a
 * value in theme.json that no design ever refers to.
 */
.tfs-u-offscreen {
	position: absolute;
	inset-inline-start: -100vw;
	inset-block-start: auto;
}
