.nccf-form-wrap {
  /* Ocean green accent -- override on any page/theme by setting --nccf-accent
     on the form-wrap or a parent element, e.g.:
     .nccf-form-wrap { --nccf-accent: #2E8B7A; } */
  --nccf-accent: var(--color-gold, #2e8b7a);

  max-width: 560px;
  margin: 0 auto;
  font-family: var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  /* No background/color set here on purpose -- the form inherits whatever
     background and text color the page/theme already has, so it blends
     into any page it's dropped on. */
  color: inherit;
}

.nccf-notice {
  padding: 14px 18px;
  border-radius: 6px;
  margin-bottom: 20px;
  font-size: 0.95rem;
  border: 1px solid transparent;
}

.nccf-notice--success {
  background: rgba(46, 139, 122, 0.12);
  border-color: var(--nccf-accent);
  color: var(--nccf-accent);
}

.nccf-notice--error {
  background: rgba(193, 68, 14, 0.1);
  border-color: #c1440e;
  color: #c1440e;
}

.nccf-form { display: flex; flex-direction: column; gap: 16px; }

.nccf-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.nccf-row { display: flex; flex-direction: column; gap: 6px; }

.nccf-row label {
  font-family: var(--font-mono, "Courier New", monospace);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nccf-accent);
}

.nccf-row .req { color: var(--color-danger, #c1440e); }

.nccf-row input[type="text"],
.nccf-row input[type="email"],
.nccf-row textarea {
  font-family: inherit;
  font-size: 1rem;
  padding: 12px 14px;
  border-radius: 6px;
  /* Border and background are transparent/inherited so the field blends
     into the page's own colours instead of forcing a dark theme. */
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  background: transparent;
  color: inherit;
  resize: vertical;
}

.nccf-row input[type="text"]::placeholder,
.nccf-row input[type="email"]::placeholder,
.nccf-row textarea::placeholder {
  color: color-mix(in srgb, currentColor 45%, transparent);
}

.nccf-row input:focus,
.nccf-row textarea:focus {
  outline: 2px solid var(--nccf-accent);
  outline-offset: 2px;
}

.nccf-submit {
  align-self: flex-start;
  font-family: var(--font-mono, "Courier New", monospace);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--nccf-accent);
  /* Button label stays readable against the ocean-green fill regardless of
     page theme. */
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 12px 26px;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.nccf-submit:hover { transform: translateY(-1px); opacity: 0.92; }
.nccf-submit:active { transform: translateY(0); }
