/* A modest form inside the existing HelpingHands page, without a new site shell. */
.apd-project-form {
    max-width: 940px;
    color: #3b4756;
    font: 400 16px/1.55 Karla, Arial, sans-serif;
}

.apd-project-form .apd-form-grid,
.apd-project-form .apd-project-fields,
.apd-project-form .apd-duration-detail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 26px;
}

.apd-project-form .apd-full,
.apd-project-form .apd-duration-detail,
.apd-project-form .apd-duration-note {
    grid-column: 1 / -1;
}

.apd-project-form .apd-field {
    display: block;
    min-width: 0;
    margin: 0;
    font-weight: 700;
    color: #3b4756;
}

.apd-project-form .apd-field > span:not(.wpcf7-form-control-wrap):not(.apd-message-label) {
    font-weight: 400;
}

.apd-project-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 7px;
}

.apd-project-form input:not([type="submit"]):not([type="hidden"]),
.apd-project-form select,
.apd-project-form textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #89939f;
    border-radius: 0;
    background: #fff;
    color: #3b4756;
    font: 400 16px/1.5 Karla, Arial, sans-serif;
}

.apd-project-form select {
    padding-right: 28px;
}

.apd-project-form textarea {
    min-height: 130px;
    resize: vertical;
}

.apd-project-form input:focus,
.apd-project-form select:focus,
.apd-project-form textarea:focus,
.apd-project-form a:focus-visible {
    outline: 2px solid #3b4756;
    outline-offset: 3px;
    border-color: #3b4756;
}

.apd-project-form .apd-duration-note {
    margin: -6px 0 0;
    padding-left: 14px;
    border-left: 3px solid #e74804;
    font-weight: 400;
}

.apd-project-form .apd-form-privacy p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
}

.apd-project-form .apd-form-privacy a {
    color: #3b4756;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.apd-project-form input[type="submit"] {
    min-height: 48px;
    margin: 0;
    padding: 12px 22px;
    border: 2px solid #e74804;
    border-radius: 0;
    background: #fff;
    color: #3b4756;
    font: 700 15px/1.5 Montserrat, Arial, sans-serif;
    cursor: pointer;
}

.apd-project-form input[type="submit"]:hover,
.apd-project-form input[type="submit"]:focus {
    border-color: #3b4756;
    background: #3b4756;
    color: #fff;
}

.apd-project-form input[type="submit"]:disabled {
    cursor: default;
    opacity: .65;
}

.apd-project-form .apd-honeypot {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.apd-project-form [hidden] {
    display: none !important;
}

.apd-project-form .apd-field-error,
.apd-project-form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    color: #9c2715;
    font-weight: 700;
    line-height: 1.5;
}

.apd-project-form [aria-invalid="true"] {
    border-color: #9c2715 !important;
}

.apd-project-form .wpcf7 form .wpcf7-response-output {
    margin: 26px 0 0;
    padding: 16px 20px;
    border: 1px solid #3b4756;
    border-left-width: 4px;
    color: #3b4756;
    background: #f7f8f9;
}

.apd-project-form .wpcf7 form .wpcf7-response-output.apd-form-error {
    border-color: #9c2715;
}

@media (max-width: 640px) {
    .apd-project-form .apd-form-grid,
    .apd-project-form .apd-project-fields,
    .apd-project-form .apd-duration-detail {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .apd-project-form input[type="submit"] {
        width: 100%;
    }
}

/* Purpose first, with support details only when relevant. */
.apd-support-contact .apd-contact-intro { margin:0 0 28px; }
.apd-support-contact .apd-contact-intro h2 { margin:0 0 12px; font:700 28px/1.35 Montserrat,Arial,sans-serif; color:#3b4756; }
.apd-support-contact .apd-contact-intro p { margin:0!important; max-width:68ch; font-size:18px; line-height:1.65; }
.apd-support-contact .apd-contact-purpose { padding:20px; border-left:3px solid #e74804; background:#f4f5f0; }
.apd-support-contact .apd-contact-purpose select { margin-top:0; }
.apd-project-form .apd-message-help { display:block; margin:6px 0; font-weight:400; font-size:15px; color:#536052; }
.apd-support-contact .apd-group-fields, .apd-support-contact .apd-material-fields { min-width:0; }
@media(max-width:640px) {
 .apd-support-contact .apd-contact-intro h2 { font-size:24px; }
 .apd-support-contact .apd-contact-purpose { padding:16px; }
}

.apd-project-form .apd-field > .apd-structure-label { font-weight:700; }
