/* ================================================================
   GLPI — Button Visibility Fixes (header + search forms)
   ================================================================ */

/* ── Context-link buttons (Regra, Grupo, Pesquisar, Listas…)  ────
   O _global-menu.scss herda $mainmenu-fg (branco) para os botões,
   pensado no sidebar escuro. No header claro isso cria ícone branco
   sobre fundo branco. Aqui reescrevemos apenas a camada do header.
   ─────────────────────────────────────────────────────────────── */
/* Layout vertical  → header.navbar (navbar-light)
   Layout horizontal → .secondary-bar  (navbar-light)
   Ambos têm fundo claro; $mainmenu-fg branco torna os botões invisíveis. */
header.navbar .btn.btn-outline-secondary,
header.navbar .btn.btn-ghost-secondary,
.secondary-bar  .btn.btn-outline-secondary,
.secondary-bar  .btn.btn-ghost-secondary {
    color: #334155 !important;
    border-color: #94a3b8 !important;
    background-color: transparent !important;
}
header.navbar .btn.btn-outline-secondary i,
header.navbar .btn.btn-ghost-secondary i,
header.navbar .btn.btn-outline-secondary span,
header.navbar .btn.btn-ghost-secondary span,
.secondary-bar  .btn.btn-outline-secondary i,
.secondary-bar  .btn.btn-ghost-secondary i,
.secondary-bar  .btn.btn-outline-secondary span,
.secondary-bar  .btn.btn-ghost-secondary span {
    color: #334155 !important;
}
header.navbar .btn.btn-outline-secondary:hover,
header.navbar .btn.btn-ghost-secondary:hover,
.secondary-bar  .btn.btn-outline-secondary:hover,
.secondary-bar  .btn.btn-ghost-secondary:hover {
    background-color: #00440b !important;
    border-color: #00440b !important;
    color: #ffffff !important;
}
header.navbar .btn.btn-outline-secondary:hover i,
header.navbar .btn.btn-ghost-secondary:hover i,
header.navbar .btn.btn-outline-secondary:hover span,
header.navbar .btn.btn-ghost-secondary:hover span,
.secondary-bar  .btn.btn-outline-secondary:hover i,
.secondary-bar  .btn.btn-ghost-secondary:hover i,
.secondary-bar  .btn.btn-outline-secondary:hover span,
.secondary-bar  .btn.btn-ghost-secondary:hover span {
    color: #ffffff !important;
}

/* Botão "Adicionar" (btn-secondary sólido) — fica verde da marca */
header.navbar .btn.btn-secondary,
.secondary-bar  .btn.btn-secondary {
    background-color: #00440b !important;
    border-color: #00440b !important;
    color: #ffffff !important;
}
header.navbar .btn.btn-secondary i,
header.navbar .btn.btn-secondary span,
.secondary-bar  .btn.btn-secondary i,
.secondary-bar  .btn.btn-secondary span {
    color: #ffffff !important;
}
header.navbar .btn.btn-secondary:hover,
.secondary-bar  .btn.btn-secondary:hover {
    background-color: #005c10 !important;
    border-color: #005c10 !important;
}

/* ── Search form action buttons (.search_actions) ─────────────── */
/*
 * O Tabler aplica o hover assim (palette CSS compilado):
 *   .btn-ghost-secondary:hover, .btn-outline-secondary:hover {
 *       background-color: var(--tblr-btn-color);      ← cor do bg no hover
 *       color:            var(--tblr-btn-color-text);  ← #fafbfc (quase branco)
 *   }
 * A correção: sobrescreve as variáveis REAIS que o Tabler usa.
 */
.search_actions .btn-outline-secondary,
.search_actions .btn-ghost-secondary {
    --tblr-btn-color:          rgba(51, 65, 85, 0.10); /* hover bg: tint sutil */
    --tblr-btn-color-text:     #334155;                /* hover text: escuro    */
    color:            #334155 !important;
    background-color: transparent !important;
    border-color:     #94a3b8 !important;
}
.search_actions .btn-outline-secondary i,
.search_actions .btn-outline-secondary span,
.search_actions .btn-ghost-secondary i,
.search_actions .btn-ghost-secondary span {
    color: #334155 !important;
}
/* Fallback !important — garante que mesmo regras com especificidade
   igual ou maior do framework não consigam mudar a cor no hover.    */
.search_actions .btn-outline-secondary:hover,
.search_actions .btn-outline-secondary:focus,
.search_actions .btn-ghost-secondary:hover,
.search_actions .btn-ghost-secondary:focus {
    color:            #334155 !important;
    background-color: rgba(51, 65, 85, 0.10) !important;
    border-color:     #94a3b8 !important;
    box-shadow:       none !important;
}
.search_actions .btn-outline-secondary:hover i,
.search_actions .btn-outline-secondary:hover span,
.search_actions .btn-outline-secondary:focus i,
.search_actions .btn-outline-secondary:focus span,
.search_actions .btn-ghost-secondary:hover i,
.search_actions .btn-ghost-secondary:hover span,
.search_actions .btn-ghost-secondary:focus i,
.search_actions .btn-ghost-secondary:focus span {
    color: #334155 !important;
}

