/* Required-field feedback is armed only after an attempted continue. */
html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1 #bptFieldPickup.bpt-required-invalid > .bpt-row,
html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1 #bptFieldDrop1.bpt-required-invalid > .bpt-row,
html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1 #bptFieldReturnNew.bpt-required-invalid > .bpt-row {
  border-color: #dc2626 !important;
  box-shadow: inset 0 0 0 2px #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1 .bpt-field.bpt-required-invalid .bpt-routeFieldTag {
  color: #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1 .bpt-step1Field.bpt-required-invalid {
  border-color: #dc2626 !important;
  box-shadow: inset 0 0 0 2px #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1 .bpt-step1Control.bpt-required-invalid > .bpt-step1Label {
  color: #dc2626 !important;
}

/* The final Step 1 layout uses repeated IDs for these three normal states.
   Match that cascade only while the corresponding required state is active. */
html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1#bptS1 #bptFieldPickup#bptFieldPickup.bpt-required-invalid > .bpt-row,
html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1#bptS1 #bptFieldDrop1#bptFieldDrop1.bpt-required-invalid > .bpt-row,
html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1#bptS1 #bptFieldReturnNew#bptFieldReturnNew.bpt-required-invalid > .bpt-row {
  border-color: #dc2626 !important;
  box-shadow: inset 0 0 0 2px #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1#bptS1 #bptFieldPickup#bptFieldPickup.bpt-required-invalid .bpt-routeFieldTag {
  color: #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard #bptS1#bptS1#bptS1 #bptDTGo#bptDTGo.bpt-step1Field.bpt-required-invalid {
  border-color: #dc2626 !important;
  box-shadow: inset 0 0 0 2px #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS2#bptS2 .bpt-row.bpt-required-invalid {
  border-color: #dc2626 !important;
  border-radius: 12px !important;
  box-shadow: inset 0 0 0 2px #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS2#bptS2 .bpt-row.bpt-required-invalid .bpt-input,
html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS2#bptS2 .bpt-row.bpt-required-invalid .bpt-input::placeholder {
  color: #dc2626 !important;
  opacity: 1 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard #bptS2#bptS2 .bpt-row.bpt-required-invalid .bpt-dot {
  background: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .14) !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard #bptPayField#bptPayField.bpt-required-invalid {
  border-color: #dc2626 !important;
  box-shadow: inset 0 0 0 2px #dc2626 !important;
}

html body #bpt-mobile-wizard#bpt-mobile-wizard#bpt-mobile-wizard .bpt-reference-payment-heading.bpt-required-invalid {
  color: #dc2626 !important;
}
