.form-donation {
    display: flex;
    flex-direction: column;
    gap: 2.8125rem;
    padding: 2.5rem;
    width: 100%;
    border-radius: .25rem;
    background-color: #fff;
}

.fields-group h3 {
    margin-bottom: 1.875rem;
    font-family: var(--kyivType);
    font-weight: 700;
    font-size: 1rem;
    line-height: 100%;
}

.fields-group p label {
    position: relative;
    display: block;
    transform: translateY(70%);
    font-family: var(--kyivType);
    font-size: .875rem;
    color: #9d9d9d;
    transition: all 0.24s ease;
}

.fields-group p:has(input:focus) label {
    transform: translateY(15%);
}

.fields-group input[type="text"], 
.fields-group input[type="number"], 
.fields-group input[type="tel"],
.fields-group input[type="email"] {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 2.125rem;
    padding-top: 1rem;
    padding-bottom: 0.25rem;
    border: none;
    font-family: var(--kyivType);
    font-size: 1rem;
    outline: none;
    background-color: transparent;
    border-bottom: 1px solid #9d9d9d;
}

.fields-group input:-webkit-autofill,
.fields-group input:-webkit-autofill:hover,
.fields-group input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
    -webkit-text-fill-color: var(--white) !important;
    transition: background-color 9999s ease-in-out 0s;
}

.grouped-fields {
    columns: 2;
    gap: 2.5rem;
}

.grouped-fields fieldset {
    display: flex;
    columns: 3;
    gap: .9375rem;
    margin-top: .75rem;
}

.grouped-fields fieldset label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5.125rem;
    height: 2.25rem;
    border: 1px solid #000;
    outline: none;
    border-radius: .25rem;
    cursor: pointer;
    transition: opacity 0.24s ease;
}

.grouped-fields fieldset label:hover {
    opacity: .7;
}

.grouped-fields fieldset label:has(input:checked) {
    color: #fff;
    background-color: #000;
}

.grouped-fields fieldset input {
    margin: 0;
}


.fields-actions {
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.donation-btn {
    max-width: 15.625rem;
    width: 100%;
    outline: none;
    border: 1px solid #000;
}

@media(max-width: 768px) {

    .form-donation {
        gap: 1.25rem;
        padding: 2rem 1rem;
    }

    .grouped-fields {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    .fields-group h3 {
        margin-bottom: 1rem;
    }

    .fields-group {
        margin-top: 1.25rem;
    }

    .fields-group:first-child {
        margin-top: unset;
    }

    .fields-actions {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    .cf-turnstile {
        max-width: 100%!important;
    }

    .donation-btn {
        max-width: 100%;
        width: 100%;
    }
}

@media(max-width: 576px) {
    .form-donation {
        /* background-color: #f7f7f7; */
    }

    .grouped-fields fieldset {
        gap: .625rem;
        margin-top: 0;
    }
    .grouped-fields fieldset label {
        width: 33.333%;
    }

    .cf-turnstile iframe {
        width: calc(100vw - 40px);
    }
}