.admet-a11y-skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100001;
	padding: 0.75rem 1rem;
	background: #003b70;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transform: translateY(-150%);
}

.admet-a11y-skip-link:focus { transform: translateY(0); }

.admet-a11y { position: fixed; right: auto; bottom: 20px; left: 20px; z-index: 100000; font-family: Arial, sans-serif; }
.admet-a11y button { min-height: 44px; border: 1px solid #003b70; border-radius: 8px; background: #fff; color: #003b70; cursor: pointer; font: inherit; font-weight: 700; }
.admet-a11y__toggle { box-sizing: border-box; width: 52px !important; min-width: 52px !important; max-width: 52px !important; height: 52px; min-height: 52px !important; padding: 0; border-radius: 50% !important; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.24); font-size: 1.5rem !important; }
.admet-a11y__toggle:hover { background: #eef6fc; }
.admet-a11y__panel { position: absolute; right: auto; bottom: 64px; left: 0; width: 300px; max-width: calc(100vw - 32px); padding: 18px; border: 1px solid #c9d7e3; border-radius: 12px; background: #fff; color: #142433; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2); }
.admet-a11y__panel[hidden] { display: none; }
.admet-a11y__panel-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 14px; }
.admet-a11y__panel-header h2 { margin: 0; color: inherit; font-size: 1.125rem; line-height: 1.25; }
.admet-a11y__close { width: 36px; min-height: 36px !important; padding: 0; border-color: transparent !important; font-size: 1.75rem !important; line-height: 1; }
.admet-a11y__close:hover { background: #eef6fc; }
.admet-a11y__actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.admet-a11y__actions button { width: 100%; min-height: 44px; padding: 0.65rem 0.8rem; text-align: left; }
.admet-a11y__actions button:hover { background: #eef6fc; }
.admet-a11y__actions button[aria-pressed="true"] { background: #003b70; color: #fff; }
.admet-a11y__status { min-height: 1.25rem; margin: 12px 0 0; font-size: 0.875rem; line-height: 1.4; }

/* Global footer credit: the signature no longer contains a logo, so a
 * centered inline text line is the most stable layout on desktop and mobile. */
#wp-footer .admetFooter__credit {
	display: block;
	width: 100%;
	text-align: center;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px;
}

/* Header Footer Elementor template 67: white text on the original orange
 * was 3.04:1. This darker brand-adjacent orange is 4.64:1 with white. */
.elementor-67 .elementor-element-9ad3bee .elementor-button {
	background-color: #c64f0b !important;
	color: #fff !important;
}

/* Header template 67: preserve the existing type and mobile/tablet breakpoint;
 * reduce desktop-only whitespace so the seven-item menu remains on one line. */
@media (min-width: 1025px) {
	html .elementor-67 .elementor-element.elementor-element-a7ee670 { --width: 18%; }
	html .elementor-67 .elementor-element.elementor-element-0eb2012 { --width: 82%; }
	html .elementor-67 .elementor-element.elementor-element-c115501 .menu-item a.hfe-menu-item {
		padding-right: 4px;
		padding-left: 4px;
	}
	html .elementor-67 .elementor-element.elementor-element-c115501 .hfe-nav-menu {
		flex-wrap: nowrap;
	}
	html .elementor-67 .elementor-element.elementor-element-c115501 .hfe-nav-menu > li.menu-item {
		flex-shrink: 0;
	}
	html body:not(.rtl) .elementor-67 .elementor-element.elementor-element-c115501 .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child) {
		margin-right: 8px;
	}
}

html.admet-a11y-font-small { font-size: 87.5%; }
html.admet-a11y-font-large { font-size: 112.5%; }

/* High contrast is deliberately targeted, not a site-wide dark theme.
 * Original sections, cards, photographs and the map retain their own visual
 * hierarchy; only interactive UI and known text-on-image overlays change. */
html.admet-a11y-high-contrast :where(a:not(.elementor-button):not(.admet-eu-topbar__cta)) {
	text-decoration: underline !important;
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.16em;
}

/* The header is a confirmed dark surface.  Its navigation can safely use a
 * high-visibility link colour; all other containers retain their own tested
 * foreground colours. */
html.admet-a11y-high-contrast .elementor-67 a.hfe-menu-item {
	color: #ffd400 !important;
}

/* Keep original card backgrounds and imagery; strengthen only their visible
 * boundaries and controls where the component already exposes a border. */
html.admet-a11y-high-contrast :where(.elementor-accordion .elementor-tab-title, .elementor-toggle .elementor-tab-title, .elementor-accordion .elementor-tab-content, .elementor-toggle .elementor-tab-content) {
	border-color: #4b5563 !important;
}

html.admet-a11y-high-contrast :where(.elementor-button, button[type="submit"], input[type="submit"], input[type="button"], input[type="reset"]) {
	background: #ffd400 !important;
	border-color: #ffd400 !important;
	color: #111 !important;
	text-decoration: none !important;
}

html.admet-a11y-high-contrast :where(.elementor-button, button[type="submit"], input[type="submit"], input[type="button"], input[type="reset"]):hover,
html.admet-a11y-high-contrast :where(.elementor-button, button[type="submit"], input[type="submit"], input[type="button"], input[type="reset"]):focus-visible {
	background: #fff !important;
	border-color: #fff !important;
	color: #111 !important;
}

/* Homepage service cards use light content surfaces.  Keep their existing
 * dark headings/list text and enhance only the four known CTA controls. */
html.admet-a11y-high-contrast :where(
	.admetPelletSection__btn,
	.admetTransportSection__btn,
	.admetMillSection__btn,
	.admetScraperSection__btn
) {
	background: #0b2e6a !important;
	border-color: #0b2e6a !important;
	color: #fff !important;
	text-decoration: none !important;
}
html.admet-a11y-high-contrast :where(
	.admetPelletSection__btn,
	.admetTransportSection__btn,
	.admetMillSection__btn,
	.admetScraperSection__btn
):hover,
html.admet-a11y-high-contrast :where(
	.admetPelletSection__btn,
	.admetTransportSection__btn,
	.admetMillSection__btn,
	.admetScraperSection__btn
):focus-visible {
	background: #fff !important;
	border-color: #0b2e6a !important;
	color: #0b2e6a !important;
}

/* Homepage hero: the photograph remains intact, while its confirmed content
 * block gets a stronger local overlay rather than darkening the whole page. */
html.admet-a11y-high-contrast .elementor-element-5c27151 .hero__content {
	background: rgba(0, 0, 0, 0.72) !important;
	box-shadow: 0 0 0 0.75rem rgba(0, 0, 0, 0.72);
}
html.admet-a11y-high-contrast .elementor-element-5c27151 .hero__content :where(h1, h2, h3, p, span) {
	color: #fff !important;
	text-shadow: 0 1px 2px #000;
}
html.admet-a11y-high-contrast .elementor-element-5c27151 .hero__link {
	background: #ffd400 !important;
	border: 2px solid #111 !important;
	color: #111 !important;
	text-decoration: none !important;
}

/* Homepage navigation tiles: four confirmed Elementor containers. */
html.admet-a11y-high-contrast :where(
	.elementor-element-cd53ef8,
	.elementor-element-978e840,
	.elementor-element-ee47f1e,
	.elementor-element-cedf03d
) {
	background: #fff !important;
	border: 2px solid #111 !important;
	box-sizing: border-box;
}
html.admet-a11y-high-contrast :where(
	.elementor-element-cd53ef8,
	.elementor-element-978e840,
	.elementor-element-ee47f1e,
	.elementor-element-cedf03d
) :where(p, span, a) {
	color: #111 !important;
	font-weight: 700;
}

/* Homepage service cards: preserve photographs; only strengthen their known
 * text panels, list rows and calls to action. */
html.admet-a11y-high-contrast :where(
	.admetPelletSection__box,
	.admetTransportSection__box,
	.admetMillSection__box,
	.admetScraperSection__box
) {
	background-color: #fff !important;
	border: 2px solid #111 !important;
	box-sizing: border-box;
}
html.admet-a11y-high-contrast :where(
	.admetPelletSection__content,
	.admetTransportSection__content,
	.admetMillSection__content,
	.admetScraperSection__content
) :where(h1, h2, h3, p, li, span) {
	color: #111 !important;
	text-shadow: none;
}
html.admet-a11y-high-contrast :where(
	.admetPelletSection__item,
	.admetTransportSection__item,
	.admetMillSection__item,
	.admetScraperSection__item
) {
	background: #fff !important;
	border: 1px solid #333 !important;
	color: #111 !important;
}
html.admet-a11y-high-contrast :where(
	.admetPelletSection__btn,
	.admetTransportSection__btn,
	.admetMillSection__btn,
	.admetScraperSection__btn
) {
	background: #ffd400 !important;
	border: 2px solid #111 !important;
	color: #111 !important;
}
html.admet-a11y-high-contrast :where(
	.admetPelletSection__btn,
	.admetTransportSection__btn,
	.admetMillSection__btn,
	.admetScraperSection__btn
):hover,
html.admet-a11y-high-contrast :where(
	.admetPelletSection__btn,
	.admetTransportSection__btn,
	.admetMillSection__btn,
	.admetScraperSection__btn
):focus-visible {
	background: #111 !important;
	border-color: #ffd400 !important;
	color: #fff !important;
}

/* Keep the existing footer design, but expose a strong boundary and links. */
html.admet-a11y-high-contrast #colophon {
	border-top: 2px solid #fff !important;
}
html.admet-a11y-high-contrast #colophon a {
	color: #ffd400 !important;
}

