/* The Punch List — sitewide signup form additions (phone + optional SMS consent + inline errors). Loaded from inside the form block. */
.pl-signup input[type=text], .pl-signup input[type=email], .pl-signup input[type=tel] { font-size: 16px; }   /* 16px stops iOS zooming on focus */
.pl-signup input[type=tel] { background: #fff; border: 2px solid var(--yellow, #E6A925); padding: 12px 14px; font-family: var(--font-ui, Arial, sans-serif); color: var(--ink, #121316); width: 100%; }
.pl-signup input[type=tel]:focus { outline: none; border-color: #fff; }
.pl-signup .smsopt { display: flex; gap: 9px; align-items: flex-start; color: #bbb; font: 12px/1.45 var(--font-ui, Arial, sans-serif); cursor: pointer; text-align: left; }
.pl-signup .smsopt input { margin-top: 2px; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--yellow, #E6A925); }
.pl-signup .smsopt a, .pl-signup .fine a { color: #ddd; text-decoration: underline; }
.pl-signup .ferr { color: #FF9B8C; font: 700 13px/1.4 var(--font-ui, Arial, sans-serif); min-height: 0; }
.pl-signup .ferr:empty { display: none; }
.pl-signup .ferr a { color: #fff; }
.pl-signup input.bad { border-color: #FF9B8C; background: #FFF1EF; }
.pl-signup button:disabled { opacity: .65; cursor: progress; }
.pl-signup .hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
