/* =====================================================================
   Any Property Wanted — two-step enquiry form (/request-free-cash-offer/)
   v3 teal design system. Deliberately NOT the competitor's colours/fonts.
   ===================================================================== */
.apw2{
  --ink:#1E4C5C;--ink-deep:#143843;--paper:#FAFBFB;--mist:#EDF4F6;--line:#DBE6EA;
  --sold:#F09A55;--sold-deep:#D77C33;--leaf:#2C7A8A;--text:#2F3E45;--muted:#5F7078;--err:#C0392B;
  font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);
  max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:26px;box-shadow:0 10px 30px rgba(20,56,67,.10);
}
.apw2 *{box-sizing:border-box}

/* progress indicator */
.apw2-steps{list-style:none;display:flex;gap:10px;margin:0 0 24px;padding:0}
.apw2-stepitem{flex:1;display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;
  color:var(--muted);padding-top:12px;border-top:4px solid var(--line);transition:color .2s,border-color .2s}
.apw2-stepitem.is-current,.apw2-stepitem.is-done{color:var(--ink);border-top-color:var(--sold)}
.apw2-dot{width:26px;height:26px;flex:none;border-radius:50%;background:var(--mist);color:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;
  font-family:'Bricolage Grotesque','Inter',sans-serif}
.apw2-stepitem.is-current .apw2-dot,.apw2-stepitem.is-done .apw2-dot{background:var(--sold);color:var(--ink-deep)}

.apw2-panel.apw2-hidden{display:none}

.apw2-h{font-family:'Bricolage Grotesque','Inter',sans-serif;font-size:20px;font-weight:800;
  color:var(--ink);margin:0 0 6px;line-height:1.2}
.apw2-sub{font-size:14.5px;color:var(--muted);margin:0 0 20px;line-height:1.55}

.apw2-field{margin:0 0 16px;position:relative}
.apw2-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* The parent theme styles labels green with large margins — override firmly,
   scoped to this form only. */
.apw2 label,.apw2 legend,.apw2 .apw2-field label{
  display:block!important;font-size:13.5px!important;font-weight:600!important;
  color:var(--ink)!important;margin:0 0 6px!important;padding:0!important;
  text-transform:none!important;letter-spacing:normal!important;line-height:1.35!important;
}
.apw2-opt{font-weight:400!important;color:var(--muted)!important}
.apw2 .apw2-help,.apw2 p.apw2-help{
  font-size:12.5px!important;color:var(--muted)!important;margin:6px 0 0!important;
  line-height:1.45!important;font-weight:400!important;text-transform:none!important;
}

/* Strip stray <p>/<br> spacing the theme or CF7 may still introduce */
.apw2 p{margin:0;font-size:15px}
.apw2 br{display:none}
.apw2 .wpcf7-form-control-wrap{display:block;margin:0}

.apw2 input[type=text],.apw2 input[type=email],.apw2 input[type=tel],.apw2 select{
  width:100%!important;padding:13px 14px!important;font-size:16px!important;font-family:inherit!important;
  color:var(--ink)!important;background:#fff!important;height:auto!important;
  border:1px solid var(--line)!important;border-radius:8px!important;margin:0!important;
  -webkit-appearance:none;appearance:none;box-shadow:none!important;
}
.apw2 select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}
.apw2 input:focus,.apw2 select:focus{outline:3px solid rgba(240,154,85,.45);border-color:var(--sold)}

.apw2-fieldset{border:1px solid var(--line);border-radius:8px;padding:14px}
.apw2-fieldset .wpcf7-list-item{display:inline-flex;align-items:center;margin:0 18px 0 0}
.apw2-fieldset .wpcf7-list-item-label{font-size:15px;color:var(--text);margin-left:7px}
.apw2-fieldset input[type=checkbox]{width:18px;height:18px;accent-color:var(--sold)}

.apw2-btn,.apw2 input.apw2-btn[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;width:100%;
  padding:15px 22px;font-size:16px;font-weight:700;font-family:inherit;border:none;border-radius:99px;
  cursor:pointer;background:var(--sold);color:var(--ink-deep);margin-top:6px;
  box-shadow:0 6px 18px rgba(215,124,51,.30);transition:transform .15s ease,background .15s ease;
}
.apw2-btn:hover,.apw2 input.apw2-btn[type=submit]:hover{background:var(--sold-deep);color:#fff;transform:translateY(-1px)}
.apw2-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.apw2-back{display:block;background:none;border:none;color:var(--muted);font-size:13.5px;
  font-family:inherit;cursor:pointer;padding:14px 0 0;text-decoration:underline;margin:0 auto}

.apw2-privacy{font-size:12.5px;color:var(--muted);margin:18px 0 10px;line-height:1.5}
.apw2-privacy a{color:var(--leaf);text-decoration:underline}

/* validation */
.apw2 .apw2-invalid input,.apw2 .apw2-invalid select{border-color:var(--err);outline:2px solid rgba(192,57,43,.25)}
.apw2-error{display:block;color:var(--err);font-size:12.5px;font-weight:600;margin:6px 0 0}

/* Google Places dropdown restyled to match (it renders in a portal) */
.pac-container{border-radius:10px;border:1px solid #DBE6EA;box-shadow:0 10px 30px rgba(20,56,67,.14);
  font-family:'Inter',system-ui,sans-serif;margin-top:4px;z-index:100000}
.pac-item{padding:9px 12px;font-size:14px;color:#2F3E45;border-top:1px solid #EDF4F6;cursor:pointer}
.pac-item:hover,.pac-item-selected{background:#EDF4F6}
.pac-item-query{font-size:14px;color:#1E4C5C;font-weight:600}
.pac-icon{display:none}

/* CF7 response styling */
.apw2 .wpcf7-response-output{margin:16px 0 0!important;padding:12px 14px!important;border-radius:8px!important;
  border:1px solid var(--line)!important;font-size:14px}
.apw2 .wpcf7-not-valid-tip{color:var(--err);font-size:12.5px;font-weight:600;margin-top:6px}

@media (prefers-reduced-motion:reduce){
  .apw2-btn:hover{transform:none}
  .apw2-stepitem{transition:none}
}
@media (max-width:520px){
  .apw2{padding:20px 16px;border-radius:12px}
  .apw2-row{grid-template-columns:1fr}
  .apw2-stepitem{font-size:12.5px}
}
