/* Padrões compartilhados de botões, campos, cards e mensagens. */

.site-input {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--ui-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--ui-body-bg);
    background-clip: padding-box;
    border: var(--ui-border-width) solid var(--ui-border-color);
    border-radius: var(--ui-border-radius);
    transition:
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .site-input {
        transition: none;
    }
}
.site-input[type='file'] {
    overflow: hidden;
}
.site-input[type='file']:not(:disabled):not([readonly]) {
    cursor: pointer;
}
.site-input:focus {
    color: var(--ui-body-color);
    background-color: var(--ui-body-bg);
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.site-input::-webkit-date-and-time-value {
    min-width: 85px;
    height: 1.5em;
    margin: 0;
}
.site-input::-webkit-datetime-edit {
    display: block;
    padding: 0;
}
.site-input::-moz-placeholder {
    color: var(--ui-secondary-color);
    opacity: 1;
}
.site-input::placeholder {
    color: var(--ui-secondary-color);
    opacity: 1;
}
.site-input:disabled {
    background-color: var(--ui-secondary-bg);
    opacity: 1;
}
.site-input::-webkit-file-upload-button {
    padding: 0.375rem 0.75rem;
    margin: -0.375rem -0.75rem;
    -webkit-margin-end: 0.75rem;
    margin-inline-end: 0.75rem;
    color: var(--ui-body-color);
    background-color: var(--ui-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--ui-border-width);
    border-radius: 0;
    -webkit-transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}
.site-input::file-selector-button {
    padding: 0.375rem 0.75rem;
    margin: -0.375rem -0.75rem;
    -webkit-margin-end: 0.75rem;
    margin-inline-end: 0.75rem;
    color: var(--ui-body-color);
    background-color: var(--ui-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--ui-border-width);
    border-radius: 0;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .site-input::-webkit-file-upload-button {
        -webkit-transition: none;
        transition: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .site-input::file-selector-button {
        transition: none;
    }
}
.site-input:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: var(--ui-secondary-bg);
}
.site-input:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: var(--ui-secondary-bg);
}

textarea.site-input {
    min-height: calc(1.5em + 0.75rem + calc(var(--ui-border-width) * 2));
}

.site-select {
    --ui-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    display: block;
    width: 100%;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--ui-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--ui-body-bg);
    background-image: var(--ui-form-select-bg-img), var(--ui-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: var(--ui-border-width) solid var(--ui-border-color);
    border-radius: var(--ui-border-radius);
    transition:
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .site-select {
        transition: none;
    }
}
.site-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.site-select[multiple],
.site-select[size]:not([size='1']) {
    padding-right: 0.75rem;
    background-image: none;
}
.site-select:disabled {
    background-color: var(--ui-secondary-bg);
}
.site-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 var(--ui-body-color);
}

[data-theme='dark'] .site-select {
    --ui-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.site-button {
    --ui-btn-padding-x: 0.75rem;
    --ui-btn-padding-y: 0.375rem;
    --ui-btn-font-family: ;
    --ui-btn-font-size: 1rem;
    --ui-btn-font-weight: 400;
    --ui-btn-line-height: 1.5;
    --ui-btn-color: var(--ui-body-color);
    --ui-btn-bg: transparent;
    --ui-btn-border-width: var(--ui-border-width);
    --ui-btn-border-color: transparent;
    --ui-btn-border-radius: var(--ui-border-radius);
    --ui-btn-hover-border-color: transparent;
    --ui-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --ui-btn-disabled-opacity: 0.65;
    --ui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--ui-btn-focus-shadow-rgb), 0.5);
    display: inline-block;
    padding: var(--ui-btn-padding-y) var(--ui-btn-padding-x);
    font-family: var(--ui-btn-font-family);
    font-size: var(--ui-btn-font-size);
    font-weight: var(--ui-btn-font-weight);
    line-height: var(--ui-btn-line-height);
    color: var(--ui-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--ui-btn-border-width) solid var(--ui-btn-border-color);
    border-radius: var(--ui-btn-border-radius);
    background-color: var(--ui-btn-bg);
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .site-button {
        transition: none;
    }
}
.site-button:hover {
    color: var(--ui-btn-hover-color);
    background-color: var(--ui-btn-hover-bg);
    border-color: var(--ui-btn-hover-border-color);
}
.site-button:focus-visible {
    color: var(--ui-btn-hover-color);
    background-color: var(--ui-btn-hover-bg);
    border-color: var(--ui-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--ui-btn-focus-box-shadow);
}
.site-button:first-child:active,
.site-button.active,
.site-button.show {
    color: var(--ui-btn-active-color);
    background-color: var(--ui-btn-active-bg);
    border-color: var(--ui-btn-active-border-color);
}
.site-button:first-child:active:focus-visible,
.site-button.active:focus-visible,
.site-button.show:focus-visible {
    box-shadow: var(--ui-btn-focus-box-shadow);
}
.site-button:disabled,
.site-button.disabled,
fieldset:disabled .site-button {
    color: var(--ui-btn-disabled-color);
    pointer-events: none;
    background-color: var(--ui-btn-disabled-bg);
    border-color: var(--ui-btn-disabled-border-color);
    opacity: var(--ui-btn-disabled-opacity);
}

