.pcc-form {
  max-width: 980px;
  margin: 24px auto;
  padding: 28px;
  border: 1px solid #e2e2e2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
  font-family: Arial, sans-serif;
}
.pcc-form h2 { margin-top: 0; font-size: 30px; }
.pcc-form h3 { margin-top: 28px; padding-top: 12px; border-top: 1px solid #eee; }
.pcc-muted { color: #666; }
.pcc-grid { display: grid; gap: 16px; }
.pcc-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pcc-form label span, .pcc-question-label, .pcc-signature-title { display: block; font-weight: 700; margin-bottom: 6px; }
.pcc-form input[type="text"], .pcc-form input[type="email"], .pcc-form input[type="date"], .pcc-form textarea {
  width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; box-sizing: border-box;
}
.pcc-form textarea { resize: vertical; }
.pcc-checkbox-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.pcc-question-group { margin-top: 16px; }
.pcc-consents { display: grid; gap: 10px; margin: 14px 0; }
.pcc-signature-wrap { margin: 20px 0; }
.pcc-signature { width: 100%; max-width: 700px; height: 180px; border: 2px solid #222; border-radius: 10px; background: #fff; display: block; touch-action: none; }
.pcc-signature-error .pcc-signature { border-color: #b00020; }
.pcc-clear-signature { margin-top: 8px; padding: 7px 12px; border-radius: 8px; border: 1px solid #999; background: #f7f7f7; cursor: pointer; }
.pcc-submit { margin-top: 18px; padding: 13px 22px; border: 0; border-radius: 10px; background: #111; color: #fff; font-weight: 700; cursor: pointer; }
.pcc-notice { max-width: 980px; margin: 20px auto; padding: 14px 18px; border-radius: 10px; }
.pcc-success { background: #e8f7ed; border: 1px solid #a8dfb7; }
@media (max-width: 760px) { .pcc-grid-2, .pcc-checkbox-grid { grid-template-columns: 1fr; } .pcc-form { padding: 18px; } }
