/* Isolated global voice reader and accessibility controls. */
#pic-voice-a11y-widget {
    bottom: 22px;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 16px;
    left: 22px;
    line-height: 1;
    position: fixed;
    right: auto;
    z-index: 10001;
}

#pic-voice-a11y-widget button {
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    cursor: pointer;
    font: inherit;
}

.pic-voice-a11y-trigger {
    align-items: center;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .28);
    color: #ffffff;
    display: flex;
    height: 48px;
    justify-content: center;
    position: absolute;
    right: auto;
    transition: transform .15s ease, box-shadow .15s ease;
    width: 48px;
}

.pic-voice-a11y-trigger:hover,
.pic-voice-a11y-trigger:focus {
    box-shadow: 0 8px 21px rgba(0, 0, 0, .35);
    outline: 3px solid #ffffff;
    outline-offset: 2px;
    transform: scale(1.08);
}

.pic-voice-a11y-trigger-accessibility {
    background: #00a19a;
    bottom: 128px;
}

.pic-voice-a11y-trigger-voice {
    background: #7f4063;
    bottom: 64px;
}

.pic-voice-a11y-trigger-top {
    background: #f2ad51;
    bottom: 0;
    color: #7f4063;
    opacity: 0;
    pointer-events: none;
    transition: transform .15s ease, box-shadow .15s ease, opacity .2s ease;
}

/* Keep the "back to top" control circular/yellow even if other global button rules exist. */
#pic-voice-a11y-widget .pic-voice-a11y-trigger-top,
#pic-voice-a11y-widget #pic-voice-a11y-scroll-top {
    align-items: center;
    aspect-ratio: 1 / 1;
    background: #f2ad51 !important;
    border-radius: 50% !important;
    color: #7f4063 !important;
    display: flex;
    height: 48px !important;
    justify-content: center;
    line-height: 1;
    margin: 0;
    max-height: 48px !important;
    max-width: 48px !important;
    min-height: 48px !important;
    min-width: 48px !important;
    padding: 0 !important;
    width: 48px !important;
}

#pic-voice-a11y-widget .pic-voice-a11y-trigger-top .pic-voice-a11y-icon,
#pic-voice-a11y-widget #pic-voice-a11y-scroll-top .pic-voice-a11y-icon {
    height: 24px;
    width: 24px;
}

.pic-voice-a11y-trigger-top.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.pic-voice-a11y-icon {
    height: 29px;
    width: 29px;
}

.pic-voice-a11y-panel {
    align-items: center;
    border-radius: 24px;
    bottom: 0;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .3);
    display: none;
    gap: 7px;
    min-height: 48px;
    padding: 6px 9px;
    position: absolute;
    right: auto;
    left: 60px;
    white-space: nowrap;
}

.pic-voice-a11y-panel.is-open {
    display: flex;
}

.pic-voice-a11y-voice-panel {
    background: #7f4063;
    bottom: 64px;
}

.pic-voice-a11y-accessibility-panel {
    background: #00a19a;
    bottom: 128px;
}

.pic-voice-a11y-action {
    align-items: center;
    background: #ffffff;
    border-radius: 50%;
    color: #222222;
    display: inline-flex;
    font-size: 14px;
    font-weight: bold;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0;
    transition: background-color .15s ease, transform .15s ease;
}

.pic-voice-a11y-action:hover,
.pic-voice-a11y-action:focus {
    background: #f2ad51;
    outline: 2px solid #ffffff;
    outline-offset: 1px;
    transform: scale(1.08);
}

.pic-voice-a11y-contrast-action {
    font-size: 17px;
}

.pic-voice-a11y-action:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.pic-voice-a11y-language-label {
    font-size: 13px;
}

.pic-voice-a11y-language {
    border: 0;
    border-radius: 4px;
    color: #222222;
    font: inherit;
    font-size: 13px;
    height: 34px;
    max-width: 180px;
    padding: 0 6px;
}

