.radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-3);

    .radio-card {
        flex: 1 1 calc(50% - var(--spacing-2));
        min-width: 200px;
    }
}

@media (max-width: 639px) {
    .radio-group {
        flex-direction: column;

        .radio-card {
            flex: 1 1 100%;
        }
    }
}

.radio-card {
    position: relative;
    cursor: pointer;

    input[type="radio"],
    input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        pointer-events: none;

        &:checked + .radio-card-content {
            border-color: var(--primary);
            background-color: rgba(var(--primary-rgb), var(--opacity-5));

            .radio-card-icon {
                color: var(--primary);
            }

            .radio-card-check {
                color: var(--primary);
            }
        }
    }

    &:hover .radio-card-content {
        border-color: var(--primary);
    }
}

.radio-card-content {
    display: flex;
    align-items: center;
    gap: var(--spacing-3);
    padding: var(--spacing-4);
    background-color: var(--surface);
    border: 2px solid var(--border-color-strong);
    border-radius: var(--rounded-lg);
    width: 100%;
    transition: all var(--transition-fast);
}

.radio-card-icon {
    font-size: var(--text-2xl);
    color: var(--text-muted);
    transition: color var(--transition-fast);
}

.radio-card-text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-0\.5);
    flex: 1;

    strong {
        font-weight: var(--font-semibold);
        color: var(--text-primary);
    }

    small {
        font-size: var(--text-xs);
        color: var(--text-secondary);
    }
}

.radio-card-check {
    font-size: var(--text-xl);
    color: transparent;
    transition: color var(--transition-fast);
}

.radio-card.disabled {
    cursor: not-allowed;
    opacity: var(--opacity-60);

    .radio-card-content {
        pointer-events: none;
    }

    &:hover .radio-card-content {
        border-color: var(--border-color-strong);
    }
}

.radio-card.selected .radio-card-content {
    border-color: var(--primary);
    background-color: rgba(var(--primary-rgb), var(--opacity-5));
}

.radio-nav {
    input[type="radio"] {
        position: absolute;
        opacity: 0;
        pointer-events: none;

        &:checked + .btn-action {
            background: rgba(var(--primary-rgb), var(--opacity-10));
            border-color: var(--primary);

            i,
            span {
                color: var(--primary);
            }

            span {
                font-weight: var(--font-semibold);
            }
        }
    }
}