/* Appointment request page (/appointment) */
.appointment-page { max-width: 920px; margin: 0 auto; padding: 64px 24px 90px; }
.appointment-page h1 { margin: 6px 0 12px; font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.1; }
.appointment-intro { max-width: 630px; color: var(--vc-muted); }

.booking-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
.booking-notes > div { padding: 18px; background: var(--vc-mint); border: 1px solid var(--vc-line); border-radius: 13px; }
.booking-notes strong { display: block; margin-bottom: 5px; color: var(--vc-deep); }
.booking-notes span { display: block; color: var(--vc-muted); font-size: .88rem; }
.booking-notes a { color: var(--vc-ocean); font-weight: 700; }

.appointment-card {
  margin-top: 34px;
  padding: clamp(24px, 5vw, 48px);
  background: #fff;
  border: 1px solid var(--vc-line);
  border-radius: 20px;
  box-shadow: 0 18px 45px rgba(10, 63, 58, .08);
}
.appointment-card .form-control,
.appointment-card .form-select { padding: 13px 14px; border-color: #c9ddd5; border-radius: 9px; }
.appointment-card textarea.form-control { min-height: 120px; resize: vertical; }
.appointment-disclaimer { margin: 20px 0; color: #70827d; font-size: .8rem; }

@media (max-width: 620px) {
  .appointment-page { padding: 42px 16px 60px; }
  .booking-notes { grid-template-columns: 1fr; }
  .appointment-card { margin-top: 22px; padding: 20px 14px; border-radius: 18px; }
  .appointment-card .row { --bs-gutter-y: 14px; }
  .appointment-card .form-control,
  .appointment-card .form-select { min-height: 46px; padding: 11px 12px; font-size: .9rem; }
  .appointment-card .btn-lg { width: 100%; }
}
