/* Clean Flow Address Autocomplete */
.cfa-wrap { position: relative; }
.cfa-wrap input[name="suburb"] { font-size: 16px; } /* stops iOS zoom on focus */
.cfa-list {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 9999;
  margin: 4px 0 0; padding: 4px 0; list-style: none;
  background: #fff; border: 1px solid #c9d1d8; border-radius: 10px;
  box-shadow: 0 10px 28px rgba(18, 32, 46, .18);
  max-height: min(60vh, 340px); overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.cfa-list[hidden] { display: none; }
.cfa-item {
  display: flex; flex-direction: column; justify-content: center; gap: 2px;
  min-height: 52px; padding: 8px 14px; cursor: pointer;
  border-bottom: 1px solid #eef1f3; line-height: 1.25;
}
.cfa-item:hover, .cfa-item.cfa-on { background: #eef6f0; }
.cfa-main { font-size: 16px; font-weight: 600; color: #12202e; }
.cfa-sub { font-size: 14px; color: #5b6772; }
.cfa-foot { padding: 10px 14px; font-size: 13px; color: #5b6772; cursor: pointer; }
.cfa-msg { min-height: 0; margin-top: 6px; font-size: 14px; line-height: 1.35; }
.cfa-msg:empty { margin: 0; }
.cfa-msg.cfa-ok { color: #127a2e; font-weight: 600; }
.cfa-msg.cfa-info { color: #5b6772; }
.cfa-msg.cfa-err { color: #c0392b; font-weight: 600; }
.cfa-bad input[name="suburb"] { border-color: #c0392b !important; }

/* Vehicle type tap-buttons: 2-column grid on phones instead of 8 stacked rows (field has container class cf-vt). */
@media (max-width: 767px) {
  .ff_list_buttons.cf-vt .ff-el-input--content { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
  .ff_list_buttons.cf-vt .ff-el-form-check { width: auto !important; margin: 0 !important; }
  .ff_list_buttons.cf-vt .ff-el-form-check label > span { width: 100% !important; border-radius: 8px !important; }
}
