

/* ---- icon spans ----
 * Most icons in this theme are inline <svg>, which inherit colour and need no
 * rule. A few are empty <span>s — where the markup would otherwise repeat a
 * long path — and those are painted with a mask so they still take
 * currentColor. Without a mask they are simply invisible, which is what had
 * happened to every close button in the cart drawer and quick view.
 */

.hp-icon--close,
.hp-icon--menu {
	display: inline-block;
	width: 1.25rem;
	height: 1.25rem;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.hp-icon--close {
	-webkit-mask-image: var(--hp-icon-close);
	mask-image: var(--hp-icon-close);
}

.hp-icon--menu {
	-webkit-mask-image: var(--hp-icon-menu);
	mask-image: var(--hp-icon-menu);
}

/* ---- open-panel state ----
 * theme.js sets this on <body> while a drawer, search panel or modal is open.
 * Without it the page behind kept scrolling under the overlay.
 */

.hp-panel-open,
.hp-no-scroll {
	overflow: hidden;
}

.hp-js .hp-requires-js {
	display: revert;
}
