.edf-form { display: grid; gap: 16px; }
.edf-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.edf-field { display: grid; gap: 7px; color: #24303b; font-size: 13px; font-weight: 700; }
.edf-field b { color: #9a342f; }
.edf-field input, .edf-field select, .edf-field textarea {
  width: 100%; min-height: 48px; padding: 11px 12px; color: #24303b; background: #fff;
  border: 1px solid rgba(11,47,87,.18); border-radius: 10px; outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.edf-field textarea { min-height: 110px; resize: vertical; }
.edf-field input:focus, .edf-field select:focus, .edf-field textarea:focus { border-color: #315d8c; box-shadow: 0 0 0 3px rgba(49,93,140,.14); }
.edf-field [aria-invalid="true"] { border-color: #b83d37; box-shadow: 0 0 0 3px rgba(184,61,55,.12); }
.edf-field--full { grid-column: 1 / -1; }
.edf-sensitive-note { padding: 11px 13px; color: #664b2c; background: #fff8ea; border: 1px solid #ead4aa; border-radius: 10px; font-size: 12px; line-height: 1.5; }
.edf-legal { display: grid; gap: 10px; min-width: 0; margin: 0; padding: 15px; background: #f6f1e8; border: 1px solid rgba(11,47,87,.14); border-radius: 12px; }
.edf-legal legend { padding: 0 6px; color: #0b2f57; font-family: Georgia,"Times New Roman",serif; font-size: 17px; font-weight: 600; }
.edf-legal > p { margin: 0 0 2px; color: #65717c; font-size: 11px; line-height: 1.5; }
.edf-consent { display: flex; min-height: 44px; align-items: flex-start; gap: 10px; padding: 9px 10px; color: #4e5a64; background: rgba(255,255,255,.62); border: 1px solid transparent; border-radius: 9px; font-size: 12px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.edf-consent:hover { border-color: rgba(49,93,140,.22); }
.edf-consent--primary { background: #fff; border-color: rgba(49,93,140,.18); }
.edf-consent input { width: 21px; height: 21px; flex: 0 0 auto; margin-top: 0; accent-color: #0b2f57; cursor: pointer; }
.edf-consent input[aria-invalid="true"] { outline: 2px solid #b83d37; outline-offset: 2px; }
.edf-consent a { color: #0b2f57; font-weight: 650; text-decoration: underline; text-underline-offset: .15em; }
.edf-submit { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 12px 22px; color: #fff; background: linear-gradient(135deg,#0b2f57,#174d7f); border: 0; border-radius: 10px; font-weight: 750; cursor: pointer; box-shadow: 0 12px 28px rgba(11,47,87,.18); transition: opacity .2s ease, transform .2s ease; }
.edf-submit:not([disabled]):hover { transform: translateY(-1px); }
.edf-submit[disabled] { opacity: .46; cursor: not-allowed; box-shadow: none; }
.edf-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.edf-form__status, .edf-form__notice { min-height: 0; font-size: 13px; }
.edf-form__status.is-success, .edf-form__notice.is-success { padding: 11px 13px; color: #164e2b; background: #eaf7ee; border: 1px solid #bfe2c9; border-radius: 10px; }
.edf-form__status.is-error, .edf-form__notice.is-error { padding: 11px 13px; color: #7d2622; background: #fff0ef; border: 1px solid #ebc0bd; border-radius: 10px; }
@media (max-width: 640px) {
  .edf-form__grid { grid-template-columns: 1fr; }
  .edf-field--full { grid-column: auto; }
  .edf-legal { padding: 13px 10px; }
  .edf-consent { font-size: 12px; }
}

/* 1.6.0 — signature form styling. */
.edf-form {
  position: relative;
  gap: 18px;
}
.edf-form::before {
  position: absolute;
  z-index: -1;
  top: -36px;
  right: -28px;
  width: 180px;
  height: 180px;
  content: "";
  background: radial-gradient(circle,rgba(47,96,142,.12),transparent 68%);
  border-radius: 50%;
}
.edf-field { color: #263746; font-size: 13px; letter-spacing: .005em; }
.edf-field input,
.edf-field select,
.edf-field textarea {
  min-height: 52px;
  padding: 13px 14px;
  background: rgba(255,255,255,.9);
  border-color: rgba(10,45,84,.16);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.edf-field textarea { min-height: 124px; }
.edf-field input:focus,
.edf-field select:focus,
.edf-field textarea:focus {
  border-color: #2f608e;
  box-shadow: 0 0 0 4px rgba(47,96,142,.12),0 10px 24px rgba(10,45,84,.06);
}
.edf-sensitive-note {
  padding: 13px 15px;
  background: linear-gradient(110deg,#fff6e6,#fffdf9);
  border-color: rgba(200,155,86,.35);
  border-radius: 14px;
}
.edf-legal {
  padding: 18px;
  background: linear-gradient(145deg,rgba(237,230,218,.86),rgba(255,253,249,.92));
  border-color: rgba(10,45,84,.12);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(10,45,84,.05);
}
.edf-legal legend { color: #0a2d54; font-size: 19px; font-weight: 500; }
.edf-consent {
  padding: 11px 12px;
  background: rgba(255,255,255,.72);
  border-radius: 12px;
}
.edf-consent--primary { border-color: rgba(47,96,142,.2); box-shadow: 0 8px 20px rgba(10,45,84,.045); }
.edf-submit {
  min-height: 54px;
  padding: 13px 25px;
  background: linear-gradient(135deg,#082a50,#1b5a86);
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(10,45,84,.2);
  letter-spacing: .01em;
}
.edf-submit:not([disabled]):hover { transform: translateY(-2px); box-shadow: 0 20px 40px rgba(10,45,84,.25); }
