/* Shared Contact Form 7 project-inquiry card. */
.cprint-project-form-embed {
  width: 100%;
  max-width: 680px;
  margin-inline: auto;
  color: #18324f;
  font-family: var(--cprint-font-sans, "Manrope", "Helvetica Neue", Arial, sans-serif);
  text-align: left;
}

.cprint-project-form-embed *,
.cprint-project-form-embed *::before,
.cprint-project-form-embed *::after {
  box-sizing: border-box;
}

.cprint-project-form-embed p,
.cprint-project-form-embed h2,
.cprint-project-form-embed label {
  margin: 0;
}

.cprint-project-form-embed .wpcf7,
.cprint-project-form-embed .wpcf7-form {
  margin: 0;
}

.cprint-project-form {
  width: 100%;
  margin: 0;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid rgba(207, 219, 230, 0.96);
  border-radius: 10px;
  color: #18324f;
  background: #fff;
  box-shadow: 0 22px 58px rgba(1, 18, 36, 0.18);
}

/*
 * wpautop can leave an empty paragraph after a block-level shortcode. Inside
 * these two-column CTA grids that paragraph becomes a new grid row and adds a
 * large blank area below the form.
 */
.cprint-final-contact__inner > p:empty,
.cprint-about-contact__layout > p:empty,
.cprint-printers-contact__layout > p:empty,
.cprint-3h420-contact__layout > p:empty,
.cprint-sj1200-contact__layout > p:empty {
  display: none !important;
  margin: 0 !important;
}

.cprint-project-form__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 22px;
}

.cprint-project-form__header h2 {
  color: #0d3b70 !important;
  font-family: inherit;
  font-size: clamp(23px, 2.2vw, 30px) !important;
  font-weight: 650;
  letter-spacing: -0.035em !important;
  line-height: 1.18;
}

.cprint-project-form__header p {
  flex: 0 0 auto;
  padding-top: 5px;
  color: #6b7c8d;
  font-size: 11px;
  line-height: 1.45;
}

.cprint-project-form__required,
.cprint-project-form__field > label > span,
.cprint-project-form__field > span:first-child {
  color: #dc433a;
}

.cprint-project-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.cprint-project-form__field {
  min-width: 0;
}

.cprint-project-form__field--wide {
  grid-column: 1 / -1;
}

.cprint-project-form__field > label,
.cprint-project-form__field-label {
  display: block;
  margin: 0 0 7px;
  color: #102f53;
  font-family: inherit;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.35;
}

.cprint-project-form__control,
.cprint-project-form-embed input[type="text"],
.cprint-project-form-embed input[type="email"],
.cprint-project-form-embed input[type="tel"],
.cprint-project-form-embed select,
.cprint-project-form-embed textarea {
  display: block;
  width: 100%;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 5px;
  outline: 0;
  color: #18324f;
  background: #f0f3f6;
  font-family: inherit;
  font-size: 13px;
  font-weight: 450;
  line-height: 1.4;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.cprint-project-form-embed input[type="text"],
.cprint-project-form-embed input[type="email"],
.cprint-project-form-embed input[type="tel"],
.cprint-project-form-embed select {
  height: 45px;
  padding: 10px 14px;
}

.cprint-project-form-embed select {
  padding-right: 36px;
}

.cprint-project-form-embed textarea {
  height: 112px;
  min-height: 112px;
  max-height: 180px;
  padding: 12px 14px;
  resize: vertical;
}

.cprint-project-form-embed :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea):focus {
  border-color: #3976d2;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(57, 118, 210, 0.14);
}

.cprint-project-form-embed ::placeholder {
  color: #8293a5;
  opacity: 1;
}

.cprint-project-form__file {
  margin-top: 16px;
}

.cprint-project-form__file--grid {
  min-width: 0;
  margin-top: 0;
  align-self: start;
}

.cprint-project-form__file-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  margin-bottom: 8px;
}

.cprint-project-form__file-heading strong {
  color: #102f53;
  font-size: 12px;
  font-weight: 720;
}

.cprint-project-form__file-heading span {
  color: #718295;
  font-size: 10px;
  line-height: 1.4;
}

.cprint-project-form__file-control {
  position: relative;
  min-height: 51px;
}

