/* High contrast mode with light backgrounds and dark text */
.high-contrast {
    --base-bg-color: #FFF; /* White background */
    --base-text-color: #000; /* Black text */
    --link-color: #000; /* Black for links */
    --outline-color: #000; /* Black outline for emphasis */
    --highlight-bg-color: #EEE; /* Light gray for subtle highlights */
}

/* General page styling */
.high-contrast, 
.high-contrast * {
    background-color: var(--base-bg-color) !important;
    color: var(--base-text-color) !important;
    border-color: var(--base-text-color) !important;
}

/* Ensure images and media retain original colors */
.inverted-colors img,
.inverted-colors video,
.inverted-colors iframe,
.inverted-colors svg {
    filter: invert(1) hue-rotate(180deg) !important;
}

/* Links */
.high-contrast a {
    color: var(--link-color) !important;
    text-decoration: underline; /* Simple underline for differentiation */
    font-weight: bold;
}

/* Buttons and interactive elements */
.high-contrast button,
.high-contrast input[type="button"],
.high-contrast input[type="submit"] {
    background-color: var(--highlight-bg-color) !important;
    color: var(--base-text-color) !important;
    border: 2px solid var(--outline-color) !important;
    font-size: 1.1em; /* Slightly larger for readability */
}

/* Form elements */
.high-contrast input,
.high-contrast textarea,
.high-contrast select {
    background-color: var(--base-bg-color) !important;
    color: var(--base-text-color) !important;
    border: 2px solid var(--outline-color) !important;
    padding: 4px;
}

/* Headings and common text elements */
.high-contrast h1, 
.high-contrast h2, 
.high-contrast h3, 
.high-contrast h4, 
.high-contrast h5, 
.high-contrast h6,
.high-contrast p,
.high-contrast span,
.high-contrast li,
.high-contrast div {
    color: var(--base-text-color) !important;
}

/* Focus states */
.high-contrast input:focus,
.high-contrast textarea:focus,
.high-contrast select:focus,
.high-contrast a:focus,
.high-contrast button:focus {
    outline: 2px solid var(--outline-color) !important;
}

/* List items with simple markers */
.high-contrast li {
    list-style-type: disc; /* Simple disc marker */
    margin-left: 20px; /* Indentation for clarity */
}

/* Emphasized text with italic and bold */
.high-contrast em,
.high-contrast i {
    font-style: italic;
    font-weight: bold; /* Ensure differentiation */
}

/* Specific differentiation for table elements */
.high-contrast table {
    border-collapse: collapse;
    border: 2px solid var(--base-text-color) !important;
}

.high-contrast th, 
.high-contrast td {
    border: 1px solid var(--base-text-color) !important;
    padding: 8px;
    background-color: var(--highlight-bg-color) !important;
    color: var(--base-text-color) !important;
}

.high-contrast svg path {
    /* background-color: black !important; */
    fill: black;
}