/* Leadstack — front-end form styles. Brand via --ls-accent (set per site). */
.leadstack{
  --ls-accent:#1f2937;
  --ls-radius:10px;
  --ls-border:#e2d9d6;
  --ls-bg:#faf7f6;
  --ls-text:#2c2622;
  --ls-muted:#8a8178;
  font-family:inherit;
  color:var(--ls-text);
}
.leadstack *{box-sizing:border-box;}

.leadstack .ls-form{display:flex;flex-direction:column;gap:14px;}
.leadstack .ls-form-title{font-size:20px;font-weight:600;line-height:1.25;}
.leadstack .ls-form-intro{margin:0;font-size:14px;line-height:1.55;color:var(--ls-muted);}

.leadstack .ls-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.leadstack .ls-field{display:flex;flex-direction:column;gap:6px;}
.leadstack .ls-field--full{grid-column:1 / -1;}
.leadstack .ls-field--half{grid-column:auto;}
.leadstack .ls-field > label{font-size:12.5px;letter-spacing:.4px;color:var(--ls-muted);font-weight:500;}
.leadstack .ls-req{color:var(--ls-accent);}

.leadstack input,
.leadstack select,
.leadstack textarea{
  width:100%;border:1px solid var(--ls-border);border-radius:var(--ls-radius);
  padding:12px 14px;font-size:15px;font-family:inherit;background:var(--ls-bg);
  color:var(--ls-text);outline:none;transition:border-color .15s ease, box-shadow .15s ease;
}
.leadstack textarea{resize:vertical;min-height:96px;}
.leadstack input:focus,
.leadstack select:focus,
.leadstack textarea:focus{border-color:var(--ls-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--ls-accent) 16%, transparent);}
.leadstack input.ls-invalid,
.leadstack select.ls-invalid,
.leadstack textarea.ls-invalid{border-color:#d33;background:#fff7f7;}

.leadstack .ls-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--ls-muted);}
.leadstack .ls-consent input{width:auto;margin-top:3px;accent-color:var(--ls-accent);}
.leadstack .ls-consent a{color:var(--ls-accent);}

.leadstack .ls-choices{display:flex;flex-wrap:wrap;gap:10px 18px;}
.leadstack .ls-choice{display:flex;gap:8px;align-items:center;font-size:14px;}
.leadstack .ls-choice input{width:auto;accent-color:var(--ls-accent);}

.leadstack .ls-submit{
  appearance:none;cursor:pointer;border:none;border-radius:40px;
  background:var(--ls-accent);color:#fff;font-size:15px;font-weight:500;font-family:inherit;
  padding:14px 22px;transition:filter .15s ease, transform .15s ease;
}
.leadstack .ls-submit:hover{filter:brightness(1.08);}
.leadstack .ls-submit:active{transform:translateY(1px);}
.leadstack .ls-submit[disabled]{opacity:.6;cursor:default;}

.leadstack .ls-note{margin:0;font-size:11.5px;line-height:1.5;color:var(--ls-muted);text-align:center;}
.leadstack .ls-note a{color:var(--ls-accent);}

.leadstack .ls-msg{font-size:13.5px;line-height:1.5;}
.leadstack .ls-msg.is-error{color:#c0392b;}
.leadstack .ls-msg.is-ok{color:#1f9d55;}

.leadstack .ls-alert{border-radius:var(--ls-radius);padding:11px 14px;font-size:13.5px;margin-bottom:12px;}
.leadstack .ls-alert--error{background:#fdecec;border:1px solid #f3c9c9;color:#a11;}

.leadstack .ls-success{display:flex;gap:14px;align-items:flex-start;background:#e8f6ee;border:1px solid #bfe6cd;border-radius:14px;padding:20px 22px;animation:ls-pop .35s ease;}
.leadstack .ls-success-tick{flex:none;width:34px;height:34px;border-radius:50%;background:#1f9d55;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;}
.leadstack .ls-success-text{font-size:15px;line-height:1.6;color:#1c5b38;}
@keyframes ls-pop{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}

/* honeypot — visually hidden, off-screen */
.leadstack .ls-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

.leadstack.leadstack--compact .ls-fields{grid-template-columns:1fr;}
.leadstack.leadstack--compact .ls-form{gap:12px;}

@media (max-width:560px){
  .leadstack .ls-fields{grid-template-columns:1fr;}
  .leadstack .ls-field--half{grid-column:1 / -1;}
}
@media (prefers-reduced-motion:reduce){
  .leadstack .ls-success{animation:none;}
}

/* Section headings inside the field grid, and per-field microcopy. */
.leadstack .ls-section{gap:2px;margin-top:6px;padding-top:14px;border-top:1px solid var(--ls-border);}
.leadstack .ls-fields > .ls-section:first-child{margin-top:0;padding-top:0;border-top:0;}
.leadstack .ls-section-title{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ls-accent);}
.leadstack .ls-section-hint{font-size:12.5px;line-height:1.5;color:var(--ls-muted);}
.leadstack .ls-hint{font-size:12px;line-height:1.5;color:var(--ls-muted);}
