/* Explain: Base reset and typography defaults */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

/* Ensure consistent RTL utility for icons if needed */
[dir="rtl"] .rtl-flip {
    transform: scaleX(-1);
}

/* Accessibility modifiers */
html.high-contrast header,
html.high-contrast main,
html.high-contrast footer {
    filter: contrast(130%) brightness(1.1);
}
html.a11y-monochrome header,
html.a11y-monochrome main,
html.a11y-monochrome footer {
    filter: grayscale(100%);
}
html.high-contrast.a11y-monochrome header,
html.high-contrast.a11y-monochrome main,
html.high-contrast.a11y-monochrome footer {
    filter: grayscale(100%) contrast(130%) brightness(1.1);
}
html.highlight-links a {
    text-decoration: underline !important;
    text-decoration-thickness: 3px !important;
    text-decoration-color: #ff0000 !important;
    font-weight: bold !important;
}
html.a11y-readable-font * {
    font-family: Arial, Helvetica, sans-serif !important;
}
html.a11y-stop-animations,
html.a11y-stop-animations * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}
html.a11y-big-cursor,
html.a11y-big-cursor *,
html.a11y-big-cursor a,
html.a11y-big-cursor button {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="%23000" stroke="%23fff" stroke-width="2" d="M5.5 3.21V20.8c0 .45.54.67.85.35l4.86-4.86a.5.5 0 0 1 .35-.15h6.84c.45 0 .67-.54.35-.85L5.5 3.21z"/></svg>'), auto !important;
}
