.cd-form-panel { min-width: 0; padding: 0; border-block: var(--cd-border-width) solid var(--cd-border); }
/* Shared surface; WPForms retains behavior, field order and inline tokens. */
.cd-wpforms div.wpforms-container { margin: 0; color: var(--cd-deep-navy); font-family: var(--cd-font); }
.cd-wpforms div.wpforms-container .wpforms-form {
  margin: 0;
  --wpforms-button-background-color: var(--cd-brand-navy);
  --wpforms-button-background-color-alt: var(--cd-brand-navy);
  --wpforms-button-text-color: var(--cd-white);
  --wpforms-field-background-color: var(--cd-white);
  --wpforms-field-border-color: var(--cd-muted);
  --wpforms-field-border-style: solid;
  --wpforms-field-border-size: var(--cd-border-width);
  --wpforms-field-size-checkbox-size: 1rem;
  --wpforms-label-size-font-size: 1rem;
  --wpforms-label-error-color: var(--cd-error-text);
}
.cd-wpforms div.wpforms-container .wpforms-field-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cd-space-5) var(--cd-space-4); }
.cd-wpforms div.wpforms-container .wpforms-field-container > .wpforms-field { grid-column: 1 / -1; float: none; clear: none; width: 100%; min-width: 0; margin: 0; padding: 0; }
.cd-wpforms div.wpforms-container .wpforms-field-container > :is(.wpforms-field-name, .wpforms-field-text, .wpforms-field-email, .dokki-form-half) { grid-column: span 1; }
.cd-wpforms div.wpforms-container .wpforms-field-container > .dokki-form-full { grid-column: 1 / -1; }
.cd-wpforms div.wpforms-container .wpforms-form :is(.wpforms-field-label, .wpforms-field-sublabel, .wpforms-field-label-inline) { color: var(--cd-deep-navy); font-size: 1rem; line-height: 1.5; }
.cd-wpforms div.wpforms-container .wpforms-form .wpforms-field-label { margin: 0 0 var(--cd-space-2); font-weight: 600; }
.cd-wpforms div.wpforms-container .wpforms-form :is(.wpforms-field-description, .wpforms-field-html) { font-size: var(--cd-text-small); line-height: 1.6; }
.cd-wpforms div.wpforms-container .wpforms-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], select, textarea) { width: 100%; max-width: 100%; min-height: var(--cd-touch-target); height: auto; padding: var(--cd-space-3); border: var(--cd-border-width) solid var(--cd-muted); border-radius: var(--cd-radius-small); background: var(--cd-white); color: var(--cd-deep-navy); font: inherit; font-size: 1rem; line-height: 1.5; box-shadow: none; }
.cd-wpforms div.wpforms-container .wpforms-form textarea { min-height: 8rem; resize: vertical; }
.cd-wpforms div.wpforms-container .wpforms-form :is(input, select, textarea, button):focus-visible { outline: var(--cd-focus-width) solid var(--cd-blue); outline-offset: var(--cd-focus-offset); }
.cd-wpforms div.wpforms-container .wpforms-form :is(.wpforms-field-checkbox, .wpforms-field-gdpr-checkbox, .wpforms-field-radio) li { min-height: var(--cd-touch-target); }
.cd-wpforms div.wpforms-container .wpforms-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.cd-wpforms div.wpforms-container .wpforms-form :is(.wpforms-field-checkbox, .wpforms-field-gdpr-checkbox, .wpforms-field-radio) ul { margin: 0; padding: 0; list-style: none; }
.cd-wpforms div.wpforms-container .wpforms-form .wpforms-field-label-inline { display: inline; font-weight: 400; }
.cd-wpforms div.wpforms-container .wpforms-form .wpforms-submit-container { margin: var(--cd-space-5) 0 0; padding: 0; }
.cd-form-panel.cd-wpforms div.wpforms-container .wpforms-form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: var(--cd-touch-target); height: auto; padding: var(--cd-space-3) var(--cd-space-5); border: var(--cd-border-width) solid transparent; border-radius: var(--cd-radius); background: var(--cd-brand-navy); color: var(--cd-white); font: inherit; font-size: 1rem; font-weight: 600; line-height: 1.4; box-shadow: none; }
.cd-form-panel.cd-wpforms div.wpforms-container .wpforms-form button[type="submit"]:hover { background: var(--cd-deep-navy); }
.cd-form-panel.cd-wpforms div.wpforms-container .wpforms-form button[type="submit"]:disabled { opacity: 0.65; cursor: wait; }
.cd-wpforms div.wpforms-container .wpforms-form :is(label.wpforms-error, em.wpforms-error, .wpforms-error-container, .wpforms-required-label) { color: var(--cd-error-text); font-size: var(--cd-text-small); line-height: 1.5; }
.cd-wpforms div.wpforms-container .wpforms-form :is(input, select, textarea):is(.wpforms-error, [aria-invalid="true"]) { border-color: var(--cd-error-text); }
.cd-wpforms :is(div.wpforms-confirmation-container, div.wpforms-confirmation-container-full) { padding: var(--cd-space-5); border: var(--cd-border-width) solid var(--cd-success); border-radius: var(--cd-radius-small); background: var(--cd-surface); color: var(--cd-deep-navy); line-height: 1.6; }
@media (max-width: 767px) {
  .cd-wpforms div.wpforms-container .wpforms-field-container { grid-template-columns: minmax(0, 1fr); }
  .cd-wpforms div.wpforms-container .wpforms-field-container > .wpforms-field { grid-column: 1 / -1; }
}


.cd-wpforms div.wpforms-container .wpforms-field-container { row-gap: 8px; }
.cd-wpforms div.wpforms-container .wpforms-form .wpforms-field-label { font-size: 15px; line-height: 1.4; margin-bottom: 6px; }
.cd-wpforms div.wpforms-container .wpforms-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], select) { min-height: 48px; padding-block: 8px; }
.cd-form-panel.cd-wpforms div.wpforms-container .wpforms-form textarea { height: 80px; min-height: 80px; padding-block: 8px; resize: vertical; }
.cd-wpforms div.wpforms-container .wpforms-form .wpforms-field-html { line-height: 1.5; }
.cd-wpforms div.wpforms-container .wpforms-form .wpforms-submit-container { margin-top: 8px; }
.cd-form-panel.cd-wpforms div.wpforms-container .wpforms-form button[type="submit"] { min-height: 48px; padding-block: 8px; }
@media (max-width: 767px) {
  .cd-wpforms div.wpforms-container .wpforms-field-container { row-gap: 16px; }
  .cd-form-panel.cd-wpforms div.wpforms-container .wpforms-form textarea { height: 112px; min-height: 112px; }
}
