/* Text-link baseline. Navigation, product media and commands keep their own UI. */
#page a[href]:where(:not(.ov-link, .ov-button, .button, .components-button, .wp-element-button, .wp-block-button__link, .ov-nav-item, .ov-shell-control, .page-numbers, .remove, .edit, [role="button"], .olhar-header a, .olhar-footer a, .ov-product-card a, .woocommerce-loop-product__link, .woocommerce-product-gallery a, .woocommerce-tabs a, .woocommerce-MyAccount-navigation a)) {
	color: var(--ov-text-link-color, var(--color-text-link));
	text-decoration-line: var(--ov-text-link-decoration, none);
	text-underline-offset: var(--spacing-4);
}
/* These variables affect only anchors using the text-link baseline above. */
#page a[href]:is(:hover, :focus-visible) {
	--ov-text-link-decoration: underline;
}
#page a[href]:active {
	--ov-text-link-color: var(--color-text-primary);
	--ov-text-link-decoration: none;
}
#page a[href][aria-disabled="true"] {
	--ov-text-link-color: var(--color-text-muted);
	--ov-text-link-decoration: none;
}
#page a[href][aria-busy="true"] {
	--ov-text-link-color: var(--color-text-link);
	--ov-text-link-decoration: none;
}

/* Opt-in link component adds layout, icons, disabled and loading states. */
.ov-link {
	display: inline-grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	justify-items: start;
	box-sizing: border-box;
	min-width: var(--action-target-min);
	min-height: var(--action-target-min);
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--color-text-link);
	box-shadow: none;
	font-family: var(--font-ui);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-body);
	letter-spacing: 0;
	text-align: start;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	touch-action: manipulation;
	transition: color var(--transition-interactive), opacity var(--transition-interactive);
}

.ov-link--large {
	font-size: var(--font-size-body-lg);
	line-height: var(--line-height-body-lg);
}

/* Link commands must not inherit Storefront's button state backgrounds. */
.ov-link:is(:hover, :focus, :focus-visible, :active) {
	background: transparent;
	box-shadow: none;
}

.ov-link .ov-button__label {
	text-decoration-line: underline;
	text-decoration-color: transparent;
	text-underline-offset: var(--spacing-4);
	transition: text-decoration-color var(--transition-interactive);
}

@media (hover: hover) {
	.ov-link:hover:not([aria-disabled="true"]):not([aria-busy="true"]) {
		color: var(--color-text-link);
		text-decoration: none;
	}

	.ov-link:hover:not([aria-disabled="true"]):not([aria-busy="true"]) .ov-button__label {
		text-decoration-color: currentColor;
	}
}

/* The underline is the link's keyboard focus indicator, without a button frame. */
.ov-link:focus {
	outline: none;
}

.ov-link:focus-visible:not([aria-disabled="true"]):not([aria-busy="true"]) {
	color: var(--color-text-link);
	text-decoration: none;
}

.ov-link:focus-visible:not([aria-disabled="true"]):not([aria-busy="true"]) .ov-button__label {
	text-decoration-color: currentColor;
}

.ov-link:active:not([aria-disabled="true"]):not([aria-busy="true"]) {
	color: var(--color-text-primary);
}

.ov-link:active:not([aria-disabled="true"]):not([aria-busy="true"]) .ov-button__label {
	text-decoration-color: transparent;
}

.ov-link[aria-disabled="true"]:not([aria-busy="true"]) {
	color: var(--color-text-primary);
	opacity: 0.35;
	cursor: not-allowed;
}

.ov-link[aria-busy="true"] {
	color: var(--color-text-link);
	cursor: progress;
}

@media (prefers-reduced-motion: reduce) {
	.ov-link,
	.ov-link .ov-button__label {
		transition: none;
	}
}

@media (forced-colors: active) {
	.ov-link:focus-visible:not([aria-disabled="true"]) {
		outline: var(--focus-width) solid Highlight;
		outline-offset: var(--focus-offset);
	}

	.ov-link[aria-disabled="true"]:not([aria-busy="true"]) {
		color: GrayText;
		opacity: 1;
	}
}
