/* Contact and consent corrections, loaded after the shared theme styles. */
.bs-contact-grid > *, .bs-form-row > * { min-width: 0; }
#bs-rfq-form input, #bs-rfq-form select, #bs-rfq-form textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  font-size: 16px;
}
.bs-rfq-form button, .bs-rfq-form input::file-selector-button { min-height: 44px; }
.bs-rfq-context, .bs-form-message, .bs-form-hint { overflow-wrap: anywhere; }
.bs-rfq-client-errors { padding: 16px; border: 1px solid #111; margin-bottom: 20px; }
.bs-rfq-client-errors[hidden] { display: none; }
.bs-form-message a, .bs-rfq-client-errors a { text-decoration: underline; }
.bs-rfq-form [aria-invalid="true"] { border: 2px solid #111; }
.bs-cookie-banner { max-height: min(50vh, 380px); overflow: auto; text-align: start; gap: 12px; }
.bs-cookie-banner__text { max-width: 64ch; }
.bs-cookie-banner__text p { margin-bottom: 0; }
.bs-cookie-banner__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.bs-cookie-banner__btn--accept, .bs-cookie-banner__btn--reject {
  background-color: #fff !important;
  color: #111;
  border: 1px solid #fff;
  min-height: 44px;
  font-size: 14px;
}
.bs-cookie-banner__btn:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; }
.bs-cookie-settings { padding: 0; min-height: 44px; background: transparent !important; color: inherit; text-align: start; font: inherit; text-decoration: underline; border: 0; cursor: pointer; }
.bs-cookie-settings[hidden] { display: none; }
.bs-cookie-settings:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 768px) {
  body[class*="template-contact"] #content .ast-container { padding: 0; width: 100%; max-width: none; }
  body[class*="template-contact"] #primary { padding: 0; margin: 0; width: 100%; }
  #main.bs-contact-page { width: 100%; max-width: none; }
  #main.bs-contact-page .bs-container { padding-left: 16px; padding-right: 16px; }
  #main.bs-contact-page .bs-rfq-form { padding: 10px; }
  #main.bs-contact-page .bs-form-row { display: block; }
  .bs-cookie-banner { padding: 12px 16px; align-items: stretch; }
  .bs-cookie-banner__actions > button { flex: 1 1 130px; }
}