.site-button-primary {
    --ui-btn-color: #fff;
    --ui-btn-bg: #0d6efd;
    --ui-btn-border-color: #0d6efd;
    --ui-btn-hover-color: #fff;
    --ui-btn-hover-bg: #0b5ed7;
    --ui-btn-hover-border-color: #0a58ca;
    --ui-btn-focus-shadow-rgb: 49, 132, 253;
    --ui-btn-active-color: #fff;
    --ui-btn-active-bg: #0a58ca;
    --ui-btn-active-border-color: #0a53be;
    --ui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --ui-btn-disabled-color: #fff;
    --ui-btn-disabled-bg: #0d6efd;
    --ui-btn-disabled-border-color: #0d6efd;
}

.site-button-light {
    --ui-btn-color: #000;
    --ui-btn-bg: #f8f9fa;
    --ui-btn-border-color: #f8f9fa;
    --ui-btn-hover-color: #000;
    --ui-btn-hover-bg: #d3d4d5;
    --ui-btn-hover-border-color: #c6c7c8;
    --ui-btn-focus-shadow-rgb: 211, 212, 213;
    --ui-btn-active-color: #000;
    --ui-btn-active-bg: #c6c7c8;
    --ui-btn-active-border-color: #babbbc;
    --ui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --ui-btn-disabled-color: #000;
    --ui-btn-disabled-bg: #f8f9fa;
    --ui-btn-disabled-border-color: #f8f9fa;
}

.site-button-outline-light {
    --ui-btn-color: #f8f9fa;
    --ui-btn-border-color: #f8f9fa;
    --ui-btn-hover-color: #000;
    --ui-btn-hover-bg: #f8f9fa;
    --ui-btn-hover-border-color: #f8f9fa;
    --ui-btn-focus-shadow-rgb: 248, 249, 250;
    --ui-btn-active-color: #000;
    --ui-btn-active-bg: #f8f9fa;
    --ui-btn-active-border-color: #f8f9fa;
    --ui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --ui-btn-disabled-color: #f8f9fa;
    --ui-btn-disabled-bg: transparent;
    --ui-btn-disabled-border-color: #f8f9fa;
    --ui-gradient: none;
}

.site-dropdown-toggle {
    white-space: nowrap;
}
.site-dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: '';
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}
.site-dropdown-toggle:empty::after {
    margin-left: 0;
}

.site-dropdown-menu {
    --ui-dropdown-zindex: 1000;
    --ui-dropdown-min-width: 10rem;
    --ui-dropdown-padding-x: 0;
    --ui-dropdown-padding-y: 0.5rem;
    --ui-dropdown-spacer: 0.125rem;
    --ui-dropdown-font-size: 1rem;
    --ui-dropdown-color: var(--ui-body-color);
    --ui-dropdown-bg: var(--ui-body-bg);
    --ui-dropdown-border-color: var(--ui-border-color-translucent);
    --ui-dropdown-border-radius: var(--ui-border-radius);
    --ui-dropdown-border-width: var(--ui-border-width);
    --ui-dropdown-inner-border-radius: calc(var(--ui-border-radius) - var(--ui-border-width));
    --ui-dropdown-divider-bg: var(--ui-border-color-translucent);
    --ui-dropdown-divider-margin-y: 0.5rem;
    --ui-dropdown-box-shadow: var(--ui-box-shadow);
    --ui-dropdown-link-color: var(--ui-body-color);
    --ui-dropdown-link-hover-color: var(--ui-body-color);
    --ui-dropdown-link-hover-bg: var(--ui-tertiary-bg);
    --ui-dropdown-link-active-color: #fff;
    --ui-dropdown-link-active-bg: #0d6efd;
    --ui-dropdown-link-disabled-color: var(--ui-tertiary-color);
    --ui-dropdown-item-padding-x: 1rem;
    --ui-dropdown-item-padding-y: 0.25rem;
    --ui-dropdown-header-color: #6c757d;
    --ui-dropdown-header-padding-x: 1rem;
    --ui-dropdown-header-padding-y: 0.5rem;
    position: absolute;
    z-index: var(--ui-dropdown-zindex);
    display: block;
    min-width: var(--ui-dropdown-min-width);
    padding: var(--ui-dropdown-padding-y) var(--ui-dropdown-padding-x);
    margin: 0;
    font-size: var(--ui-dropdown-font-size);
    color: var(--ui-dropdown-color);
    text-align: left;
    list-style: none;
    background-color: var(--ui-dropdown-bg);
    background-clip: padding-box;
    border: var(--ui-dropdown-border-width) solid var(--ui-dropdown-border-color);
    border-radius: var(--ui-dropdown-border-radius);
}
.site-dropdown-menu[data-ui-positioned] {
    top: 100%;
    left: 0;
    margin-top: var(--ui-dropdown-spacer);
}

