/* ─────────────────────────────────────────────────────────────────────
   Location page v2 — hero lead form, process band, review block.
   Loaded on top of design.css, so the tokens (--deep, --cta, --line…)
   and the .blsx scope are already in play. Every rule stays inside
   .blsx for the same reason the base sheet does: nothing may reach the
   Elementor header or footer.
   All sizes in px — Twenty Nineteen's root is 22px, so rem would land
   37.5% oversized (see design.css).
   ───────────────────────────────────────────────────────────────────── */

/* ── Hero lead form ─────────────────────────────────────────────────── */
.blsx .lead-card{
  background:#fff;border:2px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(20px,2.6vw,28px);box-shadow:var(--shadow-md)
}
.blsx .lead-card h2{font-size:24px;line-height:1.2;margin:0 0 4px}
.blsx .lead-card .sub{font-size:14.5px;color:var(--muted);margin:0 0 18px;line-height:1.5}

.blsx .lead-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.blsx .lead-row.one{grid-template-columns:1fr}
.blsx .lead-field{display:flex;flex-direction:column;min-width:0}
.blsx .lead-field label{
  font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--navy);margin-bottom:5px
}
.blsx .lead-field input,
.blsx .lead-field select,
.blsx .lead-field textarea{
  font:inherit;font-size:15.5px;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:10px;padding:11px 12px;width:100%;
  transition:border-color .15s ease, box-shadow .15s ease
}
.blsx .lead-field textarea{resize:vertical;min-height:76px}
.blsx .lead-field input:focus,
.blsx .lead-field select:focus,
.blsx .lead-field textarea:focus{
  outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,115,163,.16)
}
/* Only scold a field the visitor has actually filled in wrong. */
.blsx .lead-field input:not(:placeholder-shown):invalid{border-color:#B42318}

.blsx .lead-submit{
  width:100%;justify-content:center;margin-top:4px;font-size:16px;padding:14px 20px
}
.blsx .lead-foot{font-size:12.5px;line-height:1.5;color:var(--muted);margin:12px 0 0;text-align:center}
.blsx .lead-foot a{color:var(--primary)}
.blsx .lead-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.blsx .lead-done{padding:26px 8px;text-align:center}
.blsx .lead-done strong{display:block;font-size:18px;color:var(--deep);margin-bottom:6px}
.blsx .lead-done span{color:var(--muted);font-size:15px;line-height:1.6}

@media (max-width:520px){
  .blsx .lead-row{grid-template-columns:1fr}
}

/* ── Process band — the four steps, now their own section ───────────── */
.blsx .steps-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.blsx .step-card{
  position:relative;background:#fff;border:2px solid var(--line);border-radius:var(--r-md);
  padding:22px 20px;overflow:hidden
}
/* padding-right keeps a wrapping title clear of the numeral behind it */
.blsx .step-card b{display:block;font-family:Lora,Georgia,serif;font-size:17px;color:var(--navy);margin-bottom:6px;padding-right:46px}
.blsx .step-card p{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.blsx .step-card .n{
  position:absolute;top:10px;right:14px;font-family:Lora,Georgia,serif;font-size:40px;
  font-weight:700;color:var(--tint-2);line-height:1;pointer-events:none
}

/* ── Reviews ────────────────────────────────────────────────────────── */
.blsx .rv-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.blsx .rv-score{font-family:Lora,Georgia,serif;font-size:40px;font-weight:700;color:var(--navy);line-height:1}
.blsx .rv-stars{display:flex;gap:2px}
.blsx .rv-stars svg{width:19px;height:19px;fill:#F5A623;stroke:none}
.blsx .rv-meta{font-size:14.5px;color:var(--muted)}
.blsx .rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.blsx .rv-card{
  background:#fff;border:2px solid var(--line);border-radius:var(--r-md);padding:22px;
  display:flex;flex-direction:column;gap:12px
}
.blsx .rv-card .rv-stars svg{width:15px;height:15px}
.blsx .rv-text{margin:0;font-size:15px;line-height:1.6;color:var(--ink)}
.blsx .rv-who{display:flex;align-items:center;gap:10px;margin-top:auto}
.blsx .rv-who img{width:34px;height:34px;border-radius:50%;flex:none}
.blsx .rv-who b{font-size:14.5px;color:var(--navy);font-weight:600}
.blsx .rv-who small{display:block;font-size:12.5px;color:var(--muted)}
