/* ============================================================
   Wheatland Street Fair Foundation - online application forms
   Loaded after styles.css; uses the same brand variables.
   ============================================================ */

.form-intro{
  background:var(--purple-lt);
  border:1px solid var(--line);
  border-left:4px solid var(--gold-dk);
  border-radius:0 6px 6px 0;
  padding:16px 18px;
  margin:0 0 26px;
}
.form-intro p{margin:0 0 8px;}
.form-intro p:last-child{margin:0;}
.form-intro .meta{font-family:'Lato',sans-serif;font-weight:700;color:var(--purple-dk);}

fieldset.fs{
  border:0;
  border-top:1px solid var(--line);
  padding:22px 0 4px;
  margin:0 0 8px;
}
fieldset.fs:first-of-type{border-top:0;padding-top:0;}
fieldset.fs legend{
  font-family:'Lato',sans-serif;font-weight:900;text-transform:uppercase;
  letter-spacing:.16em;font-size:.72rem;color:var(--gold-dk);
  padding:0;margin:0 0 14px;
}

.field{margin:0 0 20px;}
.field > label.lab,
.field > .lab{
  display:block;
  font-family:'Lato',sans-serif;font-weight:700;
  color:var(--purple-dk);font-size:.98rem;
  line-height:1.4;margin:0 0 4px;
}
.field .req{color:var(--gold-dk);margin-left:3px;}
.field .hint{
  display:block;font-size:.84rem;color:#6b6377;
  margin:0 0 8px;line-height:1.5;
}

.field input[type=text],
.field input[type=email],
.field input[type=tel],
.field input[type=password],
.field select,
.field textarea{
  width:100%;
  font-family:'Open Sans',sans-serif;font-size:1rem;color:var(--ink);
  background:#fff;
  border:1px solid #c3b7cf;
  border-radius:5px;
  padding:11px 13px;
  transition:border-color .15s,box-shadow .15s;
}
.field textarea{min-height:110px;resize:vertical;line-height:1.6;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;
  border-color:var(--purple);
  box-shadow:0 0 0 3px rgba(122,63,147,.16);
}

.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.choices label{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid #c3b7cf;border-radius:5px;
  padding:10px 16px;cursor:pointer;font-size:.96rem;
  transition:background .12s,border-color .12s;
}
.choices label:hover{background:var(--purple-lt);}
.choices input{accent-color:var(--purple);margin:0;}
.choices label.on{background:var(--purple-lt);border-color:var(--purple);font-weight:600;}
.choices.stack{flex-direction:column;align-items:flex-start;}
.choices.stack label{width:100%;}

.field.err input,.field.err select,.field.err textarea{border-color:#a8202f;background:#fff7f7;}
.field .msg{
  display:block;color:#a8202f;font-size:.85rem;font-weight:600;margin-top:6px;
}

.alert{
  border-radius:6px;padding:15px 18px;margin:0 0 24px;
  font-weight:600;
}
.alert-bad{background:#fdecec;border:1px solid #e3b4b4;color:#8d1b28;}
.alert-good{background:#eaf6ec;border:1px solid #a9d3b3;color:#1d5b2c;}

.actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
button.btn{border:2px solid transparent;cursor:pointer;font-family:'Lato',sans-serif;}
.actions .note{font-size:.86rem;color:#6b6377;margin:0;}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* Terms block under the form */
.terms{font-size:.88rem;line-height:1.6;}
.terms dt{
  font-family:'Lato',sans-serif;font-weight:700;color:var(--purple-dk);
  margin:14px 0 2px;
}
.terms dd{margin:0;color:#4a4353;}

/* Two-option chooser on Get Involved */
.apply-pair{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:14px;margin:10px 0 6px;
}
.apply-pair a{
  display:block;text-decoration:none;border-radius:6px;padding:16px 18px;
  border:1px solid var(--line);transition:transform .1s,background .15s;
}
.apply-pair a:hover{transform:translateY(-2px);}
.apply-pair .online{background:var(--purple);color:#fff;border-color:var(--purple-dk);}
.apply-pair .online:hover{background:var(--purple-dk);}
.apply-pair .paper{background:var(--purple-lt);color:var(--purple-dk);}
.apply-pair .paper:hover{background:#e7d8f4;}
.apply-pair .t{
  font-family:'Lato',sans-serif;font-weight:700;font-size:1.02rem;
  display:block;margin-bottom:2px;
}
.apply-pair .d{display:block;font-size:.85rem;opacity:.85;line-height:1.45;}

/* Admin table */
.adm-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.adm-table th{
  font-family:'Lato',sans-serif;text-transform:uppercase;letter-spacing:.08em;
  font-size:.7rem;color:#fff;background:var(--purple);
  text-align:left;padding:10px 12px;
}
.adm-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
.adm-table tr:nth-child(even) td{background:#faf7fc;}
.adm-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.pill{
  display:inline-block;font-family:'Lato',sans-serif;font-weight:700;
  font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;
  padding:3px 9px;border-radius:99px;background:var(--purple-lt);color:var(--purple-dk);
}
.adm-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 18px;}
.adm-bar a{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.8rem;
  text-transform:uppercase;letter-spacing:.08em;text-decoration:none;
  background:var(--purple-lt);color:var(--purple-dk);
  padding:9px 15px;border-radius:5px;border:1px solid var(--line);
}
.adm-bar a:hover{background:#e7d8f4;}
.adm-bar a.on{background:var(--purple);color:#fff;}
.detail dt{
  font-family:'Lato',sans-serif;font-weight:700;color:var(--purple-dk);
  font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin:14px 0 1px;
}
.detail dd{margin:0;white-space:pre-wrap;}
