@charset "UTF-8";

/* Quebra para telas pequenas (celulares) */
@media (max-width: 992px) {
  nav {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 78px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.95);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    padding: 14px;
    gap: 10px;
    backdrop-filter: blur(6px);
    z-index: 999;
  }
  nav.active {
    display: flex;
    animation: fadeIn 0.3s ease;
  }

  .menu-btn {
    display: block;
    background: none;
    color: var(----texto-principal);
    border: none;
    font-size: 26px;
    cursor: pointer;
    color: var(--preto);
    position: relative;
  }

  .menu-btn::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -4px;
    background: var(--destaque-icone);
    transition: width 0.3s;
  }

  .menu-btn:hover::after {
    width: 100%;
  }

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

@media (max-width: 768px) {
  header {
    padding: 15px;
  }

  nav ul {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .grid-servicos {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #sobre {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .saiba-container {
    flex-direction: column;
    text-align: center;
  }

  footer {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .hero h1 {
    font-size: 2.8rem;
  }

  .hero p {
    font-size: 1.2rem;
  }
}


@media (max-width: 480px) {
  .hero {
    padding: 80px 15px;
  }

  .bth-hero,
  .bth-header {
    padding: 10px 20px;
    font-size: 0.9rem;
  }

  section.info-contato .bloco {
    width: 90%;
  }

  form input,
  form textarea {
    max-width: 90%;
  }
}






