/* PLManager forms: placeholder-only fields, light borders. Classes .plm-ph / .plm-fld / .plm-vh are set by plm-forms.js. */

body.plm-forms {
  --pf-line: #E3E8EF;
  --pf-line-hover: #C9D3DF;
  --pf-blue: #2563EB;
  --pf-ring: rgba(37, 99, 235, .14);
  --pf-ink: #0B1220;
  --pf-ph: #6B7A90;
  --pf-loss: #DC2626;
  --pf-ease: cubic-bezier(.22, .61, .36, 1);
}

/* Visually hidden, still read by screen readers */
body.plm-forms .plm-vh {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  margin: -1px !important; padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important;
  white-space: nowrap !important; border: 0 !important;
}

/* ---------- Fields ---------- */
body.plm-forms .plm-fld {
  border: 1px solid var(--pf-line) !important;
  background-color: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--pf-ink) !important;
  transition: border-color .15s var(--pf-ease), box-shadow .15s var(--pf-ease) !important;
}
body.plm-forms .plm-fld::placeholder { color: var(--pf-ph) !important; opacity: 1 !important; }
body.plm-forms .plm-fld:hover { border-color: var(--pf-line-hover) !important; }
body.plm-forms .plm-fld:focus,
body.plm-forms .plm-fld:focus-visible {
  border-color: var(--pf-blue) !important;
  box-shadow: 0 0 0 3px var(--pf-ring) !important;
  outline: none !important;
}
/* Empty select reads like a placeholder */
body.plm-forms select.plm-fld:has(option[value=""]:checked) { color: var(--pf-ph) !important; }

/* Errors keep a clear red edge */
body.plm-forms .plm-fld[aria-invalid="true"],
body.plm-forms .plm-fld.wpcf7-not-valid,
body.plm-forms .woocommerce-invalid .plm-fld {
  border-color: var(--pf-loss) !important;
  background-color: #FFFBFB !important;
}
body.plm-forms .plm-fld[aria-invalid="true"]:focus,
body.plm-forms .plm-fld.wpcf7-not-valid:focus { box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important; }

/* ---------- Layout after the titles are gone ---------- */
/* Sign in: "Forgot password?" moves under the password field, right-aligned */
body.plm-forms .plm-ph .plm-field:has(> .plm-field__top) { display: flex; flex-direction: column; }
body.plm-forms .plm-ph .plm-field > .plm-field__top {
  order: 9;
  display: flex !important; justify-content: flex-end;
  margin: 8px 0 0 !important;
  font-size: 14px;
}

/* Contact form: the empty title row no longer pushes the field down */
body.plm-forms .plm-ph .keydesign-label p,
body.plm-forms .plm-ph .plm-cf7-field p { margin-top: 0; }
body.plm-forms .plm-ph .plm-cf7-field label { display: block; }

/* WooCommerce account forms */
body.plm-forms .plm-ph .woocommerce-form-row label.plm-vh + .plm-fld,
body.plm-forms .plm-ph .form-row label.plm-vh + .plm-fld { margin-top: 0; }
