/* bw-design.css (Bradwell Constructions, Stage 4 desktop parity layer). Live's own CSS is border-box (general.css), so the kit's content-box restore is NOT used here.
   Each rule undoes something Divi adds that live never had. Loaded after bw-live.css and before bw-mobile.css. */

/* 1. Divi body: weight 500, greyscale smoothing; live is weight 400 and browser default smoothing */
body.bw-site { font-weight: 400; -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; }
/* 2. Divi p padding-bottom 1em */
body.bw-site #page-container p { padding-bottom: 0; }
/* 3. Divi gives ul and ol their own line-height; live inherits */
body.bw-site #page-container :where(#content, #footer, #header, #feature) :where(ul, ol) { line-height: inherit; }
/* 4. Browser-default list spacing that live relies on and Divi replaces (zero specificity below the ids, so live's own list rules still win) */
body.bw-site #page-container :where(#content) :where(ul, ol) { padding: 0 0 0 40px; margin: 1em 0; }
body.bw-site #page-container :where(#content) :where(ul, ol) :where(ul, ol) { margin-top: 0; margin-bottom: 0; }
body.bw-site #page-container :where(#content) ul ul { list-style-type: circle; }
body.bw-site #page-container :where(#content) ul ul ul { list-style-type: square; }
/* 5. Divi's img { height: auto } beats the height attribute live's tile photos rely on (home banners 585 x 250) */
body.bw-site #page-container .banner img { height: 250px; }
/* 6. Divi pads "#main-content .container" 58px at the top; live's .container has none */
html body.bw-site #main-content .container { padding-top: 0; }
/* 7. Divi's content-table look (1px #eee borders, cell padding, width 100%) is not on live: back to browser defaults, honouring width and cellpadding attributes */
body.bw-site #page-container :where(#content, #footer) table:not(.variations) { border: 0; margin: 0; width: auto; text-align: start; }
body.bw-site #page-container :where(#content, #footer) table[width="100%"]:not(.variations) { width: 100%; }
body.bw-site #page-container :where(#content, #footer) tr td, body.bw-site #page-container :where(#content, #footer) tr th { border-top: 0; padding: 1px; }
body.bw-site #page-container :where(#content, #footer) table[cellpadding="0"] tr td, body.bw-site #page-container :where(#content, #footer) table[cellpadding="0"] tr th { padding: 0; }
body.bw-site #page-container :where(#content) table:not(.variations) { border-collapse: separate; }
/* 8. Divi's blockquote rule (reviews) */
body.bw-site #page-container :where(#content) blockquote { border-left: 0; }

/* 9. Forms: Divi's contact module dressed as live's table.form. Live: labels bold 14/24 above 328 x 26 fields (#f2f2f2, 1px #c5c5c5, 3px 10px padding),
      62px message box, a 78px captcha row (Divi's maths question stands in for reCAPTCHA, whose key is bound to live's domain), red 11px uppercase button. */
body.bw-site #page-container .bw-contact-form { margin: 0; padding: 0; width: auto; max-width: none; background: none; }
body.bw-site #page-container .bw-contact-form .et_pb_contact { padding: 0; }
body.bw-site #page-container .bw-contact-form form.et_pb_contact_form { margin: 45px 0; padding: 0; width: 328px; max-width: 100%; }
body.bw-site #page-container .bw-contact-form p.et_pb_contact_field { margin: 0; padding: 0; width: auto; float: none; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_form_label { display: block; margin: 0; padding: 0; font: 700 14px/24px 'Montserrat', Arial, Helvetica, sans-serif; color: #ffffff; text-align: left; }
body.bw-site #page-container .bw-contact-form p.et_pb_contact_field:has(> [data-required_mark="required"]) > .et_pb_contact_form_label::after { content: "*"; padding-left: 5px; font-weight: normal; color: #b51b00; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_field input.input, body.bw-site #page-container .bw-contact-form .et_pb_contact_field textarea.input {
  display: block; box-sizing: border-box; width: 328px; max-width: 100%; height: 26px; margin: 0 0 10px; padding: 3px 10px; border: 1px solid #c5c5c5; border-radius: 0; background: #f2f2f2;
  font: 14px 'Montserrat', Arial, Helvetica, sans-serif; line-height: normal; color: #000000; box-shadow: none; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_field textarea.input { height: 62px; min-height: 62px; margin-bottom: 17px; resize: vertical; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_field .input::placeholder { color: transparent; }
