.elementor-290 .elementor-element.elementor-element-af3fa20{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:150px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-290 .elementor-element.elementor-element-614efb5{padding:50px 50px 50px 50px;}#elementor-popup-modal-290 .dialog-widget-content{animation-duration:1.2s;background-color:#FFFFFF;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-290{background-color:#00000080;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-290 .dialog-message{width:635px;height:764px;align-items:center;}#elementor-popup-modal-290 .dialog-close-button{display:flex;}#elementor-popup-modal-290 .dialog-close-button i{color:#333333;}#elementor-popup-modal-290 .dialog-close-button svg{fill:#333333;}@media(max-width:1024px){#elementor-popup-modal-290 .dialog-message{width:75vw;height:75vh;}}@media(max-width:767px){.elementor-290 .elementor-element.elementor-element-af3fa20{--margin-top:25px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-290 .elementor-element.elementor-element-614efb5{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}#elementor-popup-modal-290 .dialog-message{width:100vw;height:90vh;}#elementor-popup-modal-290{align-items:center;}}/* Start custom CSS for shortcode, class: .elementor-element-614efb5 *//* ================================
   Contact Form 7 — Northwest Drainage 24/7 styling
   Font: Jost
   Palette:
   - Dark: #002F46
   - Red:  #F12F2F
   - Light: #F9FAFB / #EEEEEE
================================== */

/* Optional: wrap your CF7 in a container with class "nd24-contact"
   e.g. <div class="nd24-contact">[contact-form-7 ...]</div>
   If you don't want to add a wrapper, the styles will still apply broadly.
*/

.nd24-contact, 
.wpcf7 {
  --nd-dark: #002F46;
  --nd-red: #F12F2F;
  --nd-bg: #F9FAFB;
  --nd-soft: #EEEEEE;
  --nd-border: rgba(0, 47, 70, 0.18);
  --nd-border-strong: rgba(0, 47, 70, 0.35);
  --nd-shadow: 0 10px 26px rgba(0, 47, 70, 0.10);

  font-family: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--nd-dark);
}

/* Form card (optional but looks great) */
.nd24-contact .wpcf7 form,
.wpcf7 form {
  background: var(--nd-bg);
  border: 1px solid var(--nd-border);
  border-radius: 16px;
  padding: 22px;
  box-shadow: var(--nd-shadow);
}

/* Labels */
.nd24-contact .wpcf7 label,
.wpcf7 label {
  display: block;
  font-weight: 600;
  margin: 0 0 8px;
  letter-spacing: 0.2px;
}

/* Inputs + textarea + select */
.nd24-contact .wpcf7 input[type="text"],
.nd24-contact .wpcf7 input[type="email"],
.nd24-contact .wpcf7 input[type="tel"],
.nd24-contact .wpcf7 input[type="url"],
.nd24-contact .wpcf7 input[type="number"],
.nd24-contact .wpcf7 input[type="date"],
.nd24-contact .wpcf7 select,
.nd24-contact .wpcf7 textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 16px;
  line-height: 1;
  color: var(--nd-dark);

  background: #fff;
  border: 1px solid var(--nd-border);
  border-radius: 12px;

  padding: 12px 14px;
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 120ms ease;
}

/* Textarea sizing */
.nd24-contact .wpcf7 textarea,
.wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

/* Placeholder */
.nd24-contact .wpcf7 ::placeholder,
.wpcf7 ::placeholder {
  color: rgba(0, 47, 70, 0.55);
}

/* Focus state */
.nd24-contact .wpcf7 input:focus,
.nd24-contact .wpcf7 select:focus,
.nd24-contact .wpcf7 textarea:focus,
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: var(--nd-border-strong);
  box-shadow: 0 0 0 4px rgba(241, 47, 47, 0.14);
}

/* Spacing between fields */
.nd24-contact .wpcf7 p,
.wpcf7 p {
  margin: 0 0 14px;
}

/* Checkbox / radio line-height and spacing */
.nd24-contact .wpcf7 input[type="checkbox"],
.nd24-contact .wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
  transform: translateY(1px);
  margin-right: 8px;
}

/* Submit button */
.nd24-contact .wpcf7 input[type="submit"],
.wpcf7 input[type="submit"] {
  appearance: none;
  border: 0;
  width: 100%;
  cursor: pointer;

  font-family: inherit;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.4px;

  color: #fff;
  background: var(--nd-red);
  border-radius: 14px;

  padding: 14px 16px;
  transition: transform 120ms ease, box-shadow 160ms ease, filter 160ms ease;
  box-shadow: 0 10px 18px rgba(241, 47, 47, 0.22);
}

/* Hover/active */
.nd24-contact .wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:hover {
  filter: brightness(0.98);
  transform: translateY(-1px);
}

.nd24-contact .wpcf7 input[type="submit"]:active,
.wpcf7 input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: 0 6px 12px rgba(241, 47, 47, 0.18);
}

/* CF7 response message */
.nd24-contact .wpcf7-response-output,
.wpcf7-response-output {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  font-family: inherit;
  border: 1px solid var(--nd-border);
  background: #fff;
  color: var(--nd-dark);
}

/* CF7 validation errors */
.nd24-contact .wpcf7-not-valid-tip,
.wpcf7-not-valid-tip {
  color: var(--nd-red);
  font-weight: 600;
  font-size: 14px;
  margin-top: 6px;
}

/* Highlight invalid fields */
.nd24-contact .wpcf7-not-valid,
.wpcf7-not-valid {
  border-color: rgba(241, 47, 47, 0.65) !important;
  box-shadow: 0 0 0 4px rgba(241, 47, 47, 0.10);
}

/* Spinner */
.nd24-contact .wpcf7-spinner,
.wpcf7-spinner {
  margin-left: 10px;
}

/* Make it breathe on mobile */
@media (max-width: 600px) {
  .nd24-contact .wpcf7 form,
  .wpcf7 form {
    padding: 18px;
    border-radius: 14px;
  }

  .nd24-contact .wpcf7 input[type="submit"],
  .wpcf7 input[type="submit"] {
    border-radius: 12px;
  }
}/* End custom CSS */