/* Estilos gerais e responsividade */
body { font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px; display: flex; justify-content: center; align-items: center; min-height: 100vh; }
.form-container { background-color: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); max-width: 500px; width: 100%; }
h2 { text-align: center; color: #333; }
p { text-align: center; color: #666; margin-bottom: 20px; }
.form-group { margin-bottom: 20px; }
label { display: block; margin-bottom: 5px; font-weight: bold; color: #555; }
input[type="text"], input[type="tel"], input[type="email"] { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
input.invalid { border-color: #e74c3c; }
.error-message { color: #e74c3c; font-size: 0.8em; display: none; }
.form-group-checkbox { display: flex; align-items: center; margin-bottom: 20px; }
.form-group-checkbox input { margin-right: 10px; }
.form-group-checkbox a { color: #71b62f; text-decoration: none; }

input::placeholder {
    color: #bbb; /* Um cinza mais claro */
    opacity: 1; /* Necessário para sobrescrever o padrão do Firefox */
}

button[type="submit"] { width: 100%; padding: 15px; border: none; border-radius: 4px; background-color: #71b62f; color: #000; font-size: 16px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; }
button[type="submit"]:disabled { background-color: #ccc; cursor: not-allowed; }
button[type="submit"].loading { background-color: #5a9225; cursor: wait; }

/* Estilos do Modal */
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.6); }
.modal-content { background-color: #fefefe; margin: 5% auto; padding: 20px; border: 1px solid #888; width: 80%; max-width: 700px; border-radius: 8px; position: relative; }
.modal-content.response { max-width: 400px; text-align: center; }
.close-button { color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer; }
.policy-text-container { height: 400px; overflow-y: scroll; border: 1px solid #eee; padding: 15px; margin-bottom: 15px; }
.modal-footer { text-align: right; }
.modal-btn { padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; }
.modal-btn.accept { background-color: #71b62f; color: black; }
.modal-btn.accept:disabled { background-color: #ccc; }
.modal-btn.reject { background-color: #e74c3c; color: white; margin-left: 10px; }
.website-field {
    position: absolute;
    left: -5000px;
    visibility: hidden;
}
