/* ============================================================
   Accessibility Controls — Visual Mode Overrides
   Applied via data-* attributes on <html> element.
   ============================================================ */

/* ------- Accessibility Toolbar Panel ------- */

.accessibility-panel {
    padding: 8px 0 !important;
}

.accessibility-panel .acc-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 8px 16px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-family: 'Rubik', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #212121;
    text-align: left;
    text-transform: capitalize;
    text-decoration: none;
    transition: 0.4s ease;
    line-height: 1.4;
    white-space: nowrap;
}

.accessibility-panel .acc-option:hover,
.accessibility-panel .acc-option:focus-visible {
    background: var(--colorAccent);
    color: white;
}

.accessibility-panel .acc-option:hover .acc-icon,
.accessibility-panel .acc-option:focus-visible .acc-icon {
    color: white;
    border-color: white;
}

.accessibility-panel .acc-option.active {
    background: rgba(56, 76, 142, 0.08);
    font-weight: 600;
}

.accessibility-panel .acc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    font-size: 16px;
    color: #444;
    transition: color 0.2s ease;
}

.accessibility-panel .acc-icon.text-icon {
    font-weight: 700;
    font-size: 18px;
    font-family: var(--main-font);
}

.accessibility-panel .acc-divider {
    height: 1px;
    background: var(--divider);
    margin: 4px 0;
}

.accessibility-panel .acc-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999;
    padding: 8px 16px 2px;
    pointer-events: none;
}

[data-theme='dark'] .accessibility-panel .acc-option {
    color: white;
}

[data-theme='dark'] .accessibility-panel .acc-icon {
    color: #ccc;
}

[data-theme='dark'] .accessibility-panel .acc-option.active {
    background: rgba(142, 176, 240, 0.12);
}

[data-theme='dark'] .accessibility-panel .acc-label {
    color: #777;
}

/* ------- 1. Greyscale ------- */

[data-acc-greyscale="true"] {
    filter: grayscale(100%) !important;
}

/* ------- 2. High Contrast ------- */

[data-acc-high-contrast="true"] {
    filter: contrast(1.75) !important;
}

/* Logo — swap to white/dark version */
[data-acc-high-contrast="true"] .toolbar_root #dark_logo {
    display: block !important;
}

[data-acc-high-contrast="true"] .toolbar_root #light_logo {
    display: none !important;
}

[data-acc-high-contrast="true"] .footer_logo.light {
    display: none !important;
}

[data-acc-high-contrast="true"] .footer_logo.dark {
    display: flex !important;
}

/* Backgrounds */
[data-acc-high-contrast="true"] body,
[data-acc-high-contrast="true"] .base_margin,
[data-acc-high-contrast="true"] .toolbar_root,
[data-acc-high-contrast="true"] .footer_wrapper,
[data-acc-high-contrast="true"] .download_app_section_wrapper,
[data-acc-high-contrast="true"] .testimonial_section_wrapper,
[data-acc-high-contrast="true"] .footer_updates_section,
[data-acc-high-contrast="true"] .footer_useful_links_wrapper,
[data-acc-high-contrast="true"] .faq_content_wrapper,
[data-acc-high-contrast="true"] .faq_group_wrapper,
[data-acc-high-contrast="true"] .static_content_wrapper,
[data-acc-high-contrast="true"] .form_container,
[data-acc-high-contrast="true"] .tab_content_link,
[data-acc-high-contrast="true"] .side_navigation,
[data-acc-high-contrast="true"] .toolbar_dropdown_content,
[data-acc-high-contrast="true"] .toolbar_dropdown_content.small,
[data-acc-high-contrast="true"] .service_feature_wrapper,
[data-acc-high-contrast="true"] .invest_section_item_wrapper,
[data-acc-high-contrast="true"] .testimonial_slide_wrapper,
[data-acc-high-contrast="true"] .about_us_page_section_wrapper {
    background-color: #000 !important;
    background-image: none !important;
}

