/* Keyboard skip navigation. */
.osmicro-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 1000000;
	transform: translateY(-180%);
	padding: 12px 16px;
	border: 2px solid #fff;
	border-radius: 4px;
	background: #111;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	transition: transform 0.15s ease;
}

.osmicro-skip-link:focus {
	transform: translateY(0);
	color: #fff;
}

.osmicro-main-content:focus {
	outline: 3px solid #c42f2d;
	outline-offset: 4px;
}

/* Keep the brand red as an underline while meeting normal-text contrast. */
.elementor-52 .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-52 .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
	color: #fff !important;
	text-decoration-line: underline;
	text-decoration-color: #c42f2d;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

/* Keep the desktop active underline beneath submenu labels, not their arrows. */
@media (min-width: 1025px) {
	.elementor-52 .elementor-nav-menu--main .elementor-item.elementor-item-active.has-submenu {
		text-decoration: none;
	}

	.elementor-52 .elementor-nav-menu--main .elementor-item.elementor-item-active.has-submenu::after {
		content: "";
		position: absolute;
		inset-inline-start: 10px;
		inset-inline-end: 36px;
		bottom: 3px;
		height: 3px;
		background: #c42f2d;
		opacity: 1;
		pointer-events: none;
	}
}

/* Mobile/touch cards must never depend on hover to reveal their image. */
@media (hover: none), (pointer: coarse), (max-width: 1024px) {
	body.page-id-1235 .lqd-lp-style-2-alt .lqd-lp-img {
		opacity: 1 !important;
		transform: scale(1) !important;
	}

	body.page-id-1235 .lqd-lp-style-2-alt .lqd-lp-content-bg {
		opacity: 1 !important;
	}

	body.page-id-1235 .lqd-lp-style-2-alt .lqd-lp-author-info h3,
	body.page-id-1235 .lqd-lp-style-2-alt .lqd-lp-title a,
	body.page-id-1235 .lqd-lp-style-2-alt .lqd-lp-date {
		color: #fff !important;
	}
}

/* Accessible touch targets on insight cards and the service-centre button. */
.elementor-post__read-more,
.elementor-52 .elementor-element-6147f7e .elementor-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
}

@media (max-width: 1024px) {
	.elementor-52 a[href^="tel:"],
	.elementor-52 .elementor-menu-toggle {
		min-height: 44px;
		align-items: center;
		justify-content: center;
	}

	.elementor-52 .elementor-menu-toggle {
		min-width: 44px;
	}
}

@media (max-width: 767px) {
	.elementor-52 .elementor-element.elementor-element-a0fa446 > .elementor-widget-container {
		margin: 6px 0 4px !important;
	}

	.elementor-52 .elementor-element.elementor-element-a0fa446 img {
		max-height: 38px;
		width: auto;
	}

	.elementor-52 .elementor-element.elementor-element-db078ad > .elementor-widget-wrap {
		gap: 6px;
		align-items: center;
		justify-content: center;
		padding-inline: 10px;
	}

	.elementor-52 .elementor-element.elementor-element-6147f7e > .elementor-widget-container,
	.elementor-52 .elementor-element.elementor-element-eca9d4a > .elementor-widget-container {
		margin: 0 !important;
	}

	.elementor-52 .elementor-element.elementor-element-6147f7e .elementor-button {
		padding: 8px 10px;
		font-size: 12px;
	}

	.elementor-52 .elementor-element.elementor-element-eca9d4a {
		font-size: 13px;
	}

	.elementor-52 .elementor-element.elementor-element-4f7c746 > .elementor-widget-container {
		margin-top: 0 !important;
	}

	.elementor-52 .elementor-element.elementor-element-4f7c746 .elementor-menu-toggle {
		width: 44px;
		margin-inline: auto;
	}
}
