.dnhs-csm-form-wrap {
    max-width: 900px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.5;
}

.dnhs-csm-header {
    margin-bottom: 1.5em;
}

.dnhs-csm-arta {
    font-weight: 700;
    text-align: center;
    margin-bottom: 1em;
}

.dnhs-csm-notice {
    padding: 0.75em 1em;
    margin-bottom: 1.5em;
    border-left: 4px solid;
}

.dnhs-csm-notice-success {
    background: #eafaf0;
    border-color: #1e8e3e;
}

.dnhs-csm-notice-error {
    background: #fdecea;
    border-color: #d93025;
}

.dnhs-csm-section {
    border: 1px solid #dcdcde;
    border-radius: 4px;
    padding: 1em 1.25em;
    margin-bottom: 1.5em;
    min-width: 0;
}

.dnhs-csm-section legend {
    font-weight: 600;
    padding: 0 0.5em;
}

.dnhs-csm-field {
    margin-bottom: 1em;
}

.dnhs-csm-field label,
.dnhs-csm-section > label {
    display: block;
    margin-bottom: 0.35em;
}

.dnhs-csm-field input[type="radio"],
.dnhs-csm-field input[type="checkbox"] {
    margin-right: 0.4em;
}

.dnhs-csm-field input[type="number"],
.dnhs-csm-field input[type="text"],
.dnhs-csm-field select,
.dnhs-csm-field textarea,
.dnhs-csm-service-select {
    width: 100%;
    max-width: 480px;
    padding: 0.5em;
    box-sizing: border-box;
}

.req {
    color: #d93025;
}

.dnhs-csm-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.dnhs-csm-table-wrap {
    overflow-x: auto;
}

.dnhs-csm-sqd-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.dnhs-csm-sqd-table th,
.dnhs-csm-sqd-table td {
    border: 1px solid #dcdcde;
    padding: 0.6em;
    text-align: center;
    vertical-align: middle;
}

.dnhs-csm-sqd-table th[scope="row"] {
    text-align: left;
    width: 30%;
}

.dnhs-csm-submit {
    margin-top: 1.5em;
}

/* Explicit colors so the button stays visible regardless of theme button
   defaults (some themes leave background/border transparent). */
.dnhs-csm-submit button {
    display: inline-block;
    padding: 0.85em 2.5em;
    font-size: 1.1em;
    font-weight: 600;
    color: #fff;
    background: #2271b1;
    border: 1px solid #135e96;
    border-radius: 4px;
    cursor: pointer;
}

.dnhs-csm-submit button:hover,
.dnhs-csm-submit button:focus {
    background: #135e96;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}
