/* Advanced Group Controls — Frontend Styles
   Row stack + unstick @media rules are generated in PHP (class-breakpoint-css.php). */

/* Linked group — stretched overlay link (keyboard-focusable) */
.is-linked {
	position: relative;
	cursor: pointer;

	&:hover {
		opacity: 0.95;
	}

	.ursa6-group-link {
		position: absolute;
		inset: 0;
		z-index: 1;
		border-radius: inherit;
    overflow: hidden;

		&:focus-visible {

		}

		.external-link-icon {
			display: none;
		}
	}

	:is(a, button, input, select, textarea, [role="button"]):not(.ursa6-group-link) {
		position: relative;
		z-index: 2;
	}
}

/* Sticky scroll-up behavior (applied to promoted parent wrapper) */
.is-sticky-active,
.is-sticky-hidden {
	transition: transform var(--ursa6-transition-transform);
}

.is-sticky-active {
	transform: translateY(0);
}

.is-sticky-hidden {
	transform: translateY(calc(-100% - var(--sticky-full-offset, 0px)));
	pointer-events: none;
}

/* Keep header visible while navigation overlay or desktop submenu is open.
   Mobile column mega menus set aria-expanded on nested toggles by default — scope
   aria-expanded / focus-within to desktop nav only; hamburger uses .is-menu-open. */
.is-sticky-active:has(.wp-block-navigation__responsive-container.is-menu-open),
.is-sticky-hidden:has(.wp-block-navigation__responsive-container.is-menu-open),
.is-sticky-active:has(.wp-block-navigation:not(.ursa6-nav-is-mobile) [aria-expanded="true"]:not([aria-hidden="true"])),
.is-sticky-hidden:has(.wp-block-navigation:not(.ursa6-nav-is-mobile) [aria-expanded="true"]:not([aria-hidden="true"])),
.is-sticky-active:has(.wp-block-navigation:not(.ursa6-nav-is-mobile):focus-within),
.is-sticky-hidden:has(.wp-block-navigation:not(.ursa6-nav-is-mobile):focus-within) {
	transform: none;
	transition: none;
	pointer-events: auto;
}

html.has-modal-open {
	header.is-sticky-hidden,
	header.is-sticky-active,
	.is-sticky-hidden,
	.is-sticky-active {
		transform: none !important;
		transition: none !important;
		pointer-events: auto !important;
	}
}
