/* ========================================
   ACCESSIBILITY FEATURES CSS
   ======================================== */
:root
{
    /* Base values */
    --zw-accessbar-text-size: 1.125rem;
    --zw-accessbar-line-height: 1.25;

    /* Font sizes for headings */
    --zw-accessbar-h1-size: calc(var(--zw-accessbar-text-size) * 4);
    --zw-accessbar-h2-size: calc(var(--zw-accessbar-text-size) * 2);
    --zw-accessbar-h3-size: calc(var(--zw-accessbar-text-size) * 1.5);
    --zw-accessbar-h4-size: calc(var(--zw-accessbar-text-size) * 1.25);
    --zw-accessbar-h5-size: calc(var(--zw-accessbar-text-size) * 1.1);
    --zw-accessbar-h6-size: calc(var(--zw-accessbar-text-size) * 1);

    /* Readable font family */
    --zw-accessbar-readable-font: Arial, Helvetica, sans-serif;

    /* High contrast mode colors */
    --zw-high-contrast-text: #ffffff;
    --zw-high-contrast-bg: #000000;
    --zw-high-contrast-border: 2px dotted #ffffff;
    --zw-high-contrast-outline: 1px solid #000000;

    /* Night mode colors */
    --zw-night-mode-text: #E0E0E0;
    --zw-night-mode-link: #3498db;
    --zw-night-mode-bg: #121212;

    /* Focus outline */
    --zw-focus-outline: 2px dashed #3498db;

    /* Skip link styling */
    --zw-skip-link-bg: #000;
    --zw-skip-link-text: #fff;
    --zw-skip-link-hover-bg: #333;
    --zw-skip-link-font: 'Roboto', sans-serif;
    --zw-skip-link-font-size: 18px;
    --zw-skip-link-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    --zw-skip-link-border-radius: 8px;
}

/* Text size adjustment */
.zw-text-adjust body p,
.zw-text-adjust body div,
.zw-text-adjust body li,
.zw-text-adjust body td,
.zw-text-adjust body span,
.zw-text-adjust body a,
.zw-text-adjust legend
{
    font-size: var(--zw-accessbar-text-size) !important;
}

/* Headings with specific scaling */
.zw-text-adjust body h1
{
    font-size: var(--zw-accessbar-h1-size) !important;
}

.zw-text-adjust body h2
{
    font-size: var(--zw-accessbar-h2-size) !important;
}

.zw-text-adjust body h3
{
    font-size: var(--zw-accessbar-h3-size) !important;
}

.zw-text-adjust body h4
{
    font-size: var(--zw-accessbar-h4-size) !important;
}

.zw-text-adjust body h5
{
    font-size: var(--zw-accessbar-h5-size) !important;
}

.zw-text-adjust body h6
{
    font-size: var(--zw-accessbar-h6-size) !important;
}

.zw-text-adjust input[type="text"]::placeholder,
.zw-text-adjust input[type="email"]::placeholder,
.zw-text-adjust input[type="tel"]::placeholder,
.zw-text-adjust select::placeholder,
.zw-text-adjust textarea::placeholder,
.zw-text-adjust label
{
    font-size: var(--zw-accessbar-text-size) !important;
}


/* Line height adjustment */
.zw-line-height body p,
.zw-line-height body div,
.zw-line-height body li,
.zw-line-height body td,
.zw-line-height body h1,
.zw-line-height body h2,
.zw-line-height body h3,
.zw-line-height body h4,
.zw-line-height body h5,
.zw-line-height body h6,
.zw-line-height body span,
.zw-line-height legend
{
    line-height: var(--zw-accessbar-line-height) !important;
}

.zw-line-height input[type="text"]::placeholder,
.zw-line-height input[type="email"]::placeholder,
.zw-line-height input[type="tel"]::placeholder,
.zw-line-height select::placeholder,
.zw-line-height textarea::placeholder,
.zw-line-height label
{
    line-height: var(--zw-accessbar-line-height) !important;
}


/* Readable font */
.zw-readable-font body:not(.zw-accessbar-excluded),
.zw-readable-font body:not(.zw-accessbar-excluded) *:not(i)
{
    font-family: var(--zw-accessbar-readable-font) !important;
    letter-spacing: 0.12em;
    word-spacing: 0.16em;
}

/* Large cursor */
.zw-cursor-size
{
    cursor: url('../assets/images/cursor.png') 0 0, auto;
    cursor: url('../assets/images/cursor.svg') 0 0, auto;
}

.zw-cursor-size a,
.zw-cursor-size button,
.zw-cursor-size [role="button"]
{
    cursor: url('../assets/images/cursor-hand.png') 0 0, pointer !important;
    cursor: url('../assets/images/cursor-hand.svg') 0 0, pointer !important;
}


