/* Shared lead form helpers: country select width, reCAPTCHA, status, grid layout */
form.lead-form .phone-group,
form.sm-form .phone-group,
form.sm-cform .phone-group,
.phone-group{
  grid-template-columns: 88px 1fr !important;
}
form .phone-group select.cc, .phone-group select.cc {
  font-size: 14px;
  max-width: 100%;
  padding-left: 10px;
  padding-right: 22px;
  border: 1.5px solid #e6e5e1;
  border-radius: 9px;
}

/* Banner + contact forms: service/budget 50-50, message full width */
.sm-form .sm-grid .sm-half-row,
.sm-cform .sm-grid .sm-half-row{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  min-width: 0;
}
.sm-form .sm-grid .sm-half-row > *,
.sm-cform .sm-grid .sm-half-row > *{
  min-width: 0;
  width: 100%;
}
.sm-form .sm-grid textarea[name="message"],
.sm-form .sm-grid .sm-msg-full,
.sm-cform .sm-grid .field-full{
  grid-column: 1 / -1;
}
@media (max-width: 820px){
  .sm-form .sm-grid .sm-half-row,
  .sm-cform .sm-grid .sm-half-row{
    grid-template-columns: 1fr;
  }
}

.tbb-recaptcha{
  margin: 12px 0 4px;
  min-height: 78px;
  overflow: hidden;
}
.tbb-form-status{
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.4;
  min-height: 1.2em;
}
.tbb-form-status.is-error{ color: #b42318; }
.tbb-form-status.is-ok{ color: #067647; }
form.tbb-submitting button[type="submit"],
form.tbb-submitting .btn[type="submit"]{
  opacity: .7;
  pointer-events: none;
}
