.clpep { max-width: 1100px; margin: 40px auto; padding: 0 20px; }
.clpep h3 { text-align: center; font-weight: 700; }
.clpep-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.clpep-full { grid-column: 1 / -1; }
.clpep-field label, .clpep-full > label[for] { display: block; margin-bottom: 6px; }
.clpep input:not([type=checkbox]):not([type=hidden]), .clpep textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #bbb; border-radius: 4px; background: #fff; color: #222; font: inherit; }
.clpep textarea { resize: vertical; }
.clpep-actions { text-align: center; }
.clpep-choices { margin: 0; padding: 12px; border: 1px solid #bbb; }
.clpep-choices legend { padding: 0 6px; font: inherit; }
.clpep-choices label { display: inline-block; margin: 6px 18px 6px 0; }
.clpep button { background: #cf2e2e; color: #fff; border: 0; border-radius: 5px; padding: 12px 28px; cursor: pointer; }
.clpep :focus-visible { outline: 2px solid #1565c0; outline-offset: 3px; }
.clpep-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.clpep-notice { padding: 16px; border: 1px solid #999; margin-bottom: 20px; }
@media (max-width: 640px) { .clpep-grid { grid-template-columns: 1fr; } }
