/* P1R6CU-R5 — Public step chrome convergence.
   Single presentation owner for step headers and contact header chrome.
   Business state remains projected by existing booking/UI authorities. */

.content-header {
  padding: var(--public-space-md) var(--public-space-lg) var(--public-space-sm);
}

.content-header--contact {
  padding-block-start: var(--public-space-sm);
}

.content-title {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.2;
}

.content-subtitle {
  display: block;
  margin: var(--public-space-xs) 0 0;
  color: var(--brand-header-text);
  font-size: .86rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  opacity: .78;
}

.content-subtitle:empty,
.content-subtitle--redundant {
  display: none;
}

.content-header > .back-button:not(.btn),
.contact-header-top > .back-button:not(.btn) {
  min-block-size: auto;
  border-radius: var(--radius-pill);
  margin: 0 0 var(--public-space-sm);
  padding: var(--public-space-2xs) var(--public-space-sm);
  font-size: .82rem;
}

.contact-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--public-space-sm);
  margin-block-end: var(--public-space-xs);
}

.returning-customer-prompt {
  display: flex;
  align-items: center;
  gap: var(--public-space-xs);
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  text-align: start;
}

.returning-label {
  min-inline-size: 0;
  color: var(--brand-header-text);
  font-size: .78rem;
  opacity: .84;
}

.returning-customer-actions {
  display: flex;
  flex: 0 0 auto;
  gap: var(--public-space-2xs);
  margin: 0;
}

.btn-ghost-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 1.75rem;
  padding: var(--public-space-2xs) var(--public-space-sm);
  border: 1px solid color-mix(in srgb, var(--brand-header-text) 42%, transparent);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--brand-header-text) 10%, transparent);
  color: var(--brand-header-text);
  font: inherit;
  font-size: .73rem;
  font-weight: 600;
  line-height: 1.15;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: var(--transition);
}

.btn-ghost-sm:hover {
  background: color-mix(in srgb, var(--brand-header-text) 22%, transparent);
}

.btn-ghost-sm--primary {
  background: color-mix(in srgb, var(--brand-header-text) 18%, transparent);
  border-color: color-mix(in srgb, var(--brand-header-text) 55%, transparent);
}

@container booking-step (max-width: 40rem) {
  .content-header {
    padding-inline: var(--public-space-md);
  }

  .contact-header-top {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--public-space-xs);
  }

  .returning-customer-prompt {
    flex-wrap: wrap;
  }
}
