.cq-frontend-form { max-width: 760px; margin: 0 auto; }

.cq-section { margin: 2em 0 1em; padding-bottom: .4em; border-bottom: 2px solid currentColor; }
.cq-section-title { margin: 0 0 .3em; }
.cq-section-desc { margin: 0; opacity: .85; }

.cq-question { margin: 1.2em 0; padding: 1em; border: 1px solid rgba(0,0,0,.1); border-radius: 6px; }
.cq-question.cq-error { border-color: #e02b2b; background: rgba(224,43,43,.04); }
.cq-required { color: #e02b2b; font-weight: bold; margin-left: .2em; }
.cq-error-box { padding: 1em; margin: 1em 0; background: rgba(224,43,43,.06); border: 1px solid #e02b2b; border-radius: 6px; color: #a01818; }
.cq-question-text { font-weight: bold; margin-bottom: .4em; line-height: 1.4; }
.cq-question-desc { margin: 0 0 .6em; font-weight: normal; opacity: .8; font-size: .95em; }
.cq-number { display: inline-block; min-width: 2.4em; font-weight: bold; }

.cq-option { display: block; margin: .35em 0; cursor: pointer; line-height: 1.4; }
.cq-text-input, .cq-textarea-input { width: 100%; box-sizing: border-box; }

.cq-field input { width: 100%; max-width: 350px; }
.cq-submit { padding: .6em 1.4em; cursor: pointer; }
.cq-success { padding: 1em; background: #e6ffed; border: 1px solid #34c759; border-radius: 6px; }