.unico-forms-container {
    --uf-accent: #2271b1;
    --uf-label-color: inherit;
    --uf-description-color: #646970;
    --uf-field-background: #fff;
    --uf-field-text-color: #1d2327;
    --uf-field-placeholder: #646970;
    --uf-field-border-color: #8c8f94;
    --uf-field-focus-color: var(--uf-accent);
    --uf-field-border-width: 1px;
    --uf-field-border-radius: 4px;
    --uf-field-min-height: 44px;
    --uf-field-padding-y: 10px;
    --uf-field-padding-x: 12px;
    --uf-button-background: var(--uf-accent);
    --uf-button-text-color: #fff;
    --uf-button-border-color: var(--uf-accent);
    --uf-button-border-radius: 4px;
    --uf-button-width: auto;
    --uf-button-alignment: flex-start;
    width: 100%;
    border: 0;
}

.unico-form,
.unico-form * {
    box-sizing: border-box;
}

.unico-forms-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}

.unico-forms-field {
    width: 100%;
    margin: 0 0 20px;
    padding: 0 10px;
}

.unico-forms-width-25 {
    width: 25%;
}

.unico-forms-width-33 {
    width: 33.333%;
}

.unico-forms-width-50 {
    width: 50%;
}

.unico-forms-width-66 {
    width: 66.666%;
}

.unico-forms-width-75 {
    width: 75%;
}

.unico-forms-width-100 {
    width: 100%;
}

.unico-form .unico-forms-field > label,
.unico-form .unico-forms-field legend {
    display: block;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-field > label,
.unico-form:not(.unico-forms-neutral) .unico-forms-field legend {
    margin: 0 0 7px;
    color: var(--uf-label-color);
    font: inherit;
    font-weight: 600;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-field fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.unico-form .unico-forms-field input[type="text"],
.unico-form .unico-forms-field input[type="email"],
.unico-form .unico-forms-field input[type="tel"],
.unico-form .unico-forms-field input[type="number"],
.unico-form .unico-forms-field input[type="date"],
.unico-form .unico-forms-field input[type="file"],
.unico-form .unico-forms-field textarea,
.unico-form .unico-forms-field select {
    display: block;
    width: 100%;
    max-width: 100%;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-field input[type="text"],
.unico-form:not(.unico-forms-neutral) .unico-forms-field input[type="email"],
.unico-form:not(.unico-forms-neutral) .unico-forms-field input[type="tel"],
.unico-form:not(.unico-forms-neutral) .unico-forms-field input[type="number"],
.unico-form:not(.unico-forms-neutral) .unico-forms-field input[type="date"],
.unico-form:not(.unico-forms-neutral) .unico-forms-field input[type="file"],
.unico-form:not(.unico-forms-neutral) .unico-forms-field textarea,
.unico-form:not(.unico-forms-neutral) .unico-forms-field select {
    min-height: var(--uf-field-min-height);
    margin: 0;
    padding: var(--uf-field-padding-y) var(--uf-field-padding-x);
    border-width: var(--uf-field-border-width);
    border-style: solid;
    border-color: var(--uf-field-border-color);
    border-radius: var(--uf-field-border-radius);
    background: var(--uf-field-background);
    color: var(--uf-field-text-color);
    font: inherit;
    line-height: 1.4;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-field input::placeholder,
.unico-form:not(.unico-forms-neutral) .unico-forms-field textarea::placeholder {
    color: var(--uf-field-placeholder);
    opacity: 1;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-field textarea {
    min-height: 130px;
    resize: vertical;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-field input:focus,
.unico-form:not(.unico-forms-neutral) .unico-forms-field textarea:focus,
.unico-form:not(.unico-forms-neutral) .unico-forms-field select:focus {
    outline: 2px solid var(--uf-field-focus-color);
    outline-offset: 1px;
    border-color: var(--uf-field-focus-color);
}

.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field input[type="text"],
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field input[type="email"],
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field input[type="tel"],
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field input[type="number"],
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field input[type="date"],
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field input[type="file"],
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field textarea,
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field select {
    border-width: 0 0 var(--uf-field-border-width);
    border-radius: 0;
}

.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field input:focus,
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field textarea:focus,
.unico-form:not(.unico-forms-neutral).unico-forms-border-bottom .unico-forms-field select:focus {
    outline: 0;
}

.unico-forms-field.has-error input,
.unico-forms-field.has-error textarea,
.unico-forms-field.has-error select {
    border-color: #b32d2e;
}

.unico-forms-required {
    color: #b32d2e;
}

.unico-forms-description {
    margin-top: 6px;
    font-size: .875em;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-description {
    color: var(--uf-description-color);
}

.unico-forms-field-error {
    min-height: 0;
    margin-top: 5px;
    color: #b32d2e;
    font-size: .875em;
}

.unico-forms-choices {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}

.unico-forms-choices label,
.unico-forms-consent {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    cursor: pointer;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-choices label,
.unico-form:not(.unico-forms-neutral) .unico-forms-consent {
    color: var(--uf-label-color);
    font: inherit;
    font-weight: 400;
}

.unico-forms-choices input,
.unico-forms-consent input {
    flex: 0 0 auto;
    margin: .25em 0 0;
}

.unico-forms-field-submit {
    display: flex;
    justify-content: var(--uf-button-alignment);
}

.unico-forms-submit {
    width: var(--uf-button-width);
    max-width: 100%;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-submit {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: var(--uf-field-min-height);
    padding: 10px 22px;
    border: 1px solid var(--uf-button-border-color);
    border-radius: var(--uf-button-border-radius);
    background: var(--uf-button-background);
    color: var(--uf-button-text-color);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s ease, transform .15s ease;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-submit:hover,
.unico-form:not(.unico-forms-neutral) .unico-forms-submit:focus {
    color: var(--uf-button-text-color);
    opacity: .9;
}

.unico-form:not(.unico-forms-neutral) .unico-forms-submit:active {
    transform: translateY(1px);
}

.unico-form:not(.unico-forms-neutral) .unico-forms-submit:disabled {
    cursor: wait;
    opacity: .65;
}

.unico-forms-spinner {
    display: none;
    width: 15px;
    height: 15px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    opacity: .75;
    animation: unico-forms-spin .7s linear infinite;
}

.unico-forms-submit.is-loading .unico-forms-spinner {
    display: block;
}

.unico-forms-message {
    margin: 0 0 20px;
    padding: 12px 14px;
    border-left: 4px solid;
    background: #f6f7f7;
}

.unico-forms-message-success {
    border-color: #00a32a;
    background: #edfaef;
}

.unico-forms-message-error {
    border-color: #d63638;
    background: #fcf0f1;
}

.unico-forms-hp {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@keyframes unico-forms-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 680px) {
    .unico-forms-width-25,
    .unico-forms-width-33,
    .unico-forms-width-50,
    .unico-forms-width-66,
    .unico-forms-width-75 {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .unico-forms-submit,
    .unico-forms-spinner {
        transition: none;
        animation-duration: 1.5s;
    }
}
