/**
 * Form. Pills only on list radios inside --pills.
 * checkbox-container is never restyled here.
 */

.graniteandgreen-form--pills .listradio-container .nf-field-element ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--graniteandgreen-spacing-xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.graniteandgreen-form--pills .listradio-container .nf-field-element li {
    position: relative;
    margin: 0 !important;
    padding: 0;
}

.graniteandgreen-form--pills .listradio-container .nf-field-element input[type="radio"] {
    position: absolute;
    width: calc(var(--graniteandgreen-spacing-base) * 0.0625);
    height: calc(var(--graniteandgreen-spacing-base) * 0.0625);
    margin: calc(var(--graniteandgreen-spacing-base) * -0.0625);
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.graniteandgreen-form--pills .listradio-container .nf-field-element label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding-block: var(--graniteandgreen-spacing-sm);
    padding-inline: var(--graniteandgreen-spacing-lg);
    border: 0;
    border-radius: var(--graniteandgreen-border-radius-pill);
    background: rgba(var(--graniteandgreen-color-white), 1);
    color: rgba(var(--graniteandgreen-color-dark), 1);
    font-weight: var(--graniteandgreen-font-weight-normal);
    font-size: inherit;
    line-height: 1;
    text-align: center;
    cursor: pointer;
}

.graniteandgreen-form--pills .listradio-container .nf-field-element label::before,
.graniteandgreen-form--pills .listradio-container .nf-field-element label::after {
    content: none;
}

.graniteandgreen-form--pills .listradio-container .nf-field-element input:checked + label,
.graniteandgreen-form--pills .listradio-container .nf-field-element label.nf-checked-label {
    background: rgba(var(--graniteandgreen-color-copper), 1);
    color: rgba(var(--graniteandgreen-color-white), 1);
}

.graniteandgreen-form--pills .listradio-container .nf-field-element input:focus-visible + label {
    outline: var(--graniteandgreen-border-width) solid rgba(var(--graniteandgreen-color-copper), 1);
    outline-offset: var(--graniteandgreen-spacing-xs);
}
