/* Checkable */
.wpcz .wpcz-checkable-box {
    display: inline-flex;
    align-items: center;
    min-block-size: 2.8125em;
}

.wpcz .wpcz-grid-set--checkable .wpcz-checkable-box {
    min-block-size: auto;
}

.wpcz .wpcz-checkable {
    position: relative;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    padding-inline-end: 0.5em;
    margin-inline: auto;
    font: inherit;
    font-weight: 500;
    line-height: 1.15;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.wpcz .wpcz-checkable__form-control {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.wpcz .wpcz-checkable__bar:hover,
.wpcz .wpcz-checkable__icon-box:hover,
.wpcz .wpcz-checkable__form-control:not(:checked) + .wpcz-checkable__icon-box:hover {
    cursor: pointer;
}

.wpcz .wpcz-checkable__text {
    flex: 1;
    padding-inline-start: 0.5em;
    font-weight: normal;
    font-size: 0.9375em;
    line-height: 1.25;
}

.wpcz .wpcz-checkable__figure {
    flex-basis: 100%;
    margin-block-start: 0.5em;
}

.wpcz .wpcz-checkable__img {
    display: block;
    max-inline-size: 100%;
    block-size: auto;
    border-radius: var(--wpcz-radius);
}

.wpcz .wpcz-checkable__img--full-width {
    inline-size: 100%;
}


.wpcz .wpcz-error .wpcz-checkable__text {
    color: var(--wpcz-error-color);
}

@media (min-width: 48em) {
    .wpcz .wpcz-checkable-box {
        min-block-size: 3em;
    }

    .wpcz .wpcz-checkable__text {
        font-size: 1em;
    }
}

/* Checkbox & Radio */
.wpcz .wpcz-checkable__form-label {
    display: inline-block;
    vertical-align: baseline;
}

.wpcz .wpcz-checkable__icon-box {
    position: relative;
    flex: 0 0 auto;
    inline-size: 1.5em;
    block-size: 1.5em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: var(--wpcz-checkable-bg-color);
    border: 0.25em solid var(--wpcz-checkable-border-color);
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.wpcz .wpcz-checkable__icon-box--chk {
    border-radius: var(--wpcz-radius);
}

.wpcz .wpcz-checkable__icon-box--rdo {
    border-radius: var(--wpcz-radius-full);
}

.wpcz .wpcz-checkable__form-control:checked + .wpcz-checkable__icon-box {
    background-color: var(--wpcz-checkable-color-checked);
    border-color: var(--wpcz-checkable-color-checked);
}

.wpcz .wpcz-checkable__form-control:focus + .wpcz-checkable__icon-box {
    box-shadow: 0 0 0 2px var(--wpcz-checkable-outline-focus-inner-color), 0 0 0 4px var(--wpcz-checkable-color-focus-outline);
}

.wpcz .wpcz-checkable__form-control:checked:focus + .wpcz-checkable__icon-box {
    box-shadow: 0 0 0 2px var(--wpcz-checkable-outline-focus-inner-color), 0 0 0 4px var(--wpcz-checkable-color-checked-focus-outline);
}

.wpcz .wpcz-checkable__icon {
    opacity: 0;
    inline-size: 1.25em;
    block-size: 1.25em;
    fill: var(--wpcz-checkable-icon-color);
    transition: opacity 0.15s ease;
}

.wpcz .wpcz-error .wpcz-checkable__icon-box {
    background-color: var(--wpcz-error-color);
    border-color: var(--wpcz-error-color);
}

.wpcz .wpcz-checkable__form-control:checked + .wpcz-checkable__icon-box .wpcz-checkable__icon {
    opacity: 1;
}

.wpcz .wpcz-error .wpcz-checkable__form-control:focus + .wpcz-checkable__icon-box {
    box-shadow: 0 0 0 2px var(--wpcz-checkable-outline-focus-inner-color), 0 0 0 4px var(--wpcz-error-color);
}

.wpcz .wpcz-error .wpcz-checkable__form-control:checked + .wpcz-checkable__icon-box {
    background-color: var(--wpcz-error-color);
    border-color: var(--wpcz-error-color);
}

.wpcz .wpcz-error .wpcz-checkable__form-control:checked:focus + .wpcz-checkable__icon-box {
    background-color: var(--wpcz-error-color);
    border-color: var(--wpcz-error-color);
}

/* Toggle Switch */
.wpcz .wpcz-checkable__bar {
    position: relative;
    display: block;
    flex: 0 0 auto;
    inline-size: 5em;
    block-size: 2.5em;
    border-radius: var(--wpcz-radius-full);
    transition: box-shadow 0.15s ease;
}

.wpcz .wpcz-checkable__bar:before,
.wpcz .wpcz-checkable__bar:after {
    position: absolute;
    z-index: 0;
    content: '';
    inset-block-start: 0;
    inset-inline-start: 0;
}

.wpcz .wpcz-checkable__bar:before {
    inline-size: 100%;
    block-size: 100%;
    border-radius: var(--wpcz-radius-full);
    background-color: var(--wpcz-checkable-color);
    background-clip: content-box;
    transition: background-color 0.3s ease, inset-inline-start 0.2s ease;
}

.wpcz .wpcz-checkable__bar:after {
    inline-size: 2em;
    block-size: 2em;
    margin: 0.25em;
    border-radius: var(--wpcz-radius-full);
    background-color: var(--wpcz-checkable-toggle-switch-color);
    transition: inset-inline-start 0.15s ease;
}

.wpcz .wpcz-checkable__form-control:checked + .wpcz-checkable__bar:before {
    background-color: var(--wpcz-checkable-color-checked);
}

.wpcz .wpcz-checkable__form-control:checked + .wpcz-checkable__bar:after {
    inset-inline-start: 2.5em;
}

.wpcz .wpcz-checkable__on,
.wpcz .wpcz-checkable__off {
    position: absolute;
    z-index: 0;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: opacity 0.15s;
}

.wpcz .wpcz-checkable__on {
    inset-block-start: 0.625em;
    inset-inline-start: 0.75em;
    opacity: 0;
}

.wpcz .wpcz-checkable__off {
    inset-block-start: 0.625em;
    inset-inline-end: 0.75em;
    opacity: 1;
}

.wpcz .wpcz-checkable__on-icon,
.wpcz .wpcz-checkable__off-icon {
    display: inline-block;
    vertical-align: middle;
}

.wpcz .wpcz-checkable__on-icon {
    inline-size: 1.3125em;
    block-size: 1.3125em;
    fill: var(--wpcz-checkable-icon-color);
}

.wpcz .wpcz-checkable__off-icon {
    inline-size: 1.25em;
    block-size: 1.25em;
    fill: var(--wpcz-checkable-icon-color-inactive);
}

.wpcz .wpcz-checkable__form-control:checked + .wpcz-checkable__bar .wpcz-checkable__on {
    opacity: 1;
}

.wpcz .wpcz-checkable__form-control:checked + .wpcz-checkable__bar .wpcz-checkable__off {
    opacity: 0;
}

.wpcz .wpcz-checkable__form-control:focus + .wpcz-checkable__bar {
    box-shadow: 0 0 0 2px var(--wpcz-checkable-outline-focus-inner-color), 0 0 0 4px var(--wpcz-checkable-color-focus-outline);
}

.wpcz .wpcz-checkable__form-control:checked:focus + .wpcz-checkable__bar {
    box-shadow: 0 0 0 2px var(--wpcz-checkable-outline-focus-inner-color), 0 0 0 4px var(--wpcz-checkable-color-checked-focus-outline);
}

.wpcz .wpcz-error .wpcz-checkable__form-control + .wpcz-checkable__bar:before,
.wpcz .wpcz-error .wpcz-checkable__form-control:checked+.wpcz-checkable__bar:before {
    background-color: var(--wpcz-error-color);
}

.wpcz .wpcz-error .wpcz-checkable__form-control:focus + .wpcz-checkable__bar,
.wpcz .wpcz-error .wpcz-checkable__form-control:checked:focus + .wpcz-checkable__bar {
    box-shadow: 0 0 0 2px var(--wpcz-checkable-outline-focus-inner-color), 0 0 0 4px var(--wpcz-error-color);
}
