/* ========================================
   NAVBAR RESPONSIVE - Portal UrbIA
   Controle de visibilidade do menu
   ======================================== */

/* ===== DESKTOP (>= 768px) ===== */
@media (min-width: 768px) {
  /* Esconder menu hamburguer no desktop */
  .navbar .md\:hidden {
    display: none !important;
  }

  /* Mostrar navbar-actions no desktop */
  .navbar-actions {
    display: flex !important;
    align-items: center;
  }

  /* Esconder menu mobile no desktop */
  [x-data] > .md\:hidden {
    display: none !important;
  }

  /* Logo maior no desktop */
  .navbar img {
    height: 5rem;
    max-height: 5rem;
  }

  .navbar .shrink-0 span {
    font-size: 1.5rem;
  }

  /* Ajustar altura da navbar para acomodar logo maior no desktop */
  .navbar-container {
    min-height: 5.5rem;
    display: flex;
    align-items: center;
  }

  /* Centralizar verticalmente os elementos */
  .navbar .flex.justify-between {
    align-items: center;
  }
}

/* ===== MOBILE/TABLET (< 768px) ===== */
@media (max-width: 767px) {
  /* Mostrar menu hamburguer no mobile */
  .navbar .md\:hidden {
    display: flex !important;
  }

  /* Esconder navbar-actions no mobile */
  .navbar-actions {
    display: none !important;
  }

  /* Links de navegação desktop escondidos */
  .navbar .hidden.md\:flex {
    display: none !important;
  }

  /* Menu mobile responsivo */
  nav > div[x-data] > div.md\:hidden {
    position: fixed;
    top: 5rem;
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    z-index: 50;
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
  }

  /* Logo ajustado para mobile */
  .navbar img {
    height: 3.5rem;
    max-height: 3.5rem;
  }

  .navbar .shrink-0 span {
    font-size: 1.25rem;
  }

  /* Ajustar altura da navbar para acomodar logo maior */
  .navbar-container {
    min-height: 5rem;
  }
}

/* ===== TABLET (640px - 767px) ===== */
@media (min-width: 640px) and (max-width: 767px) {
  /* Mostrar nome do portal em tablets */
  .navbar .shrink-0 span {
    display: block !important;
    font-size: 1.125rem;
  }
}

/* ===== MOBILE PEQUENO (< 475px) ===== */
@media (max-width: 474px) {
  /* Esconder texto do logo em telas muito pequenas */
  .navbar .hidden.xs\:block {
    display: none !important;
  }

  .navbar img {
    height: 2rem;
  }
}

/* ===== CORREÇÃO DE CONFLITOS ===== */
/* Garantir que as classes Tailwind funcionem corretamente */
.hidden {
  display: none;
}

.md\:flex {
  display: none;
}

@media (min-width: 768px) {
  .md\:flex {
    display: flex;
  }
}

.md\:hidden {
  display: block;
}

@media (min-width: 768px) {
  .md\:hidden {
    display: none;
  }
}

/* ===== ANIMAÇÕES DO MENU MOBILE ===== */
@media (max-width: 767px) {
  /* Animação de abertura */
  [x-data] > div.md\:hidden[style*="display: block"] {
    animation: slideDown 0.3s ease-out;
  }

  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Overlay quando menu está aberto */
  body:has([x-data][x-bind\:class*="block"]) {
    overflow: hidden;
  }
}

/* ===== ACESSIBILIDADE ===== */
/* Focus visível para navegação por teclado */
.navbar button:focus,
.navbar a:focus {
  outline: 2px solid #3B82F6;
  outline-offset: 2px;
}

/* ===== PERFORMANCE ===== */
/* Hardware acceleration para animações */
.navbar {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

/* ===== PRINT ===== */
@media print {
  .navbar button,
  .navbar .md\:hidden {
    display: none !important;
  }
}

