/* Main quiz container */
.wqe {
    max-width: 720px;
    margin: 20px auto;
    padding: 12px;
    color: #000;
}

/* Card wrapper */
.wqe-card {
    border: 1px solid #e6e6e6;
    border-radius: 16px;
    padding: 18px;
    background: #fff;
}

/* Title */
.wqe-title {
    margin: 0 0 14px;
    font-size: 22px;
    font-weight: 700;
}

/* Labels and field blocks */
.wqe-label {
    display: block;
    margin: 12px 0;
    font-weight: 600;
}

.wqe-field {
    margin-bottom: 10px;
}

/* Inputs (email, text, select, textarea) */
.wqe-input,
.wqe input[type="text"],
.wqe input[type="email"],
.wqe input[type="password"],
.wqe textarea,
.wqe select {
    width: 100%;
    max-width: 520px;
    padding: 10px 12px;
    border: 1px solid #dcdcdc;
    border-radius: 10px;
    margin-top: 6px;
    background: #fff;
    color: #000;
}

/* Tame Chrome autofill */
.wqe input:-webkit-autofill,
.wqe input:-webkit-autofill:hover,
.wqe input:-webkit-autofill:focus,
.wqe textarea:-webkit-autofill,
.wqe select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #000;
    caret-color: #000;
}

/* Buttons */
.wqe-btn {
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid #111;
    background: #111;
    color: #fff;
    cursor: pointer;
}

/* Navigation row */
.wqe-nav {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

/* Status message */
.wqe-msg {
    margin-top: 12px;
    font-weight: 600;
}

/* Results block */
.wqe-result {
    margin-top: 12px;
}

/* JSON / preformatted result */
.wqe-result pre {
    background: #f7f7f7;
    border-radius: 12px;
    padding: 12px;
    overflow: auto;
    white-space: pre-wrap;
    color: #000;
}

/* Honeypot field */
.wqe-honey {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

/* Likert scale layout 1 2 3 4 5 in a line */
.wqe-scale-options {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 6px;
    margin-bottom: 4px;
}

.wqe-scale-option {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.wqe-scale-hint {
    font-size: 0.85rem;
    opacity: 0.8;
}

/* Highlight for unanswered question on current page */
.wqe-field-error {
    border-left: 3px solid #c00;
    padding-left: 10px;
    background: #ffecec;
}

.wqe-field-error legend,
.wqe-field-error label {
    color: #c00;
}
