/* =============================================================
   📋 MENUS.CSS - ESTILOS DO MENU DROPDOWN E SUBMENUS
   =============================================================
   Este arquivo define:
   - Posicionamento do menu dropdown principal
   - Estilos dos inputs e botões internos
   - Submenus expansíveis (Temas, Políticas)
   - Comportamento responsivo
   ============================================================= */

/* =============================================================
   🎯 CONTAINER DO DROPDOWN
   Posicionamento relativo para que o menu absoluto
   se posicione corretamente dentro dele.
   float: right empurra o menu para o canto superior direito.
   z-index: 20 garante que fique acima de todos os outros elementos.
   ============================================================= */
.dropdown {
    position: relative;
    z-index: 20;               /* Acima da garrafa (z-index: 1) */
    flex-shrink: 0;
}

/* =============================================================
   📜 CONTEÚDO DO MENU SUSPENSO
   Oculto por padrão. A visibilidade é controlada pelo buttons.js
   via menu.style.display — NÃO pelo CSS (evita conflitos no mobile).
   max-height + overflow-y: auto permitem scroll se houver muitos itens.
   ============================================================= */
.dropdown-content {
    display: none;             /* Estado inicial: fechado */
    position: absolute;
    right: 10px;               /* Alinhado à direita */
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 10;

    /* Limita altura e adiciona scroll se necessário */
    max-height: 60vh;          /* Ocupa no máximo 60% da altura da tela */
    overflow-y: auto;          /* Ativa scroll apenas se houver muitos itens */
    overflow: visible;         /* Permite submenus saírem do container */
    scrollbar-width: none;     /* Oculta scrollbar no Firefox */
}

/* Oculta scrollbar no Chrome, Safari e Edge */
.dropdown-content::-webkit-scrollbar {
  display: none;
}

/* =============================================================
   🍔 BOTÃO DO MENU (ÍCONE HAMBÚRGUER)
   Remove estilos padrão do botão para parecer apenas um ícone.
   ============================================================= */
.dropbtn {
    flex-shrink: 0;
    border: none;
    margin-top: 5px;
    background: none;
    cursor: pointer;
}

.dropbtn img {
    width: 70px;
    height: 70px;
}

/* =============================================================
   🎛️ INPUTS E BOTÕES DENTRO DO MENU
   Estilo unificado para manter consistência visual entre
   todos os controles do dropdown.
   ============================================================= */
.dropdown-content input,
.dropdown-content button {
    width: 100%;
    height: 50px;

    background-color: white;
    border: none;
    cursor: pointer;

    /* Fonte padrão do app */
    font-family: "Google Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "GRAD" 0;
}

/* =============================================================
   🏷️ LABELS DOS INPUTS
   Exibidos em bloco para ocupar a largura total e criar
   separação visual entre os campos.
   ============================================================= */
.dropdown-content label {
    display: block;
    background-color: white;
    text-align: center;
    width: 100%;
    padding: 3px 0;

    font-family: "Google Sans", sans-serif;
    font-size: 14px;
    cursor: default;           /* Cursor normal (não pointer) */
}

/* =============================================================
   ✨ EFEITO HOVER
   Destaque ao passar o mouse sobre botões e links
   ============================================================= */
.dropdown-content button:hover,
.menu-link:hover {
    background-color: black;
    color: white;
    transition: background-color 0.2s ease;
}

/* =============================================================
   🔗 LINKS DO MENU
   Estilizados para parecer botões, mantendo consistência
   visual mesmo sendo tags <a>.
   ============================================================= */
.menu-link {
    display: block;
    text-align: center;
    text-decoration: none;
    color: black;
    padding: 15px;
    background-color: white;
    font-size: 14px;
    width: 100%;
    border: none;
    font-family: "Google Sans", sans-serif;
}

/* =============================================================
   👁️ CLASSE DE VISIBILIDADE
   Usada pelo JavaScript para mostrar/ocultar elementos
   ============================================================= */
.dropdown-content.show {
  display: block;
}

/* =============================================================
   🔢 INPUTS NUMÉRICOS
   Centraliza o texto nos campos de meta e quantidade
   ============================================================= */
#meta-input,
#ml-input {
    text-align: center;
}

/* =============================================================
   🚫 REMOVE SETAS DOS INPUTS NUMÉRICOS
   Melhora a aparência dos campos type="number" no Chrome (webkit)
   e no Firefox (moz), tornando-os visualmente mais limpos.
   ============================================================= */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield; /* Para Firefox */
    appearance: none;           /* Propriedade padrão moderna */
}

/* =============================================================
   📝 WRAPPER DOS INPUTS COM PREFIXO
   Usa flexbox para alinhar verticalmente o rótulo interno
   (ex: "Meta(ml)") com o campo de input.
   ============================================================= */
.input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Rótulo sobreposto ao input, posicionado à esquerda.
   pointer-events: none garante que cliques passem direto para o input. */
.input-prefix {
    position: absolute;
    left: 10px;
    font-size: 12px;
    color: #888;
    pointer-events: none;      /* Permite clicar através do prefixo */
}

/* Empurra o valor digitado para a direita, evitando sobreposição com o prefixo */
.input-wrapper input {
    padding-left: 40px;
}

/* =============================================================
   📂 SUBMENUS (TEMAS E POLÍTICAS)
   Menus que se expandem lateralmente ao clicar
   ============================================================= */
.submenu {
  position: relative;
}

.submenu-content {
  display: none;             /* Oculto por padrão */
  position: absolute;

  right: 100%;               /* Abre para a esquerda do botão */
  top: 0;                    /* Alinhado ao topo (pode ser ajustado pelo JS) */

  background-color: #f9f9f9;
  min-width: 160px;

  box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
  z-index: 30;               /* Acima do menu principal */
}

/* Torna visível quando ativado pelo JavaScript */
.submenu-content.show {
  display: block;
}

#bg-file {
    display: none; /* Esconde o input de arquivo, usaremos o label estilizado */
}