/* --- Estilos para a página de busca e agendamento --- */

/* Navbar Superior */
.top-navbar { background-color: white; padding: 15px 40px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); display: flex; justify-content: space-between; align-items: center; width: 100%; position: sticky; top: 0; z-index: 1000; }
.navbar-logo a { text-decoration: none; font-size: 1.5em; font-weight: 600; color: #0b2f5a; }
.navbar-links { list-style: none; display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; }
.navbar-links a { text-decoration: none; color: #555; font-weight: 500; transition: color 0.3s; }
.navbar-links a:hover { color: #0b2f5a; }
.navbar-links a.btn-nav { background-color: #0b2f5a; color: white; padding: 8px 18px; border-radius: 8px; transition: background-color 0.3s; }
.navbar-links a.btn-nav:hover { background-color: #1e477a; color: white; }

/* Estrutura Principal */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Poppins', sans-serif; background-color: #f7f9fc; color: #333; }
.search-container { max-width: 800px; margin: 40px auto; padding: 20px; }
header { text-align: center; margin-bottom: 40px; }
header h1 { font-size: 2.2em; font-weight: 600; color: #0b2f5a; }
header p { font-size: 1.1em; color: #888; }
.card { background-color: white; padding: 30px; border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); margin-bottom: 25px; }
.card h2 { font-size: 1.3em; font-weight: 600; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }

/* --- ÁREA ATUALIZADA: Layout do Formulário de Busca --- */
.search-form {
    display: grid;
    grid-template-columns: 2fr 1fr; /* Duas colunas para Cidade e UF */
    gap: 20px;
}
.form-group { display: flex; flex-direction: column; }
.form-group label { margin-bottom: 8px; font-size: 0.9em; color: #555; font-weight: 500; }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 1em; font-family: 'Poppins', sans-serif; }
.btn-primary { background-color: #0b2f5a; color: white; border: none; padding: 12px 20px; border-radius: 8px; cursor: pointer; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 1em; }

/* Ocupa a segunda coluna na primeira linha */
.form-group.uf-field {
    grid-column: 2 / 3;
}
/* Ocupa a largura total na "próxima linha" */
.form-group.full-width-on-next-line {
    grid-column: 1 / -1;
}
/* Contêiner para a última linha do formulário */
.search-form-bottom-row {
    grid-column: 1 / -1; /* Ocupa a largura total */
    display: grid;
    grid-template-columns: 1fr auto; /* Coluna flexível para a data, tamanho automático para o botão */
    gap: 20px;
    align-items: flex-end;
}
/* --- FIM DA ÁREA ATUALIZADA --- */


/* --- Resto do CSS (sem alterações) --- */
.results-summary { text-align: center; padding: 20px; border-radius: 8px; background-color: #eaf2fa; margin-bottom: 25px; }
.results-summary h3 { color: #0b2f5a; font-size: 1.2em; }
.results-summary p { font-size: 1.5em; font-weight: 600; color: #28a745; }
.results-summary small { color: #888; }
.more-options { display: flex; justify-content: center; gap: 15px; margin-top: 20px; }
.more-options button { background: none; border: 1px solid #ddd; padding: 8px 15px; border-radius: 8px; cursor: pointer; font-family: 'Poppins', sans-serif; font-weight: 500; display: flex; align-items: center; gap: 8px; }
.more-options button:hover { background-color: #f0f2f5; }
#calendar-view { display: none; margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; }
.calendar { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; text-align: center; }
.calendar div { padding: 10px; border-radius: 5px; }
.calendar .day-name { font-weight: 600; color: #888; }
.calendar .day { cursor: pointer; transition: background-color: 0.3s; }
.calendar .day:hover { background-color: #f0f2f5; }
.calendar .day.available { background-color: #e4f8f0; color: #28a745; font-weight: 600; }
.calendar .day.unavailable { color: #ccc; }
.radio-options { display: flex; gap: 20px; margin-bottom: 20px; flex-wrap: wrap; }
.radio-group { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.radio-group input[type="radio"] { width: auto; }
.upload-group { padding: 20px; border: 2px dashed #ddd; border-radius: 8px; text-align: center; background-color: #f7f9fc; cursor: pointer; transition: background-color 0.3s; }
.upload-group:hover { background-color: #f0f2f5; }
.upload-group input[type="file"] { display: none; }
.upload-group label { font-weight: 500; color: #555; cursor: pointer; }
.upload-group i { margin-right: 8px; }
.upload-group p { font-size: 0.85em; color: #999; margin-top: 5px; }
.progress-container { display: none; margin-top: 15px; }
.progress-bar { width: 100%; background-color: #e0e0e0; border-radius: 5px; overflow: hidden; }
.progress-bar-fill { height: 20px; width: 0%; background-color: #28a745; text-align: center; line-height: 20px; color: white; transition: width 0.3s ease; }
#audio-upload-info { display: none; margin-top: 15px; padding: 10px; background-color: #e4f8f0; border-radius: 5px; border: 1px solid #a3e9d0; color: #28a745; font-weight: 500; display: flex; align-items: center; gap: 10px; }