.vortexg-favorite-image,
.vortexg-product-gallery:has(.vortexg-favorite-button),
.woocommerce ul.products li.product:has(.vortexg-favorite-button) {
	position: relative;
}

.vortexg-favorite-image > .vortexg-favorite-button,
.vortexg-product-gallery > .vortexg-favorite-button,
.woocommerce ul.products li.product > .vortexg-favorite-button {
	position: absolute;
	inset-block-start: 0.5rem;
	inset-inline-end: 0.5rem;
	z-index: 4;
}

.vortexg-favorites .wp-block-post-title {
	display: block;
}

.vortexg-favorites .wp-block-woocommerce-product-collection {
	margin-top: 2rem;
}

.vortexg-favorites [hidden],
.vortexg-favorites-status[hidden] {
	display: none;
}

.vortexg-favorites-status {
	position: fixed;
	inset-block-end: 1.25rem;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	z-index: 100001;
	box-sizing: border-box;
	width: max-content;
	max-width: calc(100vw - 2rem);
	padding: 0.875rem 1rem;
	border-radius: var(--md-sys-shape-corner-medium, 12px);
	background: var(--md-sys-color-inverse-surface);
	color: var(--md-sys-color-inverse-on-surface);
	box-shadow: var(--md-sys-elevation-level3);
	font: inherit;
}

.vortexg-favorites-status a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	margin-inline-start: 1rem;
	color: var(--md-sys-color-inverse-primary);
	font-weight: 600;
}

.vortexg-favorites-status a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 782px) {
	.vortexg-favorites .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
