/* === LAYOUT: HEADER === */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent; 
  z-index: 1000;
  opacity: 0;
  transform: translateY(-50px);
  transition: background-color 0.3s ease-in-out, opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
  display: flex;
  justify-content: center;
}

header.scrolled {
  background-color: var(--bg-header-scrolled); 
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
  opacity: 1;
  transform: translateY(0);
}

header .interface {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 4%;
  width: 100%;
}

header .logo img {
  max-width: 80px;
  height: auto;
}

header nav ul {
  list-style-type: none;
  display: flex;       
  gap: 3vw;            
  justify-content: center;
  margin: 0;
  padding: 0;
}

header nav ul li {
  display: block;     
  padding: 0;          
}


header .interface {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2%;      
  width: 100%;
}

header a {
  color: var(--nav-link-color); 
  text-decoration: none;
  display: inline-block;
  transition: color 0.2s, transform 0.2s;
}

header a:hover {
  color: var(--nav-link-hover); 
  transform: scale(1.05);
}

#toggle-mode {
  background: transparent;
  border: none;
  font-size: 1.8rem;
  cursor: pointer;
  color: var(--cor-texto); 
  padding: 0 15px;
}

#toggle-mode:hover {
  transform: scale(1.1);
  box-shadow: none;
  background: transparent;
}

/* === LAYOUT: MAIN === */
section {
  scroll-snap-align: start;
  min-height: 100vh; 
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 120px 4% 80px 4%; 
}

section.formulario {
  min-height: 100vh;
}

#formulario, #inicio, #sobre, #especialidades, #projetos {
  scroll-margin-top: 100px;
}

/* === LAYOUT: FOOTER === */
footer {
  padding: 20px 8%;
  background-color: var(--cor-fundo);
  color: var(--cor-texto);
  box-shadow: 0px -10px 100px var(--shadow-suave); 
  
  transition: box-shadow 0.3s ease;
  z-index: 10; 
  position: relative;
}

footer .flex {
  justify-content: space-between;
  align-items: center;
}

footer .line-footer {
  padding: 20px 0;
}

.logo-footer img {
  max-width: 90px;
  height: auto;
  transition: transform 0.2s;
}

.logo-footer img:hover {
  transform: scale(1.05);
}

footer a {
  color: var(--cor-texto) !important;
  text-decoration: none;
  transition: color 0.3s ease;
}

footer a:hover {
  color: var(--cor-destaque) !important;
}

.borda {
  border-top: 2px solid var(--cor-destaque);
  color: var(--cor-texto);
}

/* CONTAINER SUPERIOR DIREITO (CONTATO + TEMA) */

.menu-top-right {
  display: flex;
  align-items: center;
  gap: 15px; 
}

/* Estilo do botão Contato quando está no Topo */
.menu-top-right .btn-contato {
  font-size: 14px;        
  padding: 8px 20px;       
  border-radius: 20px;
  color: #000000 !important; 
  white-space: nowrap;
  display: inline-block;
}

.menu-top-right .btn-contato:hover {
  transform: scale(1.05);
  box-shadow: 0 0 10px var(--cor-destaque);
}