/* =====================================================================
   sbr/lead-form - 3 variants: micro / standard / full.
   Mobile-first, RTL, Ink&Amber. Clean inputs, amber focus, success/error states.
   ===================================================================== */
.sbr-lf{--ease:cubic-bezier(.2,.7,.2,1);max-width:560px;margin:0 auto}
.sbr-lf__head{margin-bottom:22px;text-align:center}
.sbr-lf__title{font-size:clamp(22px,4.5vw,28px);font-weight:800;margin:0 0 8px;color:var(--ink)}
.sbr-lf__sub{font-size:14.5px;color:var(--fg-soft);line-height:1.55;margin:0}

.sbr-lf__form{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 22px;box-shadow:var(--shadow-card,0 18px 40px -28px rgba(29,26,22,.35))}
.sbr-lf__rows{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:18px}
.sbr-lf__row{display:flex;flex-direction:column;gap:6px}
.sbr-lf__lbl{font-size:13.5px;font-weight:600;color:var(--ink)}
.sbr-lf__opt{font-weight:400;color:var(--fg-mute);font-size:12.5px}
.sbr-lf input[type="text"],.sbr-lf input[type="tel"],.sbr-lf input[type="email"],.sbr-lf textarea{
  font:inherit;font-size:15.5px;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:9px;padding:11px 13px;width:100%;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s
}
.sbr-lf input:focus,.sbr-lf textarea:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(224,162,60,.18)}
.sbr-lf textarea{resize:vertical;min-height:96px;line-height:1.5}
.sbr-lf__check label{display:inline-flex;align-items:flex-start;gap:9px;font-size:14px;color:var(--fg-soft);line-height:1.4;cursor:pointer}
.sbr-lf__check input[type="checkbox"]{margin-top:2px;accent-color:var(--accent-strong);flex:0 0 auto}

.sbr-lf__hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* submit button + spinner */
.sbr-lf__submit{width:100%;justify-content:center;font-size:16px;padding:14px 22px;position:relative}
.sbr-lf__spin{width:20px;height:20px;display:none;animation:sbr-lf-spin .8s linear infinite}
.sbr-lf.is-submitting .sbr-lf__submit{pointer-events:none;opacity:.85}
.sbr-lf.is-submitting .sbr-lf__arw,.sbr-lf.is-submitting .sbr-lf__submit-text{display:none}
.sbr-lf.is-submitting .sbr-lf__spin{display:inline-block}
@keyframes sbr-lf-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sbr-lf__spin{animation:none}}

.sbr-lf__privacy{font-size:12.5px;color:var(--fg-mute);text-align:center;margin:12px 0 0;line-height:1.45}

/* messages */
.sbr-lf__msg{display:none;margin-top:14px;padding:11px 14px;border-radius:9px;font-size:14px;line-height:1.5}
.sbr-lf__msg.is-error{display:block;background:#fde9de;border:1px solid #f0a585;color:#7c2d12}

/* inline success state */
.sbr-lf__success{text-align:center;padding:36px 24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card,0 18px 40px -28px rgba(29,26,22,.35))}
.sbr-lf__success svg{width:54px;height:54px;color:var(--accent-strong);margin:0 auto 12px;display:block}
.sbr-lf__success p{font-size:17px;font-weight:600;color:var(--ink);margin:0}
.sbr-lf.is-success .sbr-lf__form,.sbr-lf.is-success .sbr-lf__head{display:none}

/* desktop: 2-col for name/phone in standard/full */
@media(min-width:700px){
  .sbr-lf__form{padding:32px 30px}
  .sbr-lf--standard .sbr-lf__rows,.sbr-lf--full .sbr-lf__rows{grid-template-columns:1fr 1fr;gap:16px}
  .sbr-lf--standard .sbr-lf__row--full,.sbr-lf--full .sbr-lf__row--full,.sbr-lf--standard .sbr-lf__check,.sbr-lf--full .sbr-lf__check{grid-column:1 / -1}
  /* micro stays single column - keep it compact and inviting */
}

/* Consent checkboxes - mandatory privacy + optional marketing.
   Custom box (gold border) so it's clearly visible on BOTH light forms and
   dark/navy contexts — native checkboxes wash out on a white card. */
.sbr-lf__consents{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.sbr-lf__check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;line-height:1.5;color:var(--fg-soft,#3f4955)}
.sbr-lf__check input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:20px;height:20px;margin-top:1px;border:2px solid var(--accent,#B0763C);border-radius:5px;background:#fff;cursor:pointer;position:relative;transition:background .15s,border-color .15s}
.sbr-lf__check input[type=checkbox]:checked{background:var(--accent,#B0763C);border-color:var(--accent,#B0763C)}
.sbr-lf__check input[type=checkbox]:checked::after{content:"";position:absolute;inset-inline-start:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sbr-lf__check input[type=checkbox]:focus-visible{outline:2px solid var(--accent,#B0763C);outline-offset:2px}
.sbr-lf__check a{color:var(--accent-strong,#8a5824);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.sbr-lf__check--req span::after{content:" *";color:var(--accent-strong,#8a5824)}

/* Higher-contrast consent checkbox: darker brand-gold border + drop shadow so the
   (near-white) box stays visible on white cards, and still reads on navy bands. */
.sbr-lf__check input[type=checkbox]{width:22px;height:22px;border:2px solid var(--accent-strong,#8a5824);background:#fff;box-shadow:0 1px 2px rgba(16,32,46,.2),inset 0 0 0 1px rgba(255,255,255,.6)}
.sbr-lf__check input[type=checkbox]:hover{border-color:#6f461d}
.sbr-lf__check input[type=checkbox]:checked{background:var(--accent-strong,#8a5824);border-color:var(--accent-strong,#8a5824);box-shadow:none}
.sbr-lf__check input[type=checkbox]:checked::after{inset-inline-start:6px;top:2px;width:6px;height:11px}

/* Consent text is always dark: the consents live INSIDE .sbr-lf__form, which is
   a white card (background:var(--surface)) in every context — even on navy bands,
   the head sits on navy but the form itself is a white card. Light text here
   rendered #c3cdd8 on #fff = 1.6:1 (Lighthouse color-contrast fail). */
.sbr-lf__check{color:var(--ink,#1d1a16)}
.sbr-lf__check span{color:var(--ink,#1d1a16)}