.cprint-project-form__native-file {
  position: absolute;
  z-index: -1;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.cprint-project-form__file-label {
  display: flex;
  min-height: 51px;
  align-items: center;
  gap: 14px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: #f0f3f6;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cprint-project-form__file-label:hover {
  border-color: #7ea6d2;
  background: #e7f0fb;
  box-shadow: 0 8px 18px rgba(28, 82, 143, 0.12);
  transform: translateY(-1px);
}

.cprint-project-form__file-control:focus-within .cprint-project-form__file-label {
  border-color: #3976d2;
  box-shadow: 0 0 0 3px rgba(57, 118, 210, 0.14);
}

.cprint-project-form__file-button {
  flex: 0 0 auto;
  min-height: 33px;
  padding: 8px 12px;
  border: 1px solid #3474d3;
  border-radius: 5px;
  color: #fff;
  background: #3474d3;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
  box-shadow: 0 4px 10px rgba(36, 93, 173, 0.16);
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cprint-project-form__file-button:hover,
.cprint-project-form__file-label:hover .cprint-project-form__file-button,
.cprint-project-form__file-control:focus-within .cprint-project-form__file-button {
  border-color: #245dad;
  color: #fff;
  background: #245dad;
  box-shadow: 0 7px 15px rgba(30, 79, 150, 0.25);
  transform: translateY(-1px);
}

.cprint-project-form__file-label:active .cprint-project-form__file-button {
  border-color: #1e4f96;
  background: #1e4f96;
  box-shadow: 0 3px 7px rgba(30, 79, 150, 0.2);
  transform: translateY(0);
}

.cprint-project-form__file-name {
  min-width: 0;
  overflow: hidden;
  color: #6e8092;
  font-size: 11px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cprint-project-form__file-note {
  margin-top: 6px !important;
  color: #768799;
  font-size: 10px;
  line-height: 1.45;
}

/* Native-input fallback for CF7/browser markup without the custom file label. */
.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file) {
  display: block;
  width: 100%;
  min-height: 51px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 5px;
  color: #6e8092;
  background: #f0f3f6;
  font-family: inherit;
  font-size: 11px;
  line-height: 1.4;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file)::file-selector-button {
  min-height: 33px;
  margin-right: 14px;
  padding: 8px 12px;
  border: 1px solid #3474d3;
  border-radius: 5px;
  color: #fff;
  background: #3474d3;
  font-family: inherit;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(36, 93, 173, 0.16);
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file):hover {
  border-color: #7ea6d2;
  background: #e7f0fb;
  box-shadow: 0 8px 18px rgba(28, 82, 143, 0.12);
  transform: translateY(-1px);
}

.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file):hover::file-selector-button,
.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file)::file-selector-button:hover,
.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file):focus-visible::file-selector-button {
  border-color: #245dad;
  color: #fff;
  background: #245dad;
  box-shadow: 0 7px 15px rgba(30, 79, 150, 0.25);
}

.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file):active::file-selector-button {
  border-color: #1e4f96;
  background: #1e4f96;
  box-shadow: 0 3px 7px rgba(30, 79, 150, 0.2);
}

.cprint-project-form-embed input[type="file"]:not(.cprint-project-form__native-file):focus-visible {
  border-color: #3976d2;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(57, 118, 210, 0.14);
}

.cprint-project-form__consent {
  margin-top: 15px !important;
  color: #607286;
  font-size: 10px;
  line-height: 1.45;
}

.cprint-project-form__consent .wpcf7-list-item {
  margin: 0;
}

.cprint-project-form__consent label {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  cursor: pointer;
}

.cprint-project-form__consent input[type="checkbox"] {
  width: 15px;
  height: 15px;
  margin: 1px 0 0;
  accent-color: #3474d3;
}

.cprint-project-form__submit-wrap {
  position: relative;
  margin-top: 16px;
}

.cprint-project-form__submit,
.cprint-project-form-embed input[type="submit"] {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 13px 20px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: #3474d3;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.cprint-project-form__submit:hover,
.cprint-project-form__submit:focus-visible,
.cprint-project-form-embed input[type="submit"]:hover,
.cprint-project-form-embed input[type="submit"]:focus-visible {
  color: #fff;
  background: #245dad;
  box-shadow: 0 9px 22px rgba(36, 93, 173, 0.22);
  transform: translateY(-1px);
}

.cprint-project-form-embed .wpcf7-spinner {
  position: absolute;
  top: 50%;
  right: 16px;
  margin: -12px 0 0;
}

.cprint-project-form-embed .wpcf7-not-valid-tip {
  display: block;
  margin-top: 5px;
  color: #b92925;
  font-family: inherit;
  font-size: 10px;
  line-height: 1.35;
}

.cprint-project-form-embed .wpcf7-response-output {
  margin: 15px 0 0 !important;
  padding: 10px 12px !important;
  border-width: 1px !important;
  border-radius: 5px;
  color: #18324f;
  font-family: inherit;
  font-size: 11px;
  line-height: 1.45;
}

.cprint-project-form-embed__notice {
  margin: 0;
  padding: 18px;
  border-radius: 7px;
  color: #7a2520;
  background: #fff4f2;
  font-family: inherit;
}

@media (max-width: 620px) {
  .cprint-project-form {
    padding: 25px 20px;
  }

  .cprint-project-form__header {
    display: block;
  }

  .cprint-project-form__header p {
    margin-top: 7px;
    padding-top: 0;
  }

  .cprint-project-form__grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .cprint-project-form__field--wide {
    grid-column: auto;
  }

  .cprint-project-form-embed textarea {
    min-height: 112px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cprint-project-form-embed *,
  .cprint-project-form-embed *::before,
  .cprint-project-form-embed *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
