@import url('https://fonts.googleapis.com/css2?family=League+Gothic&display=swap');

/* Reset e box-sizing */
*,
*::before,
*::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

:root {
  --azul: #000525;
  --amarelo: #ffc420;
  --branco: #ffffff;
  --cinza: #dddddd;
  --shadow-color: rgba(0, 0, 0, 0.15);
  --highlight: #ff1d50;
  --font-primary: 'League Gothic', monospace;
  --border-radius: 12px;
  --transition-fast: 0.2s ease;
  --transition-medium: 0.3s ease;
}

body{
  font-family: var(--font-primary);
  background-color: var(--azul);
  color: var(--branco);
  padding-top: 64px; /* evita ficar sob o menu fixo */
}

/* ===================== MENU ===================== */

/* ===================== CONTEÚDO ===================== */
.container{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap; /* quebra quando precisar */
  gap: clamp(24px, 7vw, 100px);
  margin-top: clamp(40px, 12vw, 220px);
  padding: 0 clamp(12px, 4vw, 32px);
  text-decoration: none;
  cursor: pointer;
}

#fluxo, #orcamento{
  border: 5px solid var(--amarelo);
  width: clamp(240px, 38vw, 500px);
  height: clamp(120px, 22vw, 200px);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(28px, 6vw, 56px);
  border-radius: 10px;
  background-color: var(--amarelo);
  box-shadow: 0 4px 12px black;
  transition: transform var(--transition-medium), box-shadow var(--transition-medium);
}

.container a{
  text-decoration: none;
  color: var(--azul);
}

#fluxo:hover,#orcamento:hover{
  transform: scale(1.04);
  box-shadow: 0 10px 24px rgba(0,0,0,0.35);
}

/* Foco acessível */
#fluxo:focus-visible,#orcamento:focus-visible,
.container a:focus-visible{
  outline: 3px solid var(--highlight);
  outline-offset: 4px;
}

/* ===================== RESPONSIVO ===================== */
/* Tablets e abaixo */
@media (max-width: 1024px){
  body{ padding-top: 60px; }
  .container{ gap: clamp(20px, 5vw, 60px); }
}

/* Mobile: mostra hambúrguer e colapsa os links */
@media (max-width: 768px){
  .menu{ flex-wrap: wrap; row-gap: 8px; }
  .menu-toggle{ display: block; }

  /* Esconde links por padrão */
  #menu-left a, #menu-right a{ display: none; width: 100%; text-align: center; }

  /* Ocupa linhas inteiras no mobile */
  #menu-left, #menu-right{ width: 100%; flex-wrap: wrap; justify-content: center; }

  /* Quando o menu estiver aberto, mostra links */
  .menu.open #menu-left a,
  .menu.open #menu-right a{ display: block; padding: 12px 20px; }

  /* Mantém o botão e organiza layout */
  #menu-left{ justify-content: space-between; }
}

/* Mobile pequeno */
@media (max-width: 480px){
  .menu a{ font-size: 16px; padding: 10px 14px; }
  body{ padding-top: 56px; }
}

/* Menos animação para quem prefere */
@media (prefers-reduced-motion: reduce){
  * { transition: none !important; }
  #fluxo:hover,#orcamento:hover{ transform:none; }
}