.pic-voice-a11y-status {
    font-size: 13px;
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pic-voice-a11y-sr-only {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
}

/* High contrast follows the public reference: black surfaces, yellow text and borders. */
body.pic-voice-a11y-high-contrast {
    background-color: #000000 !important;
    color: #ffff00 !important;
}

body.pic-voice-a11y-high-contrast header,
body.pic-voice-a11y-high-contrast main,
body.pic-voice-a11y-high-contrast footer,
body.pic-voice-a11y-high-contrast nav,
body.pic-voice-a11y-high-contrast section,
body.pic-voice-a11y-high-contrast article,
body.pic-voice-a11y-high-contrast aside,
body.pic-voice-a11y-high-contrast form,
body.pic-voice-a11y-high-contrast fieldset,
body.pic-voice-a11y-high-contrast div,
body.pic-voice-a11y-high-contrast table,
body.pic-voice-a11y-high-contrast thead,
body.pic-voice-a11y-high-contrast tbody,
body.pic-voice-a11y-high-contrast tr,
body.pic-voice-a11y-high-contrast td,
body.pic-voice-a11y-high-contrast th,
body.pic-voice-a11y-high-contrast ul,
body.pic-voice-a11y-high-contrast ol,
body.pic-voice-a11y-high-contrast li {
    background-color: #000000 !important;
    border-color: #ffff00 !important;
}

body.pic-voice-a11y-high-contrast h1,
body.pic-voice-a11y-high-contrast h2,
body.pic-voice-a11y-high-contrast h3,
body.pic-voice-a11y-high-contrast h4,
body.pic-voice-a11y-high-contrast h5,
body.pic-voice-a11y-high-contrast h6,
body.pic-voice-a11y-high-contrast p,
body.pic-voice-a11y-high-contrast a,
body.pic-voice-a11y-high-contrast label,
body.pic-voice-a11y-high-contrast legend,
body.pic-voice-a11y-high-contrast span,
body.pic-voice-a11y-high-contrast small,
body.pic-voice-a11y-high-contrast strong,
body.pic-voice-a11y-high-contrast em,
body.pic-voice-a11y-high-contrast b,
body.pic-voice-a11y-high-contrast i {
    color: #ffff00 !important;
}

body.pic-voice-a11y-high-contrast a:focus,
body.pic-voice-a11y-high-contrast a:hover {
    color: #ffffff !important;
    outline: 2px solid #ffff00;
    outline-offset: 2px;
}

body.pic-voice-a11y-high-contrast input,
body.pic-voice-a11y-high-contrast textarea,
body.pic-voice-a11y-high-contrast select,
body.pic-voice-a11y-high-contrast button:not(.pic-voice-a11y-action):not(.pic-voice-a11y-trigger) {
    background-color: #000000 !important;
    border-color: #ffff00 !important;
    color: #ffff00 !important;
}

body.pic-voice-a11y-high-contrast input::placeholder,
body.pic-voice-a11y-high-contrast textarea::placeholder {
    color: #ffff00 !important;
    opacity: 1;
}

body.pic-voice-a11y-high-contrast .container:before,
body.pic-voice-a11y-high-contrast .container::before,
body.pic-voice-a11y-high-contrast .container:after,
body.pic-voice-a11y-high-contrast .container::after {
    background-color: #000000 !important;
    background-image: none !important;
    transition: none !important;
    z-index: 0 !important;
}

/* Login panels sit above the forms in the original layout and must remain transparent. */
body.pic-voice-a11y-high-contrast .panels-container,
body.pic-voice-a11y-high-contrast .panel {
    background-color: transparent !important;
}

/* The sign-up form shares the grid with panels that use z-index 6 in the legacy login. */
body.pic-voice-a11y-high-contrast .signin-signup {
    z-index: 7 !important;
}

body.pic-voice-a11y-high-contrast .input-field,
body.pic-voice-a11y-high-contrast .form-input,
body.pic-voice-a11y-high-contrast .form-control {
    background-color: #000000 !important;
    border: 1px solid #ffff00 !important;
    color: #ffff00 !important;
}

body.pic-voice-a11y-high-contrast .input-field input {
    background-color: transparent !important;
    border: 0 !important;
}

body.pic-voice-a11y-high-contrast .btn,
body.pic-voice-a11y-high-contrast .btn.transparent {
    background-color: #000000 !important;
    border: 2px solid #ffff00 !important;
    color: #ffff00 !important;
}

/* Keep external interactive widgets and map renderers intact. */
body.pic-voice-a11y-high-contrast [vw],
body.pic-voice-a11y-high-contrast [vw-access-button],
body.pic-voice-a11y-high-contrast [vw-plugin-wrapper],
body.pic-voice-a11y-high-contrast .vw-plugin-top-wrapper {
    background-color: transparent !important;
    color: inherit !important;
}

body.pic-voice-a11y-high-contrast .gm-style,
body.pic-voice-a11y-high-contrast .gm-style div,
body.pic-voice-a11y-high-contrast .gm-style span,
body.pic-voice-a11y-high-contrast .gm-style button {
    background-color: initial !important;
    border-color: initial !important;
    color: initial !important;
}

body.pic-voice-a11y-high-contrast .select2-container .select2-selection,
body.pic-voice-a11y-high-contrast .select2-container .select2-dropdown,
body.pic-voice-a11y-high-contrast .select2-container .select2-results__option {
    background-color: #000000 !important;
    border-color: #ffff00 !important;
    color: #ffff00 !important;
}

/* The controls retain their dedicated colors while the page is in high contrast. */
body.pic-voice-a11y-high-contrast #pic-voice-a11y-widget,
body.pic-voice-a11y-high-contrast #pic-voice-a11y-widget span {
    background-color: transparent !important;
    color: #ffffff !important;
}