/* All text content — white */
[data-acc-high-contrast="true"] p,
[data-acc-high-contrast="true"] span,
[data-acc-high-contrast="true"] li,
[data-acc-high-contrast="true"] td,
[data-acc-high-contrast="true"] th,
[data-acc-high-contrast="true"] label,
[data-acc-high-contrast="true"] strong,
[data-acc-high-contrast="true"] em,
[data-acc-high-contrast="true"] b,
[data-acc-high-contrast="true"] h1,
[data-acc-high-contrast="true"] h2,
[data-acc-high-contrast="true"] h3,
[data-acc-high-contrast="true"] h4,
[data-acc-high-contrast="true"] h5,
[data-acc-high-contrast="true"] h6,
[data-acc-high-contrast="true"] .page_heading,
[data-acc-high-contrast="true"] .page_sub_heading,
[data-acc-high-contrast="true"] .footer_heading,
[data-acc-high-contrast="true"] .footer_link,
[data-acc-high-contrast="true"] .footer_copyright_text,
[data-acc-high-contrast="true"] .faq_content_wrapper .title,
[data-acc-high-contrast="true"] .faq_wrapper .question_wrapper,
[data-acc-high-contrast="true"] .faq_wrapper.active .faq_answer_wrapper,
[data-acc-high-contrast="true"] .static_content_wrapper p,
[data-acc-high-contrast="true"] .static_content_wrapper li,
[data-acc-high-contrast="true"] .static_content_wrapper h2,
[data-acc-high-contrast="true"] .static_content_wrapper h3,
[data-acc-high-contrast="true"] .solution_section_item_wrapper .title,
[data-acc-high-contrast="true"] .solution_section_item_wrapper p,
[data-acc-high-contrast="true"] .testimonial_slide_wrapper .testimonial_text,
[data-acc-high-contrast="true"] .testimonial_slide_wrapper .client_name,
[data-acc-high-contrast="true"] .form_container span,
[data-acc-high-contrast="true"] .form_container p,
[data-acc-high-contrast="true"] .side_navigation_content .heading,
[data-acc-high-contrast="true"] button {
    color: #fff !important;
}

