/* Agendar videoconferência: complementos da página (o resto vem de site.css) */

.ag-step .fs-head h2:focus{outline:0}
.ag-step .fs-head h2:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
.ag-intro{margin:-8px 0 24px;font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:60ch}

/* calendário */
.cal-day{position:relative;aspect-ratio:auto;height:46px}
.cal-day:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cal-day.today::after{content:"";position:absolute;left:50%;bottom:7px;width:4px;height:4px;margin-left:-2px;border-radius:999px;background:var(--blue-cta)}
.cal-day.today[aria-pressed="true"]::after{background:#fff}
.cal-day.empty{visibility:hidden}
.cal-nav button .ph{font-size:16px}
.cal-nav button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* horários */
.slots-wrap h3{margin-bottom:4px}
.slots-sub{margin-bottom:16px;font-size:15px;color:var(--ink-3)}
.slot-group + .slot-group{margin-top:20px}
.slot-group > p{margin-bottom:10px;font-size:14px;font-weight:600;color:var(--ink-3)}
.slot{transition:box-shadow .15s ease,background-color .15s ease,color .15s ease,transform .16s var(--ease-out)}
.slot:active:not(:disabled){transform:scale(.97)}
.slot:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.slot.sk{pointer-events:none;color:transparent;box-shadow:none;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:sk 1.4s ease infinite}
.slots-empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;border-radius:var(--r);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.slots-empty strong{font-size:16.5px;font-weight:700}
.slots-empty p{font-size:15px;line-height:1.55;color:var(--ink-2)}
.slots-empty .row{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}

/* ações */
.ag-actions{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px}
.ag-actions .prod-cta{min-height:52px;padding:0 24px;font-size:16px}
.ag-actions .prod-cta:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.ag-actions .prod-cta.is-loading .i-arrow{display:none}
.ag-actions .prod-cta.is-loading::before{content:"";width:16px;height:16px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
.ag-pick{font-size:15px;color:var(--ink-2)}
.ag-pick strong{color:var(--ink)}
.ag-back{display:inline-flex;align-items:center;gap:8px;padding:10px 0;border:0;background:none;cursor:pointer;font-size:15px;font-weight:600;color:var(--blue-cta)}
.ag-back .ph{font-size:16px;transition:transform .2s var(--ease-out)}
@media (hover:hover) and (pointer:fine){ .ag-back:hover{color:var(--blue-h)} .ag-back:hover .ph{transform:translateX(-3px)} }
.link-btn{padding:0;border:0;background:none;cursor:pointer;font-size:15px;font-weight:600;color:var(--blue-cta);text-decoration:underline;text-underline-offset:3px}

/* reserva segura (no topo da etapa 2; no celular o painel lateral fica embaixo) */
.ag-hold{display:flex;align-items:center;gap:10px;margin-bottom:26px;padding:12px 16px;border-radius:var(--r-sm);background:var(--blue-t);font-size:15px;color:var(--ink-2)}
.ag-hold .ph{font-size:18px;color:var(--blue-h)}
.ag-hold strong{color:var(--ink);font-variant-numeric:tabular-nums}
.ag-hold.low{background:var(--warn-t);color:#5c4300}
.ag-hold.low .ph,.ag-hold.low strong{color:#7a5300}

/* formulário */
.upload.drag{box-shadow:inset 0 0 0 2px var(--blue);background:#fff}
.upload .file-name{font-weight:600;color:var(--ok);word-break:break-all}
.upload[aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--err);background:#fff}
.inp:disabled{opacity:.6}
.notice .row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px}
.notice .ph{font-size:20px;flex-shrink:0;margin-top:1px}
.notice > div{min-width:0}
.notice a{font-weight:600}

/* confirmação */
.done-card .when{margin-top:6px;font-size:17px;font-weight:600;color:var(--blue-h)}
.done-card .test-note{font-size:13.5px;color:var(--ink-3)}

/* painel lateral (cartão claro) */
.co-side .rc-line dd{font-variant-numeric:tabular-nums}
.co-side .timer.low{background:var(--warn-t);color:#7a5300}
.side-note{margin-top:8px;font-size:13.5px;line-height:1.55;color:var(--ink-3)}

@media (max-width:900px){
  .ag-actions{flex-direction:column-reverse;align-items:stretch}
  #step-1 .ag-actions{flex-direction:column}
  .ag-actions .prod-cta{width:100%}
  .ag-actions .ag-pick{text-align:center}
  .done-actions > *{flex:1 1 auto;justify-content:center}
  .slots{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}
  .cal-day{height:auto;aspect-ratio:1;font-size:15px;border-radius:8px}
}

/* desktop largo: calendário e horários lado a lado */
@media (min-width:1100px){
  .ag-pickgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
  .ag-pickgrid .slots-wrap{margin-top:4px}
  .ag-pickgrid .slots{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ag-pickgrid .cal-day{height:42px}
  .ag-pickgrid .cal{padding:16px}
  .ag-pickgrid .cal-wd span{font-size:11.5px}
}
