/* ==========================================================================
   6. FORMS — inputs, buttons and tap targets
   ==========================================================================
   Every text field is exactly 16px. Below that, mobile Safari zooms the whole
   page the moment a field gains focus, and does not zoom back out.
   ========================================================================== */

input[type=text],input[type=email],input[type=password],input[type=tel],
input[type=number],input[type=search],input[type=url],input[type=date],
input[type=datetime-local],select,textarea{
  font-size:16px !important;
  line-height:1.4;
}

.fh-field input,.fh-field select,.fh-field textarea{
  padding:13px 14px;
  border-radius:var(--m-radius);
}
.fh-field label{
  font-size:.75rem;letter-spacing:.13em;margin-bottom:7px;
}
.fh-form-grid{grid-template-columns:1fr;gap:14px;}
.fh-field.full{grid-column:auto;}

/* buttons are full width and comfortably tall */
.fh-btn,.pd-btn{
  min-height:48px;
  padding:14px 22px;
  font-size:.8125rem;letter-spacing:.11em;
  display:inline-flex;align-items:center;justify-content:center;
}
.fh-btn-block,.fh-btn.full{width:100%;}
.fh-btn-sm{min-height:42px;padding:11px 16px;}

/* checkbox and radio rows */
.fh-check,.ad-check{min-height:44px;display:flex;align-items:center;gap:10px;}
.fh-check input,.ad-check input{width:19px;height:19px;flex:0 0 auto;}

/* select arrow room */
select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px;
  padding-right:38px;
}

/* search form */
.fh-search-form{flex-wrap:wrap;gap:8px;}
.fh-search-form input{flex:1 1 100%;}
.fh-search-form button{width:100%;min-height:46px;}

/* links and small controls get a usable hit area */
.fh-crumbs a,.crumb a,.breadcrumb a,
.fs-clear,.filter-clear,.fh-link-danger{
  display:inline-block;padding:6px 2px;
}
.hdot{position:relative;}
.hdot::after{
  content:'';position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);width:38px;height:38px;
}
