/* Focus visuel commun aux modules compatibles. */
[data-hopopup-style-module] :where(
	a[href],
	button,
	input:not([type="hidden"]),
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"])
):focus {
	outline: var(--hopopup-commune-focus-width, 3px) var(--hopopup-commune-focus-style, solid) var(--hopopup-commune-color-focus, #1d4ed8);
	outline-offset: var(--hopopup-commune-focus-offset, 2px);
	box-shadow: none;
}

@supports selector(:focus-visible) {
	[data-hopopup-style-module] :where(
		a[href],
		button,
		input:not([type="hidden"]),
		select,
		textarea,
		summary,
		[tabindex]:not([tabindex="-1"])
	):focus:not(:focus-visible) {
		outline: none;
	}

	[data-hopopup-style-module] :where(
		a[href],
		button,
		input:not([type="hidden"]),
		select,
		textarea,
		summary,
		[tabindex]:not([tabindex="-1"])
	):focus-visible {
		outline: var(--hopopup-commune-focus-width, 3px) var(--hopopup-commune-focus-style, solid) var(--hopopup-commune-color-focus, #1d4ed8);
		outline-offset: var(--hopopup-commune-focus-offset, 2px);
		box-shadow: none;
	}
}

@media (forced-colors: active) {
	[data-hopopup-style-module] :where(
		a[href],
		button,
		input:not([type="hidden"]),
		select,
		textarea,
		summary,
		[tabindex]:not([tabindex="-1"])
	):focus,
	[data-hopopup-style-module] :where(
		a[href],
		button,
		input:not([type="hidden"]),
		select,
		textarea,
		summary,
		[tabindex]:not([tabindex="-1"])
	):focus-visible {
		outline-color: CanvasText;
	}
}
