.sbhw-contact-hidden { display: none !important; }
/* Keep quote styling stronger than Gravity Forms' framework reset, regardless of asset order. */
.gform_wrapper .sbhw-quote-panel.gfield {
  border: 1px solid #d7d7d7;
  border-radius: 8px;
  box-sizing: border-box;
  padding: 1.25rem;
  margin: 1rem 0;
  width: 100%;
  font-size: 1rem;
  line-height: 1.5;
}
.gform_wrapper .sbhw-quote-intro > h2 {
  margin: 0 0 .75rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}
.gform_wrapper .sbhw-quote-panel > p,
.gform_wrapper .sbhw-quote-intro > p {
  margin: 0 0 1rem;
  line-height: 1.5;
}
/* Framework buttons have their own high-specificity selector; retain their colors and states. */
.gform_wrapper .sbhw-quote-panel > button,
.gform_wrapper.gform-theme.gform-theme--framework .sbhw-quote-panel.gfield > button[type="button"] {
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  padding: .625rem 1rem;
  margin: .25rem .75rem .5rem 0;
  font-size: 1rem;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
.gform_wrapper .sbhw-quote-panel > button:focus-visible,
.gform_wrapper.gform-theme.gform-theme--framework .sbhw-quote-panel.gfield > button[type="button"]:focus-visible {
  outline: 2px solid var(--gf-color-primary, #204ce5);
  outline-offset: 3px;
}
.gform_wrapper .sbhw-quote-panel [hidden] { display: none !important; }
.gform_wrapper .sbhw-quote-panel > .sbhw-quote-result {
  margin: .75rem 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.gform_wrapper .sbhw-quote-panel > .sbhw-quote-result:empty { margin: 0; }
.gform_wrapper .sbhw-quote-panel > .sbhw-quote-terms {
  margin: .75rem 0 0;
  font-size: .9rem;
}
.gform_wrapper .sbhw-quote-panel[aria-busy="true"] { cursor: progress; }

.gform_wrapper .sbhw-quote-intro.gfield {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.5;
}
.gform_wrapper .sbhw-quote-intro > .sbhw-fuel-reference {
  margin-bottom: 0;
  font-size: .9rem;
}
.gform_wrapper .gfield textarea.sbhw-description,
.gform_wrapper.gform-theme--framework .gfield textarea.sbhw-description {
  height: auto;
  min-height: 0;
  line-height: 1.5;
  resize: vertical;
}

/* Additive service controls remain within Gravity Forms' existing field layout. */
.gform_wrapper [id^="sbhw-hotshot-"][hidden],
.gform_wrapper [id^="sbhw-pickup-freeform-"][hidden] { display: none !important; }
.gform_wrapper [id^="sbhw-service-"],
.gform_wrapper [id^="sbhw-hotshot-"] {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  margin: 0 0 1rem;
}
.gform_wrapper [id^="sbhw-hotshot-"] label { display: block; margin-top: .75rem; }
.gform_wrapper [id^="sbhw-hotshot-"] input,
.gform_wrapper [id^="sbhw-hotshot-"] select { max-width: 100%; }

/* Compact estimate inputs without shortening their accessible labels. */
.gform_wrapper .sbhw-service > label { display: block; margin-bottom: .5rem; }
.gform_wrapper .sbhw-service > select { width: 19rem; max-width: 100%; }
.gform_wrapper .sbhw-cargo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.gform_wrapper .sbhw-cargo-field { min-width: 0; }
.gform_wrapper .sbhw-cargo-field input { width: 100%; }
.gform_wrapper .gform_fields .gfield.sbhw-quantity,
.gform_wrapper .gform_fields .gfield.sbhw-unit { min-width: 0; grid-column: span 3; }
.gform_wrapper .sbhw-quantity input,
.gform_wrapper .sbhw-unit select { width: 100%; max-width: 100%; }
@media (max-width: 640px) {
  .gform_wrapper .gform_fields .gfield.sbhw-quantity,
  .gform_wrapper .gform_fields .gfield.sbhw-unit { grid-column: span 6; }
}
@media (max-width: 480px) {
  .gform_wrapper .sbhw-cargo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Keep Google's autocomplete text legible on this light form, including dark OS themes. */
.gform_wrapper gmp-place-autocomplete { color-scheme: light; }

/* Public weather and weekly fuel references stay visually distinct. */
.gform_wrapper #sbhw-result:not(:empty) {
  background: #eaf5ff;
  border: 1px solid #b6d8f2;
  border-radius: 8px;
  color: #123b56;
  padding: 12px 16px;
  margin: 12px 0 4px;
  line-height: 1.5;
}
.gform_wrapper #sbhw-attribution {
  display: block;
  color: #43566a;
  font-size: 12px;
  line-height: 1.4;
}
.gform_wrapper #sbhw-attribution:empty { display: none; }
.gform_wrapper .sbhw-quote-intro > .sbhw-fuel-reference {
  background: #fff1df;
  border: 1px solid #efc895;
  border-radius: 8px;
  color: #603b16;
  padding: 12px 16px;
  box-sizing: border-box;
}

/* Retired questions retain legacy storage but are never shown to new customers. */
.gform_wrapper .sbhw-retired-question { display:none !important; }
.sbhw-company { margin-bottom: 1rem; }
.gform_wrapper .sbhw-company > label { display: block; margin-bottom: .5rem; }
/* Keep the call bar out of the keyboard editing area on mobile Safari. */
@media (max-width: 780px) {
  body:has(.gform_wrapper input:focus, .gform_wrapper textarea:focus, .gform_wrapper select:focus, .gform_wrapper gmp-place-autocomplete:focus-within) .sbh-mobile-call { visibility: hidden; pointer-events: none; }
}
.gform_wrapper .gform_fields .sbhw-order-summary.gfield {
  grid-column: 1 / -1; width: 100%; min-width: 0; box-sizing: border-box; margin: 1rem 0;
}
.gform_wrapper .sbhw-order-summary[hidden] { display: none !important; }
.gform_wrapper .sbhw-order-summary h3 { margin: 0 0 1rem; }
.gform_wrapper .sbhw-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 1rem; }
.gform_wrapper .sbhw-summary-item { min-width: 0; overflow-wrap: break-word; }
.gform_wrapper .sbhw-summary-item strong { display: block; }
.gform_wrapper .sbhw-summary-item p { margin: .25rem 0 0; }
.gform_wrapper .sbhw-summary-date { margin: 1rem 0 0; }
.gform_wrapper .sbhw-contact-invalid input:not([type="hidden"]) { border: 2px solid #b42318 !important; background: #fff5f5 !important; }
.gform_wrapper .sbhw-contact-error { color: #b42318; margin: .5rem 0; }
.gform_wrapper .sbhw-contact-error[hidden] { display: none !important; }

.sbhw-location-options { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.sbhw-own-pickup { display:flex; align-items:center; gap:.5rem; }
.sbhw-pickup-search { width:100%; margin-bottom:1rem; }
.sbhw-pickup-search gmp-place-autocomplete { display:block; width:100%; }
