/**
 * FIX: Logo + Texto - Tamanho, Alinhamento e Visibilidade
 * 
 * Corrige:
 * - Logo muito pequeno
 * - Texto não aparecendo
 * - Desalinhamento com itens do menu
 * 
 * IMPORTANTE: Usa !important para sobrescrever outros CSS
 * 
 * @package Apathany
 * @version 2.0 - Prioridade máxima
 */

/* ═══════════════════════════════════════════════════════════
   LOGO + TEXTO - LAYOUT
   ═══════════════════════════════════════════════════════════ */

/* Container do brand - flexbox para alinhamento perfeito */
/* Múltiplos seletores para máxima especificidade */
.navbar-brand,
a.navbar-brand,
.app-header .navbar-brand,
#header .navbar-brand,
.modern-header-brand .navbar-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    text-decoration: none !important;
    padding: 8px 0 !important;
    line-height: 1 !important;
    height: auto !important;
    min-height: 45px !important;
}

/* ═══════════════════════════════════════════════════════════
   LOGO - TAMANHO CORRIGIDO
   ═══════════════════════════════════════════════════════════ */

/* Logo quando está com texto (tipo 1) - tamanho adequado */
/* Especificidade máxima para sobrescrever qualquer outro CSS */
.navbar-brand .logo-with-text,
.navbar-brand .logo-with-text img,
.navbar-brand .logo-with-text svg,
a.navbar-brand .logo-with-text,
a.navbar-brand .logo-with-text img,
a.navbar-brand .logo-with-text svg,
.navbar-brand .inline.logo-with-text,
.navbar-brand .brand-logo.logo-with-text,
.navbar-brand > .logo-with-text {
    height: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
    width: auto !important;
    display: block !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    vertical-align: middle !important;
    float: none !important;
    position: relative !important;
    top: 0 !important;
    bottom: 0 !important;
}

/* Logo sozinho (tipo 0) - pode ser um pouco maior */
.navbar-brand .brand-logo:not(.logo-with-text),
.navbar-brand .brand-logo:not(.logo-with-text) img,
.navbar-brand .brand-logo:not(.logo-with-text) svg {
    height: 50px !important;
    width: auto !important;
    max-height: 50px !important;
}

/* Garantir que SVG dentro do container respeite altura */
.navbar-brand .brand-logo svg,
.navbar-brand .inline svg {
    height: inherit !important;
    width: auto !important;
}

/* ═══════════════════════════════════════════════════════════
   TEXTO DO SITE - SEMPRE VISÍVEL QUANDO TIPO 1
   ═══════════════════════════════════════════════════════════ */

/* Texto do brand - tamanho e estilo */
/* Especificidade máxima */
.navbar-brand .brand-text,
.navbar-brand span.brand-text,
a.navbar-brand .brand-text,
a.navbar-brand span.brand-text,
.navbar-brand .inline.brand-text,
.navbar-brand > .brand-text {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    color: #ffffff !important;
    line-height: 45px !important;
    height: 45px !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: uppercase !important;
    align-self: center !important;
    vertical-align: middle !important;
    float: none !important;
    position: relative !important;
    top: 0 !important;
    bottom: 0 !important;
}

/* Remover qualquer regra que esconda o texto */
.navbar-brand .brand-text.hidden-folded {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
}

/* ═══════════════════════════════════════════════════════════
   ALINHAMENTO COM MENU
   ═══════════════════════════════════════════════════════════ */

/* Garantir que o navbar-brand está alinhado com itens do menu */
.navbar-header,
.navbar-brand-container,
.app-header .navbar-brand,
#header .navbar-brand {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* Se o menu usa altura específica, alinhar logo */
.navbar,
.app-header,
#header {
    display: flex !important;
    align-items: center !important;
}

/* Menu items devem estar alinhados na mesma linha */
.nav.navbar-nav,
.navbar-nav {
    display: flex !important;
    align-items: center !important;
}

.nav.navbar-nav > li,
.navbar-nav > li {
    display: flex !important;
    align-items: center !important;
}

/* ═══════════════════════════════════════════════════════════
   HOVER E TRANSIÇÕES
   ═══════════════════════════════════════════════════════════ */

.navbar-brand:hover {
    text-decoration: none !important;
    transform: translateY(-1px);
    transition: transform 0.2s ease;
}

