@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

:root{
  --preto:#161616;
  --preto-claro:#242424;
  --dourado:#c9a15a;
  --dourado-claro:#e6c98a;
  --branco:#f7f5f2;
  --cinza:#8a8a8a;
  --sucesso:#2e7d32;
  --erro:#c62828;
  --radius:14px;
  --sombra: 0 10px 30px rgba(0,0,0,.15);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:'Poppins',Arial,sans-serif;
  background:var(--branco);
  color:var(--preto);
}
a{text-decoration:none;color:inherit}
.container{max-width:960px;margin:0 auto;padding:0 18px}

/* Topo da barbearia */
.topo-barbearia{
  background:linear-gradient(135deg,var(--preto) 0%,var(--preto-claro) 100%);
  color:#fff;padding:36px 0 28px;text-align:center;
}
.topo-barbearia img.logo{width:78px;height:78px;border-radius:50%;object-fit:cover;border:3px solid var(--dourado);margin-bottom:10px}
.topo-barbearia h1{margin:6px 0 4px;font-size:1.6rem;letter-spacing:.5px}
.topo-barbearia p{margin:0;color:var(--dourado-claro);font-size:.9rem}

/* Passos */
.passos{display:flex;justify-content:center;gap:6px;margin:22px 0}
.passo-bolinha{width:10px;height:10px;border-radius:50%;background:#ddd}
.passo-bolinha.ativo{background:var(--dourado)}

/* Cards de barbeiro */
.grid-barbeiros{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin:20px 0}
.card-barbeiro{
  background:#fff;border-radius:var(--radius);box-shadow:var(--sombra);
  text-align:center;padding:18px 12px;cursor:pointer;border:2px solid transparent;
  transition:transform .15s ease, border-color .15s ease;
}
.card-barbeiro:hover{transform:translateY(-4px)}
.card-barbeiro.selecionado{border-color:var(--dourado)}
.card-barbeiro img{width:88px;height:88px;border-radius:50%;object-fit:cover;margin-bottom:10px;background:#eee}
.card-barbeiro h3{margin:4px 0 2px;font-size:1rem}
.card-barbeiro span{font-size:.8rem;color:var(--cinza)}

/* Cards de serviço */
.lista-servicos{display:flex;flex-direction:column;gap:10px;margin:20px 0}
.card-servico{
  background:#fff;border-radius:var(--radius);box-shadow:var(--sombra);
  padding:16px 18px;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;border:2px solid transparent;
}
.card-servico.selecionado{border-color:var(--dourado)}
.card-servico h4{margin:0 0 4px}
.card-servico small{color:var(--cinza)}
.preco{font-weight:600;color:var(--preto)}

/* Grade de horários */
.grid-horarios{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:10px;margin:20px 0}
.slot-horario{
  padding:10px 6px;text-align:center;border-radius:10px;background:#fff;
  border:1px solid #e2e2e2;cursor:pointer;font-weight:500;
}
.slot-horario:hover{border-color:var(--dourado)}
.slot-horario.selecionado{background:var(--preto);color:#fff;border-color:var(--preto)}
.slot-horario.indisponivel{background:#f0f0f0;color:#bbb;cursor:not-allowed;text-decoration:line-through}

/* Botões */
.btn{
  display:inline-block;background:var(--preto);color:#fff;border:none;
  padding:13px 26px;border-radius:10px;font-weight:600;cursor:pointer;font-size:.95rem;
}
.btn:hover{background:var(--preto-claro)}
.btn-dourado{background:var(--dourado);color:var(--preto)}
.btn-dourado:hover{background:var(--dourado-claro)}
.btn-bloco{width:100%}
.btn-secundario{background:#eee;color:var(--preto)}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* Formulários */
.form-grupo{margin-bottom:16px}
.form-grupo label{display:block;margin-bottom:6px;font-weight:500;font-size:.9rem}
.form-grupo input,.form-grupo select,.form-grupo textarea{
  width:100%;padding:11px 12px;border:1px solid #ddd;border-radius:10px;font-size:.95rem;font-family:inherit;
}
.form-grupo input:focus,.form-grupo select:focus{outline:none;border-color:var(--dourado)}

/* Cartão flutuante */
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--sombra);padding:24px;margin:20px 0}

/* Mensagens */
.alerta{padding:14px 16px;border-radius:10px;margin-bottom:16px;font-size:.9rem}
.alerta-erro{background:#fdecea;color:var(--erro)}
.alerta-sucesso{background:#eaf6ea;color:var(--sucesso)}

.resumo-linha{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #eee;font-size:.92rem}
.resumo-linha:last-child{border-bottom:none;font-weight:700}

.confirmacao{text-align:center;padding:40px 20px}
.confirmacao .icone-ok{font-size:60px;color:var(--sucesso)}

footer.rodape{text-align:center;padding:26px 0;color:var(--cinza);font-size:.8rem}
