[data-theme="contrast"] body {
    background-color: var(--color-bg);
}

.highlight-link a {
    color: var(--color-highlight) !important;
}

 .accessibility-toggle {
    font-size: 0.85em;
     background: transparent;
     border: none;
     padding: 0;
     padding-right: 20px;
     margin-right: 20px;
     border-right: 1px solid rgba(255, 255, 255, 0.3);
     cursor: pointer;
     color: var(--color-link);
     -webkit-transition: all 0.3s ease-in-out;
     transition: all 0.3s ease-in-out;
 }

 .accessibility-toggle:hover{
    color: var(--color-brand-primary);
 }

 [data-theme="contrast"] .accommodation-card::before {
    background: linear-gradient(to top, rgb(28 28 28 / 90%) 0%, rgb(23 23 23 / 70%) 30%, rgb(30 30 30 / 0%) 60%);
 }

 /* Same click/open effect as language dropdown: plus when closed, minus when open */
 .accessibility-toggle .plus-icon {
     display: inline-block;
 }

 .accessibility-toggle .minus-icon {
     display: none;
 }

 .accessibility-toggle[aria-expanded="true"] .plus-icon {
     display: none;
 }

 .accessibility-toggle[aria-expanded="true"] .minus-icon {
     display: inline-block;
 }

 .accessibility-toggle img {
     width: 30px;
 }

 /* Accessibility panel - same transition as .dropdown-menu.dropdown-content */
 .accessibility-panel {
     position: absolute;
     top: 100%;
     right: 0;
     background: var(--color-bg);
     width: 300px;
     z-index: 2;
     margin-top: 5px;
     box-shadow: 0px 20px 35px rgb(0 0 0 / 8%);
     opacity: 0;
     visibility: hidden;
     transform: translateY(-10px);
     pointer-events: none;
     transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, transform 0.3s ease-in-out;
 }

 .accessibility-panel.show {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
     pointer-events: auto;
 }

 .accessibility-btn {
     display: flex;
     flex-wrap: wrap;
     gap: 15px;
     padding: 15px;
 }

 .accessibility-btn button {
     padding: 12px;
     height: 100px;
     flex: calc(50% - 8px);
     cursor: pointer;
     border: 1px solid var(--color-border);
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     font-size: 0.85em;
     line-height: 18px;
     letter-spacing: 0.2px;
     background: transparent;
     gap: 10px;
     color: var(--color-text-heading);
 }

 .accessibility-btn button:hover {
     border-color: var(--color-text-heading);
 }

 .accessibility-btn button i {
     font-size: 1.6em;
 }

 .accessibility-btn button.active {
     border-color: var(--color-text-heading);
 }


 .accessibility-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     background-color: var(--color-top-header);
     color: var(--color-link);
     padding: 15px;
 }

 .accessibility-header h5 {
     color: var(--color-link);
     font-size: 1.2em;
     margin-bottom: 0;
 }

 .accessibility-header button {
     background-color: var(--color-bg);
     height: 30px;
     width: 30px;
     border: none;
     color: var(--color-text-heading);
 }

 .accessibility-footer {
     padding: 0 15px 15px;
 }

 .accessibility-footer button {
     width: 100%;
     background-color: var(--color-bg);
     padding: 12px 15px;
     border: 1px solid var(--color-text-heading);
     font-size: 13px;
     letter-spacing: 0.4px;
     outline: none;
     color: var(--color-text-heading);
 }

 /* Accessibility styles (to be toggled) */
 /* .high-contrast {
     background-color: var(--black-color);
     color: var(--white-color);
 } */

 /* if black logo otherwise remove filter */
 /* .high-contrast .nav-divider-lines span {
     background-color: var(--white-color);
 } */

 .large-font {
     font-size: 1.1em;
 }

 .large-cursor body {
     cursor: url("../img/cursor-dark.svg") 4 4, auto;
 }

[data-theme="contrast"].large-cursor body {
     cursor: url("../img/cursor-white.svg") 4 4, auto;
 }