:root {
    --form-font-size: 18px;
    --input-margin-bottom: 20px;
    --radio-checkbox-margin-top: 8px;
    --radio-checkbox-margin-left: 4px;
}

[type=text], [type=password], [type=date], [type=datetime],
[type=datetime-local], [type=month], [type=week],
[type=email], [type=number], [type=search], [type=tel],
[type=time], [type=url], [type=color], textarea,
select {
    font-size: var(--form-font-size);
    line-height: 1.15;
    padding: 4px 2px;
    height: 32px;
    margin-bottom: var(--input-margin-bottom);
}

label {
    font-size: var(--form-font-size);
    line-height: 1.15;
    margin-bottom: 6px;
}

br {
    display: none;
}




.g-recaptcha {
    margin: 16px 0;
}

input[type="submit"],
button[type="submit"] {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    padding: 8px 12px;
    letter-spacing: 0.08em;
    border-radius: 24px;
    background-color: var(--highlight-orange);
    border-color: var(--dark-purple);
    border-style: solid;
    border-width: 3px;
    margin-bottom: var(--input-margin-bottom);
}

input[type="checkbox"],
input[type="radio"] {
    vertical-align: top;
    margin-top: var(--radio-checkbox-margin-top);

    & + label {
        margin: calc(var(--radio-checkbox-margin-top) - 0.15 * var(--form-font-size)) 0 0 var(--radio-checkbox-margin-left);
        width: calc(100% - 20px - var(--radio-checkbox-margin-left));
    }
}

*:has(> input[type=radio]) {
    margin-bottom: calc(var(--input-margin-bottom) + 8px);

    & > label:first-child:not([for]) {
        &:has(+ *) {
            margin-bottom: 8px;

            + br {      
                display: none;
            }
        }
        
    }
}

.salesforce-form {
    border: 4px solid var(--dark-purple);
    border-radius: 8px;
    box-shadow: 2px 2px 6px 4px rgba(0,0,0,0.15);
    padding: 20px;
    background-color: white;

    .form-title {
        display: flex;
        justify-content: center;
        background: linear-gradient(95.19deg, #672D89 18.23%, #9C2463 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        font-size: 3rem;
        text-transform: uppercase;
    }
}