/* edgaa-widget.css — Frontend accessibility widget */

/* ── Position ───────────────────────────────────────────────────────────── */
.edgaa-widget {
	position: fixed;
	z-index: 9999999;
	direction: rtl;
}
.edgaa-pos-bottom-right { bottom: 20px; right: 20px; }
.edgaa-pos-bottom-left  { bottom: 20px; left:  20px; }
.edgaa-pos-top-right    { top:    80px; right: 20px; }
.edgaa-pos-top-left     { top:    80px; left:  20px; }
.edgaa-pos-middle-right { top: 50%; transform: translateY(-50%); right: 20px; }
.edgaa-pos-middle-left  { top: 50%; transform: translateY(-50%); left:  20px; }

/* ── Toggle button ──────────────────────────────────────────────────────── */
.edgaa-toggle-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 3px solid rgba(255,255,255,.9);
	background: var(--edgaa-color, #1565C0);
	color: #fff;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(0,0,0,.3);
	transition: transform .2s, box-shadow .2s;
	padding: 0;
	position: relative;
	z-index: 2;
}
.edgaa-toggle-btn:hover  { transform: scale(1.08); box-shadow: 0 6px 20px rgba(0,0,0,.4); }
.edgaa-toggle-btn:focus  { outline: 3px solid #FDD835; outline-offset: 3px; }
.edgaa-toggle-btn svg    { width: 62%; height: 62%; pointer-events: none; }

/* ── Panel ──────────────────────────────────────────────────────────────── */
.edgaa-panel {
	position: absolute;
	width: 300px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 40px rgba(0,0,0,.22);
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	transform: scale(.95) translateY(8px);
	transition: opacity .25s, transform .25s, visibility .25s;
	border: 1px solid rgba(0,0,0,.08);
}
.edgaa-panel--open {
	visibility: visible;
	opacity: 1;
	transform: scale(1) translateY(0);
}

/* Panel positioning relative to button */
.edgaa-pos-bottom-right .edgaa-panel,
.edgaa-pos-top-right    .edgaa-panel,
.edgaa-pos-middle-right .edgaa-panel { right: 0; }
.edgaa-pos-bottom-left  .edgaa-panel,
.edgaa-pos-top-left     .edgaa-panel,
.edgaa-pos-middle-left  .edgaa-panel { left: 0; }

.edgaa-pos-bottom-right .edgaa-panel,
.edgaa-pos-bottom-left  .edgaa-panel { bottom: calc(100% + 12px); }
.edgaa-pos-top-right    .edgaa-panel,
.edgaa-pos-top-left     .edgaa-panel { top: calc(100% + 12px); }
.edgaa-pos-middle-right .edgaa-panel,
.edgaa-pos-middle-left  .edgaa-panel { bottom: calc(100% + 12px); }

/* ── Panel header ───────────────────────────────────────────────────────── */
.edgaa-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: linear-gradient(135deg, #1565C0, #0D47A1);
	color: #fff;
	padding: 14px 16px;
}
.edgaa-panel-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 15px;
}
.edgaa-panel-icon svg {
	width: 22px;
	height: 22px;
}
.edgaa-close-btn {
	background: rgba(255,255,255,.2);
	border: none;
	color: #fff;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s;
}
.edgaa-close-btn:hover  { background: rgba(255,255,255,.35); }
.edgaa-close-btn:focus  { outline: 2px solid #FDD835; }

/* ── Panel body ─────────────────────────────────────────────────────────── */
.edgaa-panel-body {
	padding: 12px;
	max-height: 70vh;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.edgaa-panel-body::-webkit-scrollbar { width: 4px; }
.edgaa-panel-body::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }

/* ── Section ────────────────────────────────────────────────────────────── */
.edgaa-section {
	border: 1px solid #f0f0f0;
	border-radius: 10px;
	padding: 10px;
	background: #fafafa;
}
.edgaa-section-title {
	font-size: 11px;
	font-weight: 700;
	color: #1565C0;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 8px;
}

/* ── Button grid ────────────────────────────────────────────────────────── */
.edgaa-btn-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
}

/* ── Tool buttons ───────────────────────────────────────────────────────── */
.edgaa-tool-btn {
	background: #fff;
	border: 1.5px solid #e0e0e0;
	border-radius: 8px;
	padding: 8px 6px;
	font-size: 12px;
	cursor: pointer;
	transition: all .2s;
	text-align: center;
	color: #333;
	line-height: 1.3;
	font-family: inherit;
}
.edgaa-tool-btn:hover {
	border-color: #1565C0;
	color: #1565C0;
	background: #e8f0fe;
}
.edgaa-tool-btn.active {
	background: #1565C0;
	color: #fff;
	border-color: #1565C0;
}
.edgaa-tool-btn:focus {
	outline: 2px solid #FDD835;
	outline-offset: 2px;
}