body.pic-voice-a11y-high-contrast #pic-voice-a11y-widget .pic-voice-a11y-trigger-accessibility,
body.pic-voice-a11y-high-contrast #pic-voice-a11y-widget .pic-voice-a11y-accessibility-panel {
    background-color: #00a19a !important;
}

body.pic-voice-a11y-high-contrast #pic-voice-a11y-widget .pic-voice-a11y-trigger-voice,
body.pic-voice-a11y-high-contrast #pic-voice-a11y-widget .pic-voice-a11y-voice-panel {
    background-color: #7f4063 !important;
}

body.pic-voice-a11y-high-contrast #pic-voice-a11y-widget .pic-voice-a11y-action {
    background-color: #ffffff !important;
    color: #222222 !important;
}

@media (max-width: 767px) {
    #pic-voice-a11y-widget {
        bottom: 16px;
        left: 14px;
        right: auto;
    }

    .pic-voice-a11y-trigger {
        height: 52px;
        width: 52px;
    }

    #pic-voice-a11y-widget .pic-voice-a11y-trigger-top,
    #pic-voice-a11y-widget #pic-voice-a11y-scroll-top {
        height: 52px !important;
        max-height: 52px !important;
        max-width: 52px !important;
        min-height: 52px !important;
        min-width: 52px !important;
        width: 52px !important;
    }

    .pic-voice-a11y-trigger-voice,
    .pic-voice-a11y-voice-panel {
        bottom: 70px;
    }

    .pic-voice-a11y-trigger-accessibility,
    .pic-voice-a11y-accessibility-panel {
        bottom: 140px;
    }

    .pic-voice-a11y-panel {
        gap: 6px;
        max-width: calc(100vw - 84px);
        padding: 7px;
    }

    .pic-voice-a11y-action {
        height: 36px;
        min-width: 36px;
    }

    .pic-voice-a11y-status {
        max-width: 110px;
    }
}

@media (max-width: 430px) {
    .pic-voice-a11y-voice-panel {
        gap: 4px;
        padding: 6px;
    }

    .pic-voice-a11y-voice-panel .pic-voice-a11y-action {
        height: 33px;
        min-width: 33px;
    }

    .pic-voice-a11y-voice-panel .pic-voice-a11y-language-label {
        display: none;
    }

    .pic-voice-a11y-voice-panel .pic-voice-a11y-language {
        font-size: 12px;
        height: 32px;
        max-width: 98px;
        padding: 0 4px;
    }

    .pic-voice-a11y-voice-panel .pic-voice-a11y-status {
        font-size: 12px;
        max-width: 78px;
    }
}

@media (max-width: 390px) {
    .pic-voice-a11y-voice-panel .pic-voice-a11y-language {
        max-width: 88px;
    }

    .pic-voice-a11y-voice-panel .pic-voice-a11y-status {
        max-width: 68px;
    }
}

@media (max-width: 1024px) {
    body.vedacao-page #pic-voice-a11y-widget {
        bottom: auto;
        left: 10px;
        right: auto;
        transform: translateY(-50%);
    }
}

@media (max-width: 767px) {
    body.vedacao-page #pic-voice-a11y-widget {
        left: 8px;
    }
}

@media print {
    #pic-voice-a11y-widget {
        display: none !important;
    }

}
