/* Lead-form wizard styles: copied from the Landlord Protection wizard (property-management-landlord-protection.php) so both look the same. */
.tr-wiz-progress{margin-bottom:1.15rem;}
.tr-wiz-meta{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:0.5rem; font-family:'DM Sans',sans-serif;}
.tr-wiz-meta .tr-wiz-count{font-size:0.78rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--primary-blue);}
.tr-wiz-meta .tr-wiz-pct{font-size:0.78rem; font-weight:600; color:#7c8798;}
.tr-wiz-track{position:relative; height:5px; background:#e8edf4; border-radius:999px; overflow:hidden;}
.tr-wiz-fill{position:absolute; top:0; left:0; bottom:0; width:33.33%; border-radius:999px; background:linear-gradient(90deg,var(--primary-blue),var(--primary-green)); transition:width 0.5s cubic-bezier(0.16,0.84,0.44,1);}
.tr-wiz-nodes{display:flex; justify-content:space-between; margin-top:0.7rem;}
.tr-wiz-node{display:flex; align-items:center; gap:0.4rem; font-size:0.72rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:#9aa5b5; transition:color 0.3s ease;}
.tr-wiz-dot{flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:var(--white); border:2px solid #e2e8f0; display:flex; align-items:center; justify-content:center; font-size:0.7rem; font-weight:700; color:#9aa5b5; transition:background 0.3s ease,border-color 0.3s ease,color 0.3s ease,box-shadow 0.3s ease;}
.tr-wiz-node.is-active{color:var(--primary-blue);}
.tr-wiz-node.is-active .tr-wiz-dot{border-color:var(--primary-blue); color:var(--primary-blue); box-shadow:0 0 0 4px rgba(27,68,149,0.12);}
.tr-wiz-node.is-done{color:var(--primary-blue);}
.tr-wiz-node.is-done .tr-wiz-dot{background:var(--primary-green); border-color:var(--primary-green); color:var(--white);}
.tr-wiz-dot svg{width:12px; height:12px; display:none;}
.tr-wiz-node.is-done .tr-wiz-dot svg{display:block;}
.tr-wiz-node.is-done .tr-wiz-dot i{display:none;}
.tr-wiz-dot i{font-style:normal;}
.tr-wiz-body{overflow:hidden; padding:0 26px 6px; margin:0 -26px -6px; transition:height 0.38s cubic-bezier(0.16,0.84,0.44,1);}
.tr-wiz-step{display:none; border:0; padding:0; margin:0; min-width:0;}
.tr-wiz-step.is-active{display:block; animation:trStepIn 0.35s cubic-bezier(0.16,0.84,0.44,1);}
.tr-wiz-step.is-active.is-reverse{animation-name:trStepInBack;}
@keyframes trStepIn{from { opacity:0; transform:translateX(24px); } to { opacity:1; transform:none; }}
@keyframes trStepInBack{from { opacity:0; transform:translateX(-24px); } to { opacity:1; transform:none; }}
.tr-wiz-legend{display:block; float:none; width:100%; padding:0; font-family:'Playfair Display',Georgia,serif; font-size:1.2rem; font-weight:600; color:var(--primary-blue); margin-bottom:1rem;}
.tr-wiz-alert{display:none; align-items:center; gap:0.5rem; background:#fdecea; color:#8c1d18; border-radius:8px; padding:0.7rem 0.9rem; font-size:0.85rem; font-weight:600; margin-bottom:1rem;}
.tr-wiz-alert.is-shown{display:flex;}
.tr-wiz-alert svg{flex:0 0 auto; width:16px; height:16px;}
.tr-wiz-nav{display:flex; gap:0.7rem; align-items:stretch; margin-top:1.25rem;}
.tr-wiz-nav .tr-btn{width:auto; margin-top:0;}
.tr-wiz-nav .tr-wiz-forward{flex:1 1 auto;}
.tr-wiz-back{flex:0 0 auto; background:var(--white); color:var(--primary-blue); border:1.5px solid #e2e8f0; padding:0.875rem 1.15rem;}
.tr-wiz-back:hover{background:var(--light-blue); border-color:var(--primary-blue); color:var(--primary-blue);}
.tr-wiz-nav .tr-btn[hidden]{display:none;}
.tr-wiz-forward svg{width:16px; height:16px; margin-left:0.45rem; transition:transform 0.2s ease;}
.tr-wiz-forward:hover svg{transform:translateX(3px);}
@media (max-width: 420px){.tr-wiz-node .tr-wiz-label{display:none;}.tr-wiz-nodes{justify-content:flex-start; gap:0.75rem;}.tr-wiz-body{min-height:0;}}
/* Homepage form specifics */
.tr-lead-form.tr-wiz .tr-wiz-step > .tr-form-group:last-child, .tr-lead-form.tr-wiz .tr-wiz-step > .tr-form-row:last-child { margin-bottom: 0; }
.tr-lead-form.tr-wiz .tr-wiz-legend { margin-bottom: 0.85rem; }
@media (prefers-reduced-motion: reduce) { .tr-wiz-step.is-active { animation: none; } .tr-wiz-fill, .tr-wiz-body { transition: none; } }
/* The hero card's two-column field grid (tr-proof.css) doesn't apply once the form is a wizard. */
.tr-hero-form form.tr-lead-form.tr-wiz { display: block; }
/* Homepage: keep the card short. The card title already says what the form is, so step headings are
   for screen readers only; step names sit in the progress line instead of a second row of dots. */
.tr-lead-form.tr-wiz .tr-wiz-legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
.tr-lead-form.tr-wiz .tr-wiz-nodes { display: none; }
.tr-lead-form.tr-wiz .tr-wiz-progress { margin-bottom: 0.9rem; }
.tr-lead-form.tr-wiz .tr-wiz-nav { margin-top: 0.9rem; }
/* Desktop hero card: email + phone share a row, as on the original one-step form. */
@media (min-width: 1025px) {
  .tr-hero-form .tr-wiz-step[data-step="1"].is-active { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; }
  .tr-hero-form .tr-wiz-step[data-step="1"] > * { grid-column: 1 / -1; }
  .tr-hero-form .tr-wiz-step[data-step="1"] > .tr-form-group { grid-column: auto; }
}
.tr-lead-form.tr-wiz .tr-wiz-nav .tr-wiz-forward { white-space: nowrap; }
