.ccqr-form-wrap { max-width: 840px; margin: 0 auto; padding: 28px; border-radius: 10px; background: #fff; box-shadow: 0 2px 16px rgba(0, 0, 0, .08); }
.ccqr-form-wrap h1 { margin-top: 0; }
.ccqr-intro { margin-bottom: 24px; }
.ccqr-form p { margin: 0 0 18px; }
.ccqr-form label, .ccqr-form legend { display: block; margin-bottom: 7px; font-weight: 700; }
.ccqr-form input[type="text"], .ccqr-form input[type="email"], .ccqr-form input[type="tel"], .ccqr-form select, .ccqr-form textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #b7b7b7; border-radius: 4px; font: inherit; }
.ccqr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.ccqr-form fieldset { margin: 0 0 18px; padding: 0; border: 0; }
.ccqr-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ccqr-checks label { font-weight: 400; }
.ccqr-checks input { margin-right: 5px; }
.ccqr-help, .ccqr-optional, .ccqr-consent { color: #555; font-size: .9em; }
.ccqr-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ccqr-submit { display: inline-block; border: 0; border-radius: 4px; padding: 13px 20px; background: #bd1e2d; color: #fff; cursor: pointer; font: inherit; font-weight: 700; }
.ccqr-submit:hover, .ccqr-submit:focus { background: #971522; }
.ccqr-alert { margin: 0 0 20px; padding: 12px; border-left: 4px solid #b32d2e; background: #fbeaea; color: #751820; }
.ccqr-success { text-align: center; }
@media (max-width: 640px) { .ccqr-form-wrap { padding: 20px; } .ccqr-grid, .ccqr-checks { grid-template-columns: 1fr; } }
