/* Solicitação aberta: dados na ordem da decisão, ações comuns e a destrutiva separada no fim. */

/* Convites: cabeçalho de seção com a ação, cards de convite e opções de atendimento. */

.booking-section-heading,
.booking-link-card-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-4);
}

.booking-section-heading {
  margin-bottom: var(--space-4);
}

.booking-section-heading h2,
.booking-link-card h3,
.booking-link-card-heading p {
  margin: 0;
}

.booking-section-heading p,
.booking-link-card-heading p,
.booking-link-deadline {
  color: var(--muted);
}

.booking-link-list {
  display: grid;
  gap: var(--space-4);
}

.booking-link-card {
  display: grid;
  gap: var(--space-3);
}

.booking-link-card > p,
.booking-link-card form {
  margin: 0;
}

.booking-estimate {
  margin-block: var(--space-4);
}

.booking-estimate > summary {
  min-height: var(--control-min-height);
  font-weight: 700;
  cursor: pointer;
}

.booking-options-overview {
  margin: var(--space-8) 0;
}

.booking-options-overview :where(h2) {
  font-size: var(--font-size-section);
}

@media (width <= 390px) {
  .booking-section-heading {
    flex-wrap: wrap;
  }

  .booking-section-heading > .primary,
  .booking-link-card > .secondary,
  .booking-link-card form,
  .booking-link-card form button {
    width: 100%;
  }
}

.booking-request-page .flow-heading h1 {
  margin-top: var(--space-4);
  margin-bottom: var(--space-2);
}

.request-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
}

.request-data {
  margin-top: var(--space-6);
}

.request-data > h2 {
  margin-bottom: var(--space-1);
  font-size: var(--font-size-card);
}

.request-data > p {
  margin: 0 0 var(--space-2);
}

/* Aviso ao cliente (#296): o registro de contato fica na Solicitação; o seletor do canal tem a largura das opções
   e a seção, aberta pela âncora vinda da Agenda, não encosta no topo. */
.request-contact {
  scroll-margin-top: var(--space-4);
}

.request-contact select {
  width: auto;
}

.request-text {
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.booking-request-page .booking-photos {
  margin-top: var(--space-3);
}

.booking-request-page > .actions {
  margin-top: var(--space-4);
}

.booking-request-page .booking-estimate {
  margin-top: var(--space-6);
}

.request-danger {
  margin-top: var(--space-12);
  padding-top: var(--space-6);
  border-top: 1px solid var(--line);
}

/* Link público: horários no Calendário único e ações destrutivas separadas no fim. */

.public-booking .flow-heading > .badge {
  margin-bottom: var(--space-3);
}

.booking-slots {
  margin-top: var(--space-8);
}

.booking-slots > h2 {
  margin-bottom: var(--space-1);
}

.booking-slots .calendar-month {
  max-width: 420px;
  margin-top: var(--space-4);
}

.booking-slots-count {
  margin: var(--space-2) 0 var(--space-4);
  font-weight: 700;
}

.booking-edit {
  margin-top: var(--space-6);
}

.booking-edit > summary {
  min-height: var(--control-min-height);
  font-weight: 700;
  cursor: pointer;
}

.booking-change-times {
  margin-top: var(--space-2);
}

.public-danger {
  margin-top: var(--space-12);
  padding-top: var(--space-6);
  border-top: 1px solid var(--line);
}

/* Convite criado: o link em um campo somente leitura, com as ações de compartilhar abaixo. */

.share-link {
  display: grid;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.share-status {
  min-height: 1.5em;
  margin: 0;
  color: var(--muted);
  font-size: var(--font-size-support);
}

/* Convites: a ação comum à esquerda e a destrutiva separada à direita; a confirmação ocupa a linha. */

.booking-link-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.booking-link-actions > .destructive-action[open] {
  flex-basis: 100%;
}

.booking-link-card-heading {
  flex-wrap: wrap;
}

.booking-link-card-heading > div {
  flex: 1 1 12rem;
}
