/* Assistente de convite: dias da semana dentro de um escopo de erro, opções extras em cards e ação de criar convite. */

.booking-setup-flow .weekly-day > .field-scope {
  margin-block: 0;
}

.booking-setup-flow .setup-option-card {
  margin-bottom: var(--space-4);
}

.booking-setup-flow .setup-option-card .field:first-child {
  margin-top: var(--space-4);
}

/* Depois de salvar: o aviso e "Criar convite" logo abaixo do título, visíveis sem rolagem. */
.booking-setup-flow .setup-invite {
  display: grid;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.booking-setup-flow .setup-invite[hidden] {
  display: none;
}

/* button_to envolve "Criar convite" em um form; o botão preenche a largura da pilha, como as ações do fluxo. */
.booking-setup-flow .setup-invite .primary {
  width: 100%;
}

/* Cada grupo de opções com o seu campo "outra": o irmão revelado pelo "custom" marcado fica no mesmo grupo. */
.booking-setup-flow .setup-choice {
  margin-block: var(--space-4);
}

.booking-setup-flow .setup-preview {
  margin-block: var(--space-4) var(--space-6);
}

.booking-setup-flow .setup-preview h3 {
  margin: 0 0 var(--space-2);
  font-size: var(--font-size-body);
}

.booking-setup-flow .setup-preview-count {
  margin: 0 0 var(--space-2);
  font-weight: 700;
}

.booking-setup-flow .setup-preview ul {
  margin: 0;
  padding-left: var(--space-6);
}

.booking-setup-flow .flow-heading {
  margin-bottom: var(--space-6);
}

.booking-setup-flow .flow-progress {
  margin: var(--space-3) 0 0;
}

.booking-setup-flow .setup-options h2 {
  font-size: var(--font-size-section);
}

.booking-setup-flow .check {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: var(--control-min-height);
  margin: 0;
}

.booking-setup-flow .check input {
  flex: 0 0 auto;
}

/* Semana compacta (#297): uma linha por dia com a caixa, "Seg · 08:00–18:00" e "Editar"; os horários abrem abaixo. */
.booking-setup-flow .weekly-day {
  border-bottom: 1px solid var(--line);
}

.booking-setup-flow .weekly-day-row {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.booking-setup-flow .weekly-day-row .check {
  flex: 0 0 auto;
  font-weight: 700;
}

.booking-setup-flow .weekly-day-edit {
  flex: 1 1 auto;
}

/* The separator is visual: the edit button already reads the day and its hours. */
.booking-setup-flow .weekly-day-hours:not(:empty)::before {
  content: "· ";
  content: "· " / "";
}

.booking-setup-flow .day-periods {
  padding: 0 0 var(--space-4) var(--space-4);
}

.booking-setup-flow .weekly-period {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: var(--space-3);
}

.booking-setup-flow .extra-period {
  margin-top: var(--space-3);
}

.booking-setup-flow .extra-period summary,
.booking-setup-flow .setup-option-card summary {
  min-height: var(--control-min-height);
  color: var(--accent);
  cursor: pointer;
}

.booking-setup-flow .setup-option-card summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
}

.booking-setup-flow .setup-option-card summary span:last-child {
  margin-left: auto;
}

.booking-setup-flow .setup-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: var(--space-2) var(--space-4);
  margin: 0;
}

.booking-setup-flow .setup-summary dt {
  color: var(--muted);
}

.booking-setup-flow .setup-summary dd {
  max-width: none;
  margin: 0;
  text-align: left;
  overflow-wrap: anywhere;
}

.booking-setup-flow .setup-options {
  margin-top: var(--space-8);
}

@media (width <= 390px) {
  .booking-setup-flow .time-grid {
    grid-template-columns: 1fr;
  }
}
