/* Hotfix v1: booking consent layout on desktop + defensive admin cleanup styles. */

/* Public appointment form: make medical note and consents stack cleanly on desktop. */
@media (min-width: 900px) {
  .appointment-form .comment-consent,
  .appointment-form .comment-consent-grid,
  .appointment-form .booking-consent-grid,
  .appointment-form .consent-grid,
  .appointment-section .comment-consent,
  .appointment-section .comment-consent-grid,
  .appointment-section .booking-consent-grid,
  .appointment-section .consent-grid,
  .booking-form .comment-consent,
  .booking-form .comment-consent-grid,
  .booking-form .booking-consent-grid,
  .booking-form .consent-grid,
  form .comment-consent,
  form .comment-consent-grid,
  form .booking-consent-grid,
  form .consent-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .appointment-form .medical-warning,
  .appointment-form .medical-note,
  .appointment-form .form-warning,
  .appointment-form .form-note,
  .appointment-section .medical-warning,
  .appointment-section .medical-note,
  .appointment-section .form-warning,
  .appointment-section .form-note,
  .booking-form .medical-warning,
  .booking-form .medical-note,
  .booking-form .form-warning,
  .booking-form .form-note {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }

  .appointment-form label:has(input[type="checkbox"]),
  .appointment-section label:has(input[type="checkbox"]),
  .booking-form label:has(input[type="checkbox"]),
  form[action*="appointment"] label:has(input[type="checkbox"]),
  form[action*="booking"] label:has(input[type="checkbox"]) {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  .appointment-form label:has(input[type="checkbox"]) input[type="checkbox"],
  .appointment-section label:has(input[type="checkbox"]) input[type="checkbox"],
  .booking-form label:has(input[type="checkbox"]) input[type="checkbox"],
  form[action*="appointment"] label:has(input[type="checkbox"]) input[type="checkbox"],
  form[action*="booking"] label:has(input[type="checkbox"]) input[type="checkbox"] {
    margin-top: .22em !important;
  }

  .appointment-form .consent-row,
  .appointment-form .checkbox-row,
  .appointment-section .consent-row,
  .appointment-section .checkbox-row,
  .booking-form .consent-row,
  .booking-form .checkbox-row {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .appointment-form textarea,
  .appointment-section textarea,
  .booking-form textarea {
    max-width: 100% !important;
  }
}

/* Admin area: public appointment/legal fragments must never float over admin pages. */
body.admin-page .appointment-form,
body.admin-page .appointment-section,
body.admin-page .booking-form,
body.admin-page .site-booking-form,
body.admin-page .public-booking-form,
body.admin-page .appointment-widget,
.admin-layout .appointment-form,
.admin-layout .appointment-section,
.admin-layout .booking-form,
.admin-shell .appointment-form,
.admin-shell .appointment-section,
.admin-shell .booking-form,
.admin-main .appointment-form,
.admin-main .appointment-section,
.admin-main .booking-form {
  display: none !important;
}
