/* Lead form ("בקשה לשיחת היכרות"). Colours come from the page tokens:
   ink #1B2027, ox #7A2E39, brass #A6824C, paper-card #F3F3ED. */

.lead-card { border-top: 3px solid #7A2E39; }

.lead-form .field { display: flex; flex-direction: column; gap: .35rem; }
.lead-form .field-label {
  font-family: 'David Libre', Georgia, serif; font-weight: 700; font-size: .95rem; color: #2A313B;
}
.lead-form .req { color: #7A2E39; }

/* Fields are the blanks on a filed form: a ruled line, not a box. */
.lead-form input[type=text], .lead-form input[type=tel], .lead-form input[type=email], .lead-form textarea {
  width: 100%; background: transparent; border: 0; border-bottom: 1.5px solid rgba(27,32,39,.32);
  border-radius: 0; padding: .45rem .1rem; font-size: 1.05rem; color: #1B2027; line-height: 1.5;
  transition: border-color .2s ease;
}
.lead-form textarea { resize: vertical; min-height: 3.2rem; }
.lead-form input:hover, .lead-form textarea:hover { border-bottom-color: rgba(27,32,39,.55); }
.lead-form input:focus, .lead-form textarea:focus { outline: none; border-bottom-color: #7A2E39; box-shadow: 0 1.5px 0 #7A2E39; }
.lead-form [aria-invalid=true] { border-bottom-color: #A1202F !important; }
.lead-form .field-error { font-size: .82rem; color: #A1202F; }
.lead-form .field-error:empty { display: none; }

.lead-form .size-options label { position: relative; cursor: pointer; }
.lead-form .size-options input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.lead-form .size-options span {
  display: inline-block; padding: .45rem 1rem; border: 1px solid rgba(27,32,39,.25); border-radius: 2px;
  font-size: .95rem; color: #2A313B; transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.lead-form .size-options label:hover span { border-color: rgba(27,32,39,.5); }
.lead-form .size-options input:checked + span { background: #1B2027; border-color: #1B2027; color: #F3F3ED; }
.lead-form .size-options input:focus-visible + span { outline: 2px solid #7A2E39; outline-offset: 2px; }

.lead-form .lead-submit:focus-visible { outline: 2px solid #1B2027; outline-offset: 3px; }
.lead-form .lead-submit[disabled] { opacity: .6; cursor: progress; }
.lead-status.is-error { color: #A1202F; }

.lead-form .hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Received: the clerk's stamp on the filed request. */
.lead-stamp {
  width: 9.5rem; height: 9.5rem; border-radius: 50%; display: flex; flex-direction: column;
  align-items: center; justify-content: center; color: #7A2E39;
  border: 3px double #7A2E39; box-shadow: inset 0 0 0 6px #F3F3ED, inset 0 0 0 7.5px rgba(122,46,57,.55);
  transform: rotate(-9deg);
  animation: lead-stamp-in .7s cubic-bezier(.2,.9,.25,1) both;
}
@keyframes lead-stamp-in {
  0% { opacity: 0; transform: rotate(-16deg) scale(1.4); }
  60% { opacity: 1; }
  100% { opacity: 1; transform: rotate(-9deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) { .lead-stamp { animation: none; } }
