/* ---------- Accessibility menu ---------- */
#a11y-root { position: fixed; left: 20px; bottom: 20px; z-index: 2000; font-family: 'Heebo', 'Inter', sans-serif; direction: rtl; }
.a11y-fab {
    width: 52px; height: 52px; border-radius: 50%; border: none; cursor: pointer;
    background: #1c1c1c; color: #fff; display: grid; place-items: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}
.a11y-fab:focus-visible, #a11y-root button:focus-visible, #a11y-root a:focus-visible,
#cookie-banner button:focus-visible, #cookie-banner a:focus-visible { outline: 3px solid #c5a880; outline-offset: 2px; }
.a11y-panel {
    position: absolute; left: 0; bottom: 64px; width: 300px; max-width: calc(100vw - 40px);
    background: #fff; color: #1c1c1c; border: 1px solid rgba(0,0,0,0.1); border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.18); padding: 1.1rem;
}
.a11y-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.9rem; font-size: 1.05rem; }
.a11y-close { background: none; border: none; font-size: 1.6rem; line-height: 1; cursor: pointer; color: #1c1c1c; }
.a11y-row { display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 0; border-bottom: 1px solid rgba(0,0,0,0.08); margin-bottom: 0.8rem; font-size: 0.95rem; }
.a11y-size { display: flex; align-items: center; gap: 0.6rem; }
.a11y-size button { width: 38px; height: 34px; border: 1px solid rgba(0,0,0,0.15); background: #fafafa; border-radius: 8px; cursor: pointer; font-weight: 500; }
.a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.a11y-opt { padding: 0.7rem 0.5rem; border: 1px solid rgba(0,0,0,0.12); background: #fafafa; border-radius: 10px; cursor: pointer; font-size: 0.88rem; color: #1c1c1c; font-family: inherit; }
.a11y-opt[aria-pressed="true"] { background: #1c1c1c; color: #fff; border-color: #1c1c1c; }
.a11y-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 0.9rem; font-size: 0.9rem; }
.a11y-reset { background: none; border: none; text-decoration: underline; cursor: pointer; font-family: inherit; font-size: 0.9rem; color: #1c1c1c; }
.a11y-foot a { color: #8e6d42; }

/* Applied states (scoped so the widgets themselves are not filtered) */
html.a11y-text-1 { font-size: 115%; }
html.a11y-text-2 { font-size: 130%; }
html.a11y-text-3 { font-size: 150%; }
html[class*="a11y-text-"] .navbar nav a { font-size: 12.8px; }
@media (max-width: 768px) { html[class*="a11y-text-"] .navbar nav a { font-size: 1.15rem; } }
#a11y-root, #cookie-banner { font-size: 16px; }
html.a11y-contrast body > *:not(#a11y-root):not(#cookie-banner) { filter: contrast(1.5); }
html.a11y-contrast p, html.a11y-contrast li, html.a11y-contrast .tech-col-desc, html.a11y-contrast .brand-description { color: #000 !important; }
html.a11y-grayscale body > *:not(#a11y-root):not(#cookie-banner) { filter: grayscale(1); }
html.a11y-contrast.a11y-grayscale body > *:not(#a11y-root):not(#cookie-banner) { filter: grayscale(1) contrast(1.5); }
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px solid #c5a880; outline-offset: 2px; }
html.a11y-readable body, html.a11y-readable body * { font-family: Arial, 'Helvetica Neue', sans-serif !important; letter-spacing: 0.01em !important; }
html.a11y-noanim *, html.a11y-noanim *::before, html.a11y-noanim *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.a11y-cursor, html.a11y-cursor * { cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'><path d='M4 2l16 10-7 1.5L9.5 21z' fill='black' stroke='white' stroke-width='1.2'/></svg>") 4 2, auto !important; }

/* ---------- Cookie notice ---------- */
#cookie-banner {
    position: fixed; right: 20px; left: 92px; bottom: 20px; z-index: 1990; direction: rtl;
    max-width: 720px; margin-right: auto; margin-left: auto;
    background: #fff; color: #1c1c1c; border: 1px solid rgba(0,0,0,0.1); border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.15); padding: 1.1rem 1.4rem;
    display: flex; gap: 1.25rem; align-items: center; justify-content: space-between;
    font-family: 'Heebo', 'Inter', sans-serif; font-size: 0.95rem; font-weight: 300;
    transform: translateY(140%); opacity: 0; transition: transform 0.5s ease, opacity 0.5s ease; pointer-events: none;
}
#cookie-banner.show { transform: none; opacity: 1; pointer-events: auto; }
#cookie-banner p { margin: 0; line-height: 1.7; }
#cookie-banner a { color: #8e6d42; }
.cookie-actions { display: flex; gap: 0.6rem; flex-shrink: 0; }
.cookie-actions button { border-radius: 30px; padding: 0.65rem 1.3rem; cursor: pointer; font-family: inherit; font-size: 0.9rem; letter-spacing: 0.5px; }
.cookie-accept { background: #1c1c1c; color: #fff; border: 1px solid #1c1c1c; }
.cookie-decline { background: #fff; color: #1c1c1c; border: 1px solid rgba(0,0,0,0.2); }

/* ---------- Footer legal links + text pages ---------- */
.footer-legal { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.5rem 1.75rem; list-style: none; margin: -1rem 0 2rem; font-size: 0.85rem; }
.footer-legal a, .link-btn { color: var(--text-muted); text-decoration: none; font-weight: 300; }
.footer-legal a:hover, .link-btn:hover { color: var(--accent-color); }
.link-btn { background: none; border: none; cursor: pointer; font-family: inherit; font-size: inherit; padding: 0; }
.text-page h2 { font-size: 1.35rem; text-align: right; color: var(--text-color) !important; margin: 2.5rem 0 1rem; font-weight: 500; letter-spacing: 0; }
.text-page strong { color: var(--text-color); font-weight: 500; }
.text-page code { background: #f3f0eb; padding: 0.1rem 0.4rem; border-radius: 4px; direction: ltr; unicode-bidi: embed; font-size: 0.9em; }
.text-page .updated { margin-top: 3rem; font-size: 0.9rem; opacity: 0.8; }

@media (max-width: 768px) {
    #a11y-root { left: 15px; bottom: 15px; }
    .a11y-fab { width: 50px; height: 50px; }
    #cookie-banner { left: 12px; right: 12px; bottom: 76px; flex-direction: column; align-items: stretch; padding: 1rem; }
    .cookie-actions button { flex: 1; }
}
