/* =========================================================
   Hello Freitag — Accessibility fixes
   ========================================================= */

/* ---------------------------------------------------------
   1) Skip link: must stay off-screen (not display:none) and
      appear visibly when it receives keyboard focus.
      --------------------------------------------------------- */
.skip-link,
a.skip-link.screen-reader-text {
	display: block !important; /* never display:none */
	position: absolute;
	top: -999px;
	left: 0;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	overflow: visible;
	clip: auto;
	z-index: 100000;
}

.skip-link:focus,
a.skip-link.screen-reader-text:focus {
	top: 0;
	left: 0;
	padding: 12px 20px;
	background: #1a1a1a;
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	outline: 3px solid #ffbf47;
	outline-offset: 2px;
}

/* ---------------------------------------------------------
   2) Touch targets: minimum 48x48px on interactive elements
      on mobile (links, buttons, menu items, social icons).
      --------------------------------------------------------- */
@media (max-width: 768px) {
	a,
	button,
	input[type="submit"],
	input[type="button"],
	.elementor-button,
	.elementor-icon,
	.elementor-social-icon,
	nav a,
	.site-header a {
		min-width: 48px;
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 12px;
	}

	/* Inline text links inside paragraphs shouldn't become 48px
	   blocks (that would break text flow). Scope this only to
	   standalone navigation/interactive elements. */
	p a,
	li:not(.menu-item) a,
	.elementor-widget-text-editor a {
		display: inline;
		min-width: 0;
		min-height: 0;
		padding: 0;
	}

	/* Menu items: ensure enough vertical spacing to reach 48px of
	   touch height without changing the visual text design. */
	.site-header .elementor-nav-menu li > a,
	nav.elementor-nav-menu--main a {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	/* Elementor social icons / icon buttons. */
	.elementor-social-icon,
	.elementor-icon-box-icon,
	.elementor-icon {
		width: 48px;
		height: 48px;
	}
}

/* ---------------------------------------------------------
   3) Visible focus reinforcement on interactive elements,
      useful for keyboard navigation at any screen size.
      --------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible,
.elementor-icon:focus-visible,
.elementor-social-icon:focus-visible {
	outline: 3px solid #ffbf47;
	outline-offset: 2px;
}
