/*
 * Form components: search form and newsletter form. Extracted verbatim
 * from the original style.css — this consolidates what used to be two
 * near-duplicate .newsletter-form definitions (one in style.css, one
 * accidentally reintroduced in the pre-Sprint-6 footer.php era) into
 * the single copy that survived Sprint 6's cleanup. New .form-field
 * utilities for future forms (Sprint 10+ CPT admin, Sprint 12
 * monetization) are appended after, additive only.
 *
 * @package TFGadgets
 */

.search-form{ display:flex; gap:0; max-width:480px; }
.search-form input[type="search"]{
  flex:1; background:var(--bg-card); border:1px solid var(--line-strong); color:var(--text);
  font-family:var(--font-body); padding:12px 14px;
}
.search-form button{
  background:var(--accent); border:1px solid var(--accent); color:var(--bg); font-family:var(--font-mono);
  text-transform:uppercase; font-size:12px; letter-spacing:.06em; padding:0 20px; cursor:pointer;
}

.newsletter-form{ display:flex; margin-top:6px; }
.newsletter-form input{
  flex:1; background:var(--bg); border:1px solid var(--line-strong); color:var(--text); padding:11px 13px; font-family:var(--font-body);
}
.newsletter-form button{
  background:var(--accent); color:var(--bg); border:1px solid var(--accent); padding:0 18px;
  font-family:var(--font-mono); font-size:12px; text-transform:uppercase; cursor:pointer;
}

/*
 * NEW as of Sprint 7: general-purpose form-field utilities for forms
 * this theme doesn't have yet (Sprint 10's CPT admin fields, Sprint 12's
 * ad-code/newsletter-provider settings, any future contact form). The
 * existing .search-form/.newsletter-form above are NOT migrated to
 * these classes this sprint — same "don't touch approved markup" reason
 * as buttons.css and badges.css — but visually match them already,
 * since both were designed against the same tokens from the start.
 */
.form-field{ display:flex; flex-direction:column; gap:6px; margin-bottom:var(--space-4); }
.form-label{
	font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em;
	color:var(--text-faint);
}
.form-input,
.form-textarea,
.form-select{
	background:var(--bg-card); border:1px solid var(--line-strong); color:var(--text);
	font-family:var(--font-body); font-size:14.5px; padding:11px 13px;
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus{ border-color:var(--accent); }
.form-textarea{ resize:vertical; min-height:100px; }
.form-hint{ font-size:12.5px; color:var(--text-faint); }
.form-error{ font-size:12.5px; color:#e0685f; } /* error red, kept local to forms — not
	promoted to a sitewide token yet since no other component uses an error
	state; Sprint 8/9's Theme Options forms are the first real consumer. */
.form-field.has-error .form-input,
.form-field.has-error .form-textarea{ border-color:#e0685f; }
