/* M-STONE Leads: form and dialog. Uses the theme tokens, with fallbacks so the plugin also looks right alone. */
.lead{--l-ink:var(--ink,#3A3F47);--l-graphite:var(--graphite,#23262B);--l-stone:var(--stone,#CFC4B3);--l-brand:var(--brand-deep,#2F5E9E);--l-error:#a3242b}
.lead__form{display:grid;gap:2px}
.lead__field{display:grid;gap:4px;margin:0 0 12px;padding:0;border:0;min-width:0}
.lead__field label,.lead__field legend{padding:0;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--l-graphite)}
.lead__field label span[aria-hidden]{color:var(--l-error)}
.lead input[type=text],.lead input[type=tel],.lead input[type=email],.lead textarea{width:100%;min-height:46px;padding:.65em .9em;border:1.5px solid var(--l-stone);border-radius:10px;background:#fff;color:var(--l-graphite);font:inherit;box-sizing:border-box}
.lead textarea{resize:vertical;min-height:96px}
.lead input:focus-visible,.lead textarea:focus-visible{border-color:var(--brand,#487BBF);outline:0;box-shadow:0 0 0 3px rgb(72 123 191 / .25)}
.lead [aria-invalid=true]{border-color:var(--l-error)}
.lead__error{margin:0;font-size:.85rem;color:var(--l-error)}
.lead__error[hidden]{display:none}
.lead__radios{display:flex;flex-wrap:wrap;gap:8px}
.lead__field .lead__radio{display:inline-flex;align-items:center;gap:.5em;padding:.5em .95em;border:1.5px solid var(--l-stone);border-radius:999px;background:#fff;font-size:.9rem;font-weight:600;letter-spacing:0;cursor:pointer}
.lead__radio input{accent-color:var(--l-brand)}
.lead__radio:has(input:checked){border-color:var(--l-brand);background:rgb(47 94 158 / .08)}
.lead__field .lead__check{display:flex;align-items:flex-start;gap:.65em;font-size:.88rem;font-weight:400;letter-spacing:0;line-height:1.45}
.lead__check input{flex:none;width:20px;height:20px;margin-top:.1em;accent-color:var(--l-brand)}
.lead__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.lead__turnstile{min-height:65px;margin:0 0 12px}
.lead__status{min-height:1.4em;margin:0 0 8px;font-size:.9rem;color:var(--l-ink)}
.lead__status[data-kind=error]{color:var(--l-error);font-weight:600}
.lead__submit{width:100%}
.lead__submit[disabled]{opacity:.6;cursor:progress}
.lead__done{display:grid;gap:12px;padding:4px 0}
.lead__done:focus{outline:0}
.lead__done h3{margin:0;font-size:1.5rem}
.lead__done p{margin:0}
.lead__id{color:var(--l-ink);font-weight:600}
.lead__done .actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.lead__copied{min-height:1.2em;font-size:.88rem;color:var(--l-brand)}
.lead-answer{padding-block:clamp(24px,5vw,64px)}
.lead-answer .actions{display:flex;flex-wrap:wrap;gap:8px}
.lead-answer__text{width:100%;margin:8px 0 16px;padding:.8em;border:1.5px solid var(--l-stone,#CFC4B3);border-radius:10px;font:inherit;box-sizing:border-box}

/* dialog */
.lead-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;border:0;border-radius:var(--radius,14px);background:var(--ivory,#F7F3EC);color:var(--ink,#3A3F47);box-shadow:0 24px 64px rgb(20 22 25 / .35)}
.lead-dialog::backdrop{background:rgb(20 22 25 / .6)}
.lead-dialog__box{position:relative;padding:clamp(20px,4vw,32px)}
.lead-dialog__box h2{margin:0 2rem .4rem 0;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.lead-dialog__lead{margin:0 0 1.2rem;color:var(--ink,#3A3F47)}
.lead-dialog__close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--graphite,#23262B);font-size:1.8rem;line-height:1;cursor:pointer}
.lead-dialog__close:hover{background:var(--travertine,#E9E0D2)}
@media (max-width:600px){.lead-dialog{width:100vw;max-width:none;max-height:100dvh;margin:0;border-radius:0}}
@media (prefers-reduced-motion:reduce){.lead *{transition:none!important}}
