/*!
 * Plush Crush — Contact Form 7 overrides.
 *
 * CF7 wraps every field in its own spans, which breaks the floating-label
 * layout unless the wrappers are flattened. Loaded only when CF7 is active.
 */

.fm .wpcf7{margin:0}
.fm .wpcf7-form p{margin:0}

/* Flatten CF7's wrapper spans so .f positioning still works */
.fm .wpcf7-form-control-wrap{display:block;position:static}

/* Match the theme's field styling */
.fm .wpcf7-form input[type="text"],
.fm .wpcf7-form input[type="email"],
.fm .wpcf7-form input[type="tel"],
.fm .wpcf7-form input[type="url"],
.fm .wpcf7-form input[type="date"],
.fm .wpcf7-form input[type="number"],
.fm .wpcf7-form select,
.fm .wpcf7-form textarea{
  width:100%;border:0;border-bottom:1px solid #d8d0d8;background:transparent;
  padding:14px 0 11px;font-family:var(--sans);font-size:16px;color:var(--void);
  transition:border-color .45s var(--e);border-radius:0
}
.fm .wpcf7-form textarea{resize:vertical;min-height:74px;line-height:1.6}
.fm .wpcf7-form input:focus,
.fm .wpcf7-form select:focus,
.fm .wpcf7-form textarea:focus{outline:none;border-bottom-color:var(--hot)}

.fm .wpcf7-form select{
  cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='7'><path d='M1 1l4.5 4.5L10 1' stroke='%236f6577' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 2px center
}

/* Submit button */
.fm .wpcf7-form input[type="submit"]{
  width:100%;background:var(--hot);color:var(--white);border:0;border-radius:100px;
  padding:21px 34px;font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;
  transition:background .4s var(--e),transform .4s var(--e)
}
.fm .wpcf7-form input[type="submit"]:hover{background:var(--hot-lt);transform:translateY(-2px)}
.fm .wpcf7-form input[type="submit"]:disabled{opacity:.65;cursor:wait;transform:none}

/* Validation + response messages */
.fm .wpcf7-not-valid{border-bottom-color:#c8392b !important}
.fm .wpcf7-not-valid-tip{font-size:11.5px;color:#c8392b;margin-top:7px;display:block}
.fm .wpcf7-response-output{
  margin:22px 0 0;padding:15px 18px;border:1px solid #d8d0d8;border-radius:4px;
  font-size:13.5px;line-height:1.6;color:#6b6270
}
.fm .wpcf7-form.sent .wpcf7-response-output{border-color:var(--hot);color:var(--void)}
.fm .wpcf7-form.invalid .wpcf7-response-output,
.fm .wpcf7-form.unaccepted .wpcf7-response-output,
.fm .wpcf7-form.failed .wpcf7-response-output{border-color:#c8392b;color:#c8392b}

/* CF7's spinner */
.fm .wpcf7-spinner{background-color:var(--plum);margin:0 0 0 12px}

/* Two-column grid when the form markup uses the theme's wrappers */
.fm .wpcf7-form .fg{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.fm .wpcf7-form .f--full{grid-column:1/-1}

/* Acceptance checkbox */
.fm .wpcf7-acceptance .wpcf7-list-item{margin:0}
.fm .wpcf7-acceptance label{display:flex;gap:10px;align-items:flex-start;
  font-size:12.5px;color:#6b6270;line-height:1.55;position:static;transform:none}
.fm .wpcf7-acceptance input[type="checkbox"]{width:auto;margin-top:3px;accent-color:var(--hot)}

@media(max-width:760px){
  .fm .wpcf7-form .fg{grid-template-columns:1fr}
}
