/* ============================================================
   Agendamento. Usa os tokens de styles.css — carregue os dois.
   ============================================================ */

.ag {
  padding: clamp(56px, 8vw, 96px) var(--gutter) clamp(72px, 9vw, 112px);
  background:
    radial-gradient(120% 70% at 50% -10%, var(--glow) 0%, transparent 60%),
    var(--deep);
  min-height: 70vh;
}
.ag__wrap { max-width: 880px; }

/* ── Cabeçalho ─────────────────────────────────────────────── */
.ag-cab { margin-bottom: clamp(32px, 4vw, 44px); }
.ag-cab .eyebrow { margin-bottom: 18px; }
.ag-cab .h2 { max-width: 16ch; }
.ag-cab__lede { margin-top: 20px; max-width: 62ch; }

/* ── Trilha dos passos ─────────────────────────────────────── */
.ag-passos {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--ink-40);
}
.ag-passos li { display: flex; align-items: center; gap: 9px; }
.ag-passos span {
  display: grid;
  place-items: center;
  width: 22px; height: 22px;
  border: 1px solid var(--hair);
  border-radius: 50%;
  font-size: 11.5px;
  font-weight: 700;
}
.ag-passos .is-atual { color: var(--gold); }
.ag-passos .is-atual span { border-color: var(--gold); color: var(--gold); }
.ag-passos .is-feito { color: var(--ink-60); }
.ag-passos .is-feito span {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--mid);
}

/* ── Cartão ────────────────────────────────────────────────── */
.ag-card {
  background: var(--mid);
  border: 1px solid var(--hair);
  padding: clamp(26px, 4vw, 40px);
}
.ag-card__intro {
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--ink-66);
  max-width: 56ch;
  margin-bottom: 28px;
}
.ag-card--fim { text-align: left; }
.ag-card--fim .eyebrow { margin-bottom: 16px; }
.ag-card--fim .h2 { max-width: 18ch; }
.ag-card--fim .lede { margin-top: 18px; max-width: 58ch; }

/* ── Erro ──────────────────────────────────────────────────── */
.ag-erro {
  margin: 0 0 20px;
  padding: 14px 18px;
  border: 1px solid rgba(224, 121, 107, .45);
  background: rgba(224, 121, 107, .09);
  color: #F0BDB4;
  font-size: 15px;
  line-height: 1.5;
}

/* ── Campos ────────────────────────────────────────────────── */
.ag-campos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 20px 24px;
}
.ag-campo { display: flex; flex-direction: column; gap: 8px; }
.ag-campo--largo { grid-column: 1 / -1; }
.ag-campo > span {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(216, 182, 92, .82);
}
.ag-campo > span em {
  font-style: normal;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--ink-40);
  margin-left: 6px;
}
.ag-campo input,
.ag-campo select,
.ag-campo textarea {
  font-family: var(--sans);
  font-size: 16px;              /* 16px evita o zoom automático do iOS */
  color: var(--cream);
  background: var(--deep);
  border: 1px solid var(--hair);
  border-radius: 0;
  padding: 14px 16px;
  width: 100%;
  transition: border-color .18s ease, background-color .18s ease;
}
.ag-campo textarea { resize: vertical; line-height: 1.55; }
.ag-campo select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%),
                    linear-gradient(135deg, var(--gold) 50%, transparent 50%);
  background-position: right 20px center, right 14px center;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 44px;
}
.ag-campo select option { background: var(--mid); color: var(--cream); }
.ag-campo input::placeholder,
.ag-campo textarea::placeholder { color: rgba(242, 239, 228, .28); }
.ag-campo input:focus,
.ag-campo select:focus,
.ag-campo textarea:focus {
  outline: none;
  border-color: var(--gold);
  background: #0a1d13;
}

.ag-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ── Barra de ação ─────────────────────────────────────────── */
.ag-barra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid var(--hair);
}
.ag-barra__obs { font-size: 14px; color: var(--ink-40); margin: 0; }

