@import url("/assets/components/choose_program-2b5f8a43.css");

/**
 * Brainscan Order
**/
.brainscan-pending {
  border: 1px solid var(--bs-gray-200);
  border-radius: 8px;
  padding: 1rem;
}

.brainscan-pending__instructions details {
  margin-top: 1rem;
}

.brainscan-pending__instructions details div {
  margin-bottom: 1rem;
}

.brainscan-reports__table {
  border-radius: 8px;
  border: 1px solid var(--bs-gray-200);
}

.brainscan-reports__table .table {
  margin-bottom: 0;
}

.brainscan-reports__table tr:last-child > td {
  border-bottom-width: 0;
}

/**
 * Brainscan Purchase Flow
**/
.brainscan-layout {
  background: unset;
  width: 960px;
  margin: 2rem auto;
}

.brainscan-layout__logo {
  width: 200px;
  display: block;
  margin: 1rem auto;
}

.brainscan-layout__main {
  /* margin-top: 3rem; */
  margin-bottom: 1.5rem;
}

.brainscan-order__form {
  background: var(--bs-white);
  /* box-shadow: var(--bs-box-shadow); */
  border-radius: 8px;
  /* padding: 1.5rem; */
}

.brainscan-order__step {
  margin-bottom: 1.5rem;
  padding: 1rem;
}

.brainscan-order__group {
  margin-bottom: 1.5rem;
}

.brainscan-order__field-note {
  background-color: var(--bs-gray-100);
  border-radius: 8px;
  padding: 0.5rem 1rem;
}

.brainscan-order__form label.form-label {
  font-weight: bold;
}

.brainscan-order-field__phone {
  max-width: 250px;
  margin-bottom: 1rem;
}

.brainscan-order-field__phone input[name="user[phone]"] + .invalid-feedback,
.brainscan-order-field__phone .iti + .invalid-feedback {
  display: none !important;
}

/* Checkout */
.brainscan-checkout-step {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.brainscan-checkout-step.disabled summary {
  color: var(--bs-secondary-color) !important;
}

details.brainscan-checkout-step[disabled] summary,
details.brainscan-checkout-step.disabled summary {
  pointer-events: none;
  user-select: none;
}

.brainscan-checkout-step[open] summary,
.brainscan-checkout-step.disabled summary {
  cursor: default;
}

.brainscan-checkout-step__title {
  font-size: 1.2rem;
  font-weight: bold;
  background: var(--bs-gray-200);
  border-radius: 8px;
  padding: 1rem;
}

.brainscan-checkout-step[open] .brainscan-checkout-step__title {
  color: var(--bs-white);
  background: var(--bs-primary);
}

.brainscan-checkout-step__content {
  margin-top: 1rem;
  padding: 0 1rem 1rem;
}

.brainscan-checkout-step__content fieldset:disabled .form-text {
  display: none;
}

/* Order Summary */
.brainscan-order-summary {
  position: sticky;
  top :0;
  padding-top: 1rem;
}

/* No bottom padding -- the totals band below is full-bleed and supplies its
   own, so the card's own padding would show as a white strip under it. */
.brainscan-order-summary__inner {
  border: 1px solid var(--bs-gray-200);
  border-radius: 8px;
  padding: 1rem 1rem 0;
}

.brainscan-order-summary__products thead > tr > th {
  padding-bottom: 0;
}

.brainscan-order-summary__product-title {
  font-size: 1.25rem;
}

/* A footer band on the card rather than a pill inside it: negative margins
   cancel .brainscan-order-summary__inner's side padding so the fill runs edge
   to edge, and the bottom corners follow the card's radius. The fill separates
   the total from the line items, so no divider rule is needed. */
.brainscan-order-summary__totals {
  background: var(--bs-gray-200);
  margin: 0 -1rem;
  padding: 0.75rem 1rem;
  border-radius: 0 0 8px 8px;
}

/* Bootstrap's .table carries margin-bottom: 1rem, which inside the band reads
   as lopsided padding under the total. The band's own padding sets the rhythm. */
.brainscan-order-summary__totals .table {
  margin-bottom: 0;
}

/* background: none so the band shows through -- bootstrap paints every cell
   with --bs-table-bg, which would otherwise sit as a white block on the grey. */
.brainscan-order-summary__totals th,
.brainscan-order-summary__totals td {
  padding-top: 0;
  padding-bottom: 0;
  background: none;
}

.brainscan-ineligible {
  min-height: 450px;
}

.brainscan-steps {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.brainscan-help {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.brainscan-help__inner {
  border: 1px solid var(--bs-gray-200);
  border-radius: 8px;
  padding: 1rem;
}
