/* =========================================
   ESTILIZAÇÃO GERAL
   ========================================= */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Poppins', sans-serif; line-height: 1.6; }

.bg-preto { background-color: #000; color: #fff; }
.bg-branco { background-color: #fff; color: #000; }

/* Fundo vermelho agora com largura total */
.bg-vermelho { background-color: #ad000b; color: #fff; width: 100%; }

.bg-branco h2 { color: #000; border-bottom: 3px solid #ad000b; }
.bg-vermelho h2 { color: #fff; border-bottom: 3px solid #fff; }

/* HEADER */
header { padding: 15px 5%; background: #000; border-bottom: 2px solid #ad000b; }
nav { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; }
nav ul { display: flex; list-style: none; gap: 25px; }
nav a { color: #fff; text-decoration: none; font-weight: 600; transition: 0.3s; }
nav a:hover { color: #ad000b; }

/* HERO FULL-WIDTH */
.hero { 
    height: 90vh; width: 100%; display: flex; flex-direction: column; justify-content: center; 
    align-items: center; text-align: center; 
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('../img/background-evento.jpg'); 
    background-size: cover; background-position: center; 
}
.hero h1 { font-size: 3.5rem; margin-bottom: 15px; text-transform: uppercase; }
.hero h1 span { color: #ad000b; }

/* SEÇÕES */
section:not(.hero) { padding: 80px 5%; max-width: 1200px; margin: 0 auto; }

/* Seção de orçamento específica para herdar o padding, mas permitir largura total do pai */
#orcamento { 
    padding: 80px 5%; 
    max-width: 1200px; 
    margin: 0 auto; 
}

h2 { font-size: 2.5rem; margin-bottom: 40px; text-align: center; border-bottom: 3px solid #ad000b; 
     display: block; width: fit-content; margin: 0 auto 40px auto; padding-bottom: 5px; }

/* FORMULÁRIO */
.form-container { 
    width: 100%;       
    max-width: 800px; /* Limite do tamanho do formulário */
    margin: 0 auto; 
}
input, select, textarea { 
    width: 100%; padding: 15px; margin-bottom: 15px; border-radius: 8px; border: 1px solid #ddd; 
    background: #ffffff; color: #333; font-family: 'Poppins', sans-serif; font-size: 1rem;
}
input:focus, select:focus, textarea:focus { outline: none; border-color: #ad000b; }
::placeholder { color: #999; }

/* BOTÃO */
.btn-destaque { 
    display: inline-block; background: #ad000b; color: #fff; padding: 15px 40px; border-radius: 50px; 
    text-decoration: none; font-weight: bold; text-transform: uppercase; transition: 0.3s; border: none; cursor: pointer; text-align: center;
}
.btn-destaque:hover { background: #fff; color: #ad000b; transform: scale(1.05); }

@media (max-width: 768px) {
    .hero h1 { font-size: 2rem; }
    nav { flex-direction: column; gap: 15px; }
    section:not(.hero) { padding: 40px 5%; }
    #orcamento { padding: 40px 5%; }
}