/* Application form — page-specific styles */
.progress-steps { display:flex; gap:.5rem; margin: 0 0 2rem; padding: 1rem 0; border-bottom: 1px solid var(--line); flex-wrap:wrap; }
.progress-steps .step-pill {
  flex: 1 1 130px; text-align:center; font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft);
  padding: .6rem .25rem; border-radius:4px; background: var(--cream);
  border: 1px solid var(--line);
}
.progress-steps .step-pill .num {
  display:inline-grid; place-items:center; width:22px; height:22px;
  border-radius:50%; background:var(--ink-soft); color:#fff; margin-right:.4rem;
  font-size:.75rem;
}
.upload-zone {
  border: 2px dashed var(--line); padding: 1.5rem; border-radius: 4px;
  text-align: center; background: var(--cream); cursor: pointer;
  transition: all .2s ease; display:block;
}
.upload-zone:hover, .upload-zone.drag { border-color: var(--gold); background: #FAFCFF; }
.upload-zone .ico { font-size: 2rem; display:block; margin-bottom:.5rem; }
.upload-zone input[type=file] { display:none; }
.file-list { list-style:none; margin-top:.75rem; padding: 0; font-size:.9rem; }
.file-list li {
  padding: .5rem .75rem; background: var(--white); border:1px solid var(--line);
  border-radius:4px; margin-bottom:.4rem; display:flex; justify-content:space-between;
  align-items:center; gap:.5rem;
}
.file-list li .name { word-break: break-all; }
.file-list li button { background:none; border:0; color:var(--danger); cursor:pointer; font-size:1.1rem; line-height:1; }
.doc-required {
  display:inline-block; font-size:.7rem; padding:.15rem .5rem;
  background:var(--gold); color:var(--white); border-radius: 999px;
  text-transform:uppercase; letter-spacing:.08em; font-weight:700; margin-left:.4rem;
}
.doc-optional {
  display:inline-block; font-size:.7rem; padding:.15rem .5rem;
  background:var(--cream-dark); color:var(--ink-soft); border-radius: 999px;
  text-transform:uppercase; letter-spacing:.08em; font-weight:700; margin-left:.4rem;
}
.pet-card { background: var(--cream); padding: 1.2rem; border-radius:4px; border: 1px solid var(--line); margin-bottom: 1rem; }
.pet-card .pet-head { display:flex; justify-content:space-between; align-items:center; margin-bottom: 1rem; }
.pet-card .pet-head h4 { margin:0; }
.pet-card .remove-pet { background:none; border:0; color:var(--danger); cursor:pointer; font-size:.85rem; font-weight:700; }
.info-callout {
  background: #E8EFFA; border-left: 3px solid var(--navy);
  padding: 1rem 1.2rem; border-radius: 4px; margin: 1rem 0; font-size: .92rem;
}
.info-callout strong { color: var(--navy); }
.agent-toggle { display: flex; gap: .75rem; margin-bottom: 1rem; flex-wrap:wrap; }
.agent-toggle label {
  flex: 1 1 200px; padding: .9rem; border: 1px solid var(--line);
  border-radius: 4px; background: var(--white); cursor: pointer;
  text-align:center; font-weight:600;
}
.agent-toggle label.active { background: var(--cream); border-color: var(--gold); color: var(--navy); }
