* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "poppins", sans-serif;
}

body {
    background-color: #9200D0;
}

.head {
    margin: 10px;
    text-align: center;
}

.head img {
    width: 150px;
}

header {
    margin: auto;
    max-width: 700px;
    padding: 10px;
    text-align: center;
    color: #fff;
    line-height: 35px;
}

main {
    margin: auto;
    max-width: 700px;
    padding: 10px;
    font-size: 18px;
    line-height: 30px;
    text-align: center;
    color: #ffd900;
}

main img {
    margin-top: 10px;
    width: 300px;
}

.containerForm {
    display: flex;
    margin: auto;
    max-width: 700px;
    flex-direction: column;
    align-items: center;
}

.containerForm h3 {
    padding: 10px;
    text-align: center;
    line-height: 30px;
    color: #fff;
}

#_form_37_ {
    background: #9200D0; /* Roxo */
    padding: 40px 30px 30px 30px;
    border-radius: 0 0 12px 12px; /* Cantos arredondados apenas na parte inferior */
    max-width: 500px;
    width: 100%;
    text-align: center;
}

/* --- Título e Subtítulo do Formulário --- */
._form-title {
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 700;
    font-size: 2.2em;
    color: #F2C029; /* Amarelo */
    line-height: 1.2;
    margin-bottom: 10px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.form-subtitle {
    color: #FFFFFF;
    margin-bottom: 30px;
    font-size: 1em;
}

/* --- Rótulos (Labels) e Campos --- */
._form_element {
    margin-bottom: 20px;
    text-align: left;
}

._form-label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
    color: #FFFFFF;
    font-size: 0.9em;
}

.field-required {
    color: #F2C029; /* Amarelo */
    font-weight: 700;
    margin-left: 4px;
}

/* --- ATUALIZADO: Estilo dos Inputs (text, email, tel) e Select --- */
input[type="text"],
input[type="email"],
input[type="tel"],
select {
    width: 100%;
    padding: 14px;
    border: 2px solid #F29727; /* Laranja mais claro */
    border-radius: 8px;
    background-color: #A420E0; /* Tom de roxo mais claro para contraste */
    color: #FFFFFF;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1em;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* --- ATUALIZADO: Estilo do Placeholder --- */
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

/* --- ATUALIZADO: Estilo de Foco --- */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus {
    outline: none;
    border-color: #F2C029; /* Amarelo */
    box-shadow: 0 0 10px rgba(242, 192, 41, 0.5);
}

/* Custom Arrow for Select */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23F2C029' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
}

/* --- Botão de Envio --- */
._submit {
    width: 100%;
    background: #F2C029 !important; /* Amarelo */
    color: #9200D0 !important; /* Roxo */
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1.2em !important;
    font-weight: 700;
    text-transform: uppercase;
    padding: 16px 20px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-top: 10px;
}

._submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

._submit.processing {
    background-image: linear-gradient(#9200D0, #9200D0), conic-gradient(#F2C029, #FFFFFF) !important;
}

/* --- Mensagens de Erro --- */
._error-inner {
    background-color: #F2762E !important; /* Laranja */
    color: #FFFFFF !important;
    font-weight: 600;
    text-align: center;
    padding: 10px !important;
    border-radius: 4px;
    margin-top: 8px;
}

/* --- Thank You Message --- */
._form-thank-you {
    font-size: 1.5em;
    font-weight: 600;
    color: #F2C029;
}

/* --- Responsividade --- */
@media (max-width: 600px) {
    
    .site-branding {
        margin-bottom: -15px;
    }

    #_form_37_ {
        padding: 30px 20px 20px 20px;
    }

    ._form-title {
        font-size: 1.8em;
    }
}

/* --- ATUALIZADO: Estilo dos Inputs (bloco redundante removido para clareza) --- */
/* A regra principal no início do arquivo já cobre todos os tipos de input */


.iti {
    width: 100%;
    border: 2px solid #F29727;
    border-radius: 8px;
    background-color: #A420E0;
    display: flex;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.iti input[type="tel"] {
    border: none;
    background-color: transparent;
    color: #FFFFFF;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1em;
    padding: 14px;
    width: 100%;
    box-shadow: none; 
}

.iti .iti__flag-container {
    background-color: transparent;
}
.iti .iti__selected-flag {
    background-color: transparent;
    padding-left: 12px;
}

.iti:focus-within {
    border-color: #F2C029; /* Amarelo */
    box-shadow: 0 0 10px rgba(242, 192, 41, 0.5);
}
.iti input[type="tel"]:focus {
    outline: none;
    box-shadow: none;
}

.iti__country-list {
    background-color: #A420E0;
    border: 1px solid #F29727;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.iti__country {
    color: #FFFFFF;
}

._x49749185 {
    color: rgba(255, 255, 255, 0.658);
}

.iti__country:hover, .iti__country.iti__active {
    background-color: #9200D0;
}
.iti__dial-code {
    color: rgba(255, 255, 255, 0.7);
}

/* --- Estilo Aprimorado para o SELECT --- */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    width: 100%;
    padding: 14px;
    padding-right: 40px; 
    border: 2px solid #F29727; 
    border-radius: 8px;
    background-color: #A420E0; 
    color: #FFFFFF; 
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1em;
    cursor: pointer;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23F2C029' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
}

select:invalid {
   color: rgba(255, 255, 255, 0.7);
}

select option {
    background-color: #FFFFFF;
    color: #333333;
}


/* --- ESTILOS DO RODAPÉ --- */
footer {
    width: 100%;
    background-color: #A420E0; /* Tom de roxo mais claro para contraste */
    color: #FFFFFF;
    padding: 40px 20px;
    margin-top: 60px; /* Espaço entre o formulário e o rodapé */
    border-top: 4px solid #F2C029; /* Borda amarela para destaque */
    text-align: center;
}

.footer-content {
    max-width: 700px;
    margin: auto;
}

.footer-logo {
    width: 120px; /* Logo um pouco menor no rodapé */
    margin-bottom: 5px;
}

.footer-info p {
    margin-bottom: 8px;
    font-size: 0.9em;
    line-height: 1.6;
}

.footer-legal {
    margin-top: 5px;
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.7); /* Cor mais suave para o texto legal */
    border-top: 1px solid rgba(242, 192, 41, 0.3); /* Linha divisória sutil */
    padding-top: 10px;
}