/* Lead form inside the WhatsApp popup. Inherits tokens from style.css; square corners and hairlines match the brand. */
.lead-form{margin-top:22px;display:grid;gap:24px;position:relative}
.lead-form-intro{font-size:14px;line-height:1.65;color:var(--muted);max-width:560px}
.lead-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field-wide{grid-column:1/-1}
.field label{font-size:12px;font-weight:600;letter-spacing:.02em}
.field label small{font-weight:400;color:var(--muted);margin-left:4px}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:14px 16px;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;appearance:none;-webkit-appearance:none;transition:border-color .18s}
.field textarea{min-height:104px;resize:vertical;line-height:1.5}
.field select{padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.field select:required:invalid{color:var(--muted)}
.field input::placeholder,.field textarea::placeholder{color:#8a8a85}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}
.field [aria-invalid="true"]{border-color:#af3d70;box-shadow:inset 3px 0 0 #af3d70}
.field-error{font-size:12px;line-height:1.4;color:#9a2f5e;font-weight:600}
.field-error[hidden]{display:none}
.lead-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.lead-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.lead-actions .button[disabled]{opacity:.55;cursor:progress;transform:none}
.lead-form-status{min-height:22px;font-size:13px;line-height:1.5;color:var(--muted)}
.lead-form-status[data-tone="error"]{color:#9a2f5e;font-weight:600}
.lead-privacy{font-size:11px;line-height:1.6;color:var(--muted);max-width:520px}
@media(max-width:760px){.lead-form{margin-top:18px;gap:20px}.lead-fields{grid-template-columns:1fr;gap:18px}.lead-actions{flex-direction:column;align-items:stretch;gap:12px}.lead-actions .button{width:100%}.lead-actions .text-link{justify-content:space-between}}

/* Popup: square corners and hairlines like the form; on phones it becomes a bottom sheet. */
html:has(.lead-dialog[open]){overflow:hidden}
.lead-dialog{width:min(760px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;border-top:4px solid var(--ink);background:var(--paper);color:var(--ink);color-scheme:light;overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.lead-dialog[open]{animation:lead-dialog-in .22s cubic-bezier(.16,1,.3,1)}
.lead-dialog::backdrop{background:rgba(20,20,20,.62)}
.lead-dialog-body{position:relative;padding:34px clamp(22px,4vw,44px) 30px}
.lead-dialog h2{font-size:clamp(38px,5vw,56px);padding-right:44px}
.lead-dialog .eyebrow{margin-bottom:10px}
.lead-dialog-close{position:absolute;top:14px;right:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;font-size:28px;line-height:1;color:var(--ink);background:transparent;border:1px solid transparent;transition:border-color .18s,background .18s}
.lead-dialog-close:hover{border-color:var(--line);background:var(--surface)}
.lead-dialog-close:active{background:var(--line)}
@keyframes lead-dialog-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:760px){.lead-dialog{width:100%;max-height:92dvh;margin:auto 0 0;border-top-width:3px}.lead-dialog-body{padding:24px var(--gutter) max(24px,env(safe-area-inset-bottom))}.lead-dialog h2{font-size:38px}.lead-dialog-close{top:8px;right:8px}}
#lead-turnstile:empty{display:none}

/* Floating chat: an ordinary WhatsApp link, so leads.js opens the popup form first. Monochrome like the rest of the UI. */
.chat-float{position:fixed;right:clamp(16px,2.5vw,32px);bottom:clamp(16px,2.5vw,32px);z-index:6;display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 22px 0 18px;font-size:13px;font-weight:600;background:var(--ink);color:var(--paper);box-shadow:0 10px 28px rgba(0,0,0,.28);transition:background .18s,transform .18s}
.chat-float svg{flex-shrink:0}
.chat-float:hover{background:#373735;transform:translateY(-2px)}
.chat-float:active{transform:translateY(1px)}
@media(max-width:760px){.chat-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:54px;min-height:54px;padding:0;justify-content:center}.chat-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mobile-order:not([hidden])~.chat-float{bottom:calc(81px + env(safe-area-inset-bottom))}}
@media print{.chat-float{display:none}}
