/* Mirotech – accessibility menu + floating WhatsApp button (site-wide). */

/* ---------- Floating WhatsApp ---------- */
.mts-wa-float {
	position: fixed; z-index: 99997;
	right: calc(18px + env(safe-area-inset-right, 0px));
	bottom: calc(18px + env(safe-area-inset-bottom, 0px));
	width: 58px; height: 58px; border-radius: 50%;
	display: grid; place-items: center;
	background: #25d366; color: #fff !important; text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
	transition: transform .2s, box-shadow .2s;
}
.mts-wa-float svg { width: 32px; height: 32px; display: block; }
.mts-wa-float::before {
	content: ""; position: absolute; inset: 0; border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(37, 211, 102, .55);
	animation: mts-wa-ring 2.6s ease-out infinite;
}
.mts-wa-float:hover { transform: scale(1.06); box-shadow: 0 10px 26px rgba(0, 0, 0, .3); }
.mts-wa-float:focus-visible { outline: 3px solid #ffbf00; outline-offset: 3px; }
.mts-wa-float__tip {
	position: absolute; right: calc(100% + 12px); top: 50%; transform: translateY(-50%) translateX(6px);
	background: #121820; color: #fff; font: 600 14px/1 Arial, sans-serif; white-space: nowrap;
	padding: 10px 12px; border-radius: 4px; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s;
	direction: rtl;
}
.mts-wa-float:hover .mts-wa-float__tip, .mts-wa-float:focus-visible .mts-wa-float__tip { opacity: 1; transform: translateY(-50%); }
@keyframes mts-wa-ring {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); }
	70%, 100% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
}
@media (hover: none) { .mts-wa-float__tip { display: none; } }

