/* ------------------------------------------------------------------------------
 *  # Rodapé — gaveta retrátil (drawer)
 *
 *  Posicionado de forma fixa (position: fixed) na base da tela globalmente.
 *  100% transparente nas extremidades para garantir cantos arredondados reais.
 * ---------------------------------------------------------------------------- */

.navbar-footer,
.occ-footer-drawer {
    position: fixed !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 1030 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    pointer-events: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.occ-footer-handle {
    pointer-events: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 18px;
    border: none;
    border-radius: 8px 8px 0 0;
    background: var(--occ-accent);
    color: #ffffff;
    font-size: .75rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: none !important;
    filter: none !important;
    transition: background var(--occ-dur) var(--occ-ease), transform var(--occ-dur) var(--occ-ease);
    z-index: 2;
}

.occ-footer-handle:hover {
    transform: translateY(-1px);
}

.occ-footer-handle:focus-visible {
    outline: 2px solid var(--occ-accent);
    outline-offset: 2px;
}

.occ-footer-collapse {
    pointer-events: auto !important;
    display: grid;
    grid-template-rows: 1fr;
    width: fit-content !important;
    max-width: 90vw;
    margin: 0 auto;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    filter: none !important;
    transition: grid-template-rows var(--occ-dur) var(--occ-ease);
}

.occ-footer-drawer.is-collapsed .occ-footer-collapse {
    grid-template-rows: 0fr;
}

.occ-footer-content {
    overflow: hidden;
    min-height: 0;
    visibility: visible;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    filter: none !important;
    transition: visibility 0s linear 0s;
}

/* Some da árvore de acessibilidade/tab order só depois que a animação de
   recolher termina — assim o link "Suporte" nunca fica focável escondido. */
.occ-footer-drawer.is-collapsed .occ-footer-content {
    visibility: hidden;
    transition: visibility 0s linear var(--occ-dur);
}

.occ-footer-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 6px 20px !important;
    background: var(--occ-surface) !important;
    background-color: var(--occ-surface) !important;
    border: 1px solid var(--occ-line) !important;
    border-bottom: none !important;
    border-top-left-radius: 16px !important;
    border-top-right-radius: 16px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    width: fit-content !important;
    max-width: 90vw;
    white-space: nowrap !important;
}

.occ-footer-copy {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: .8125rem;
    color: var(--occ-ink-soft);
    white-space: nowrap !important;
}

.occ-footer-support {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--occ-radius-sm);
    color: var(--occ-ink-soft);
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--occ-dur) var(--occ-ease), color var(--occ-dur) var(--occ-ease);
}

.occ-footer-support:hover {
    background: var(--occ-accent-soft);
    color: var(--occ-accent);
}

.occ-footer-support i {
    font-size: 1rem;
}
