/* Written-quote form (inc/quote.php site_quote_form) inside the dark .final card of #quote on /pk/ and /nonresident/
   (hub + guides). Loaded only on those four templates (inc/quote.php). Site tokens from site.css :root. */
.final .ln-quote{position:relative;max-width:680px;margin:6px auto 30px;background:#fff;border-radius:var(--r);padding:30px;text-align:left;box-shadow:var(--shadow)}
.final .ln-quote p{margin:0;max-width:none;color:var(--body)}
.ln-quote-f{display:grid;gap:16px}
.ln-quote-h{font:600 19px var(--head);letter-spacing:-.02em;color:var(--ink)}
.final .ln-quote .ln-quote-s{font-size:15px;margin-top:-8px}
.ln-quote-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ln-quote-fld{display:grid;gap:6px;border:0;padding:0;margin:0;min-width:0}
.ln-quote-fld label,.ln-quote-fld legend{font:600 14px var(--text);color:var(--ink)}
.ln-quote-fld legend{margin-bottom:8px;padding:0}
.ln-quote-opt{font-weight:400;color:var(--muted)}
.ln-quote input[type=text],.ln-quote input[type=email],.ln-quote textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:400 16px var(--text);color:var(--ink);background:#fff}
.ln-quote textarea{min-height:96px;resize:vertical}
.ln-quote input:focus-visible,.ln-quote textarea:focus-visible{outline:3px solid var(--olive);outline-offset:1px;border-color:var(--olive)}
.ln-quote input:user-invalid{border-color:var(--olive);background:var(--lime-soft)}
.ln-quote-chips{display:flex;flex-wrap:wrap;gap:8px}
.ln-quote-chip{position:relative;cursor:pointer}
.ln-quote-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ln-quote-chip span{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:600 14px var(--head);letter-spacing:-.01em;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;transition:border-color .2s,background .2s}
.ln-quote-chip input:checked+span{border-color:var(--ink);background:var(--lime-soft)}
.ln-quote-chip input:checked+span:before{content:"✓";color:var(--olive);font-weight:700}
.ln-quote-chip input:focus-visible+span{outline:3px solid var(--olive);outline-offset:2px}
.ln-quote-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--body);cursor:pointer}
.ln-quote-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink);flex:none}
.ln-quote-consent a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.final .ln-quote .ln-quote-btn{justify-content:center;width:100%}
.final .ln-quote .ln-quote-p{font:500 13px var(--text);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.final .ln-quote .ln-quote-err{border:1px solid var(--olive);background:var(--lime-soft);color:var(--olive);border-radius:12px;padding:12px 14px;font-weight:600;font-size:15px}
.ln-quote-done{display:grid;gap:8px;outline:0}
.final .ln-quote .ln-quote-done-t{font:600 18px var(--head);color:var(--ink)}
.ln-quote-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ln-quote [hidden]{display:none!important}
/* "Prefer to talk first?" line above the call/email buttons under the form. */
.final .ln-quote-alt{margin:0 auto 14px;font:500 13px var(--text);color:#BFC4B5;font-variant-numeric:tabular-nums}
/* Focus ring inside the white card: the dark-card rule (site.css) sets lime, which is too light on white. */
.final .ln-quote :focus-visible{outline-color:var(--olive)}
@media (max-width:760px){
  .final .ln-quote{padding:20px;margin-bottom:24px}
  .ln-quote-row{grid-template-columns:minmax(0,1fr)}
}
