
.dpsg-foerderer-wrap {
    max-width: 820px;
    margin: 0 auto;
}

.dpsg-foerderer-intro {
    margin-bottom: 2rem;
}

.dpsg-foerderer-form {
    display: grid;
    gap: 1rem;
}

.dpsg-foerderer-form h3 {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

.dpsg-foerderer-form label {
    display: grid;
    gap: .35rem;
    font-weight: 600;
}

.dpsg-foerderer-form input[type="text"],
.dpsg-foerderer-form input[type="email"],
.dpsg-foerderer-form input[type="tel"],
.dpsg-foerderer-form input[type="number"] {
    width: 100%;
    box-sizing: border-box;
    padding: .75rem;
    border: 1px solid #bbb;
    border-radius: 6px;
    font: inherit;
}

.dpsg-grid {
    display: grid;
    gap: 1rem;
}

.dpsg-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dpsg-grid.plzort {
    grid-template-columns: 160px minmax(0, 1fr);
}

.dpsg-choice {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.dpsg-choice label,
.dpsg-foerderer-form .check {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    font-weight: 400;
}

.sepa-box {
    padding: 1rem 1.1rem;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: rgba(0,0,0,.025);
}

.hint {
    margin-top: -.65rem;
    font-size: .92rem;
    opacity: .75;
}

.dpsg-foerderer-form button {
    cursor: pointer;
    padding: .85rem 1.2rem;
    border: 0;
    border-radius: 6px;
    font: inherit;
    font-weight: 700;
}

.dpsg-foerderer-message {
    max-width: 820px;
    margin: 1rem auto;
    padding: 1rem;
    border-radius: 6px;
}

.dpsg-foerderer-message.success {
    border: 1px solid #5a8f5a;
}

.dpsg-foerderer-message.error {
    border: 1px solid #b75a5a;
}

@media (max-width: 650px) {
    .dpsg-grid.two,
    .dpsg-grid.plzort {
        grid-template-columns: 1fr;
    }
}


/*
 * Ashe Pro compatibility:
 * Ashe can calculate the content column as 0px wide on this shortcode page.
 * The body class is added only when [foerderer_anmeldung] is present.
 */
.dpsg-foerderer-page .main-content {
    width: 100% !important;
    max-width: 1170px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.dpsg-foerderer-page .main-container,
.dpsg-foerderer-page .main-container > article,
.dpsg-foerderer-page .main-container article,
.dpsg-foerderer-page .main-container .post-content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

.dpsg-foerderer-page .dpsg-foerderer-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
