.replacement-logo { width: min(100%, 400px); height: auto; object-fit: contain; }
.replacement-form { margin-top: 2em; padding: 2em; border: solid 1px #a9bfd7; border-radius: 0.7em; background: #fff; color: #172033; }
.replacement-form [hidden] { display: none !important; }
.replacement-step + .replacement-step { margin-top: 2em; padding-top: 2em; border-top: solid 1px #cbd8e5; }
.replacement-form h3, .replacement-form label, .replacement-form legend { color: #172b4d; }
.replacement-form label, .replacement-form legend { display: block; margin-bottom: 0.45em; font-weight: 700; }
.replacement-form .field { margin-bottom: 1.35em; }
.replacement-form input, .replacement-form select, .replacement-form textarea { margin: 0; border: solid 2px #7893b2 !important; background: #fff !important; color: #172033 !important; box-shadow: none !important; }
.replacement-form input::placeholder { color: #626d7c !important; opacity: 1; }
.replacement-form input:focus, .replacement-form select:focus, .replacement-form textarea:focus { border-color: #1268bd !important; box-shadow: 0 0 0 3px rgba(18,104,189,.2) !important; }
.replacement-form small { display: block; margin-top: .4em; color: #4d5868; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2em; }
.step-number { display: inline-grid; place-items: center; width: 1.9em; height: 1.9em; margin-right: .45em; border-radius: 50%; background: #0b5fab; color: #fff; font-size: .78em; }
.security-field { padding: 1.2em; border: solid 1px #bfd0e2; border-radius: .6em; background: #edf5fc; }
.security-row, .verification-code-row { display: grid; grid-template-columns: minmax(8em,.35fr) auto; gap: .9em; align-items: end; }
.security-row .button, .verification-code-row .button { margin-bottom: 1.35em; white-space: nowrap; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.replacement-items, .delivery-fields { margin: 0 0 1.4em; padding: 1.4em; border: solid 1px #a9bfd7; border-radius: .6em; background: #f7fbff; }
.replacement-items label { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .85em; align-items: center; margin: 0; padding: 1em 0; border-bottom: solid 1px #d4dfeb; cursor: pointer; }
.replacement-items label:last-child { border-bottom: 0; }
.replacement-items input[type="radio"], .replacement-items input[type="checkbox"], .consent-field input[type="checkbox"] { all: revert !important; position: static !important; display: inline-block !important; width: 1.25em !important; height: 1.25em !important; margin: 0 !important; opacity: 1 !important; accent-color: #0b5fab !important; cursor: pointer; }
#clear-card-choice { margin: 0 0 1.5em; }
.replacement-total { display: flex; justify-content: space-between; align-items: center; margin: 1.3em 0; padding: 1em 1.2em; border: solid 3px #0b5fab; border-radius: .6em; background: #eef6ff; color: #172033; font-size: 1.2em; }
.replacement-total strong { color: #0b5fab; font-size: 1.12em; }
.replacement-form .consent-field { display: flex; align-items: flex-start; gap: .75em; margin: 0 0 1.5em; padding: 1em 1.1em; border: solid 1px #a9bfd7; border-radius: .6em; background: #f7fbff; }
.replacement-form .consent-field label { display: block !important; position: static !important; flex: 1; margin: 0 !important; padding: 0 !important; color: #172b4d !important; opacity: 1 !important; line-height: 1.55; cursor: pointer; }
.replacement-form .consent-field label::before, .replacement-form .consent-field label::after { display: none !important; content: none !important; }
.replacement-form .consent-field label strong { color: #0b5fab; }
.payment-option { margin: 1em 0; padding: 1.2em; border: solid 1px #a9bfd7; border-radius: .6em; background: #fff; }
.payment-note { margin: .75em 0; color: #4d5868; }
.payment-note.error, .form-feedback.error { color: #a4001b; }
.form-feedback { min-height: 1.6em; margin: 1em 0 0; font-weight: 700; }
.form-feedback.success { color: #176b37; }
.order-complete { pointer-events: none; opacity: .65; }

@media screen and (max-width: 736px) {
  .replacement-form { padding: 1.2em; }
  .form-grid, .security-row, .verification-code-row { grid-template-columns: 1fr; }
  .security-row .button, .verification-code-row .button { width: 100%; margin-bottom: 1.35em; }
  .replacement-items label { grid-template-columns: auto minmax(0,1fr); }
  .replacement-items label strong { grid-column: 2; }
  .replacement-form > .replacement-step > .button { width: 100%; }
}