.site-dropdown-menu.show {
    display: block;
}

.site-card {
    --ui-card-spacer-y: 1rem;
    --ui-card-spacer-x: 1rem;
    --ui-card-title-spacer-y: 0.5rem;
    --ui-card-title-color: ;
    --ui-card-subtitle-color: ;
    --ui-card-border-width: var(--ui-border-width);
    --ui-card-border-color: var(--ui-border-color-translucent);
    --ui-card-border-radius: var(--ui-border-radius);
    --ui-card-box-shadow: ;
    --ui-card-inner-border-radius: calc(var(--ui-border-radius) - (var(--ui-border-width)));
    --ui-card-cap-padding-y: 0.5rem;
    --ui-card-cap-padding-x: 1rem;
    --ui-card-cap-bg: rgba(var(--ui-body-color-rgb), 0.03);
    --ui-card-cap-color: ;
    --ui-card-height: ;
    --ui-card-color: ;
    --ui-card-bg: var(--ui-body-bg);
    --ui-card-img-overlay-padding: 1rem;
    --ui-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--ui-card-height);
    color: var(--ui-body-color);
    word-wrap: break-word;
    background-color: var(--ui-card-bg);
    background-clip: border-box;
    border: var(--ui-card-border-width) solid var(--ui-card-border-color);
    border-radius: var(--ui-card-border-radius);
}
.site-card > hr {
    margin-right: 0;
    margin-left: 0;
}

.site-card-text:last-child {
    margin-bottom: 0;
}

.site-alert {
    --ui-alert-bg: transparent;
    --ui-alert-padding-x: 1rem;
    --ui-alert-padding-y: 1rem;
    --ui-alert-margin-bottom: 1rem;
    --ui-alert-color: inherit;
    --ui-alert-border-color: transparent;
    --ui-alert-border: var(--ui-border-width) solid var(--ui-alert-border-color);
    --ui-alert-border-radius: var(--ui-border-radius);
    --ui-alert-link-color: inherit;
    position: relative;
    padding: var(--ui-alert-padding-y) var(--ui-alert-padding-x);
    margin-bottom: var(--ui-alert-margin-bottom);
    color: var(--ui-alert-color);
    background-color: var(--ui-alert-bg);
    border: var(--ui-alert-border);
    border-radius: var(--ui-alert-border-radius);
}

.site-alert-error {
    --ui-alert-color: var(--ui-danger-text-emphasis);
    --ui-alert-bg: var(--ui-danger-bg-subtle);
    --ui-alert-border-color: var(--ui-danger-border-subtle);
    --ui-alert-link-color: var(--ui-danger-text-emphasis);
}
.office-carousel-control {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin: 0 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: solid transparent;
    border-width: 10px 0;
    opacity: 0.5;
    transition: opacity 0.6s ease;
}
.office-carousel-control[aria-current='true'] {
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .office-carousel-control {
        transition: none;
    }
}

/* Paginação compartilhada dos carrosséis públicos. */
.carousel-pagination {
    --swiper-pagination-bullet-horizontal-gap: 0rem;
    &.swiper-pagination-lock {
        display: none;
    }
    .swiper-pagination-bullet {
        opacity: 1;
        background: #575656;
        width: var(--swiper-pagination-bullet-size, 0.5rem);
        height: var(--swiper-pagination-bullet-size, 0.5rem);
        margin: 0;
        &.swiper-pagination-bullet-active {
            outline-offset: 0.125rem;
            outline: 0.125rem solid #575656;
        }
    }
}
