/* 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: 96px 1fr !important;
}

/*
  Native OS select arrows ignore padding on many browsers.
  Hide them and draw a custom chevron inset from the right edge.
*/
form.lead-form select,
form.sm-form select,
form.sm-cform select,
.lead-form select,
.sm-form select,
.sm-cform select,
.field select,
.phone-group select{
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px 12px !important;
  padding-right: 40px !important;
}

form .phone-group select.cc,
.phone-group select.cc {
  font-size: 14px;
  max-width: 100%;
  padding-left: 10px;
  padding-right: 34px !important;
  background-position: right 12px center !important;
  border: 1.5px solid #e6e5e1;
  border-radius: 9px;
}

/* Firefox native arrow */
form.lead-form select::-ms-expand,
form.sm-form select::-ms-expand,
form.sm-cform select::-ms-expand,
.lead-form select::-ms-expand,
.sm-form select::-ms-expand,
.sm-cform select::-ms-expand,
.field select::-ms-expand,
.phone-group select::-ms-expand{
  display: none;
}

/* 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;
}

/* All lead / banner / contact form submit buttons */
form[data-tbb-form] button[type="submit"],
form[data-tbb-form] .btn[type="submit"],
form.lead-form button[type="submit"],
form.lead-form .btn,
form.sm-form button[type="submit"],
form.sm-form .btn,
form.sm-cform button[type="submit"],
form.sm-cform .btn,
.lead-form .btn,
.sm-form .btn,
.sm-cform .btn,
.sm-actions .btn,
#contactForm button[type="submit"],
#contactForm .btn{
  font-size: 13px !important;
}
