/* ==========================================================================
   Askiya forms (native forms that send to Airtable)
   Mobile first. Every control is at least 48px tall.
   ========================================================================== */
.askiya-form-wrap{max-width:46rem;scroll-margin-top:7rem}
.askiya-form{display:grid;gap:1.15rem}
.askiya-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.askiya-form-section{border:0;margin:.75rem 0 0;padding:0;display:grid;gap:1.15rem}
.askiya-form-section > legend{font:700 1.15rem/1.3 var(--head);color:var(--navy);padding:0 0 .25rem;margin-bottom:.35rem;border-bottom:2px solid var(--line-soft);width:100%}
.askiya-field{display:flex;flex-direction:column;min-width:0;border:0;margin:0;padding:0}
.askiya-field > label,.askiya-field > legend{font-weight:700;color:var(--navy);margin-bottom:.4rem;padding:0}
.askiya-req{color:#B3261E}
.askiya-field input[type=text],.askiya-field input[type=email],.askiya-field input[type=tel],.askiya-field input[type=url],
.askiya-field input[type=number],.askiya-field input[type=date],.askiya-field select,.askiya-field textarea{
  width:100%;min-height:48px;padding:.7rem .85rem;border:1.5px solid var(--line);border-radius:var(--radius,8px);
  font:inherit;font-size:1rem;background:#fff;color:var(--ink);box-sizing:border-box}
.askiya-field textarea{min-height:8.5rem;line-height:1.55;resize:vertical}
.askiya-field input:focus,.askiya-field select:focus,.askiya-field textarea:focus{outline:3px solid var(--blue-pale,#E4F1FA);border-color:var(--blue,#0089D6)}
.askiya-field input[type=file]{min-height:48px;padding:.5rem 0}
.askiya-field small{color:var(--muted);font-size:.86rem;margin-top:.35rem}
.askiya-field.has-error input,.askiya-field.has-error select,.askiya-field.has-error textarea{border-color:#B3261E}
.askiya-field-error{color:#B3261E !important;font-weight:700}
.askiya-choices{display:grid;gap:.5rem}
.askiya-choice{display:flex;gap:.7rem;align-items:flex-start;min-height:48px;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:var(--radius,8px);cursor:pointer;background:#fff;box-sizing:border-box}
.askiya-choice:has(input:checked){border-color:var(--green,#4EA72E);background:#F4FAF1}
.askiya-choice input{width:22px;height:22px;flex:0 0 auto;margin:.05rem 0 0;accent-color:var(--green,#4EA72E)}
.askiya-choice--single{border:0;padding:.3rem 0;background:none;min-height:0}
.askiya-choice--single:has(input:checked){background:none}
.askiya-form-actions{margin-top:.5rem}
.askiya-form-actions .btn{min-height:48px;padding-left:1.75rem;padding-right:1.75rem}
.askiya-form-error{background:#FDECEA;color:#8A1F11;border-left:4px solid #B3261E;padding:.85rem 1rem;border-radius:4px;margin-bottom:1rem}
.askiya-form-error p,.askiya-form-done p{margin:0}
.askiya-form-done{background:#F4FAF1;border-left:4px solid var(--green,#4EA72E);padding:1.1rem 1.25rem;border-radius:var(--radius,8px);font-weight:600;color:var(--navy)}
.askiya-form-privacy{font-size:.88rem;color:var(--muted);margin-top:1.5rem;max-width:46rem}
@media (min-width:620px){
  .askiya-choices{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
}

/* The Stay connected band above the footer */
.askiya-form--compact{max-width:none}
.askiya-form--compact .askiya-form{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}
.askiya-form--compact .askiya-field > label{font-size:.85rem;margin-bottom:.3rem}
.askiya-form--compact .askiya-field--check,.askiya-form--compact .askiya-form-actions{grid-column:1/-1}
.askiya-form--compact .askiya-form-actions{margin-top:0}
.signup .signup-form .askiya-field input{border:1px solid var(--line)}

/* A form inside a two-column row must not push the row wider than the screen. */
.row > *:has(.askiya-form-wrap),.duo > *:has(.askiya-form-wrap),.askiya-form-slot{min-width:0}