/* ── Quem está agendando (passo 2) ─────────────────────────── */
.ag-quem {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  padding: 16px 20px;
  margin-bottom: 16px;
  border: 1px solid var(--hair);
  background: rgba(20, 51, 35, .35);
}
.ag-quem__rot {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-40);
  margin-bottom: 4px;
}
.ag-quem strong { font-size: 17px; color: var(--cream); font-weight: 600; }
.ag-quem__det { display: block; font-size: 14px; color: var(--ink-60); margin-top: 2px; }
.ag-quem__trocar { font-size: 14px; font-weight: 600; border-bottom: 1px solid rgba(216, 182, 92, .4); }

/* ── Abas de dia ───────────────────────────────────────────── */
.ag-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 10px;
  margin-bottom: 26px;
  scrollbar-width: thin;
}
.ag-tab {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 62px;
  padding: 11px 12px 12px;
  background: transparent;
  border: 1px solid var(--hair);
  color: var(--ink-60);
  font-family: var(--sans);
  cursor: pointer;
  transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}
.ag-tab:hover { border-color: rgba(216, 182, 92, .45); color: var(--cream); }
.ag-tab__dia { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ag-tab__num { font-family: var(--serif); font-size: 24px; line-height: 1.05; color: var(--cream); }
.ag-tab__mes { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-40); }
.ag-tab.is-ativo {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--mid);
}
.ag-tab.is-ativo .ag-tab__num,
.ag-tab.is-ativo .ag-tab__mes { color: var(--mid); }

/* ── Horários ──────────────────────────────────────────────── */
.ag-dia + .ag-dia { margin-top: 30px; }
.ag-dia__tit {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  color: var(--cream);
  margin: 0 0 14px;
}
.ag-horas {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
  gap: 10px;
}
.ag-hora {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--cream);
  background: transparent;
  border: 1px solid var(--hair);
  padding: 15px 8px;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.ag-hora:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--mid);
  transform: translateY(-1px);
}
.ag-hora:disabled { opacity: .35; cursor: default; transform: none; }
.is-enviando .ag-hora { pointer-events: none; }

/* ── Confirmação ───────────────────────────────────────────── */
.ag-resumo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
  gap: 1px;
  background: var(--hair);
  border: 1px solid var(--hair);
  margin: 32px 0;
}
.ag-resumo__item { background: var(--mid); padding: 20px 22px; }
.ag-resumo__rot {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(216, 182, 92, .7);
  margin-bottom: 8px;
}
.ag-resumo__item strong {
  display: block;
  font-family: var(--serif);
  font-weight: 400;
  font-size: 21px;
  line-height: 1.2;
  color: var(--cream);
}
.ag-resumo__det { display: block; font-size: 14px; color: var(--ink-60); margin-top: 6px; line-height: 1.45; }

.ag-meet {
  border: 1px solid rgba(216, 182, 92, .35);
  background: rgba(216, 182, 92, .06);
  padding: 20px 22px;
  margin-bottom: 30px;
}
.ag-meet__rot {
  font-size: 11px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--gold); margin: 0 0 8px;
}
.ag-meet__link { font-size: 16px; font-weight: 600; word-break: break-all; }
.ag-meet__obs { font-size: 14px; color: var(--ink-40); margin: 10px 0 0; }

/* O passo que fecha o ciclo: é o cliente quem abre a conversa. */
.ag-passo-wa {
  border: 1px solid rgba(216, 182, 92, .38);
  background: rgba(216, 182, 92, .07);
  padding: 24px 26px 26px;
  margin-top: 32px;
}
.ag-passo-wa__rot {
  font-size: 11px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--gold); margin: 0 0 10px;
}
.ag-passo-wa__txt {
  font-size: 16.5px; line-height: 1.6; color: var(--ink-72);
  max-width: 54ch; margin: 0 0 22px;
}

.ag-acoes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.ag-nota {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--hair);
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-60);
}
.ag-nota a { border-bottom: 1px solid rgba(216, 182, 92, .4); }

@media (max-width: 560px) {
  .ag-horas { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); }
  .ag-acoes .btn { width: 100%; justify-content: center; }
  .ag-passo-wa { padding: 20px; }
  .ag-passo-wa .btn { width: 100%; justify-content: center; }
}