/* Dropdown menu items — unified style for all dropdown panels */
[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item span,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option {
    color: #fff !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-icon {
    color: #fff !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item:hover,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item:hover span,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:hover,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:focus-visible {
    background: #ffff00 !important;
    color: #000 !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:hover .acc-icon,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:hover .acc-icon i,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:hover .acc-icon [class*="fa-"],
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:hover span,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:focus-visible .acc-icon,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:focus-visible .acc-icon i,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:focus-visible .acc-icon [class*="fa-"],
[data-acc-high-contrast="true"] .toolbar_dropdown_content .acc-option:focus-visible span,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item:hover i,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item:hover span {
    color: #000 !important;
}

[data-acc-high-contrast="true"] .accessibility-panel .acc-divider {
    background: #555 !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item {
    border-bottom: 1px solid #333 !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item:last-child {
    border-bottom: none !important;
}

/* All icons — white (Font Awesome + generic icon class) */
[data-acc-high-contrast="true"] i,
[data-acc-high-contrast="true"] i.fas,
[data-acc-high-contrast="true"] i.far,
[data-acc-high-contrast="true"] i.fab,
[data-acc-high-contrast="true"] i.fa,
[data-acc-high-contrast="true"] .toolbar_icon,
[data-acc-high-contrast="true"] .toolbar_icon i,
[data-acc-high-contrast="true"] .carousal_nav_btn,
[data-acc-high-contrast="true"] .footer_social_link,
[data-acc-high-contrast="true"] .close-icon,
[data-acc-high-contrast="true"] .faq_content_wrapper .icon,
[data-acc-high-contrast="true"] [class*="fa-"] {
    color: #fff !important;
}

/* Links & nav items — high visibility yellow */
[data-acc-high-contrast="true"] a,
[data-acc-high-contrast="true"] a span,
[data-acc-high-contrast="true"] .drawer_item,
[data-acc-high-contrast="true"] .drawer_item span,
[data-acc-high-contrast="true"] .footer_link,
[data-acc-high-contrast="true"] .solution_section_item_wrapper a,
[data-acc-high-contrast="true"] .borderless_button,
[data-acc-high-contrast="true"] .static_content_wrapper a,
[data-acc-high-contrast="true"] .tab_content_link a,
[data-acc-high-contrast="true"] .breadcrumb_nav a {
    color: #ffff00 !important;
}

/* Top-bar nav menu items — yellow */
[data-acc-high-contrast="true"] nav > div > .menu_item,
[data-acc-high-contrast="true"] nav > div > .menu_item span,
[data-acc-high-contrast="true"] nav > div > .toolbar_dropdown_container > .menu_item,
[data-acc-high-contrast="true"] nav > div > .toolbar_dropdown_container > .menu_item span,
[data-acc-high-contrast="true"] nav > div > .toolbar_dropdown_container > span.menu_item {
    color: #ffff00 !important;
}

/* Override: dropdown INNER menu items — white (not yellow) */
[data-acc-high-contrast="true"] .toolbar_dropdown_content.small .menu_item,
[data-acc-high-contrast="true"] .toolbar_dropdown_content.small .menu_item span {
    color: #fff !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content.small .menu_item:hover,
[data-acc-high-contrast="true"] .toolbar_dropdown_content.small .menu_item:hover span {
    background: #ffff00 !important;
    color: #000 !important;
}

/* Keep primary header link white on accent bg */
[data-acc-high-contrast="true"] .primary_header a {
    color: #fff !important;
}

/* Buttons — visible borders and text */
[data-acc-high-contrast="true"] .accent_button {
    background: #ffff00 !important;
    color: #000 !important;
    border: 2px solid #ffff00 !important;
}

[data-acc-high-contrast="true"] .bordered_accent_button {
    border-color: #ffff00 !important;
    color: #ffff00 !important;
}

[data-acc-high-contrast="true"] .bordered_accent_button:hover {
    background: #ffff00 !important;
    color: #000 !important;
}

[data-acc-high-contrast="true"] .carousal_nav_btn {
    border-color: #fff !important;
}

[data-acc-high-contrast="true"] .carousal_nav_btn:hover {
    background: #fff !important;
    color: #000 !important;
}

/* Social links — white borders */
[data-acc-high-contrast="true"] .footer_social_link {
    border-color: #fff !important;
}

[data-acc-high-contrast="true"] .footer_social_link:hover {
    background-color: #ffff00 !important;
    color: #000 !important;
    border-color: #ffff00 !important;
}

/* Toolbar menu items hover — keep visible */
[data-acc-high-contrast="true"] .toolbar_root > nav > div > .menu_item:hover,
[data-acc-high-contrast="true"] .toolbar_root > nav > div > .menu_item:hover span {
    background-color: #ffff00 !important;
    color: #000 !important;
}

/* Side drawer items hover */
[data-acc-high-contrast="true"] .drawer_item:hover,
[data-acc-high-contrast="true"] .drawer_item:hover span {
    background-color: #ffff00 !important;
    color: #000 !important;
}

/* Borders for separation */
[data-acc-high-contrast="true"] .toolbar_root {
    box-shadow: 0 2px 0 #fff !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content,
[data-acc-high-contrast="true"] .toolbar_dropdown_content.small {
    border: 1px solid #fff !important;
}

/* Form inputs */
[data-acc-high-contrast="true"] .form_container input,
[data-acc-high-contrast="true"] .input_field,
[data-acc-high-contrast="true"] .form_container textarea {
    background: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}

/* Tables */
[data-acc-high-contrast="true"] .about_us_table td,
[data-acc-high-contrast="true"] .open_ipo_table td {
    background: #000 !important;
    color: #fff !important;
    border-color: #555 !important;
}

[data-acc-high-contrast="true"] .about_us_table th,
[data-acc-high-contrast="true"] .open_ipo_table th {
    background: #333 !important;
    color: #fff !important;
}

[data-acc-high-contrast="true"] .static_content_wrapper tr:nth-child(even) {
    background: #111 !important;
}

[data-acc-high-contrast="true"] .static_content_wrapper th,
[data-acc-high-contrast="true"] .static_content_wrapper td {
    border-color: #555 !important;
    color: #fff !important;
}

/* Store download buttons */
[data-acc-high-contrast="true"] .store_download_button {
    background: #111 !important;
    border: 1px solid #fff !important;
}

[data-acc-high-contrast="true"] .store_download_button span {
    color: #fff !important;
}

/* Scroll-to-top & WhatsApp FAB */
[data-acc-high-contrast="true"] #scroll_top_button {
    background: #ffff00 !important;
    color: #000 !important;
}

[data-acc-high-contrast="true"] #scroll_top_button i {
    color: #000 !important;
}

/* Solution count badge */
[data-acc-high-contrast="true"] .solution_section_item_wrapper .count {
    background: #333 !important;
    color: #fff !important;
}

/* Skip link */
[data-acc-high-contrast="true"] .skip-link {
    background: #ffff00 !important;
    color: #000 !important;
}

/* Focus outlines */
[data-acc-high-contrast="true"] *:focus-visible {
    outline-color: #ffff00 !important;
}

/* Images */
[data-acc-high-contrast="true"] img {
    filter: contrast(1.2) brightness(0.9);
}

/* Final hover overrides — must come last to win specificity battles */
[data-acc-high-contrast="true"] .accessibility-panel .acc-option:hover,
[data-acc-high-contrast="true"] .accessibility-panel .acc-option:hover *,
[data-acc-high-contrast="true"] .accessibility-panel .acc-option:focus-visible,
[data-acc-high-contrast="true"] .accessibility-panel .acc-option:focus-visible * {
    color: #000 !important;
}

[data-acc-high-contrast="true"] .toolbar_dropdown_content.small .menu_item:hover,
[data-acc-high-contrast="true"] .toolbar_dropdown_content.small .menu_item:hover *,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item:hover,
[data-acc-high-contrast="true"] .toolbar_dropdown_content .menu_item:hover * {
    color: #000 !important;
}

/* ------- 3. Low Contrast ------- */

[data-acc-low-contrast="true"] {
    filter: contrast(0.6) !important;
}

/* ------- 4. Light Background ------- */

[data-acc-light-bg="true"] body,
[data-acc-light-bg="true"] .base_margin,
[data-acc-light-bg="true"] .toolbar_root,
[data-acc-light-bg="true"] .footer_wrapper,
[data-acc-light-bg="true"] .download_app_section_wrapper,
[data-acc-light-bg="true"] .testimonial_section_wrapper,
[data-acc-light-bg="true"] .section_wrapper,
[data-acc-light-bg="true"] .invest_section_item_wrapper,
[data-acc-light-bg="true"] .faq_content_wrapper,
[data-acc-light-bg="true"] .static_content_wrapper,
[data-acc-light-bg="true"] .form_container,
[data-acc-light-bg="true"] .service_feature_wrapper,
[data-acc-light-bg="true"] .testimonial_slide_wrapper,
[data-acc-light-bg="true"] .footer_updates_section,
[data-acc-light-bg="true"] .footer_useful_links_wrapper,
[data-acc-light-bg="true"] .toolbar_dropdown_content,
[data-acc-light-bg="true"] .toolbar_dropdown_content.small,
[data-acc-light-bg="true"] .side_navigation,
[data-acc-light-bg="true"] .tab_content_link,
[data-acc-light-bg="true"] .faq_group_wrapper {
    background-color: #fffef5 !important;
    background-image: none !important;
}

[data-acc-light-bg="true"] .primary_header {
    background: var(--colorAccent) !important;
}

[data-acc-light-bg="true"] p,
[data-acc-light-bg="true"] span,
[data-acc-light-bg="true"] li,
[data-acc-light-bg="true"] td,
[data-acc-light-bg="true"] th,
[data-acc-light-bg="true"] label,
[data-acc-light-bg="true"] h1,
[data-acc-light-bg="true"] h2,
[data-acc-light-bg="true"] h3,
[data-acc-light-bg="true"] h4,
[data-acc-light-bg="true"] h5,
[data-acc-light-bg="true"] h6,
[data-acc-light-bg="true"] .page_heading,
[data-acc-light-bg="true"] .menu_item,
[data-acc-light-bg="true"] .drawer_item,
[data-acc-light-bg="true"] .footer_heading,
[data-acc-light-bg="true"] .footer_link,
[data-acc-light-bg="true"] .footer_copyright_text {
    color: #1a1a1a !important;
}

[data-acc-light-bg="true"] a {
    color: #003399 !important;
}

[data-acc-light-bg="true"] .primary_header a {
    color: white !important;
}

/* ------- 4b. Dark Background ------- */

[data-acc-dark-bg="true"] body,
[data-acc-dark-bg="true"] .base_margin,
[data-acc-dark-bg="true"] .toolbar_root,
[data-acc-dark-bg="true"] .footer_wrapper,
[data-acc-dark-bg="true"] .download_app_section_wrapper,
[data-acc-dark-bg="true"] .testimonial_section_wrapper,
[data-acc-dark-bg="true"] .section_wrapper,
[data-acc-dark-bg="true"] .invest_section_item_wrapper,
[data-acc-dark-bg="true"] .faq_content_wrapper,
[data-acc-dark-bg="true"] .faq_group_wrapper,
[data-acc-dark-bg="true"] .static_content_wrapper,
[data-acc-dark-bg="true"] .form_container,
[data-acc-dark-bg="true"] .service_feature_wrapper,
[data-acc-dark-bg="true"] .testimonial_slide_wrapper,
[data-acc-dark-bg="true"] .footer_updates_section,
[data-acc-dark-bg="true"] .footer_useful_links_wrapper,
[data-acc-dark-bg="true"] .toolbar_dropdown_content,
[data-acc-dark-bg="true"] .toolbar_dropdown_content.small,
[data-acc-dark-bg="true"] .side_navigation,
[data-acc-dark-bg="true"] .tab_content_link,
[data-acc-dark-bg="true"] .about_us_page_section_wrapper {
    background-color: #1a1a2e !important;
    background-image: none !important;
}

[data-acc-dark-bg="true"] .primary_header {
    background: #0f0f1a !important;
}

[data-acc-dark-bg="true"] p,
[data-acc-dark-bg="true"] span,
[data-acc-dark-bg="true"] li,
[data-acc-dark-bg="true"] td,
[data-acc-dark-bg="true"] th,
[data-acc-dark-bg="true"] label,
[data-acc-dark-bg="true"] strong,
[data-acc-dark-bg="true"] em,
[data-acc-dark-bg="true"] b,
[data-acc-dark-bg="true"] h1,
[data-acc-dark-bg="true"] h2,
[data-acc-dark-bg="true"] h3,
[data-acc-dark-bg="true"] h4,
[data-acc-dark-bg="true"] h5,
[data-acc-dark-bg="true"] h6,
[data-acc-dark-bg="true"] .page_heading,
[data-acc-dark-bg="true"] .page_sub_heading,
[data-acc-dark-bg="true"] .menu_item,
[data-acc-dark-bg="true"] .menu_item span,
[data-acc-dark-bg="true"] .drawer_item,
[data-acc-dark-bg="true"] .drawer_item span,
[data-acc-dark-bg="true"] .footer_heading,
[data-acc-dark-bg="true"] .footer_link,
[data-acc-dark-bg="true"] .footer_copyright_text,
[data-acc-dark-bg="true"] .faq_content_wrapper .title,
[data-acc-dark-bg="true"] .faq_wrapper .question_wrapper,
[data-acc-dark-bg="true"] .solution_section_item_wrapper .title,
[data-acc-dark-bg="true"] .solution_section_item_wrapper p,
[data-acc-dark-bg="true"] .testimonial_slide_wrapper .testimonial_text,
[data-acc-dark-bg="true"] .testimonial_slide_wrapper .client_name,
[data-acc-dark-bg="true"] .form_container span,
[data-acc-dark-bg="true"] .form_container p,
[data-acc-dark-bg="true"] .side_navigation_content .heading,
[data-acc-dark-bg="true"] button,
[data-acc-dark-bg="true"] .borderless_button {
    color: #e0e0e0 !important;
}

[data-acc-dark-bg="true"] i,
[data-acc-dark-bg="true"] .toolbar_icon,
[data-acc-dark-bg="true"] .carousal_nav_btn,
[data-acc-dark-bg="true"] .footer_social_link,
[data-acc-dark-bg="true"] [class*="fa-"] {
    color: #e0e0e0 !important;
}

[data-acc-dark-bg="true"] a {
    color: #8eb0f0 !important;
}

[data-acc-dark-bg="true"] .primary_header a {
    color: #fff !important;
}

/* Swap to white logo */
[data-acc-dark-bg="true"] .toolbar_root #dark_logo {
    display: block !important;
}

[data-acc-dark-bg="true"] .toolbar_root #light_logo {
    display: none !important;
}

