/* ── Paid status badge ──────────────────────────────────── */
.ttbp_paid {
    color: var(--ttbp-success);
    font-weight: var(--ttbp-fw-semibold);
}

/* ── Toggle Switch ─────────────────────────────────────── */
.switch {
    position: relative;
    display: inline-block;
    width: var(--ttbp-toggle-w);
    height: var(--ttbp-toggle-h);
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--ttbp-toggle-off);
    transition: background-color .25s;
}

.slider:before {
    position: absolute;
    content: '';
    height: var(--ttbp-toggle-knob);
    width: var(--ttbp-toggle-knob);
    left: 4px;
    bottom: 4px;
    background-color: var(--ttbp-white);
    transition: transform .25s;
}

input:checked + .slider {
    background-color: var(--ttbp-toggle-on);
}

input:focus + .slider {
    box-shadow: var(--ttbp-input-focus);
}

input:checked + .slider:before {
    transform: translateX(16px);
}

.slider.round {
    border-radius: var(--ttbp-radius-full);
}

.slider.round:before {
    border-radius: 50%;
}

/* ── Payment form layout ───────────────────────────────── */
.payment-row {
    display: flex;
    gap: var(--ttbp-sp-4);
    align-items: flex-end;
    margin-bottom: var(--ttbp-sp-4);
}

.payment-column {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.payment-label {
    font-weight: var(--ttbp-fw-semibold);
    margin-bottom: var(--ttbp-sp-1);
    font-size: var(--ttbp-fs-base);
    color: var(--ttbp-gray-700);
}