body.bw-site #page-container .bw-contact-form .et_contact_bottom_container { display: block; float: none; margin: 0; padding: 0; text-align: left; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_right { display: block; float: none; width: auto; text-align: left; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_right p.clearfix { float: none; width: auto; margin: 0 0 10px; padding: 0; min-height: 78px; font: 14px/24px 'Montserrat', Arial, Helvetica, sans-serif; color: #ffffff; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_right p.clearfix::before, body.bw-site #page-container .bw-contact-form .et_pb_contact_right p.clearfix::after { display: none; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_captcha_question { font: 14px/24px 'Montserrat', Arial, Helvetica, sans-serif; color: #ffffff; }
body.bw-site #page-container .bw-contact-form input.et_pb_contact_captcha { display: inline-block; width: 70px; height: 26px; margin: 0 0 0 5px; padding: 3px 10px; border: 1px solid #c5c5c5; border-radius: 0; background: #f2f2f2; font: 14px 'Montserrat', Arial, Helvetica, sans-serif; color: #000000; vertical-align: baseline; }
body.bw-site #page-container .bw-contact-form .et_pb_contact_submit.et_pb_button, body #page-container .et_pb_section .bw-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button {
  display: inline-block; float: none; width: auto; height: 30px; margin: 0; padding: 8px 25px !important; border: 0 !important; border-radius: 0 !important; background: #b51b00 !important; color: #ffffff !important;
  font: 400 11px/normal 'Montserrat', Arial, Helvetica, sans-serif !important; letter-spacing: 1px !important; text-transform: uppercase; text-align: center; cursor: pointer; transition: all 1s; }
body #page-container .et_pb_section .bw-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button::after { display: none !important; }
/* B3 (round 3): live's buttons turn black on hover; the Divi form button's !important red blocked it */
body.bw-site #page-container .bw-contact-form .et_pb_contact_submit.et_pb_button:hover, body #page-container .et_pb_section .bw-contact-form.et_pb_contact_form_container.et_pb_module .et_pb_button:hover { background: #000000 !important; }
/* review form: label column beside a 328 field column (live's two-column table) */
@media (min-width: 768px) {
body.bw-site #page-container .bw-review-form form.et_pb_contact_form { display: grid; grid-template-columns: 84.45px 328px; width: auto; max-width: none; }
body.bw-site #page-container .bw-review-form p.et_pb_contact_field { display: contents; }
body.bw-site #page-container .bw-review-form .et_pb_contact_form_label { grid-column: 1; }
body.bw-site #page-container .bw-review-form .et_pb_contact_field > .input { grid-column: 2; }
body.bw-site #page-container .bw-review-form .et_pb_contact_field textarea.input { height: 98px; min-height: 98px; }
body.bw-site #page-container .bw-review-form .et_contact_bottom_container { grid-column: 2; }
}
/* project enquiry form (live's .project-form .form: 320 wide, 300 fields, 13px labels, no outer margin) */
body.bw-site #page-container .bw-project-form form.et_pb_contact_form { margin: 0; width: 320px; }
body.bw-site #page-container .bw-project-form .et_pb_contact_form_label, body.bw-site #page-container .bw-project-form .et_pb_contact_captcha_question { font-size: 13px; }
body.bw-site #page-container .bw-project-form .et_pb_contact_field input.input, body.bw-site #page-container .bw-project-form .et_pb_contact_field textarea.input { width: 300px; }
/* newsletter unsubscribe form: live's table keeps a 2px cell spacing and has no captcha row; Divi's maths question sits beside the email field so the page keeps live's height */
@media (min-width: 768px) {
body.bw-site #page-container .bw-unsub-form form.et_pb_contact_form { display: grid; grid-template-columns: 328px auto; margin: 45px 0; padding: 2px; width: auto; max-width: none; }
body.bw-site #page-container .bw-unsub-form p.et_pb_contact_field, body.bw-site #page-container .bw-unsub-form .et_contact_bottom_container, body.bw-site #page-container .bw-unsub-form .et_pb_contact_right { display: contents; }
body.bw-site #page-container .bw-unsub-form .et_pb_contact_form_label { grid-area: 1 / 1; margin-bottom: 2px; }
body.bw-site #page-container .bw-unsub-form .et_pb_contact_field input.input { grid-area: 2 / 1; margin-bottom: 12px; }
body.bw-site #page-container .bw-unsub-form .et_pb_contact_right p.clearfix { grid-area: 2 / 2; align-self: start; min-height: 0; margin: 0 0 12px 20px; line-height: 26px; }
body.bw-site #page-container .bw-unsub-form .et_pb_contact_submit { grid-area: 3 / 1; justify-self: start; }
}
/* 10. The footer number is a tel: link (live: plain text), so live's footer link hover (red, 2.8:1 on #111) must not paint it: it stays the surrounding white in every state */
body.bw-site #page-container #footer .vcard li.tel span a.tel-link, body.bw-site #page-container #footer .vcard li.tel span a.tel-link:hover, body.bw-site #page-container #footer .vcard li.tel span a.tel-link:focus, body.bw-site #page-container #footer .vcard li.tel span a.tel-link:active { color: #ffffff !important; text-decoration: none !important; }
/* 11. The photo pop-up (fancybox) is appended to <body>, outside #page-container; live is border-box there (its own * rule) and the port scoped that rule to the page container, so dev was content-box and 40px bigger */
body.bw-site #fancybox-wrap, body.bw-site #fancybox-wrap *, body.bw-site #fancybox-loading, body.bw-site #fancybox-overlay, body.bw-site #fancybox-tmp { box-sizing: border-box; }