/* Pesquisar (btn-primary) — texto e ícone escuros, legíveis no fundo do palette */
.search_actions .btn-primary,
.card-footer.search_actions .btn.btn-primary {
    --tblr-btn-color-text: #1e293b;
    color: #1e293b !important;
}
.search_actions .btn-primary i,
.search_actions .btn-primary span,
.search_actions .btn-primary .ti,
.card-footer.search_actions .btn.btn-primary i,
.card-footer.search_actions .btn.btn-primary span,
.card-footer.search_actions .btn.btn-primary .ti {
    color: #1e293b !important;
}
.search_actions .btn-primary:hover,
.search_actions .btn-primary:focus,
.card-footer.search_actions .btn.btn-primary:hover,
.card-footer.search_actions .btn.btn-primary:focus {
    color: #1e293b !important;
    box-shadow: none !important;
}
.search_actions .btn-primary:hover i,
.search_actions .btn-primary:hover span,
.search_actions .btn-primary:hover .ti,
.search_actions .btn-primary:focus i,
.search_actions .btn-primary:focus span,
.search_actions .btn-primary:focus .ti,
.card-footer.search_actions .btn.btn-primary:hover i,
.card-footer.search_actions .btn.btn-primary:hover span,
.card-footer.search_actions .btn.btn-primary:hover .ti,
.card-footer.search_actions .btn.btn-primary:focus i,
.card-footer.search_actions .btn.btn-primary:focus span,
.card-footer.search_actions .btn.btn-primary:focus .ti {
    color: #1e293b !important;
}

/* ── Botão de recolher menu — movido para o topo, ao lado da logo ───
   O botão "Recolher menu" (classe .reduce-menu) foi retirado do rodapé
   do menu.html.twig e movido para o topo em page_header.html.twig,
   dentro de .navbar-brand-row (logo + botão). O ícone padrão do core
   (_global-menu.scss ::before, setas duplas) é neutralizado e trocado
   por um ícone de hambúrguer (ti-menu-2) renderizado como <i> real,
   para poder alinhá-lo com os demais ícones do menu.
   Com o menu expandido, a linha fica lado a lado (logo + botão); com o
   menu recolhido (body.navbar-collapsed), empilhamos o botão abaixo da
   logo e replicamos a técnica de margem negativa + padding usada pelos
   .nav-link (_global-menu.scss) para que o ícone fique no mesmo x que
   os ícones da lista abaixo. ─── */
.sidebar .reduce-menu::before,
body.navbar-collapsed .sidebar .reduce-menu::before {
    content: none;
}
.sidebar .navbar-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.sidebar .navbar-brand-row .reduce-menu {
    flex-shrink: 0;
}
/* Recolhido: a própria linha vira a "faixa cheia" (mesma técnica de
   margem negativa + width usada pelo .navbar-brand do core), e os dois
   filhos (logo, botão) só herdam padding igual ao dos .nav-link — evita
   aplicar o hack de largura duas vezes (uma na logo, outra no botão),
   que é o que causava o desalinhamento/estouro do ícone.
   justify-content:center (não flex-start) porque os .nav-link do core
   também centralizam o ícone (.navbar-nav .nav-link{justify-content:center}
   em _navbar.scss) — com flex-start o ícone ficava colado à esquerda do
   padding em vez de centralizado como os demais. */
body.navbar-collapsed .sidebar .navbar-brand-row {
    flex-direction: column;
    align-items: stretch;
    width: calc(100% + var(--tblr-gutter-x, 1.5rem) * 2);
    margin-left: calc(-1 * var(--tblr-gutter-x, 1.5rem));
    margin-right: calc(-1 * var(--tblr-gutter-x, 1.5rem));
    gap: 0.25rem;
}
body.navbar-collapsed .sidebar .navbar-brand-row .navbar-brand {
    margin: 0;
    width: 100%;
}
body.navbar-collapsed .sidebar .navbar-brand-row .reduce-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0.58rem 1.5rem;
    border-radius: 0;
    box-sizing: border-box;
}

/* ── Esconde o botão "Encontrar um menu" (busca fuzzy Ctrl+Alt+G) ───
   Renderizado por goto_button.html.twig, classe .trigger-fuzzy.
   Escopo em .sidebar para não afetar a variante do layout horizontal. */
.sidebar .trigger-fuzzy {
    display: none !important;
}
