.rgf-shell {
    --rgf-accent: #6f6252;
    --rgf-button-text: #ffffff;
    --rgf-text: #1d1d1b;
    --rgf-field-background: #ffffff;
    --rgf-border: #b7b7b7;
    --rgf-error: #8a1f1f;
    --rgf-success: #245c36;
    --rgf-radius: 0px;
    --rgf-field-height: 48px;
    --rgf-field-gap: 18px;
    --rgf-font-family: inherit;
    --rgf-label-size: .95rem;
    --rgf-field-font-size: inherit;
    --rgf-label-weight: 600;
    --rgf-button-width: auto;
    --rgf-button-font-size: inherit;
    --rgf-button-weight: 600;
    --rgf-button-spacing: 0em;
    --rgf-button-transform: none;
    --rgf-button-padding-x: 25px;
    --rgf-button-hover-background: var(--rgf-accent);
    --rgf-button-hover-text: var(--rgf-button-text);
    --rgf-button-hover-border: var(--rgf-accent);
    --rgf-button-hover-opacity: .9;
    width: 100%;
    font-family: var(--rgf-font-family);
    color: var(--rgf-text);
}

.rgf-form {
    position: relative;
    width: 100%;
}

.rgf-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rgf-field-gap);
    align-items: start;
}

.rgf-field {
    display: grid;
    grid-auto-rows: max-content;
    gap: .45rem;
    min-width: 0;
    align-content: start;
    align-self: start;
}

.rgf-field--full {
    grid-column: 1 / -1;
}

.rgf-field--half {
    grid-column: span 1;
}

.rgf-field label {
    font-size: var(--rgf-label-size);
    line-height: 1.4;
}

.rgf-required-note {
    font-size: .85rem;
    line-height: 1.4;
}

.rgf-field > label {
    font-weight: var(--rgf-label-weight);
}

.rgf-form input:not([type="checkbox"]),
.rgf-form textarea,
.rgf-form select {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--rgf-field-height);
    padding: .8rem .95rem;
    border: 1px solid var(--rgf-border);
    border-radius: var(--rgf-radius);
    background: var(--rgf-field-background);
    color: var(--rgf-text);
    font-family: inherit;
    font-size: var(--rgf-field-font-size);
    font-weight: 400;
    line-height: 1.45;
}

.rgf-form textarea {
    resize: vertical;
}

.rgf-form input:focus,
.rgf-form textarea:focus,
.rgf-form select:focus {
    outline: 3px solid color-mix(in srgb, var(--rgf-accent) 35%, transparent);
    outline-offset: 2px;
    border-color: var(--rgf-accent);
}

.rgf-field--error input,
.rgf-field--error textarea,
.rgf-field--error select {
    border-color: var(--rgf-error);
}

.rgf-checkbox {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
}

.rgf-checkbox input {
    margin-top: .25rem;
}

.rgf-help,
.rgf-error,
.rgf-required-note {
    margin: 0;
}

.rgf-help,
.rgf-required-note {
    opacity: .74;
}

.rgf-error {
    color: var(--rgf-error);
    font-size: .9rem;
    font-weight: 600;
}

.rgf-submit {
    width: var(--rgf-button-width);
    min-height: var(--rgf-field-height);
    margin-top: var(--rgf-field-gap);
    padding: .8rem var(--rgf-button-padding-x);
    border: 1px solid var(--rgf-accent);
    border-radius: var(--rgf-radius);
    background: var(--rgf-accent);
    color: var(--rgf-button-text);
    font-family: inherit;
    font-size: var(--rgf-button-font-size);
    font-weight: var(--rgf-button-weight);
    line-height: 1;
    letter-spacing: var(--rgf-button-spacing);
    text-transform: var(--rgf-button-transform);
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease, opacity .16s ease;
}

.rgf-submit:hover {
    border-color: var(--rgf-button-hover-border);
    background: var(--rgf-button-hover-background);
    color: var(--rgf-button-hover-text);
    opacity: var(--rgf-button-hover-opacity);
}

.rgf-submit:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.rgf-required-note {
    margin-top: .7rem;
}

.rgf-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.rgf-notice {
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border-left: 4px solid currentColor;
    border-radius: var(--rgf-radius);
    background: var(--rgf-field-background);
}

.rgf-notice--success {
    color: var(--rgf-success);
}

.rgf-notice--error {
    color: var(--rgf-error);
}

.rgf-admin-warning {
    padding: .75rem 1rem;
    border-left: 4px solid #dba617;
    background: #fff8e5;
}

@media (max-width: 700px) {
    .rgf-fields {
        grid-template-columns: 1fr;
    }

    .rgf-field--half,
    .rgf-field--full {
        grid-column: 1;
    }

    .rgf-form input:not([type="checkbox"]),
    .rgf-form textarea,
    .rgf-form select,
    .rgf-submit {
        font-size: 16px;
    }
}

.rgf-form[aria-busy="true"] .rgf-submit {
    cursor: wait;
    opacity: .7;
}

.rgf-submit:disabled {
    cursor: wait;
}
