/* ─────────────────────────────────────────────────────────────────
   Bricks & Blooms — CF7 shared form styles
   Scoped to .bb-quote-form  (Request a Quote)
          and .bb-contact-form (Contact Us).
   ───────────────────────────────────────────────────────────────── */

/* ── Required-field asterisk: plain pink, no tooltip cue ─────── */

.bb-quote-form abbr[title],
.bb-contact-form abbr[title],
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form abbr[title] {
  text-decoration: none;
  color:           #E9477A;
  cursor:          default;
  font-style:      normal;
}

/* ── Hint note (at least one contact method required) ─────────── */
/* Resets anything the theme inherits from its label rules.        */

.bb-quote-form .bb-quote-contact-note,
p.bb-quote-contact-note,
.bb-contact-form .bb-contact-note,
p.bb-contact-note,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form .bb-contact-note,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form p.bb-contact-note {
  font-size:    12px   !important;
  font-weight:  400    !important;
  font-style:   italic !important;
  color:        #888   !important;
  line-height:  1.5    !important;
  margin:       -4px 0 16px !important;
  padding:      0      !important;
  border:       none   !important;
  background:   none   !important;
}

/* ── Form field rounding — all inputs except submit ──────────── */

.bb-quote-form input[type="text"],
.bb-quote-form input[type="email"],
.bb-quote-form input[type="tel"],
.bb-quote-form select,
.bb-quote-form textarea,
.bb-contact-form input[type="text"],
.bb-contact-form input[type="email"],
.bb-contact-form input[type="tel"],
.bb-contact-form select,
.bb-contact-form textarea,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="text"],
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="email"],
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="tel"],
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form select,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form textarea {
  border-radius: 8px !important;
  border:        1px solid #d8d0c8 !important;
  padding:       10px 14px !important;
  width:         100% !important;
  box-sizing:    border-box !important;
  font-size:     15px !important;
  color:         #3A3A3A !important;
  background:    #fff !important;
  line-height:   1.5 !important;
}

.bb-quote-form select,
.bb-contact-form select,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form select {
  appearance:         auto;
  -webkit-appearance: auto;
  padding-right:      32px !important;
}

.bb-quote-form input[type="text"]:focus,
.bb-quote-form input[type="email"]:focus,
.bb-quote-form input[type="tel"]:focus,
.bb-quote-form select:focus,
.bb-quote-form textarea:focus,
.bb-contact-form input[type="text"]:focus,
.bb-contact-form input[type="email"]:focus,
.bb-contact-form input[type="tel"]:focus,
.bb-contact-form select:focus,
.bb-contact-form textarea:focus,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="text"]:focus,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="email"]:focus,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="tel"]:focus,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form select:focus,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form textarea:focus {
  border-color: #E9477A !important;
  outline:      none !important;
  box-shadow:   0 0 0 3px rgba(233, 71, 122, 0.12) !important;
}

/* ── Submit button: always visible in brand pink ─────────────── */
/* The Sway theme leaves CF7 submit invisible at rest (white-on-  */
/* transparent) and only shows a colour on :hover via dynamic     */
/* styles. We pin the resting state explicitly.                   */

.bb-quote-form .wpcf7-submit,
.bb-quote-form input[type="submit"].wpcf7-submit,
.bb-contact-form .wpcf7-submit,
.bb-contact-form input[type="submit"].wpcf7-submit,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form .wpcf7-submit,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="submit"].wpcf7-submit {
  background-color: #E9477A    !important;
  color:            #fff       !important;
  border:           none       !important;
  border-radius:    30px       !important;
  cursor:           pointer    !important;
  display:          block      !important;
  width:            fit-content !important;
  margin:           0 auto     !important;
  align-items:      center     !important;
  justify-content:  center     !important;
  padding:          0 40px     !important;
  min-height:       45px       !important;
  line-height:      45px       !important;
  font-size:        15px       !important;
  font-weight:      600        !important;
  letter-spacing:   .02em      !important;
  transition:       background-color .2s !important;
}

.bb-quote-form .wpcf7-submit:hover,
.bb-quote-form input[type="submit"].wpcf7-submit:hover,
.bb-contact-form .wpcf7-submit:hover,
.bb-contact-form input[type="submit"].wpcf7-submit:hover,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form .wpcf7-submit:hover,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input[type="submit"].wpcf7-submit:hover {
  background-color: #c73565 !important;
}

/* ── Center the submit button ────────────────────────────────── */
/* The button itself uses display:block + margin:auto — geometric  */
/* centering that is unaffected by parent padding or text-align.  */
/* The <p> wrapper just needs its own padding zeroed.             */

.bb-quote-form .wpcf7-form > p:last-of-type,
.bb-quote-form p:has(> .wpcf7-submit),
.bb-contact-form .wpcf7-form > p:last-of-type,
.bb-contact-form p:has(> .wpcf7-submit),
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form > p:last-of-type,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form p:has(> .wpcf7-submit) {
  padding-left:  0 !important;
  padding-right: 0 !important;
  margin-top:    8px !important;
}

/* ── Validation error tips ───────────────────────────────────── */
/* CF7 default: position:absolute top:20% — sits inside the      */
/* field and overlaps placeholder text. Switch to static flow so  */
/* the tip appears as a new line below the input.                 */

.bb-quote-form .wpcf7-form-control-wrap,
.bb-contact-form .wpcf7-form-control-wrap,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form .wpcf7-form-control-wrap {
  display:  block    !important;
  position: static   !important;
}

.bb-quote-form .wpcf7-not-valid-tip,
.bb-contact-form .wpcf7-not-valid-tip,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form .wpcf7-not-valid-tip {
  display:    block  !important;
  position:   static !important;
  top:        auto   !important;
  bottom:     auto   !important;
  left:       auto   !important;
  margin-top: 4px    !important;
  font-size:  11px   !important;
  font-style: italic !important;
  color:      #c0392b !important;
  line-height: 1.4   !important;
  white-space: normal !important;
  background: none   !important;
}

/* Error state: red border on invalid fields */
.bb-quote-form input.wpcf7-not-valid,
.bb-quote-form select.wpcf7-not-valid,
.bb-quote-form textarea.wpcf7-not-valid,
.bb-contact-form input.wpcf7-not-valid,
.bb-contact-form select.wpcf7-not-valid,
.bb-contact-form textarea.wpcf7-not-valid,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form input.wpcf7-not-valid,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form select.wpcf7-not-valid,
.wpcf7[data-wpcf7-id="9704"] .wpcf7-form textarea.wpcf7-not-valid {
  border-color: #c0392b !important;
  box-shadow:   0 0 0 3px rgba(192, 57, 43, 0.1) !important;
}