/* ---------- Accessibility widget ---------- */
.mts-a11y {
	position: fixed; z-index: 99998;
	left: calc(18px + env(safe-area-inset-left, 0px));
	bottom: calc(18px + env(safe-area-inset-bottom, 0px));
	font: 15px/1.4 Arial, "Helvetica Neue", sans-serif; color: #111; direction: rtl; text-align: right;
}
.mts-a11y *, .mts-a11y *::before, .mts-a11y *::after { box-sizing: border-box; }
.mts-a11y__toggle {
	width: 54px; height: 54px; border-radius: 50%; border: 0; cursor: pointer;
	background: #1452b8; color: #fff; display: grid; place-items: center;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25); transition: transform .2s; padding: 0;
}
.mts-a11y__toggle svg { width: 30px; height: 30px; }
.mts-a11y__toggle:hover { transform: scale(1.06); }
.mts-a11y__toggle:focus-visible, .mts-a11y button:focus-visible, .mts-a11y a:focus-visible { outline: 3px solid #ffbf00; outline-offset: 3px; }
.mts-a11y__panel {
	position: absolute; left: 0; bottom: 66px;
	width: min(350px, calc(100vw - 36px)); max-height: calc(100vh - 110px); overflow-y: auto;
	background: #fff; border: 1px solid #c9ced6; border-radius: 8px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .28); padding: 16px;
}
.mts-a11y__panel[hidden] { display: none !important; }
.mts-a11y__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.mts-a11y__head h2 { margin: 0; font: 700 18px/1.2 Arial, sans-serif; color: #111; }
.mts-a11y__close { width: 36px; height: 36px; border: 1px solid #c9ced6; background: #fff; border-radius: 6px; font-size: 24px; line-height: 1; cursor: pointer; color: #111; padding: 0; }
.mts-a11y__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mts-a11y__btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	min-height: 78px; padding: 10px 6px; border: 1.5px solid #d3d8df; border-radius: 6px;
	background: #f4f6f8; color: #111; font: 600 14px/1.25 Arial, sans-serif; cursor: pointer; text-align: center;
	transition: background .15s, border-color .15s;
}
.mts-a11y__btn svg { width: 26px; height: 26px; }
.mts-a11y__btn:hover { border-color: #1452b8; background: #eaf0fb; }
.mts-a11y__btn[aria-pressed="true"] { background: #1452b8; border-color: #1452b8; color: #fff; }
.mts-a11y__btn--reset { color: #9c1b12; }
.mts-a11y__level { min-height: 1.4em; margin: 10px 0 6px; font-size: 13px; color: #444; }
.mts-a11y__statement { display: block; text-align: center; padding: 10px; border-top: 1px solid #e3e6ea; color: #1452b8 !important; font-weight: 700; text-decoration: underline !important; }

@media (max-width: 600px) {
	.mts-a11y__toggle { width: 50px; height: 50px; }
	.mts-wa-float { width: 54px; height: 54px; }
	.mts-a11y__panel { bottom: 62px; }
}

/* ---------- Skip link ---------- */
.mts-skip {
	position: fixed; top: -100px; right: 16px; z-index: 100000;
	background: #121820; color: #fff !important; padding: 12px 18px; border-radius: 0 0 6px 6px;
	font: 700 16px Arial, sans-serif; text-decoration: none;
}
.mts-skip:focus { top: env(safe-area-inset-top, 0px); outline: 3px solid #ffbf00; }

/* ========== Effects (page content only; the widget itself is excluded) ========== */

/* Text size */
html[data-a11y-font="-1"] body > *:not(.mts-a11y):not(.mts-wa-float) { zoom: .9; }
html[data-a11y-font="1"] body > *:not(.mts-a11y):not(.mts-wa-float) { zoom: 1.1; }
html[data-a11y-font="2"] body > *:not(.mts-a11y):not(.mts-wa-float) { zoom: 1.25; }
html[data-a11y-font="3"] body > *:not(.mts-a11y):not(.mts-wa-float) { zoom: 1.4; }
html[data-a11y-font="4"] body > *:not(.mts-a11y):not(.mts-wa-float) { zoom: 1.6; }

/* High contrast */
html.a11y-contrast, html.a11y-contrast body { background: #000 !important; }
html.a11y-contrast body > *:not(.mts-a11y):not(.mts-wa-float),
html.a11y-contrast body > *:not(.mts-a11y):not(.mts-wa-float) * {
	background-color: #000 !important; background-image: none !important; color: #fff !important;
	border-color: #fff !important; box-shadow: none !important; text-shadow: none !important;
	-webkit-text-stroke-color: #555 !important;
}
html.a11y-contrast body > *:not(.mts-a11y):not(.mts-wa-float) a,
html.a11y-contrast body > *:not(.mts-a11y):not(.mts-wa-float) a * { color: #ffe600 !important; }
html.a11y-contrast body > *:not(.mts-a11y):not(.mts-wa-float) :is(input, select, textarea, button, .mts-btn) { border: 2px solid #fff !important; }

/* Light background */
html.a11y-light, html.a11y-light body { background: #fff !important; }
html.a11y-light body > *:not(.mts-a11y):not(.mts-wa-float),
html.a11y-light body > *:not(.mts-a11y):not(.mts-wa-float) * {
	background-color: #fff !important; background-image: none !important; color: #000 !important;
	box-shadow: none !important; text-shadow: none !important; -webkit-text-stroke-color: #ccc !important;
}
html.a11y-light body > *:not(.mts-a11y):not(.mts-wa-float) a,
html.a11y-light body > *:not(.mts-a11y):not(.mts-wa-float) a * { color: #0032b4 !important; }
html.a11y-light body > *:not(.mts-a11y):not(.mts-wa-float) :is(input, select, textarea, button, .mts-btn) { border: 2px solid #000 !important; }

/* Grayscale */
html.a11y-gray body > *:not(.mts-a11y):not(.mts-wa-float) { filter: grayscale(1); }

/* Highlight links */
html.a11y-links body > *:not(.mts-a11y):not(.mts-wa-float) a {
	text-decoration: underline !important; text-underline-offset: 3px !important;
	outline: 2px solid #ffbf00 !important; outline-offset: 2px;
}

/* Highlight headings */
html.a11y-headings body > *:not(.mts-a11y):not(.mts-wa-float) :is(h1, h2, h3, h4, h5, h6) {
	outline: 2px dashed #e1251b !important; outline-offset: 6px;
}

/* Readable font */
html.a11y-readable body > *:not(.mts-a11y):not(.mts-wa-float),
html.a11y-readable body > *:not(.mts-a11y):not(.mts-wa-float) * {
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important; letter-spacing: normal !important;
}
html.a11y-readable body > *:not(.mts-a11y):not(.mts-wa-float) h1 { font-size: clamp(34px, 5vw, 60px) !important; line-height: 1.15 !important; }
html.a11y-readable body > *:not(.mts-a11y):not(.mts-wa-float) h2 { font-size: clamp(26px, 3.4vw, 42px) !important; line-height: 1.2 !important; }
html.a11y-readable body > *:not(.mts-a11y):not(.mts-wa-float) .mts-pane__word { display: none !important; }

/* Text spacing */
html.a11y-spacing body > *:not(.mts-a11y):not(.mts-wa-float) :is(p, li, dd, dt, a, label, span, td, summary) {
	line-height: 1.9 !important; letter-spacing: .06em !important; word-spacing: .14em !important;
}
html.a11y-spacing body > *:not(.mts-a11y):not(.mts-wa-float) :is(h1, h2, h3) { line-height: 1.3 !important; letter-spacing: .03em !important; }

/* Stop animations */
html.a11y-motion body > *:not(.mts-a11y):not(.mts-wa-float) *,
html.a11y-motion body > *:not(.mts-a11y):not(.mts-wa-float) *::before,
html.a11y-motion body > *:not(.mts-a11y):not(.mts-wa-float) *::after,
html.a11y-motion .mts-wa-float::before {
	animation: none !important; transition: none !important; scroll-behavior: auto !important;
}

/* Big cursor */
html.a11y-cursor, html.a11y-cursor * {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 10.5-6 1.2 3.6 7.3-3.2 1.5-3.5-7.4L5 19.5z' fill='%23000' stroke='%23fff' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3, auto !important;
}

@media (prefers-reduced-motion: reduce) {
	.mts-wa-float::before { animation: none; }
	.mts-wa-float, .mts-a11y__toggle { transition: none; }
}