/* ── Stepper ────────────────────────────────────────────────────────────── */
.edgaa-stepper {
	display: flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	border: 1.5px solid #e0e0e0;
	border-radius: 8px;
	padding: 6px 10px;
}
.edgaa-stepper-label {
	flex: 1;
	font-size: 12px;
	color: #444;
}
.edgaa-stepper-btn {
	background: #e8f0fe;
	border: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	color: #1565C0;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s;
}
.edgaa-stepper-btn:hover  { background: #1565C0; color: #fff; }
.edgaa-stepper-btn:focus  { outline: 2px solid #FDD835; }
.edgaa-stepper-val {
	min-width: 20px;
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	color: #1565C0;
}

/* ── Statement link ─────────────────────────────────────────────────────── */
.edgaa-statement-link {
	display: block;
	text-align: center;
	padding: 9px;
	background: #e8f0fe;
	border-radius: 8px;
	color: #1565C0;
	font-size: 13px;
	text-decoration: none;
	font-weight: 600;
	transition: background .2s;
}
.edgaa-statement-link:hover { background: #c5d8f8; }

/* ── Reset button ───────────────────────────────────────────────────────── */
.edgaa-reset-btn {
	display: block;
	width: 100%;
	padding: 8px;
	background: none;
	border: 1.5px solid #e0e0e0;
	border-radius: 8px;
	color: #888;
	font-size: 13px;
	cursor: pointer;
	transition: all .2s;
	font-family: inherit;
}
.edgaa-reset-btn:hover { border-color: #e53935; color: #e53935; background: #fff5f5; }

/* ── Credit ─────────────────────────────────────────────────────────────── */
.edgaa-credit {
	text-align: center;
	font-size: 11px;
	color: #aaa;
	padding: 4px 0 2px;
}
.edgaa-credit a { color: #1565C0; text-decoration: none; font-weight: 600; }
.edgaa-credit a:hover { text-decoration: underline; }

/* ════════════════════════════════════════════════════════════════════════
   BODY-LEVEL ACCESSIBILITY OVERRIDES
   ════════════════════════════════════════════════════════════════════════ */

/* ── Contrast modes ─────────────────────────────────────────────────────── */
body.edgaa-contrast-high *  { background-color: #000 !important; color: #ff0 !important; border-color: #ff0 !important; }
body.edgaa-contrast-dark *  { background-color: #121212 !important; color: #e0e0e0 !important; }
body.edgaa-contrast-light * { background-color: #fff !important; color: #000 !important; }
body.edgaa-contrast-invert  { filter: invert(1) hue-rotate(180deg); }

/* ── Filters ─────────────────────────────────────────────────────────────── */
body.edgaa-filter-grayscale { filter: grayscale(1); }
body.edgaa-filter-sepia     { filter: sepia(.7); }
body.edgaa-filter-low-saturation  { filter: saturate(.3); }
body.edgaa-filter-high-saturation { filter: saturate(2); }

/* ── Cursors ─────────────────────────────────────────────────────────────── */
body.edgaa-cursor-big      * { cursor: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="%23000" stroke="%23fff" stroke-width="2" d="M8 4l16 12-8 1-5 9z"/></svg>') 4 4, auto !important; }
body.edgaa-cursor-big-white * { cursor: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="%23fff" stroke="%23000" stroke-width="2" d="M8 4l16 12-8 1-5 9z"/></svg>') 4 4, auto !important; }

/* ── Links highlight ────────────────────────────────────────────────────── */
body.edgaa-highlight-links a {
	background: #ff0 !important;
	color: #000 !important;
	text-decoration: underline !important;
	outline: 2px solid #000 !important;
}

/* ── Dyslexia font ──────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;700&display=swap');
body.edgaa-dyslexia,
body.edgaa-dyslexia * {
	font-family: 'Lexend', sans-serif !important;
	letter-spacing: .05em;
}

/* ── No animations ──────────────────────────────────────────────────────── */
body.edgaa-no-animations *,
body.edgaa-no-animations *::before,
body.edgaa-no-animations *::after {
	animation-duration: 0.001ms !important;
	transition-duration: 0.001ms !important;
	scroll-behavior: auto !important;
}

/* ── Reading mask ───────────────────────────────────────────────────────── */
.edgaa-reading-mask {
	position: fixed;
	left: 0;
	width: 100%;
	height: 40px;
	background: rgba(255, 255, 150, 0.35);
	border-top: 2px solid rgba(255,220,0,.6);
	border-bottom: 2px solid rgba(255,220,0,.6);
	pointer-events: none;
	z-index: 9999998;
	transition: top .05s linear;
}

/* ── Skip link (bonus: add to theme if desired) ─────────────────────────── */
.edgaa-skip-link {
	position: absolute;
	top: -40px;
	right: 0;
	background: #1565C0;
	color: #fff;
	padding: 8px 16px;
	z-index: 9999999;
	font-size: 14px;
	transition: top .2s;
}
.edgaa-skip-link:focus { top: 0; }

/* ── Focus visible global enhancement ──────────────────────────────────── */
:focus-visible {
	outline: 3px solid #1565C0 !important;
	outline-offset: 2px !important;
}

/* ════════════════════════════════════════════════════════════════════════
   ACCESSIBILITY STATEMENT PAGE STYLES
   ════════════════════════════════════════════════════════════════════════ */

.edgaa-statement {
	font-family: 'Segoe UI', Arial, sans-serif;
	direction: rtl;
	max-width: 820px;
	margin: 0 auto;
	color: #1a1a1a;
}

/* Header banner */
.edgaa-statement-header {
	display: flex;
	align-items: center;
	gap: 24px;
	background: linear-gradient(135deg, #1565C0 0%, #0D47A1 100%);
	border-radius: 16px;
	padding: 32px 36px;
	margin-bottom: 36px;
	box-shadow: 0 6px 28px rgba(21,101,192,.28);
}

.edgaa-statement-logo {
	flex-shrink: 0;
	width: 90px;
	height: 90px;
	background: rgba(255,255,255,.12);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 3px solid rgba(255,255,255,.3);
}

.edgaa-statement-logo svg {
	width: 58px;
	height: 58px;
}

.edgaa-statement-header-text h1 {
	color: #ffffff !important;
	font-size: 28px !important;
	font-weight: 800 !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	border: none !important;
	line-height: 1.2;
}

.edgaa-statement-subtitle {
	color: rgba(255,255,255,.82) !important;
	font-size: 15px !important;
	margin: 0 !important;
	font-weight: 400;
}

/* Body */
.edgaa-statement-body {
	background: #fff;
	border: 1px solid #e8edf5;
	border-radius: 12px;
	padding: 36px 40px;
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

.edgaa-statement-body h2 {
	color: #1565C0;
	font-size: 17px;
	font-weight: 700;
	margin: 28px 0 10px;
	padding-bottom: 8px;
	border-bottom: 2px solid #e8f0fe;
}

.edgaa-statement-body h2:first-child { margin-top: 0; }

.edgaa-statement-body p,
.edgaa-statement-body li {
	line-height: 1.8;
	font-size: 15px;
	color: #333;
}

.edgaa-statement-body ul {
	padding-right: 22px;
	margin: 8px 0 0;
}

.edgaa-statement-body li { margin-bottom: 6px; }

.edgaa-statement-body a {
	color: #1565C0;
	text-decoration: underline;
}

/* Credit line inside statement */
.edgaa-statement-credit {
	margin-top: 32px !important;
	padding-top: 16px !important;
	border-top: 1px solid #e8edf5;
	font-size: 13px !important;
	color: #888 !important;
	text-align: center;
}

.edgaa-statement-credit a {
	color: #1565C0 !important;
	font-weight: 600;
}

/* ════════════════════════════════════════════════════════════════════════
   BAR WIDGET — Centered 75% bottom panel, toggled by float button
   ════════════════════════════════════════════════════════════════════════ */

.edgaa-bar {
	position: fixed;
	bottom: -600px; /* fully hidden below screen */
	left: 12.5%;
	width: 75%;
	z-index: 9999997;
	background: var(--edgaa-bar-color, #1565C0); /* plain solid-color fallback - always safe, see note below */
	border-radius: 20px 20px 0 0;
	box-shadow: 0 -6px 40px rgba(0,0,0,.35);
	border-top: 3px solid rgba(255,255,255,.2);
	border-left: 1px solid rgba(255,255,255,.1);
	border-right: 1px solid rgba(255,255,255,.1);
	transition: bottom .35s cubic-bezier(.4,0,.2,1);
	overflow: hidden;
	display: none; /* matches the inline style set by JS at creation time - see openBar()/
	                   closeBar() in widget.js, which is the authoritative mechanism. This CSS
	                   default is just a defense-in-depth backup for the extremely unlikely case
	                   JS itself failed to run at all. */
	flex-direction: column;
}
/* Nicer gradient background, as its own separate rule on purpose: some sites run CSS
   minifiers/optimizers (common in caching plugins) that don't correctly handle color-mix() - a
   newer CSS function. If a minifier ever mangles or drops this rule because of that, it now only
   costs the gradient (falls back to the plain solid color above) - it can NEVER take the
   critical position/bottom hiding rule down with it, because that's a fully separate rule that
   doesn't use color-mix() at all. This is exactly what caused the bar to appear open by default
   on some sites before this split - a minifier failure on this one function broke the entire
   combined rule, including the part that hides the bar. */
.edgaa-bar {
	background: linear-gradient(160deg,
		color-mix(in srgb, var(--edgaa-bar-color, #1565C0) 85%, #000) 0%,
		var(--edgaa-bar-color, #1565C0) 50%,
		color-mix(in srgb, var(--edgaa-bar-color, #1565C0) 85%, #fff) 100%
	);
}

/* Open state */
.edgaa-bar--open {
	bottom: 0;
	display: flex;
}
.edgaa-bar--open[aria-hidden] {
	aria-hidden: false;
}

/* Bar header row */
.edgaa-bar-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 24px 10px;
	border-bottom: 1px solid rgba(255,255,255,.12);
}

/* Brand */
.edgaa-bar-brand {
	display: flex;
	align-items: center;
	gap: 12px;
}
.edgaa-bar-icon {
	width: 40px;
	height: 40px;
	color: #fff;
	flex-shrink: 0;
}
.edgaa-bar-icon svg { width: 40px; height: 40px; }
.edgaa-bar-title {
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	white-space: nowrap;
	letter-spacing: .5px;
}
.edgaa-bar-subtitle {
	color: rgba(255,255,255,.65);
	font-size: 12px;
	margin-top: 1px;
}

/* Tools area */
.edgaa-bar-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 16px 24px;
	justify-content: center;
}

/* Bar buttons — large */
.edgaa-bar-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 100px;
	height: 90px;
	background: rgba(255,255,255,.1);
	border: 1.5px solid rgba(255,255,255,.18);
	border-radius: 14px;
	color: rgba(255,255,255,.92);
	cursor: pointer;
	padding: 10px 12px;
	transition: all .2s;
	flex-shrink: 0;
	font-family: inherit;
}
.edgaa-bar-btn:hover {
	background: rgba(255,255,255,.22);
	border-color: rgba(255,255,255,.4);
	transform: translateY(-2px);
}
.edgaa-bar-btn.active {
	background: #FDD835;
	color: #0D47A1;
	border-color: #FDD835;
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(253,216,53,.4);
}
.edgaa-bar-btn:focus { outline: 2px solid #FDD835; outline-offset: 2px; }
.edgaa-bar-btn-icon { font-size: 32px; line-height: 1; }
.edgaa-bar-btn-label { font-size: 14px; white-space: nowrap; line-height: 1.2; text-align: center; }

/* Bar stepper — large */
.edgaa-bar-stepper {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: rgba(255,255,255,.1);
	border: 1.5px solid rgba(255,255,255,.18);
	border-radius: 14px;
	padding: 10px 16px;
	min-width: 100px;
	height: 90px;
	justify-content: center;
	flex-shrink: 0;
}
.edgaa-bar-stepper-label {
	font-size: 13px;
	color: rgba(255,255,255,.85);
	white-space: nowrap;
	font-weight: 600;
}
.edgaa-bar-stepper-row {
	display: flex;
	align-items: center;
	gap: 10px;
}
.edgaa-bar-step {
	background: rgba(255,255,255,.2);
	border: none;
	color: #fff;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	transition: background .15s;
}
.edgaa-bar-step:hover { background: #FDD835; color: #0D47A1; }
.edgaa-bar-step-val {
	min-width: 26px;
	text-align: center;
	color: #FDD835;
	font-weight: 800;
	font-size: 20px;
}

/* Bar actions — single unified row */
.edgaa-bar-actions {
	padding: 10px 24px 14px;
	border-top: 1px solid rgba(255,255,255,.12);
}

.edgaa-bar-actions-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
}

/* Text link (organic SEO, edigital) */
.edgaa-bar-action-text {
	color: rgba(255,255,255,.9);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
	cursor: pointer;
}
.edgaa-bar-action-text:hover { color: #fff; }

/* Separator */
.edgaa-bar-row-sep {
	color: rgba(255,255,255,.3);
	font-size: 16px;
	padding: 0 2px;
}

/* Smaller action buttons in row */
.edgaa-bar-action-sm {
	height: 40px !important;
	padding: 0 14px !important;
	font-size: 13px !important;
	border-radius: 8px !important;
}
.edgaa-bar-action-sm .edgaa-bar-act-icon { font-size: 16px !important; }
.edgaa-bar-action-sm .edgaa-bar-act-label { font-size: 12px !important; }

/* edigital credit link */
.edgaa-bar-credit {
	color: #ffffff;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}
.edgaa-bar-credit:hover { text-decoration: underline; }

/* Hide old multi-row elements */
.edgaa-bar-actions-left,
.edgaa-bar-actions-center,
.edgaa-bar-actions-right,
.edgaa-bar-credit-wrap,
.edgaa-bar-credit-sep,
.edgaa-bar-credit-by,
.edgaa-bar-credit-organic { display: none !important; }

.edgaa-bar-action-btn,
.edgaa-bar-reset {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 52px;
	background: rgba(255,255,255,.12);
	border: 1.5px solid rgba(255,255,255,.25);
	border-radius: 12px;
	color: rgba(255,255,255,.95);
	cursor: pointer;
	text-decoration: none;
	padding: 0 22px;
	transition: all .2s;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
}
.edgaa-bar-action-btn:hover,
.edgaa-bar-reset:hover {
	background: rgba(255,255,255,.22);
	color: #fff;
	border-color: rgba(255,255,255,.5);
	transform: translateY(-2px);
}
.edgaa-bar-report { border-color: rgba(253,216,53,.5) !important; }
.edgaa-bar-report:hover { background: rgba(253,216,53,.2) !important; }
.edgaa-bar-act-icon  { font-size: 22px; }
.edgaa-bar-act-label { font-size: 15px; }

/* Credit */
.edgaa-bar-credit-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
}
.edgaa-bar-credit-wrap {
	display: flex;
	align-items: center;
	gap: 4px;
	justify-content: center;
	flex-wrap: nowrap;
}
.edgaa-bar-credit-by { display: none; }
.edgaa-bar-credit {
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
}
.edgaa-bar-credit:hover { text-decoration: underline; color: #fff; }
.edgaa-bar-credit-sep { color: rgba(255,255,255,.5); font-size: 14px; }
.edgaa-bar-credit-organic {
	color: rgba(255,255,255,.9);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
}
.edgaa-bar-credit-organic:hover { color: #fff; }

/* Close button — larger touch target for mobile */
.edgaa-bar-close {
	position: absolute;
	top: 12px;
	left: 16px;
	background: rgba(255,255,255,.15);
	border: none;
	color: #fff;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	z-index: 10;
}
.edgaa-bar-close:hover,
.edgaa-bar-close:active { background: rgba(255,255,255,.3); }

/* Close button already defined above */

/* Responsive — Mobile */
@media (max-width: 768px) {
	.edgaa-bar {
		left: 0;
		width: 100%;
		border-radius: 16px 16px 0 0;
		max-height: 75vh;
		overflow-y: auto;
	}
	.edgaa-bar-header { padding: 10px 16px 8px; }
	.edgaa-bar-icon { width: 28px; height: 28px; }
	.edgaa-bar-icon svg { width: 28px; height: 28px; }
	.edgaa-bar-title { font-size: 14px; }
	.edgaa-bar-subtitle { font-size: 10px; }

	.edgaa-bar-strip {
		padding: 10px 12px;
		gap: 6px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		overflow-y: visible;
		overflow-x: hidden;
	}

	.edgaa-bar-btn {
		min-width: unset;
		width: 100%;
		height: 64px;
		border-radius: 10px;
		gap: 5px;
		padding: 6px 4px;
	}
	.edgaa-bar-btn-icon { font-size: 22px; }
	.edgaa-bar-btn-label { font-size: 11px; }

	.edgaa-bar-stepper {
		min-width: unset;
		width: 100%;
		height: 64px;
		border-radius: 10px;
		padding: 6px 8px;
		gap: 4px;
	}
	.edgaa-bar-stepper-label { font-size: 11px; }
	.edgaa-bar-step { width: 24px; height: 24px; font-size: 16px; }
	.edgaa-bar-step-val { font-size: 15px; }

	.edgaa-bar-actions { padding: 10px 16px 12px; gap: 8px; }
	.edgaa-bar-actions-center { gap: 8px; }
	.edgaa-bar-action-btn,
	.edgaa-bar-reset {
		height: 44px;
		padding: 0 14px;
		font-size: 13px;
		border-radius: 10px;
	}
	.edgaa-bar-act-icon { font-size: 17px; }
	.edgaa-bar-act-label { font-size: 12px; }

	.edgaa-bar-credit { font-size: 13px; }
	.edgaa-bar-credit-organic { font-size: 12px; }

	.edgaa-bar-close {
		width: 40px;
		height: 40px;
		top: 10px;
		left: 12px;
		font-size: 18px;
	}
}

/* ── New tool body classes ──────────────────────────────────────────────── */
body.edgaa-reading-mode {
	background: #fff !important;
	color: #1a1a1a !important;
}
body.edgaa-reading-mode main,
body.edgaa-reading-mode article,
body.edgaa-reading-mode .content,
body.edgaa-reading-mode p {
	background: #fff !important;
	color: #1a1a1a !important;
	max-width: 75ch;
}
body.edgaa-focus-highlight *:focus {
	outline: 3px solid #FDD835 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 5px rgba(253,216,53,.4) !important;
}
body.edgaa-heading-large h1 { font-size: 2.4em !important; }
body.edgaa-heading-large h2 { font-size: 2em !important; }
body.edgaa-heading-large h3 { font-size: 1.7em !important; }
body.edgaa-heading-large h4,
body.edgaa-heading-large h5,
body.edgaa-heading-large h6 { font-size: 1.4em !important; }

.edgaa-skip-link {
	position: fixed;
	top: -60px;
	right: 50%;
	transform: translateX(50%);
	background: #1565C0;
	color: #fff;
	padding: 10px 24px;
	border-radius: 0 0 8px 8px;
	z-index: 9999999;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: top .2s;
}
.edgaa-skip-link:focus { top: 0; }

/* ── Bar action buttons (reset, statement, report) ──────────────────────── */
.edgaa-bar-action-btn,
.edgaa-bar-reset {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 52px;
	height: 46px;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 8px;
	color: rgba(255,255,255,.9);
	cursor: pointer;
	text-decoration: none;
	padding: 4px 8px;
	transition: all .2s;
	font-family: inherit;
	flex-shrink: 0;
}
.edgaa-bar-action-btn:hover,
.edgaa-bar-reset:hover {
	background: rgba(255,255,255,.22);
	color: #fff;
	border-color: rgba(255,255,255,.4);
}
.edgaa-bar-report { border-color: rgba(253,216,53,.4); }
.edgaa-bar-report:hover { background: rgba(253,216,53,.2) !important; }
.edgaa-bar-act-icon  { font-size: 16px; line-height: 1; }
.edgaa-bar-act-label { font-size: 9px; white-space: nowrap; line-height: 1; }

.edgaa-bar-credit-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 4px;
}
.edgaa-bar-credit-by { color: rgba(255,255,255,.5); font-size: 9px; }
.edgaa-bar-credit {
	color: #FDD835;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.edgaa-bar-credit:hover { text-decoration: underline; }

/* ── Report Modal ────────────────────────────────────────────────────────── */
.edgaa-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.55);
	z-index: 99999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	backdrop-filter: blur(3px);
}
.edgaa-modal {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(0,0,0,.3);
	width: 100%;
	max-width: 480px;
	overflow: hidden;
	animation: edgaa-modal-in .25s ease;
}
@keyframes edgaa-modal-in {
	from { opacity:0; transform: scale(.95) translateY(12px); }
	to   { opacity:1; transform: scale(1) translateY(0); }
}
.edgaa-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: linear-gradient(135deg, #0D47A1, #1565C0);
	padding: 16px 20px;
	color: #fff;
}
.edgaa-modal-header h2 {
	margin: 0;
	font-size: 17px;
	color: #fff;
	border: none;
	padding: 0;
}
.edgaa-modal-close {
	background: rgba(255,255,255,.2);
	border: none;
	color: #fff;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s;
}
.edgaa-modal-close:hover { background: rgba(255,255,255,.35); }

.edgaa-modal-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.edgaa-modal-body > p {
	margin: 0;
	font-size: 14px;
	color: #555;
	line-height: 1.6;
}
.edgaa-modal-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.edgaa-modal-field label {
	font-size: 13px;
	font-weight: 600;
	color: #333;
}
.edgaa-modal-input,
.edgaa-modal-textarea {
	border: 1.5px solid #e0e0e0;
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 14px;
	font-family: inherit;
	transition: border-color .2s;
	width: 100%;
	box-sizing: border-box;
}
.edgaa-modal-input:focus,
.edgaa-modal-textarea:focus {
	outline: none;
	border-color: #1565C0;
	box-shadow: 0 0 0 3px rgba(21,101,192,.15);
}
.edgaa-modal-textarea { resize: vertical; min-height: 80px; }

.edgaa-modal-send {
	background: linear-gradient(135deg, #1565C0, #0D47A1);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 12px 24px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity .2s, transform .15s;
	font-family: inherit;
	margin-top: 4px;
}
.edgaa-modal-send:hover { opacity: .92; transform: translateY(-1px); }

.edgaa-modal-success {
	text-align: center;
	padding: 20px 0;
}
.edgaa-success-icon { font-size: 48px; margin-bottom: 12px; }
.edgaa-modal-success p {
	font-size: 15px;
	color: #2e7d32;
	font-weight: 600;
}

/* Statement notice box */
.edgaa-statement-notice {
	background: #fff8e1;
	border-right: 4px solid #f57c00;
	border-radius: 0 8px 8px 0;
	padding: 16px 18px;
	margin: 8px 0 16px;
}
.edgaa-statement-notice p {
	margin: 0 0 10px !important;
}
.edgaa-statement-notice ul {
	margin: 8px 0 10px !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   NEW FEATURES — v1.4.0
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Heading outline — visually maps document structure for scanning ──── */
body.edgaa-heading-outline h1,
body.edgaa-heading-outline h2,
body.edgaa-heading-outline h3,
body.edgaa-heading-outline h4,
body.edgaa-heading-outline h5,
body.edgaa-heading-outline h6 {
	outline: 2px dashed #f57c00 !important;
	outline-offset: 4px;
	background: rgba(245,124,0,.08) !important;
	border-radius: 4px;
}

/* ── Hide images — reduces visual clutter for cognitive load ──────────── */
body.edgaa-hide-images img,
body.edgaa-hide-images svg:not(.edgaa-widget svg):not(.edgaa-bar svg),
body.edgaa-hide-images video,
body.edgaa-hide-images picture {
	display: none !important;
}

/* ── Read-aloud (TTS) mode — cursor cue + hover highlight on readable text */
body.edgaa-tts-active {
	cursor: pointer;
}
body.edgaa-tts-active p:hover,
body.edgaa-tts-active li:hover,
body.edgaa-tts-active h1:hover,
body.edgaa-tts-active h2:hover,
body.edgaa-tts-active h3:hover,
body.edgaa-tts-active h4:hover,
body.edgaa-tts-active h5:hover,
body.edgaa-tts-active h6:hover,
body.edgaa-tts-active td:hover,
body.edgaa-tts-active th:hover,
body.edgaa-tts-active blockquote:hover,
body.edgaa-tts-active a:hover,
body.edgaa-tts-active button:hover {
	outline: 2px solid #1565C0 !important;
	outline-offset: 2px;
	background: rgba(21,101,192,.08) !important;
	cursor: pointer !important;
}

/* ── Accessibility profiles row (in the bar) ───────────────────────────── */
.edgaa-bar-profiles {
	padding: 4px 24px 0;
}
.edgaa-bar-profiles-title {
	color: rgba(255,255,255,.7);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.edgaa-bar-profiles-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255,255,255,.12);
}
.edgaa-profile-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: rgba(255,255,255,.08);
	border: 1.5px solid rgba(255,255,255,.25);
	border-radius: 999px;
	color: rgba(255,255,255,.92);
	cursor: pointer;
	padding: 8px 16px;
	transition: all .2s;
	font-family: inherit;
	font-size: 13px;
}
.edgaa-profile-btn:hover {
	background: rgba(255,255,255,.2);
	transform: translateY(-1px);
}
.edgaa-profile-btn.active {
	background: #FDD835;
	color: #0D47A1;
	border-color: #FDD835;
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(253,216,53,.4);
}
.edgaa-profile-btn:focus { outline: 2px solid #FDD835; outline-offset: 2px; }
.edgaa-profile-icon { font-size: 18px; line-height: 1; }
.edgaa-profile-label { white-space: nowrap; }

/* ── Virtual on-screen keyboard ─────────────────────────────────────────
   Fixed to the bottom of the viewport, above everything else including the
   accessibility bar itself. body padding pushes real page content up so the
   keyboard doesn't permanently cover the bottom of the page while it's on. */
body.edgaa-vk-active {
	padding-bottom: 220px !important;
}
.edgaa-vk {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9999999;
	background: #1a1a1a;
	border-top: 3px solid #1565C0;
	padding: 10px 12px 14px;
	box-shadow: 0 -6px 30px rgba(0,0,0,.5);
	direction: ltr; /* keyboard layout itself always left-to-right regardless of site language */
}
.edgaa-vk-rows { display: flex; flex-direction: column; gap: 6px; }
.edgaa-vk-row { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.edgaa-vk-row--bottom { margin-top: 6px; }
.edgaa-vk-key {
	min-width: 38px;
	height: 42px;
	padding: 0 10px;
	background: #2e2e2e;
	color: #fff;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 8px;
	font-size: 16px;
	font-family: inherit;
	cursor: pointer;
	transition: background .15s;
}
.edgaa-vk-key:hover { background: #3d3d3d; }
.edgaa-vk-key:active,
.edgaa-vk-key.active { background: #1565C0; }
.edgaa-vk-wide { min-width: 64px; font-size: 13px; }
.edgaa-vk-space { min-width: 220px; }

/* ── Header Reset All button — v1.4.1: moved here from the bottom actions
   row so it's always visible the instant the bar opens, no scrolling. ──── */
.edgaa-bar-header-reset {
	display: flex;
	align-items: center;
	gap: 6px;
	background: rgba(255,255,255,.12);
	border: 1.5px solid rgba(255,255,255,.3);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	padding: 8px 18px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	transition: all .2s;
	flex-shrink: 0;
}
.edgaa-bar-header-reset:hover {
	background: #FDD835;
	color: #0D47A1;
	border-color: #FDD835;
	transform: translateY(-1px);
}
.edgaa-bar-header-reset:focus { outline: 2px solid #FDD835; outline-offset: 2px; }

/* ── Virtual keyboard close button ─────────────────────────────────────── */
.edgaa-vk-close {
	position: absolute;
	top: 8px;
	inset-inline-end: 12px;
	width: 32px;
	height: 32px;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 8px;
	color: #fff;
	font-size: 15px;
	cursor: pointer;
	transition: background .15s;
}
.edgaa-vk-close:hover { background: #e53935; border-color: #e53935; }
.edgaa-vk-close:focus { outline: 2px solid #FDD835; outline-offset: 2px; }

/* ═══════════════════════════════════════════════════════════════════════
   NEW FEATURES — v1.4.2
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Constant link underline (WCAG 1.4.1) ──────────────────────────────── */
body.edgaa-link-underline a {
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

/* ── Bold text ──────────────────────────────────────────────────────────── */
body.edgaa-bold-text,
body.edgaa-bold-text * {
	font-weight: 700 !important;
}

/* ── Limit text width (WCAG 1.4.8 - readable line length, ~75 characters) ── */
body.edgaa-limit-width p,
body.edgaa-limit-width li,
body.edgaa-limit-width blockquote,
body.edgaa-limit-width h1,
body.edgaa-limit-width h2,
body.edgaa-limit-width h3,
body.edgaa-limit-width h4,
body.edgaa-limit-width h5,
body.edgaa-limit-width h6 {
	max-width: 75ch !important;
}

/* ── Larger click/tap targets (WCAG 2.5.5 - minimum ~44x44px) ─────────── */
body.edgaa-large-targets a,
body.edgaa-large-targets button,
body.edgaa-large-targets input[type="button"],
body.edgaa-large-targets input[type="submit"],
body.edgaa-large-targets input[type="checkbox"],
body.edgaa-large-targets input[type="radio"],
body.edgaa-large-targets select {
	min-height: 44px !important;
	min-width: 44px !important;
	padding: 10px 14px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
body.edgaa-large-targets input[type="checkbox"],
body.edgaa-large-targets input[type="radio"] {
	min-height: 28px !important;
	min-width: 28px !important;
	padding: 0 !important;
}

/* ── Heading navigation menu ────────────────────────────────────────────
   Fixed bottom-start corner (opposite side from the toggle button, which
   is usually bottom-end) so the two floating controls don't overlap. ──── */
.edgaa-heading-nav {
	position: fixed;
	bottom: 20px;
	inset-inline-start: 20px;
	z-index: 999998;
	font-family: inherit;
	direction: inherit;
}
.edgaa-heading-nav-toggle {
	display: flex;
	align-items: center;
	gap: 6px;
	background: #12203a;
	color: #fff;
	border: 1.5px solid rgba(255,255,255,.25);
	border-radius: 999px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(0,0,0,.25);
	transition: all .2s;
}
.edgaa-heading-nav-toggle:hover { background: #1a2f52; }
.edgaa-heading-nav-toggle:focus-visible { outline: 3px solid #FDD835; outline-offset: 2px; }
.edgaa-heading-nav-list {
	list-style: none;
	margin: 8px 0 0;
	padding: 10px;
	max-height: 50vh;
	overflow-y: auto;
	background: #fff;
	color: #1a1a1a;
	border-radius: 12px;
	box-shadow: 0 8px 30px rgba(0,0,0,.3);
	min-width: 240px;
	max-width: 340px;
}
.edgaa-heading-nav-item { margin: 2px 0; }
.edgaa-heading-nav-item a {
	display: block;
	padding: 8px 10px;
	border-radius: 6px;
	color: #1a1a1a;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4;
}
.edgaa-heading-nav-item a:hover,
.edgaa-heading-nav-item a:focus-visible {
	background: #f0f0f0;
	outline: none;
}
.edgaa-heading-nav-level-1 a { font-weight: 700; }
.edgaa-heading-nav-level-2 a { padding-inline-start: 20px; }
.edgaa-heading-nav-level-3 a { padding-inline-start: 32px; font-size: 13px; }
.edgaa-heading-nav-level-4 a,
.edgaa-heading-nav-level-5 a,
.edgaa-heading-nav-level-6 a { padding-inline-start: 44px; font-size: 13px; color: #555; }
.edgaa-heading-nav-empty { padding: 8px 10px; color: #888; font-size: 13px; }