[data-acc-dark-bg="true"] .footer_logo.light {
    display: none !important;
}

[data-acc-dark-bg="true"] .footer_logo.dark {
    display: flex !important;
}

/* Borders & inputs */
[data-acc-dark-bg="true"] .carousal_nav_btn {
    border-color: #e0e0e0 !important;
}

[data-acc-dark-bg="true"] .footer_social_link {
    border-color: #e0e0e0 !important;
}

[data-acc-dark-bg="true"] .bordered_accent_button {
    border-color: #8eb0f0 !important;
    color: #8eb0f0 !important;
}

[data-acc-dark-bg="true"] .form_container input,
[data-acc-dark-bg="true"] .input_field,
[data-acc-dark-bg="true"] .form_container textarea {
    background: #111126 !important;
    color: #e0e0e0 !important;
    border-color: #555 !important;
}

[data-acc-dark-bg="true"] .toolbar_dropdown_content,
[data-acc-dark-bg="true"] .toolbar_dropdown_content.small {
    border: 1px solid #333 !important;
}

[data-acc-dark-bg="true"] .toolbar_root {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

[data-acc-dark-bg="true"] .solution_section_item_wrapper .count {
    background: #2a2a4a !important;
    color: #e0e0e0 !important;
}

[data-acc-dark-bg="true"] .about_us_table td,
[data-acc-dark-bg="true"] .open_ipo_table td,
[data-acc-dark-bg="true"] .static_content_wrapper td,
[data-acc-dark-bg="true"] .static_content_wrapper th {
    background: #111126 !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

[data-acc-dark-bg="true"] .about_us_table th,
[data-acc-dark-bg="true"] .open_ipo_table th {
    background: #2a2a4a !important;
    color: #fff !important;
}

[data-acc-dark-bg="true"] .store_download_button {
    border: 1px solid #555 !important;
}

/* ------- 5. Link Underline ------- */

[data-acc-link-underline="true"] a {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

[data-acc-link-underline="true"] a:hover,
[data-acc-link-underline="true"] a:focus {
    text-decoration-thickness: 2px !important;
}

/* ------- 6. Readable Font ------- */

[data-acc-readable-font="true"] *,
[data-acc-readable-font="true"] h1,
[data-acc-readable-font="true"] h2,
[data-acc-readable-font="true"] h3,
[data-acc-readable-font="true"] h4,
[data-acc-readable-font="true"] h5,
[data-acc-readable-font="true"] h6,
[data-acc-readable-font="true"] p,
[data-acc-readable-font="true"] span,
[data-acc-readable-font="true"] a,
[data-acc-readable-font="true"] li,
[data-acc-readable-font="true"] td,
[data-acc-readable-font="true"] th,
[data-acc-readable-font="true"] label,
[data-acc-readable-font="true"] input,
[data-acc-readable-font="true"] textarea,
[data-acc-readable-font="true"] select,
[data-acc-readable-font="true"] button {
    font-family: Verdana, Geneva, Tahoma, sans-serif !important;
    letter-spacing: 0.02em;
    word-spacing: 0.08em;
}

[data-acc-readable-font="true"] p,
[data-acc-readable-font="true"] li,
[data-acc-readable-font="true"] td,
[data-acc-readable-font="true"] span {
    line-height: 1.8 !important;
}

/* ------- 7. Page Zoom ------- */

[data-acc-zoom="0.8"] body {
    zoom: 0.8;
}

[data-acc-zoom="0.9"] body {
    zoom: 0.9;
}

[data-acc-zoom="1"] body {
    zoom: 1;
}

[data-acc-zoom="1.1"] body {
    zoom: 1.1;
}

[data-acc-zoom="1.2"] body {
    zoom: 1.2;
}

[data-acc-zoom="1.3"] body {
    zoom: 1.3;
}

[data-acc-zoom="1.5"] body {
    zoom: 1.5;
}

@supports not (zoom: 1) {
    [data-acc-zoom="0.8"] body {
        transform: scale(0.8);
        transform-origin: top left;
        width: calc(100% / 0.8);
    }
    [data-acc-zoom="0.9"] body {
        transform: scale(0.9);
        transform-origin: top left;
        width: calc(100% / 0.9);
    }
    [data-acc-zoom="1.1"] body {
        transform: scale(1.1);
        transform-origin: top left;
        width: calc(100% / 1.1);
    }
    [data-acc-zoom="1.2"] body {
        transform: scale(1.2);
        transform-origin: top left;
        width: calc(100% / 1.2);
    }
    [data-acc-zoom="1.3"] body {
        transform: scale(1.3);
        transform-origin: top left;
        width: calc(100% / 1.3);
    }
    [data-acc-zoom="1.5"] body {
        transform: scale(1.5);
        transform-origin: top left;
        width: calc(100% / 1.5);
    }
}

/* ------- 8. Font Size Scale ------- */

[data-acc-font-scale] p,
[data-acc-font-scale] span,
[data-acc-font-scale] a,
[data-acc-font-scale] li,
[data-acc-font-scale] td,
[data-acc-font-scale] th,
[data-acc-font-scale] label,
[data-acc-font-scale] h1,
[data-acc-font-scale] h2,
[data-acc-font-scale] h3,
[data-acc-font-scale] h4,
[data-acc-font-scale] h5,
[data-acc-font-scale] h6 {
    transition: font-size 0.15s ease;
}

/* ------- Filter Combination Support ------- */

[data-acc-greyscale="true"][data-acc-high-contrast="true"] {
    filter: grayscale(100%) contrast(1.75) !important;
}

[data-acc-greyscale="true"][data-acc-low-contrast="true"] {
    filter: grayscale(100%) contrast(0.6) !important;
}

/* ------- Print: disable all accessibility filters ------- */

@media print {
    html[data-acc-greyscale],
    html[data-acc-high-contrast],
    html[data-acc-low-contrast] {
        filter: none !important;
    }

    html[data-acc-zoom] body {
        zoom: 1 !important;
        transform: none !important;
        width: 100% !important;
    }
}
