/* CF7 owns fields and options. These styles only supply the contact-page layout. */
.boscogen-template--contact .boscogen-contact-panel { display: flex; align-items: flex-start; }
.boscogen-template--contact .boscogen-contact-panel > .wp-block-column { min-width: 0; }
.boscogen-contact-panel > p,
.boscogen-contact-panel > br,
.boscogen-contact-fields > br,
.boscogen-contact-fields > p:empty,
.boscogen-inquiry-form label > br { display: none; }
.boscogen-inquiry-form [hidden] { display: none !important; }
.boscogen-inquiry-form { --contact-gap: 24px; }
.boscogen-inquiry-form fieldset { min-width: 0; padding: 0; margin: 0 0 32px; border: 0; }
.boscogen-inquiry-form legend { width: 100%; margin-bottom: 20px; padding: 0; color: var(--boscogen-blue); font-size: 21px; font-weight: 700; }
.boscogen-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--contact-gap); }
.boscogen-field-wide { grid-column: 1 / -1; }
.boscogen-inquiry-form label { display: block; margin: 0; font-size: 15px; line-height: 1.5; }
.boscogen-inquiry-form label > .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.boscogen-inquiry-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.boscogen-inquiry-form textarea { box-sizing: border-box; min-height: 46px; margin: 0; font: inherit; color: #182536; }
.boscogen-inquiry-form textarea { min-height: 152px; height: 152px; resize: vertical; }
.boscogen-inquiry-form .boscogen-choice-field { margin-bottom: 20px; }
.boscogen-inquiry-form .boscogen-choice-field:last-child { margin-bottom: 0; }
.boscogen-inquiry-form fieldset > p { margin: 0; }
.boscogen-inquiry-form .boscogen-choice-field legend { font-size: 15px; line-height: 1.5; color: #182536; font-weight: 600; margin-bottom: 10px; }
.boscogen-choice-field .wpcf7-form-control { display: flex; flex-wrap: wrap; gap: 0 20px; }
.boscogen-inquiry-form .wpcf7-list-item { margin: 0; display: block; min-width: 0; }
.boscogen-inquiry-form .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 10px 0; font-weight: 400; cursor: pointer; overflow-wrap: anywhere; }
.boscogen-inquiry-form input[type="checkbox"],
.boscogen-inquiry-form input[type="radio"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; padding: 0; accent-color: var(--boscogen-blue); }
.boscogen-product-interests { margin: 0 0 32px; border-block: 1px solid #c4cede; }
.boscogen-product-chooser > summary { padding: 18px 0; color: var(--boscogen-blue); font-size: 18px; font-weight: 700; cursor: pointer; }
[data-product-count] { display: inline-block; margin-left: 12px; font-size: 13px; font-weight: 400; color: #334766; }
.boscogen-product-tools { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin: 0 0 20px; }
.boscogen-product-tools label { flex: 1 1 210px; }
.boscogen-product-tools input { display: block; margin-top: 8px !important; }
.boscogen-product-tools p { flex-basis: 100%; margin: 0; font-size: 15px; color: #182536; }
.boscogen-product-group { border-top: 1px solid #c4cede; }
.boscogen-product-group > summary { min-height: 44px; padding: 12px 0; color: var(--boscogen-blue); font-size: 15px; font-weight: 600; cursor: pointer; }
.boscogen-product-group fieldset { margin: 0; padding: 0 0 12px 18px; }
.boscogen-inquiry-form legend.screen-reader-text { width: 1px; }
.boscogen-selected-products { padding-bottom: 18px; font-size: 14px; }
.boscogen-selected-products p { margin: 0 0 8px; }
.boscogen-selected-products ul { list-style: none; margin: 0; padding: 0; }
.boscogen-selected-products li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #d8dfea; }
.boscogen-selected-products li > span { overflow-wrap: anywhere; }
.boscogen-inquiry-form button { font: inherit; border-radius: 3px; cursor: pointer; }
.boscogen-inquiry-form .boscogen-clear-search { min-height: 46px; padding: 10px 12px; background: transparent; border: 1px solid #8190a8; color: var(--boscogen-blue); font-size: 14px; }
.boscogen-inquiry-form .boscogen-remove-product { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--boscogen-blue); }
.boscogen-remove-product svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.boscogen-inquiry-form button:hover { background: #e5edf9; }
.boscogen-inquiry-form :is(input, textarea, button, summary):focus-visible { outline: 2px solid #0054c9; outline-offset: 3px; }
.boscogen-inquiry-form .boscogen-message-field { margin-bottom: 24px; }
.boscogen-inquiry-form input[type="submit"] { min-height: 46px; padding: 12px 28px; border: 1px solid var(--boscogen-blue); border-radius: 3px; background: var(--boscogen-blue); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.boscogen-inquiry-form input[type="submit"]:hover { background: var(--boscogen-navy); }
.boscogen-inquiry-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 14px; color: #a51b23; }
.boscogen-inquiry-form p:empty { display: none; }
@media (max-width: 1000px) {
  .boscogen-template--contact .boscogen-contact-panel { flex-wrap: wrap; }
  .boscogen-template--contact .boscogen-contact-panel > .wp-block-column { flex-basis: 100% !important; }
}
@media (max-width: 600px) {
  .boscogen-contact-fields { grid-template-columns: 1fr; gap: 20px; }
  .boscogen-choice-field .wpcf7-form-control { display: block; }
  .boscogen-product-chooser > summary { font-size: 17px; }
  [data-product-count] { margin-left: 6px; }
}
