/* T7: serviços padronizados (perfil, catálogo e "Meus serviços"). Usa as
   variáveis de cor do styles.css, então segue a paleta escolhida. */

/* Perfil */
.servicos-perfil h3 { font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--tinta); margin: 14px 0 8px; }
.servicos-perfil h3:first-child { margin-top: 0; }
.servicos-lista { list-style: none; display: grid; gap: 10px; margin: 0 0 8px; padding: 0; }
.servico-perfil { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; border: 1px solid var(--linha); border-radius: 14px; padding: 12px 14px; }
.servico-perfil strong { display: block; font-size: 0.92rem; color: var(--preto); }
.servico-perfil small { display: block; font-size: 0.78rem; color: var(--tinta); margin-top: 2px; }
.servico-perfil p { font-size: 0.82rem; color: var(--tinta); margin: 6px 0 0; line-height: 1.45; }
.servico-preco { flex-shrink: 0; font-size: 0.84rem; font-weight: 700; color: var(--ouro-texto); background: var(--ouro-claro); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }

/* Filtro do município */
.filtro-servico { display: inline-flex; align-items: center; gap: 6px; font-size: 0.84rem; color: var(--tinta); margin-left: 6px; }
.filtro-servico select { font: inherit; border: 1px solid var(--linha); border-radius: 999px; padding: 6px 10px; background: var(--cartao); color: var(--tinta); max-width: 240px; }

/* Catálogo */
.catalogo-servicos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.servico-cartao { display: flex; flex-direction: column; gap: 4px; text-align: left; font: inherit; background: var(--cartao); border: 1px solid var(--linha); border-radius: 14px; padding: 12px 14px; cursor: pointer; color: var(--tinta); }
.servico-cartao:hover, .servico-cartao:focus-visible { border-color: var(--ouro); }
.servico-cartao strong { font-size: 0.9rem; color: var(--preto); }
.servico-cartao span { font-size: 0.8rem; line-height: 1.45; }
.servico-cartao em { font-size: 0.74rem; font-style: normal; color: var(--ouro-texto); font-weight: 600; }

/* Meus serviços */
.servico-item { border: 1px solid var(--linha); border-radius: 14px; padding: 10px 12px; margin-bottom: 8px; }
.servico-item:has(input[data-campo="escolhido"]:checked) { border-color: var(--ouro); background: var(--ouro-claro); }
.servico-escolha { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.servico-escolha input { margin-top: 3px; }
.servico-escolha strong { display: block; font-size: 0.9rem; color: var(--preto); }
.servico-escolha small { display: block; font-size: 0.78rem; color: var(--tinta); line-height: 1.4; }
.servico-detalhes { margin-top: 10px; }
.servico-detalhes select[multiple] { width: 100%; }
.minhas-sugestoes { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 6px; font-size: 0.84rem; }
.minhas-sugestoes li small { display: block; color: var(--tinta); }
.status-sugestao { font-size: 0.74rem; font-weight: 600; border-radius: 999px; padding: 2px 8px; background: var(--ouro-claro); color: var(--ouro-texto); }
.status-sugestao.status-recusada { background: var(--aviso-claro); color: var(--aviso); }

@media (max-width: 600px) {
  .servico-perfil { flex-direction: column; }
  .filtro-servico { margin: 8px 0 0; width: 100%; }
  .filtro-servico select { flex: 1; max-width: none; }
}
