.um-a11y { position: fixed; z-index: 9990; inset-inline-start: 18px; bottom: 18px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; font-family: 'Noor', system-ui, sans-serif; }
.um-a11y-fab { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; border: 2px solid #fff; background: #253E85; color: #fff; font-size: 24px; box-shadow: 0 8px 22px #0e2f5c40; cursor: pointer; text-decoration: none; transition: transform .2s, background .2s; }
.um-a11y-feedback { width: 40px; height: 40px; font-size: 17px; background: #00ADCA; margin-inline-start: 4px; }
.um-a11y-fab:hover { transform: translateY(-2px); background: #1b2f69; color: #fff; }
.um-a11y-feedback:hover { background: #0094ad; }
.um-a11y-fab:focus-visible, .um-a11y-panel button:focus-visible, .um-a11y-panel a:focus-visible { outline: 3px solid #CFA868; outline-offset: 3px; }
.um-a11y-panel { position: absolute; bottom: 60px; inset-inline-start: 0; width: min(300px, calc(100vw - 36px)); max-height: calc(100vh - 110px); overflow: auto; background: #fff; color: #173B73; border: 1px solid #dbe7f1; border-radius: 14px; box-shadow: 0 18px 44px #0e2f5c33; padding: 16px; display: grid; gap: 8px; }
.um-a11y-panel[hidden] { display: none; }
.um-a11y-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.um-a11y-head strong { font-size: 16px; display: flex; gap: 8px; align-items: center; }
.um-a11y-close { border: 0; background: none; color: #526579; font-size: 16px; padding: 4px; cursor: pointer; }
.um-a11y-group { display: flex; justify-content: space-between; align-items: center; font-size: 14px; padding: 6px 0; }
.um-a11y-fs { display: flex; gap: 6px; direction: ltr; }
.um-a11y-fs button { min-width: 40px; min-height: 36px; border: 1px solid #dbe7f1; border-radius: 8px; background: #F1F5F8; color: #173B73; font-weight: 700; cursor: pointer; }
.um-a11y-fs button[aria-pressed="true"] { border-color: #00ADCA; background: #e6f8fb; }
.um-a11y-opt, .um-a11y-reset { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 42px; padding: 8px 12px; border: 1px solid #dbe7f1; border-radius: 10px; background: #F1F5F8; color: #173B73; font-size: 14px; text-align: start; cursor: pointer; }
.um-a11y-opt[aria-pressed="true"] { background: #253E85; border-color: #253E85; color: #fff; }
.um-a11y-reset { background: none; justify-content: center; color: #526579; }
.um-a11y-contact { display: grid; gap: 6px; border-top: 1px solid #dbe7f1; padding-top: 10px; margin-top: 4px; font-size: 13px; }
.um-a11y-contact a { color: #253E85; text-decoration: none; display: flex; gap: 8px; align-items: center; }
body.sfc-popup-open .um-a11y, body.srch-modal-open .um-a11y { display: none; }

/* Text size: scale page content, not the widget itself */
html.um-fs--1 body > :not(.um-a11y) { zoom: .92; }
html.um-fs-1 body > :not(.um-a11y) { zoom: 1.12; }
html.um-fs-2 body > :not(.um-a11y) { zoom: 1.25; }

html.um-links a:not(.um-a11y-fab) { text-decoration: underline !important; text-underline-offset: 3px; }
html.um-links a:not(.um-a11y-fab):focus, html.um-links a:not(.um-a11y-fab):hover { outline: 2px solid #CFA868; }

html.um-readable body, html.um-readable body :is(p, li, a, span, h1, h2, h3, h4, h5, h6, button, input, select, textarea, label, dd, dt) { font-family: Tahoma, Arial, sans-serif !important; letter-spacing: .01em; }
html.um-readable body :is(p, li, dd) { line-height: 2 !important; word-spacing: .08em; }

html.um-still *, html.um-still *::before, html.um-still *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

html.um-contrast body, html.um-contrast body *:not(img):not(video):not(svg):not(svg *):not(iframe) { background-color: #000 !important; color: #fff !important; border-color: #fff !important; text-shadow: none !important; box-shadow: none !important; }
html.um-contrast body :is(section, header, footer, div)::before, html.um-contrast body :is(section, header, footer, div)::after { background: none !important; }
html.um-contrast body a, html.um-contrast body a * { color: #ffeb3b !important; }
html.um-contrast .um-a11y-opt[aria-pressed="true"] { outline: 2px solid #ffeb3b; }

@media (max-width: 575px) {
    .um-a11y { inset-inline-start: 12px; bottom: 12px; }
    .um-a11y-fab { width: 44px; height: 44px; font-size: 22px; }
    .um-a11y-feedback { width: 38px; height: 38px; margin-inline-start: 3px; }
}
@media print { .um-a11y { display: none; } }

/* WCAG 2.5.8 — منطقة ضغط 24px لنقاط الكاروسيل دون تغيير شكلها الظاهر:
   padding شفاف يوسّع الهدف، وmargin سالبة بنفس القيمة تُبقي مواضع النقاط كما هي */
.owl-carousel .owl-dots button.owl-dot,
.owl-dots .owl-dot {
    padding: 8px !important; /* owl core يفرض padding:0 !important */
    margin: -8px;
    position: relative;
    z-index: 1;
}
