.bcqa-wizard,
.bcqa-wizard * { box-sizing: border-box; }

.bcqa-wizard {
  --bcqa-pink: #f01454;
  --bcqa-pink-dark: #b50d3d;
  --bcqa-navy: #101828;
  --bcqa-text: #20242c;
  --bcqa-muted: #667085;
  --bcqa-line: #dfe3ea;
  width: 100%;
  max-width: 980px;
  margin: 28px auto;
  color: var(--bcqa-text);
  background: #fff;
  border: 1px solid var(--bcqa-line);
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(16, 24, 40, .14);
  overflow: hidden;
  font-family: Arimo, Arial, sans-serif;
}

.bcqa-wizard__head {
  padding: 28px 20px 25px;
  text-align: center;
  color: #fff;
  background: linear-gradient(135deg, #101828, #202939);
  border-bottom: 5px solid var(--bcqa-pink);
}
.bcqa-wizard .bcqa-wizard__eyebrow { margin: 0 0 8px; color: #f7b5c8 !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1.5 !important; letter-spacing: .12em; }
.bcqa-wizard .bcqa-wizard__head h2 { margin: 0 0 10px; color: #fff !important; font: 700 clamp(28px, 6vw, 42px)/1.12 Raleway, Arial, sans-serif !important; }
.bcqa-wizard__head p:last-child { max-width: 680px; margin: 0 auto; color: #e3e7ee; line-height: 1.55; }

.bcqa-progress { padding: 20px 18px 4px; }
.bcqa-progress__meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; color: var(--bcqa-muted); font-size: 13px; }
.bcqa-progress__meta strong { color: var(--bcqa-navy); }
.bcqa-progress__track { height: 8px; overflow: hidden; border-radius: 999px; background: #e7eaf0; }
.bcqa-progress__track span { display: block; height: 100%; border-radius: inherit; background: var(--bcqa-pink); transition: width .2s ease; }

.bcqa-form { padding: 22px 18px 24px; }
.bcqa-wizard .bcqa-step h3 { margin: 0 0 8px; color: var(--bcqa-navy) !important; font: 700 24px/1.2 Raleway, Arial, sans-serif !important; }
.bcqa-step__intro { margin: 0 0 22px; color: var(--bcqa-muted); line-height: 1.55; }
.bcqa-grid { display: grid; grid-template-columns: 1fr; gap: 17px; }
.bcqa-field { margin: 0 0 17px; }
.bcqa-grid .bcqa-field { margin: 0; }
.bcqa-field--standalone { margin-top: 17px; }
.bcqa-field label { display: block; margin: 0 0 7px; color: var(--bcqa-navy); font-weight: 700; }
.bcqa-field label span { color: var(--bcqa-pink); }
.bcqa-field input,
.bcqa-field select,
.bcqa-field textarea {
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 12px 13px;
  color: var(--bcqa-text);
  background: #fff;
  border: 1px solid #cfd5df;
  border-radius: 8px;
  box-shadow: 0 2px 0 #d9dde5;
  font: 400 16px/1.4 Arimo, Arial, sans-serif;
}
.bcqa-field textarea { min-height: 110px; resize: vertical; }
.bcqa-field input:focus,
.bcqa-field select:focus,
.bcqa-field textarea:focus { outline: 3px solid rgba(240, 20, 84, .16); border-color: var(--bcqa-pink); box-shadow: none; }
.bcqa-field [aria-invalid="true"] { border-color: #b42318; }
.bcqa-error { display: block; min-height: 18px; margin-top: 4px; color: #b42318; font-size: 13px; }
.bcqa-field-note { margin: 14px 0; color: var(--bcqa-muted); font-size: 13px; }
.bcqa-privacy { margin-top: 20px; padding: 14px 15px; color: #344054; background: #f7f8fa; border-left: 4px solid var(--bcqa-pink); border-radius: 6px; font-size: 13px; line-height: 1.55; }

.bcqa-choice-grid { display: grid; grid-template-columns: 1fr; gap: 11px; margin-bottom: 20px; }
.bcqa-choice { position: relative; margin: 0; }
.bcqa-choice input { position: absolute; opacity: 0; pointer-events: none; }
.bcqa-choice span { display: flex; align-items: center; min-height: 52px; padding: 12px 15px; background: #fff; border: 1px solid #d4d9e2; border-radius: 8px; box-shadow: 0 3px 0 #d8dce4; color: var(--bcqa-navy); font-weight: 700; cursor: pointer; }
.bcqa-choice input:checked + span { color: #fff; background: var(--bcqa-pink); border-color: var(--bcqa-pink-dark); box-shadow: 0 3px 0 var(--bcqa-pink-dark); }
.bcqa-choice input:focus-visible + span { outline: 3px solid rgba(240, 20, 84, .25); }

.bcqa-upload { display: block; padding: 24px 16px; text-align: center; border: 2px dashed #c9cfda; border-radius: 10px; background: #f8f9fb; cursor: pointer; }
.bcqa-upload span { display: inline-block; padding: 11px 16px; color: #fff; background: var(--bcqa-navy); border-radius: 6px; font-weight: 700; }
.bcqa-upload input { display: block; width: 100%; margin-top: 14px; }
.bcqa-upload-status { min-height: 22px; color: var(--bcqa-muted); }
.bcqa-upload-list { list-style: none; margin: 8px 0 0; padding: 0; }
.bcqa-upload-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--bcqa-line); }
.bcqa-upload-list button,
.bcqa-summary__edit { border: 0; padding: 5px 8px; color: #b42318; background: transparent; text-decoration: underline; cursor: pointer; }

.bcqa-summary { display: grid; gap: 14px; }
.bcqa-summary section { position: relative; padding: 16px; border: 1px solid var(--bcqa-line); border-radius: 9px; background: #fafbfc; }
.bcqa-wizard .bcqa-summary h4 { margin: 0 55px 10px 0; color: var(--bcqa-navy) !important; font: 700 17px/1.3 Raleway, Arial, sans-serif !important; }
.bcqa-summary__edit { position: absolute; top: 11px; right: 10px; color: var(--bcqa-pink-dark); }
.bcqa-summary dl { display: grid; grid-template-columns: minmax(110px, 35%) 1fr; gap: 6px 12px; margin: 0; }
.bcqa-summary dt { font-weight: 700; color: #475467; }
.bcqa-summary dd { margin: 0; overflow-wrap: anywhere; }

.bcqa-actions { display: flex; flex-direction: column-reverse; gap: 12px; margin-top: 26px; }
.bcqa-button { min-height: 54px; padding: 13px 20px; border-radius: 7px; font: 800 16px/1 Arimo, Arial, sans-serif; cursor: pointer; }
.bcqa-button:disabled { opacity: .6; cursor: wait; }
.bcqa-button--primary { color: #fff; background: linear-gradient(#fa2c63, var(--bcqa-pink)); border: 1px solid var(--bcqa-pink-dark); box-shadow: 0 4px 0 var(--bcqa-pink-dark); }
.bcqa-button--secondary { color: var(--bcqa-navy); background: #fff; border: 1px solid #cfd5df; }
.bcqa-button:focus-visible { outline: 3px solid rgba(240, 20, 84, .25); outline-offset: 2px; }
.bcqa-alert { margin: 18px 18px 0; padding: 13px 15px; color: #8a1712; background: #fff1f0; border: 1px solid #f7a8a3; border-radius: 7px; }
.bcqa-confirmation { margin: 24px 18px 30px; padding: 24px; text-align: center; color: #14532d; background: #ecfdf3; border: 1px solid #86efac; border-radius: 10px; }
.bcqa-confirmation h3 { margin-top: 0; font-size: 27px; }
.bcqa-reference { color: var(--bcqa-navy); }
.bcqa-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.bcqa-step[hidden], .bcqa-wizard [hidden] { display: none !important; }

@media (min-width: 600px) {
  .bcqa-wizard { border-radius: 20px; }
  .bcqa-progress { padding: 22px 28px 4px; }
  .bcqa-form { padding: 28px 30px 32px; }
  .bcqa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcqa-field--wide { grid-column: 1 / -1; }
  .bcqa-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcqa-actions { flex-direction: row; justify-content: flex-end; }
  .bcqa-button { min-width: 150px; }
  .bcqa-alert { margin-left: 30px; margin-right: 30px; }
}

@media (min-width: 820px) {
  .bcqa-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bcqa-wizard__head { padding: 36px 28px 31px; }
}

@media (prefers-reduced-motion: reduce) {
  .bcqa-wizard * { scroll-behavior: auto !important; transition: none !important; }
}
