@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
body,
html {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
  scroll-behavior: smooth;
  touch-action: manipulation;
}

.body-no-scroll {
  position: fixed;
  /* Impede o scroll horizontal caso algum elemento ainda esteja vazando */
  overflow: hidden; 
  width: 100%;
  /* A posição 'top' será definida via JS para manter o scroll no lugar */
}

*,
*::before,
*::after {
  box-sizing: border-box;
}



h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}
a {
  text-decoration: none;
  color: inherit;
}
li {
  list-style-type: none;
  text-decoration: none;
}
ul {
  margin: 0;
  padding: 0;
}

:root {
    --cinza-medio: #64748b;
    --dourado: #f59e0b;
    --dourado-escuro: #d97706;
}

/* ========================================================== */
/* CTA (Call to Action) no Final da Seção Sobre Nós
/* ========================================================== */

.sobreNos-cta-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-sobreNos-orcamento {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem; 
  
  padding: 0.9rem 1rem;
  background: linear-gradient(135deg, var(--gold-primary), var(--gold-secondary));
  color: white;
  font-size: 1.1rem;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  transition: all 0.4s ease;
  
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.btn-sobreNos-orcamento img {
  height: 1.2rem;
  width: auto;
}

.btn-sobreNos-orcamento span {
  position: relative; 
  z-index: 2;
}

/* O pseudo-elemento que desliza */
.btn-sobreNos-orcamento::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--gold-secondary), var(--gold-primary));
  transform: translateX(-100%);
  transition: transform 0.5s ease-in-out;
  z-index: -1;
}

/* Efeito combinado no hover */
.btn-sobreNos-orcamento:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(164, 126, 67, 0.3);
}

.btn-sobreNos-orcamento:hover::before {
  transform: translateX(0);
}

/*EFEITOS*/
/* ====================================================== */
/* CÓDIGO DE ANIMAÇÃO PARA A PÁGINA HOME    */
/* ====================================================== */
/* Animação que vem da ESQUERDA, agora com mais dinamismo */
@keyframes slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-100%) rotate(-5deg); /* Começa um pouco inclinado */
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateX(0) rotate(0deg); /* Termina reto */
    filter: blur(0);
  }
}

/* Animação que vem da DIREITA, com o mesmo dinamismo */
@keyframes slideInFromRight {
  from {
    opacity: 0;
    transform: translateX(100%) rotate(5deg); /* Começa inclinado para o outro lado */
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateX(0) rotate(0deg);
    filter: blur(0);
  }
}

/* NOVO KEYFRAME: Efeito para revelar texto de baixo para cima */
@keyframes revealTextUp {
  from {
    opacity: 0;
    transform: translateY(100%); /* O texto começa abaixo de sua posição */
    filter: blur(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* ====================================================== */
/* CÓDIGO DE ANIMAÇÃO PARA A PÁGINA DE PRODUTOS          */
/* ====================================================== */

/* 1. Definição das Animações (Cima, Baixo, Esquerda, Direita) */

@keyframes slideInFromTop {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slideInFromBottom {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slideInFromLeft {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideInFromRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* ====================================================== */
/* CÓDIGO DE ANIMAÇÃO PARA A PÁGINA DE SobreNos         */
/* ====================================================== */

/* Um "respiro" mais suave ao aparecer. */
@keyframes fadeIn-scaleUp {
  from { 
    opacity: 0; 
    transform: scale(0.9); /* Começa um pouco menor */
    filter: blur(2px);
  }
  to { 
    opacity: 1; 
    transform: scale(1);
    filter: blur(0);
  }
}

/* Movimento mais orgânico e menos linear, como uma partícula flutuando. */
@keyframes aurora-flow {
  0%   { transform: translate(0, 0) rotate(0deg); }
  25%  { transform: translate(40px, 30px) rotate(3deg); }
  50%  { transform: translate(100px, 80px) rotate(-1deg); }
  75%  { transform: translate(20px, 100px) rotate(-4deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

/* Efeito de crescimento com uma leve "elasticidade" no final. */
@keyframes timeline-grow {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
  /* Dica: na classe que usar esta animação, adicione 'transform-origin: top;' ou 'bottom;' 
     para controlar de onde a linha "cresce". */
}

/* ====================================================== */
/* CÓDIGO DE ANIMAÇÃO PARA A PÁGINA Orcamento       */            /* A pgina de OrcamentoForm usa o mesmo efieto da pagina home */
/* ====================================================== */

/* Efeito de aparição suave. */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Efeito de subir que "passa um pouco" e volta, dando peso ao elemento. */
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  80% {
    transform: translateY(-5px); /* Passa um pouquinho para cima */
  }
  to {
    opacity: 1;
    transform: translateY(0); /* Assenta na posição final */
  }
}

@keyframes growInHeight {
  from {
    transform: scaleY(0);
  }

  to {
    transform: scaleY(1);
  }
}

/* ====================================================== */
/* CÓDIGO DE ANIMAÇÃO PARA A PÁGINA Dialog      */ 
/* ====================================================== */

@keyframes slideUpFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}