html.admet-a11y-high-contrast :where(input:not([type="submit"]):not([type="button"]):not([type="reset"]), textarea, select) {
	background: #fff !important;
	border: 2px solid #d9d9d9 !important;
	color: #111 !important;
}
html.admet-a11y-high-contrast :where(input, textarea)::placeholder { color: #444 !important; opacity: 1; }

html.admet-a11y-high-contrast :where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid #ffd400 !important;
	outline-offset: 3px;
}

/* The official EU topbar and its full-colour signs remain a white, readable
 * island in high contrast.  It is intentionally excluded from the dark UI. */
html.admet-a11y-high-contrast .admet-eu-topbar,
html.admet-a11y-high-contrast .admet-eu-topbar__inner {
	background: #fff !important;
	color: #111 !important;
}
html.admet-a11y-high-contrast .admet-eu-topbar :where(p, span) { color: #111 !important; }
html.admet-a11y-high-contrast .admet-eu-topbar__cta {
	background: #005ca9 !important;
	border-color: #005ca9 !important;
	color: #fff !important;
	text-decoration: none !important;
}
html.admet-a11y-high-contrast .admet-eu-topbar__cta:hover,
html.admet-a11y-high-contrast .admet-eu-topbar__cta:focus-visible {
	background: #003b70 !important;
	border-color: #003b70 !important;
	color: #fff !important;
}
html.admet-a11y-high-contrast :where(img, picture, video, canvas, svg) { filter: none !important; }

/* The toolbar needs its own contrast treatment: it is a control surface, not
 * page content, and keeps a clear white outline against the dark document. */
html.admet-a11y-high-contrast .admet-a11y__panel {
	background: #1f1f1f !important;
	border-color: #fff !important;
	color: #fff !important;
}
html.admet-a11y-high-contrast .admet-a11y__panel :where(h2, p, span) { color: #fff !important; }
html.admet-a11y-high-contrast .admet-a11y__panel button,
html.admet-a11y-high-contrast .admet-a11y__toggle {
	background: #1f1f1f !important;
	border-color: #fff !important;
	color: #fff !important;
}
html.admet-a11y-high-contrast .admet-a11y__toggle {
	background: #ffd400 !important;
	border-color: #111 !important;
	color: #111 !important;
}
html.admet-a11y-high-contrast .admet-a11y__panel button:hover,
html.admet-a11y-high-contrast .admet-a11y__panel button[aria-pressed="true"],
html.admet-a11y-high-contrast .admet-a11y__toggle:hover {
	background: #ffd400 !important;
	border-color: #ffd400 !important;
	color: #111 !important;
}
/* Exact control selectors keep later theme button states from diluting the
 * toolbar contrast after an action has been activated. */
html.admet-a11y-high-contrast [data-admet-a11y] .admet-a11y__panel .admet-a11y__actions button,
html.admet-a11y-high-contrast [data-admet-a11y] .admet-a11y__panel .admet-a11y__close {
	background: #1f1f1f !important;
	border-color: #fff !important;
	color: #fff !important;
}
html.admet-a11y-high-contrast [data-admet-a11y] .admet-a11y__panel .admet-a11y__actions button:hover,
html.admet-a11y-high-contrast [data-admet-a11y] .admet-a11y__panel .admet-a11y__actions button[aria-pressed="true"],
html.admet-a11y-high-contrast [data-admet-a11y] .admet-a11y__panel .admet-a11y__close:hover {
	background: #ffd400 !important;
	border-color: #ffd400 !important;
	color: #111 !important;
}

@media (max-width: 600px) {
	.admet-a11y { right: auto; bottom: 14px; left: 14px; }
	.admet-a11y__panel { bottom: 64px; max-width: calc(100vw - 24px); padding: 16px; }
}
