/* Book appointment: responsive details and booking state. */
.consultation-hero { text-align: center; }
.consultation-hero h1 { color: white; margin: 0; font-size: clamp(28px, 3.8vw, 48px); overflow-wrap: break-word; }
.consultation-booking { background: #ececec; padding-block: 36px; }
.consultation-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; list-style: none; margin: 0 auto 28px; padding: 0; max-width: 1000px; }
.consultation-facts li { display: flex; align-items: center; justify-content: center; gap: 14px; min-width: 0; }
.consultation-facts img { width: 36px; height: 36px; flex-shrink: 0; object-fit: contain; }
.consultation-facts p { margin: 0; }
.consultation-facts strong { font-weight: 400; }
.consultation-booking-action { text-align: center; }
.appointment-button { background: var(--color-burgundy); border-radius: 5px; font-weight: 400; font-size: 16px; max-width: 100%; }
.appointment-button:disabled { cursor: not-allowed; opacity: .75; }
.appointment-button:disabled:hover { background: var(--color-burgundy); }
#booking-note { font-size: 14px; margin: 16px auto 0; max-width: 600px; }
#booking-note a { color: var(--color-blue); }
.appointment-description { text-align: center; }
@media (max-width: 760px) {
  .consultation-facts { grid-template-columns: minmax(0, 1fr); max-width: 320px; gap: 20px; }
  .consultation-facts li { justify-content: flex-start; }
}
