.dc-product-qa {
    margin-top: 18px;
}

/* Q&A list */
.dc-product-qa .dc-qa-list {
    margin-bottom: 18px;
    padding: 10px;
}
.dc-product-qa .dc-qa-item {
    margin: 10px 0;
    border: 1px solid #ededed;
    padding: 10px;
}
.dc-product-qa .dc-qa-question {
    font-style: italic;
    background-color: #e9f8ff;
    margin-bottom: 6px;
    padding: 6px;
}
.dc-product-qa .dc-qa-answer {
    background-color: #fff7e9;
    padding: 8px 6px 0;
    color: #333;
}

/* Form container with outer border and inner form styling */
.dc-product-qa .dc-qa-form {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #e1e1e1;
    border-radius: 4px;
    background: #fff;
}
.dc-product-qa .dc-qa-form form {
    border: 4px double #E0E6EF;
    border-radius: 4px;
    padding: 20px;
}

/* Toggleable header */
.dc-product-qa .dc-qa-form h3 {
    cursor: pointer;
    margin: 0 0 12px 0;
    position: relative;
    padding-right: 22px;
}
.dc-product-qa .dc-qa-form h3::after {
    content: '▾';
    position: absolute;
    right: 0;
    top: 0;
    font-size: 14px;
}
.dc-product-qa .dc-qa-form.closed h3::after {
    content: '▸';
}
.dc-product-qa .dc-qa-form.closed form {
    display: none;
}

/* Labels and inputs */
.dc-product-qa .dc-qa-form label {
    display: block;
    width: 400px;
    max-width: 100%;
}
.dc-product-qa .dc-qa-form input[type="text"],
.dc-product-qa .dc-qa-form input[type="email"],
.dc-product-qa .dc-qa-form textarea,
.dc-product-qa .dc-qa-form select {
    width: 100% !important;
    box-sizing: border-box;
}

/* Form message styles */
.dc-product-qa .dc-qa-success { color: #117a37; }
.dc-product-qa .dc-qa-error   { color: #a00; }
