.mpr-intake,
.mpr-intake * { box-sizing: border-box; }

.mpr-intake {
  --mpr-intake-red: var(--mpr-red, #ea252c);
  --mpr-intake-black: var(--mpr-black, #111111);
  --mpr-intake-muted: var(--mpr-muted, #6b6b6b);
  --mpr-intake-border: var(--mpr-border, #dedede);
  --mpr-intake-surface: var(--mpr-surface, #f6f6f6);
  color: var(--mpr-intake-black);
  margin: 0 auto;
  max-width: 1240px;
  padding: clamp(28px, 5vw, 64px) 0 clamp(56px, 7vw, 92px);
}

.mpr-intake-empty {
  margin: 0 auto;
  max-width: 760px;
  padding: clamp(64px, 10vw, 120px) 0;
  text-align: center;
}
.mpr-intake-empty h1 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.045em; margin: .35rem 0 1rem; }
.mpr-intake-empty p:not(.mpr-eyebrow) { color: var(--mpr-intake-muted, #6b6b6b); margin: 0 auto; max-width: 62ch; }
.mpr-intake-empty__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; }

.mpr-intake-steps {
  align-items: center;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 clamp(34px, 5vw, 58px);
  position: relative;
}
.mpr-intake-steps::before {
  background: var(--mpr-intake-border);
  content: "";
  height: 1px;
  left: 16.666%;
  position: absolute;
  right: 16.666%;
  top: 18px;
}
.mpr-intake-steps span {
  align-items: center;
  color: #8a8a8a;
  display: flex;
  flex-direction: column;
  font-size: .78rem;
  font-weight: 750;
  gap: 8px;
  letter-spacing: .04em;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
.mpr-intake-steps b {
  align-items: center;
  background: #fff;
  border: 1px solid var(--mpr-intake-border);
  border-radius: 999px;
  display: inline-flex;
  font-size: .82rem;
  height: 36px;
  justify-content: center;
  width: 36px;
}
.mpr-intake-steps .is-complete,
.mpr-intake-steps .is-current { color: var(--mpr-intake-black); }
.mpr-intake-steps .is-complete b { background: var(--mpr-intake-black); border-color: var(--mpr-intake-black); color: #fff; }
.mpr-intake-steps .is-current b { background: var(--mpr-intake-red); border-color: var(--mpr-intake-red); color: #fff; box-shadow: 0 0 0 5px rgba(234,37,44,.10); }

.mpr-intake-header {
  border-bottom: 1px solid var(--mpr-intake-border);
  margin-bottom: 34px;
  padding-bottom: 28px;
}
.mpr-intake-header h1 { font-size: clamp(2.25rem, 4.4vw, 4.25rem); letter-spacing: -.055em; line-height: 1.02; margin: .25rem 0 1rem; }
.mpr-intake-header p:not(.mpr-eyebrow) { color: var(--mpr-intake-muted); font-size: clamp(1rem, 1.4vw, 1.12rem); margin: 0; max-width: 74ch; }

.mpr-intake-layout {
  align-items: start;
  display: grid;
  gap: clamp(28px, 4vw, 52px);
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
}
.mpr-intake-form { display: grid; gap: 22px; min-width: 0; }
.mpr-intake-section {
  background: #fff;
  border: 1px solid var(--mpr-intake-border);
  padding: clamp(22px, 3vw, 34px);
}
.mpr-intake-section[hidden] { display: none !important; }
.mpr-section-heading {
  align-items: flex-start;
  display: grid;
  gap: 15px;
  grid-template-columns: 38px minmax(0, 1fr);
  margin-bottom: 24px;
}
.mpr-section-heading > span {
  align-items: center;
  background: var(--mpr-intake-black);
  color: #fff;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  letter-spacing: .07em;
  width: 34px;
}
.mpr-section-heading h2 { font-size: clamp(1.22rem, 2vw, 1.55rem); letter-spacing: -.025em; line-height: 1.2; margin: 0; }
.mpr-section-heading p { color: var(--mpr-intake-muted); font-size: .9rem; line-height: 1.55; margin: 5px 0 0; }

.mpr-choice-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mpr-choice-card {
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--mpr-intake-border);
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  min-height: 128px;
  padding: 20px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.mpr-choice-card:hover { border-color: #a7a7a7; transform: translateY(-1px); }
.mpr-choice-card:has(input:checked) { border-color: var(--mpr-intake-red); box-shadow: 0 0 0 2px rgba(234,37,44,.10); }
.mpr-choice-card input { accent-color: var(--mpr-intake-red); margin: 3px 0 0; }
.mpr-choice-card span { display: grid; gap: 5px; }
.mpr-choice-card strong { font-size: .98rem; line-height: 1.3; }
.mpr-choice-card small { color: var(--mpr-intake-muted); font-size: .82rem; line-height: 1.5; }
.mpr-choice-card > b { color: var(--mpr-intake-red); font-size: .88rem; white-space: nowrap; }

.mpr-field-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mpr-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.mpr-field--wide { grid-column: 1 / -1; }
.mpr-field > span:first-child { font-size: .84rem; font-weight: 750; line-height: 1.35; }
.mpr-field em { color: var(--mpr-intake-red); font-style: normal; }
.mpr-field input,
.mpr-field select,
.mpr-field textarea {
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 0;
  color: var(--mpr-intake-black);
  font: inherit;
  font-size: .93rem;
  line-height: 1.45;
  margin: 0;
  min-height: 48px;
  padding: 11px 13px;
  width: 100%;
}
.mpr-field textarea { min-height: 122px; resize: vertical; }
.mpr-field input:focus,
.mpr-field select:focus,
.mpr-field textarea:focus { border-color: var(--mpr-intake-black); box-shadow: 0 0 0 3px rgba(0,0,0,.06); outline: 0; }
.mpr-field input:user-invalid,
.mpr-field select:user-invalid,
.mpr-field textarea:user-invalid { border-color: var(--mpr-intake-red); }
.mpr-field small { color: var(--mpr-intake-muted); font-size: .77rem; line-height: 1.45; }

.mpr-upload {
  background: var(--mpr-intake-surface);
  border: 1px dashed #bdbdbd;
  padding: 18px;
}
.mpr-upload input[type="file"] {
  background: #fff;
  border-style: solid;
  cursor: pointer;
  min-height: 50px;
  padding: 9px;
}
.mpr-upload input[type="file"]::file-selector-button {
  background: var(--mpr-intake-black);
  border: 0;
  color: #fff;
  cursor: pointer;
  font-weight: 750;
  margin-right: 12px;
  min-height: 32px;
  padding: 7px 12px;
}
.mpr-existing-files,
.mpr-selected-files { color: #2e6d42; font-size: .76rem; line-height: 1.45; }

.mpr-confirmations { display: grid; gap: 12px; }
.mpr-confirmations .mpr-section-heading { margin-bottom: 8px; }
.mpr-check {
  align-items: flex-start;
  border-top: 1px solid #ececec;
  cursor: pointer;
  display: grid;
  gap: 11px;
  grid-template-columns: 18px minmax(0, 1fr);
  padding: 13px 0 0;
}
.mpr-check[hidden] { display: none !important; }
.mpr-check input { accent-color: var(--mpr-intake-red); margin: 4px 0 0; }
.mpr-check span { font-size: .87rem; line-height: 1.55; }

.mpr-intake-summary { min-width: 0; position: sticky; top: calc(var(--mpr-header-height, 82px) + 24px); }
.mpr-intake-summary__card { background: var(--mpr-intake-black); color: #fff; padding: 26px; }
.mpr-intake-summary .mpr-order-label { color: #acacac; font-size: .72rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 16px; text-transform: uppercase; }
.mpr-intake-product { align-items: center; border-bottom: 1px solid rgba(255,255,255,.16); display: grid; gap: 14px; grid-template-columns: 64px minmax(0, 1fr); padding-bottom: 20px; }
.mpr-intake-product img { background: #fff; height: 64px; object-fit: contain; padding: 6px; width: 64px; }
.mpr-intake-product div { display: grid; gap: 4px; min-width: 0; }
.mpr-intake-product strong { font-size: .95rem; line-height: 1.35; }
.mpr-intake-product small { color: #aaa; font-size: .76rem; }
.mpr-intake-totals { display: grid; gap: 12px; margin: 20px 0; }
.mpr-intake-totals > div { align-items: baseline; display: flex; gap: 16px; justify-content: space-between; }
.mpr-intake-totals dt { color: #b5b5b5; font-size: .82rem; }
.mpr-intake-totals dd { font-size: .88rem; font-weight: 750; margin: 0; text-align: right; }
.mpr-intake-totals .mpr-intake-total { border-top: 1px solid rgba(255,255,255,.16); margin-top: 4px; padding-top: 15px; }
.mpr-intake-totals .mpr-intake-total dt { color: #fff; font-weight: 750; }
.mpr-intake-totals .mpr-intake-total dd { color: #fff; font-size: 1.18rem; }
.mpr-intake-summary .mpr-primary-action {
  align-items: center;
  background: var(--mpr-intake-red);
  border: 0;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: .88rem;
  font-weight: 800;
  justify-content: center;
  min-height: 50px;
  padding: 12px 16px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.mpr-intake-summary .mpr-primary-action:hover { background: #cc171e; color: #fff; }
.mpr-change-selection { color: #d1d1d1; display: block; font-size: .8rem; margin-top: 13px; text-align: center; }
.mpr-change-selection:hover { color: #fff; }
.mpr-intake-notes { border-top: 1px solid rgba(255,255,255,.16); color: #aaa; display: grid; font-size: .75rem; gap: 8px; list-style: none; margin: 21px 0 0; padding: 18px 0 0; }
.mpr-intake-notes li { padding-left: 17px; position: relative; }
.mpr-intake-notes li::before { color: var(--mpr-intake-red); content: "✓"; font-weight: 900; left: 0; position: absolute; }

.mpr-intake-submit-mobile { display: none; }
.mpr-intake-submit-mobile .mpr-primary-action {
  background: var(--mpr-intake-red);
  border: 0;
  color: #fff;
  cursor: pointer;
  font-weight: 800;
  min-height: 52px;
  padding: 13px 18px;
  width: 100%;
}

.mpr-intake-form[aria-busy="true"] button[type="submit"],
.mpr-intake-form[aria-busy="true"] + .mpr-intake-summary button { cursor: wait; opacity: .65; }

@media (max-width: 980px) {
  .mpr-intake-layout { grid-template-columns: minmax(0, 1fr); }
  .mpr-intake-summary { order: -1; position: static; }
  .mpr-intake-summary__card { display: grid; gap: 0; grid-template-columns: minmax(0, 1fr) minmax(230px, 320px); }
  .mpr-intake-summary .mpr-order-label,
  .mpr-intake-product,
  .mpr-intake-notes { grid-column: 1; }
  .mpr-intake-totals,
  .mpr-intake-summary .mpr-primary-action,
  .mpr-change-selection { grid-column: 2; }
  .mpr-intake-totals { grid-row: 1 / span 3; margin: 0 0 16px; padding-left: 28px; }
  .mpr-intake-summary .mpr-primary-action,
  .mpr-change-selection { margin-left: 28px; width: calc(100% - 28px); }
  .mpr-intake-notes { margin-right: 22px; }
}

@media (max-width: 700px) {
  .mpr-intake { padding-top: 28px; }
  .mpr-intake-steps span { font-size: .66rem; }
  .mpr-intake-header h1 { font-size: clamp(2rem, 11vw, 3rem); }
  .mpr-choice-grid,
  .mpr-field-grid { grid-template-columns: 1fr; }
  .mpr-field--wide { grid-column: auto; }
  .mpr-choice-card { min-height: 0; }
  .mpr-intake-section { padding: 20px 16px; }
  .mpr-section-heading { gap: 11px; grid-template-columns: 34px minmax(0, 1fr); }
  .mpr-intake-summary__card { display: block; padding: 22px 18px; }
  .mpr-intake-totals { margin: 20px 0; padding-left: 0; }
  .mpr-intake-summary .mpr-primary-action,
  .mpr-change-selection { margin-left: 0; width: 100%; }
  .mpr-intake-notes { margin-right: 0; }
  .mpr-intake-submit-mobile { display: block; }
  .mpr-intake-summary [data-mpr-submit-form] { display: none; }
}