/* High contrast mode */
.zw-high-contrast *:not(.icon-circle):not(.icon-circle *):not(.zw-accessbar-excluded):not(#zw-accessbar-toggle *):not(#zw-accessbar-toggle):not(img):not(.header-custom-logo):not(.navbar-toggler-icon):not(.zw-cgb__header-content-wrapper):not(.zw-header-simple *):not(.zw-header-standard-block *):not(#zw-accessbar-panel .setting-box button span):not(#zw-accessbar-panel *)
{
    color: var(--zw-high-contrast-text) !important;
    background-color: var(--zw-high-contrast-bg) !important;
}

/* Add dotted borders to interactive elements in high contrast mode */
.zw-high-contrast button,
.zw-high-contrast input,
.zw-high-contrast select,
.zw-high-contrast textarea,
.zw-high-contrast a:not(.jumpAnchor),
.zw-high-contrast [role="button"],
.zw-high-contrast [tabindex="0"],
.zw-high-contrast .accordion-item-button
{
    border: var(--zw-high-contrast-border) !important;
    outline: var(--zw-high-contrast-outline) !important;
    border-radius: var(--zw-skip-link-border-radius);
}

.zw-high-contrast i::before,
.zw-high-contrast .zw-menu-icon
{
    filter: brightness(0%) invert(100%) !important;
}

.zw-high-contrast input[type="text"]::placeholder,
.zw-high-contrast input[type="email"]::placeholder,
.zw-high-contrast input[type="tel"]::placeholder,
.zw-high-contrast select::placeholder,
.zw-high-contrast textarea::placeholder
{
    color: var(--zw-high-contrast-text) !important;
}

.zw-high-contrast svg *,
.zw-high-contrast .header-custom-logo,
.zw-high-contrast .footer-logo
{
    filter: brightness(0%) invert(100%) !important;
}


/* Night mode */
.zw-night-mode *:not(.icon-circle):not(.icon-circle *):not(.zw-accessbar-excluded):not(#zw-accessbar-toggle *):not(#zw-accessbar-toggle):not(img):not(.header-custom-logo):not(.navbar-toggler-icon):not(.zw-cgb__header-content-wrapper):not(.zw-header-simple *):not(.zw-header-standard-block *):not(#zw-accessbar-panel .setting-box button span):not(#zw-accessbar-panel *)
{
    color: var(--zw-night-mode-text) !important;
    background-color: var(--zw-night-mode-bg) !important;
    background: var(--zw-night-mode-bg) !important;
}

.zw-night-mode a
{
    color: var(--zw-night-mode-link) !important;
}

.zw-night-mode svg *,
.zw-night-mode .header-custom-logo,
.zw-night-mode .footer-logo
{
    filter: brightness(0%) invert(100%) !important;
}

.zw-night-mode input[type="text"]::placeholder,
.zw-night-mode input[type="email"]::placeholder,
.zw-night-mode input[type="tel"]::placeholder,
.zw-night-mode select::placeholder,
.zw-night-mode textarea::placeholder
{
    color: var(--zw-high-contrast-text) !important;
}

.zw-night-mode .accordion-item-button
{
    border: 1px solid var(--zw-night-mode-text) !important;
}

/* No animations - simple */
.zw-no-animations *
{
    animation: none !important;
    transition: none !important;
}

/* Hide images - simple */
.zw-hide-image img:not(#zw-accessbar-app img):not(#zw-accessbar-toggle img):not(.zw-accessbar-excluded img):not(i)
{
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Always show accessibility toolbar icons */
#zw-accessbar-app img,
#zw-accessbar-toggle img
{
    opacity: 1 !important;
    visibility: visible !important;
}

/* Keyboard focus - simplified */
body.zw-keyboard-focus a:focus,
body.zw-keyboard-focus button:focus,
body.zw-keyboard-focus input:focus
{
    outline: var(--zw-focus-outline) !important;
}

/* ========================================
   SKIP LINKS STYLING
   ======================================== */

/* Skip links - simplified */
.zw-skiplinks
{
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.zw-skiplinks ul
{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.zw-skiplinks ul li
{
    position: absolute;
}

/* Hide skip links until focused */
.skip-link
{
    position: absolute;
    top: -9999px;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    transition: none;
    opacity: 0;
}

/* Show the skip link when it's focused */
.skip-link:focus
{
    position: static;
    width: auto;
    height: auto;
    padding: 10px 20px;
    background-color: var(--zw-skip-link-bg);
    color: var(--zw-skip-link-text);
    z-index: 9999;
    border-radius: var(--zw-skip-link-border-radius);
    opacity: 1;
    font-family: var(--zw-skip-link-font);
    font-size: var(--zw-skip-link-font-size);
    box-shadow: var(--zw-skip-link-shadow);
    border: 2px solid transparent;
    display: inline-block;
    margin: 0;
    transition: background-color 0.2s ease;
    min-width: max-content;
}

.skip-link:active
{
    border: 2px solid var(--zw-skip-link-text);
}

/* Hover effect for skip links */
.skip-link:focus:hover
{
    background-color: var(--zw-skip-link-hover-bg);
}

/*body:has(#zw-accessbar-panel:not(.closed)) {
    overflow: hidden;
} */