/* ESTILO DO FORMULÁRIO PÚBLICO DE AGENDAMENTO (25/10/2026) -- regra ÚNICA para todo layout que liga o módulo assets/modulos/agendaPublica.js (antes cada layout trazia a própria cópia: só a clínica tinha).
   O layout não escreve CSS de agenda: carrega este arquivo e, se quiser, define as variáveis abaixo (o fallback pega a cor principal e o texto que o layout já tem: --principal/--navy, --texto/--txt). */
.agenda-card { --ap-cor: var(--principal, var(--navy, #1f3a5f)); --ap-destaque: var(--destaque, var(--ouro, #c6ac7b)); --ap-texto: var(--texto, var(--txt, #2a2e35)); --ap-mudo: #4c6470;
  background: #fff; border-radius: 20px; padding: 22px; box-shadow: var(--sombra, 0 8px 30px rgba(16,42,54,.12)); border: 1px solid rgba(16,42,54,.06); display: flex; flex-direction: column; gap: 18px; color: var(--ap-texto); }
.agenda-bloco label, .cart-campo label { display: block; font-size: 11.5px; font-weight: 700; color: var(--ap-mudo); text-transform: uppercase; letter-spacing: .3px; margin-bottom: 8px; }
.agenda-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.agenda-pill { border: 1.5px solid rgba(16,42,54,.15); border-radius: 999px; padding: 9px 16px; font-size: 13.5px; font-weight: 600; color: var(--ap-texto); background: #fff; cursor: pointer; }
.agenda-pill.ativo { background: var(--ap-cor); border-color: var(--ap-cor); color: #fff; }
.agenda-select, .cart-campo input, .cart-campo select { width: 100%; box-sizing: border-box; border: 1.5px solid rgba(16,42,54,.15); border-radius: 10px; padding: 10px 12px; font-size: 14px; background: #fff; color: var(--ap-texto); }
.cart-campo { display: flex; flex-direction: column; gap: 4px; }
.cart-campo label { margin-bottom: 0; }
.cart-campo input:focus, .cart-campo select:focus { outline: none; border-color: var(--ap-cor); }
.cart-campo input.erro, .cart-campo select.erro { border-color: #c0392b; animation: agenda-erro-shake .3s; }
@keyframes agenda-erro-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.agenda-confirmar { background: var(--ap-cor); color: #fff; border: 0; border-radius: 999px; padding: 14px; font-size: 15px; font-weight: 700; text-align: center; cursor: pointer; }
.agenda-confirmar:disabled { opacity: .5; cursor: default; }
.agenda-ok { background: #fff; border-radius: 20px; padding: 28px 22px; box-shadow: var(--sombra, 0 8px 30px rgba(16,42,54,.12)); text-align: center; display: flex; flex-direction: column; gap: 10px; align-items: center; color: var(--ap-texto, #2a2e35); }
.agenda-ok-emoji { color: var(--ap-destaque, #c6ac7b); display: flex; justify-content: center; }
.agenda-ok b { font-size: 18px; color: var(--ap-cor, #1f3a5f); }
.agenda-ok-codigo { font-family: monospace; background: rgba(16,42,54,.06); border-radius: 8px; padding: 6px 12px; font-size: 14px; font-weight: 700; }
.agenda-msg { text-align: center; color: #4c6470; }
.agenda-msg--pequena { font-size: 11.5px; }
