.pcp-contact-wrap {
  --pcp-navy: #101923;
  --pcp-yellow: #f2c94c;
  --pcp-border: #d8dee5;
  --pcp-muted: #5d6875;
  max-width: 860px;
  margin: 2rem 0 3rem;
}

.pcp-contact-form {
  background: #fff;
  border: 1px solid var(--pcp-border);
  border-radius: 16px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 12px 30px rgba(16, 25, 35, 0.07);
}

.pcp-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
}

.pcp-field-full { grid-column: 1 / -1; }

.pcp-field label {
  display: block;
  margin-bottom: .4rem;
  font-weight: 700;
  color: var(--pcp-navy);
}

.pcp-optional {
  font-size: .85em;
  font-weight: 500;
  color: var(--pcp-muted);
}

.pcp-field input,
.pcp-field select,
.pcp-field textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #bfc7d0;
  border-radius: 9px;
  padding: .78rem .9rem;
  background: #fff;
  color: #101923;
  font: inherit;
  line-height: 1.35;
}

.pcp-field textarea { resize: vertical; min-height: 160px; }

.pcp-field input:focus,
.pcp-field select:focus,
.pcp-field textarea:focus {
  outline: 3px solid rgba(242, 201, 76, .35);
  border-color: #8a6b00;
}

.pcp-consent {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  margin-top: 1.25rem;
  font-size: .95rem;
}

.pcp-consent input { margin-top: .25rem; }

.pcp-privacy-note {
  color: var(--pcp-muted);
  font-size: .875rem;
  margin: .85rem 0 1.2rem;
}

.pcp-contact-submit {
  appearance: none;
  border: 0;
  border-radius: 9px;
  background: var(--pcp-yellow);
  color: var(--pcp-navy);
  padding: .85rem 1.25rem;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.pcp-contact-submit:hover { filter: brightness(.96); }

.pcp-contact-submit:focus-visible {
  outline: 3px solid var(--pcp-navy);
  outline-offset: 3px;
}

.pcp-contact-notice {
  border-radius: 10px;
  padding: .9rem 1rem;
  margin: 0 0 1rem;
}

.pcp-contact-success {
  background: #eef8f0;
  border: 1px solid #9acaa4;
  color: #173f22;
}

.pcp-contact-error {
  background: #fff3f1;
  border: 1px solid #e1a59c;
  color: #6d2117;
}

.pcp-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

@media (max-width: 680px) {
  .pcp-contact-grid { grid-template-columns: 1fr; }
  .pcp-field-full { grid-column: auto; }
}
