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

: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);
  line-height: 1.2;
}

/* ===================== CONTEÚDO ===================== */
.container{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;                             /* quebra no mobile */
  gap: clamp(24px, 7vw, 100px);                /* espaçamento fluido */
  margin-top: clamp(48px, 12vw, 220px);        /* topo fluido */
  padding: 0 clamp(12px, 4vw, 32px);           /* respiro lateral no mobile */
  text-decoration: none;
  cursor: pointer;
}

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

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

/* Interações */
#fluxo:hover,#orcamento:hover{
  transform: scale(1.04);
  box-shadow: 0 10px 24px rgba(0,0,0,0.35);
}

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

/* ===================== BREAKPOINTS ===================== */
/* Tablets (~≤1024px) */
@media (max-width: 1024px){
  .container{ gap: clamp(20px, 5vw, 60px); }
}

/* Mobile médio (~≤768px): ocupa quase toda a largura */
@media (max-width: 768px){
  #fluxo, #orcamento{
    width: min(92vw, 520px);
    height: clamp(120px, 28vw, 200px);
  }
}

/* Mobile pequeno (~≤480px): reduz mais a fonte/altura */
@media (max-width: 480px){
  .container{ gap: 18px; }
  #fluxo, #orcamento{
    width: 94vw;
    height: clamp(110px, 32vw, 170px);
    font-size: clamp(24px, 8vw, 40px);
  }
}

/* Usuários que preferem menos animação */
@media (prefers-reduced-motion: reduce){
  * { transition: none !important; }
  #fluxo:hover,#orcamento:hover{ transform:none; }
}
