/* Busca nacional: o serviço e a cidade vêm primeiro; o bairro é um refinamento. */
.busca-local { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto; gap: 8px; padding: 10px; border: 1px solid var(--borda); border-radius: 20px; background: #fff; box-shadow: 0 10px 40px #10182812; text-align: left; }
.hero .busca-local { grid-column: 1 / -1; }
.busca-local { align-self: start; }
.busca-local-campo { position: relative; display: flex; align-items: center; gap: 11px; padding: 12px 14px; border: 1px solid #acb7c7; border-radius: 12px; background: #f8fafc; color: #788598; min-width: 0; cursor: text; transition: background .15s, border-color .15s, box-shadow .15s; }
.busca-local-campo:hover { border-color: #8593a8; }
.busca-local-campo:focus-within { background: #fff; border-color: var(--laranja); box-shadow: 0 0 0 3px #f26b211f; }
.busca-local-campo > svg { flex: none; }
.busca-local-conteudo { display: flex; flex-direction: column; min-width: 0; width: 100%; gap: 4px; }
.busca-local-label { font-size: 12px; line-height: 1.4; color: var(--texto-2); font-weight: 600; }
.busca-local-campo input { width: 100%; min-width: 0; border: 0; padding: 0; outline: none; font-size: 16px; line-height: 1.6; color: var(--texto); background: transparent; }
.busca-local-campo input::placeholder { color: #707b8e; }
.busca-local-cidade { border-radius: 12px; }
.busca-local-enviar { grid-column: 3; grid-row: 1; align-self: stretch; margin: 4px; padding: 14px 18px; font-size: 14px; }
.busca-local-refino { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; padding: 8px 4px 2px; border-top: 1px solid var(--borda); animation: refino-entrar .2s ease-out; }
.busca-local-bairro { flex: 1; max-width: 360px; background: #f8fafc; border-color: #acb7c7; padding: 10px 12px; }
.busca-local-opcional { font-size: 11px; font-weight: 400; color: var(--texto-2); margin-left: 5px; }
.busca-local-ajuda { flex: 1; max-width: 290px; font-size: 12px; line-height: 1.6; color: var(--texto-2); }
.busca-local-status { grid-column: 1 / -1; padding: 0 12px; font-size: 13px; color: var(--laranja-esc); }
.busca-local-status:empty { display: none; }
.busca-local .sugestoes { top: calc(100% + 6px); left: 0; right: 0; min-width: 240px; max-height: 290px; overflow-y: auto; z-index: 60; }
.busca-local .sugestoes li { cursor: pointer; padding: 12px 14px; font-size: 14px; }
.busca-local .sugestoes li span { font-size: 11px; }
.busca-local-compacta { margin: 0 0 28px; box-shadow: none; background: var(--fundo-2); }
.busca-local-compacta .busca-local-cidade { border-radius: 12px; }
.busca-local-compacta .busca-local-bairro { background: #fff; }
.busca-local-compacta .busca-local-refino { border: 0; padding: 0; }
.busca-local-compacta .busca-local-ajuda { display: none; }
.hero-in:has(.busca-local) { max-width: 1000px; }
.home-servicos .grupo li a { justify-content: flex-start; }
@keyframes refino-entrar { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .busca-local-refino { animation: none; } }
@media (min-width: 801px) {
  .busca-local:has(.busca-local-refino:not([hidden])) { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, .95fr) 160px; }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-refino { grid-column: 3; grid-row: 1; border: 0; padding: 0; gap: 0; }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-bairro { max-width: none; width: 100%; height: 100%; padding: 12px 14px; background: #f8fafc; border-color: #acb7c7; border-radius: 12px; }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-bairro:hover { border-color: #8593a8; }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-bairro:focus-within { background: #fff; border-color: var(--laranja); }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-enviar { grid-column: 4; max-width: 160px; padding: 12px 10px; white-space: normal; line-height: 1.4; }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-enviar > svg { flex: none; }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-ajuda { display: none; }
  .busca-local-compacta:has(.busca-local-refino:not([hidden])) { grid-template-columns: repeat(3, minmax(0, 1fr)) 160px; }
}
@media (min-width: 801px) and (max-width: 1000px) {
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-campo { padding: 12px 10px; }
  .busca-local:has(.busca-local-refino:not([hidden])) .busca-local-campo > svg { display: none; }
}
@media (max-width: 800px) {
  .busca-local { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .busca-local-enviar { grid-column: 1 / -1; grid-row: 3; margin: 2px; }
  .busca-local-refino { grid-row: 2; }
  .busca-local-status { grid-row: 4; }
}
@media (max-width: 560px) {
  .busca-local, .busca-local-compacta { grid-template-columns: minmax(0, 1fr); gap: 5px; padding: 8px; border-radius: 18px; }
  .busca-local-campo { padding: 10px 12px; }
  .busca-local-cidade { border: 1px solid #acb7c7; border-radius: 12px; }
  .busca-local-servico { grid-row: 1; }
  .busca-local-cidade { grid-row: 2; }
  .busca-local-enviar, .busca-local-compacta .busca-local-enviar { grid-column: 1; grid-row: 4; min-height: 48px; }
  .busca-local-refino { grid-row: 3; flex-direction: column; align-items: stretch; gap: 8px; padding: 10px 2px 6px; }
  .busca-local-bairro, .busca-local-ajuda { max-width: none; }
  .busca-local-ajuda { padding: 0 6px; }
  .busca-local-status { grid-row: 5; }
  .busca-local .sugestoes { min-width: 0; }
}
