@layer kora.components {
    .kora-checkbox {
        display: inline-flex;
        align-items: center;
        gap: var(--kora-space-2);
        cursor: pointer;
        font-family: var(--kora-font-sans);
        color: var(--kora-color-text);
    }

    .kora-checkbox__box {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.15rem;
        height: 1.15rem;
        flex: none;
        border: 1.5px solid var(--kora-gray-300);
        border-radius: var(--kora-radius-sm);
        background: var(--kora-surface-1);
        transition: background-color var(--kora-duration-fast) var(--kora-ease),
            border-color var(--kora-duration-fast) var(--kora-ease);
    }

    .kora-checkbox__check {
        width: 0.8rem;
        height: 0.8rem;
        color: var(--kora-color-primary-contrast);
        opacity: 0;
        transform: scale(0.6);
        transition: opacity var(--kora-duration-fast) var(--kora-ease),
            transform var(--kora-duration-fast) var(--kora-ease);
    }

    .kora-checkbox__input:checked + .kora-checkbox__box {
        background: var(--kora-color-primary);
        border-color: var(--kora-color-primary);
    }
    .kora-checkbox__input:checked + .kora-checkbox__box .kora-checkbox__check {
        opacity: 1;
        transform: scale(1);
    }
    .kora-checkbox__input:focus-visible + .kora-checkbox__box {
        outline: 2px solid var(--kora-color-accent);
        outline-offset: 2px;
    }
    .kora-checkbox__input:disabled ~ * {
        opacity: 0.5;
    }

    .kora-checkbox__label {
        font-size: var(--kora-text-md);
    }
}
