/* Modern Custom Checkbox CSS */
.row {
    position: relative;
    /* Context positioning */
}

/* Hide default checkbox */
.row input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
    margin: 0;
}

/* Label styling to contain the checkbox visual */
.row input[type="checkbox"]+label {
    position: relative;
    cursor: pointer;
    padding-left: 28px;
    /* Space for checkbox box */
    user-select: none;
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
    transition: color 0.2s;
    font-size: 13px;
    color: var(--muted, #b3b3b3);
}

/* Checkbox Box (Unchecked) */
.row input[type="checkbox"]+label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-color: var(--panel2, #262626);
    border: 1px solid var(--border-inner, #404040);
    border-radius: 4px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover Effect */
.row input[type="checkbox"]+label:hover {
    color: var(--text, #e6edf3);
}

.row input[type="checkbox"]+label:hover::before {
    border-color: #fab387;
    /* Peach Color */
    background-color: #2a2a2a;
    box-shadow: 0 0 0 3px rgba(250, 179, 135, 0.1);
}

/* Checked State - Box */
.row input[type="checkbox"]:checked+label::before {
    background-color: #fab387;
    /* Peach Color */
    border-color: #fab387;
    box-shadow: 0 0 0 2px rgba(250, 179, 135, 0.2);
}

/* Checked State - Checkmark */
/* Creating a checkmark using CSS borders */
.row input[type="checkbox"]:checked+label::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 50%;
    width: 5px;
    height: 9px;
    border: solid #1e1e2e;
    /* Dark checkmark for contrast on peach */
    border-width: 0 2px 2px 0;
    transform: translateY(-65%) rotate(45deg);
    opacity: 1;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Checked Label Text */
.row input[type="checkbox"]:checked+label {
    color: var(--text, #e6edf3);
}

/* Focus State for Accessiblity */
.row input[type="checkbox"]:focus+label::before {
    box-shadow: 0 0 0 3px rgba(250, 179, 135, 0.25);
}