/* Página pública de agendamento */
body.publico { padding-bottom: 0; background: #f4f8fa; }
.pub-topo { background: #0f6e8c; color: #fff; }
.pub-topo .container { padding-top: .7rem; padding-bottom: .7rem; }
.pub-marca { display: flex; align-items: center; gap: .6rem; color: #fff; text-decoration: none; font-weight: 700; font-size: 1.15rem; }
.pub-marca img { height: 40px; background: #fff; border-radius: 6px; padding: 2px; }
.pub-main { max-width: 640px; padding-top: 1.2rem; }
.pub-rodape { max-width: 640px; font-size: .85rem; color: var(--pico-muted-color); text-align: center; padding-bottom: 2rem; }
.pub-passos { display: flex; gap: .4rem; margin-bottom: 1rem; font-size: .8rem; color: var(--pico-muted-color); }
.pub-passos span { flex: 1; text-align: center; border-bottom: 3px solid var(--pico-muted-border-color); padding-bottom: .3rem; }
.pub-passos span.ativo { border-color: #0f6e8c; color: #0f6e8c; font-weight: 700; }

.calendario { display: grid; grid-template-columns: repeat(7, 1fr); gap: .35rem; margin-bottom: 1rem; }
.calendario .cab { text-align: center; font-size: .72rem; font-weight: 700; color: var(--pico-muted-color); text-transform: uppercase; }
.calendario .mes { grid-column: 1 / -1; font-weight: 700; margin-top: .5rem; }
.calendario a, .calendario span.dia { display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1 / 1;
  border-radius: 10px; font-weight: 700; text-decoration: none; font-size: 1rem; line-height: 1.1; }
.calendario a { background: #fff; border: 2px solid #0f6e8c; color: #0f6e8c; }
.calendario a small { font-size: .6rem; font-weight: 500; }
.calendario a.escolhido { background: #0f6e8c; color: #fff; }
.calendario span.dia { color: #b0b8bf; background: transparent; border: 1px dashed #d5dbe0; font-weight: 400; }
.calendario span.vazio { visibility: hidden; }

.horarios { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: .5rem; }
.horarios a { display: block; text-align: center; padding: .75rem .3rem; border-radius: 10px; background: #fff; border: 2px solid #0f6e8c;
  color: #0f6e8c; font-weight: 700; text-decoration: none; font-size: 1.05rem; }
.horarios a:hover { background: #0f6e8c; color: #fff; }

.pub-cartao { background: #fff; border-radius: 12px; padding: 1.1rem; box-shadow: 0 1px 6px rgba(0,0,0,.06); margin-bottom: 1rem; }
.pub-destaque { font-size: 1.35rem; font-weight: 700; color: #0f6e8c; margin: .2rem 0; }
.pub-ok { text-align: center; }
.pub-ok .icone { font-size: 3rem; line-height: 1; }
.pub-botoes { display: grid; gap: .6rem; }
.pub-botoes a[role=button], .pub-botoes button { width: 100%; margin: 0; }
.link-pessoal { word-break: break-all; font-size: .85rem; background: #eef4f7; padding: .5rem; border-radius: 6px; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
fieldset.sintomas label { margin-bottom: .55rem; }
.pub-consentimento { font-size: .85rem; }

.pub-topo .container { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.pub-topo .botao-tema { color: #fff; border-color: rgba(255,255,255,.5); }

/* Tema escuro da página pública */
[data-theme="dark"] body.publico { background: #10141b; }
[data-theme="dark"] .pub-topo { background: #0b4f66; }
[data-theme="dark"] .pub-cartao { background: var(--pico-card-background-color); box-shadow: 0 1px 6px rgba(0,0,0,.4); }
[data-theme="dark"] .pub-destaque, [data-theme="dark"] .pub-passos span.ativo { color: #5cc3e4; border-color: #5cc3e4; }
[data-theme="dark"] .calendario a, [data-theme="dark"] .horarios a { background: transparent; border-color: #5cc3e4; color: #5cc3e4; }
[data-theme="dark"] .calendario a.escolhido, [data-theme="dark"] .horarios a:hover { background: #0f7fa1; border-color: #0f7fa1; color: #fff; }
[data-theme="dark"] .calendario span.dia { color: #5b6672; border-color: #343c47; }
[data-theme="dark"] .link-pessoal { background: #1c232d; }