.navbar-brand:hover .brand-logo {
    filter: brightness(1.1);
    transition: filter 0.2s ease;
}

.navbar-brand:hover .brand-text {
    color: #00d9ff !important;
    transition: color 0.2s ease;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVO
   ═══════════════════════════════════════════════════════════ */

/* Em telas menores, ajustar proporcionalmente */
@media (max-width: 768px) {
    .navbar-brand .logo-with-text,
    .navbar-brand .logo-with-text img,
    .navbar-brand .logo-with-text svg {
        height: 38px !important;
        max-height: 38px !important;
    }
    
    .navbar-brand .brand-text {
        font-size: 18px !important;
    }
}

@media (max-width: 480px) {
    .navbar-brand {
        gap: 8px !important;
    }
    
    .navbar-brand .logo-with-text,
    .navbar-brand .logo-with-text img,
    .navbar-brand .logo-with-text svg {
        height: 32px !important;
        max-height: 32px !important;
    }
    
    .navbar-brand .brand-text {
        font-size: 16px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   DARK MODE (se aplicável)
   ═══════════════════════════════════════════════════════════ */

body.dark-mode .navbar-brand .brand-text,
.dark-theme .navbar-brand .brand-text {
    color: #ffffff !important;
}

body.dark-mode .navbar-brand:hover .brand-text,
.dark-theme .navbar-brand:hover .brand-text {
    color: #00d9ff !important;
}

/* ═══════════════════════════════════════════════════════════
   FIXES ESPECÍFICOS - SOBRESCREVER REGRAS ANTIGAS
   ═══════════════════════════════════════════════════════════ */

/* Remover limite de altura que pode estar cortando o logo */
.navbar-brand,
.navbar-brand * {
    max-height: none !important;
}

/* Garantir que container do logo não está escondido */
.navbar-brand .brand-logo,
.navbar-brand .inline {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Remover transformações que possam estar escondendo elementos */
.navbar-brand .brand-text {
    transform: none !important;
    position: static !important;
    left: auto !important;
}

/* Container flexbox para perfeito alinhamento vertical */
.navbar-brand .brand-logo,
.navbar-brand .brand-text {
    align-self: center !important;
}

/* Garantir que logo e texto tenham mesma altura */
.navbar-brand .logo-with-text,
.navbar-brand .brand-text {
    height: 45px !important;
    line-height: 45px !important;
}

/* SVG dentro do logo deve preencher a altura */
.navbar-brand .logo-with-text svg,
.navbar-brand .logo-with-text > svg,
.navbar-brand .inline.logo-with-text svg,
.navbar-brand .brand-logo svg,
.navbar-brand div svg,
.navbar-brand .inline svg {
    height: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    float: none !important;
}

/* Remover qualquer transformação que possa estar afetando */
.navbar-brand *,
.navbar-brand .logo-with-text *,
.navbar-brand .brand-logo *,
.navbar-brand .inline * {
    transform: none !important;
    -webkit-transform: none !important;
}

/* ═══════════════════════════════════════════════════════════
   DEBUG - Descomente para verificar alinhamento
   ═══════════════════════════════════════════════════════════ */

/*
.navbar-brand {
    border: 2px solid red !important;
}

.navbar-brand .brand-logo {
    border: 2px solid blue !important;
}

.navbar-brand .brand-text {
    border: 2px solid green !important;
}
*/

/* ═══════════════════════════════════════════════════════════
   REGRAS FINAIS - PRIORIDADE ABSOLUTA
   Estas regras devem sobrescrever TUDO
   ═══════════════════════════════════════════════════════════ */

/* FORÇA BRUTA: Garantir alinhamento perfeito */
body .navbar-brand,
body a.navbar-brand,
html body .navbar-brand,
html body a.navbar-brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

body .navbar-brand .logo-with-text,
body .navbar-brand .logo-with-text svg,
body .navbar-brand .inline.logo-with-text,
body .navbar-brand .inline.logo-with-text svg,
html body .navbar-brand .logo-with-text,
html body .navbar-brand .logo-with-text svg {
    height: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

body .navbar-brand .brand-text,
body .navbar-brand span.brand-text,
html body .navbar-brand .brand-text,
html body .navbar-brand span.brand-text {
    height: 45px !important;
    line-height: 45px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

